US007505571B2 (12) Ulllted States Patent (10) Patent N0.: Bhatia et a]. (54) (45) Date of Patent: COMMUNICATIONS SYSTEMS AND 5,608,786 A 3/1997 Gordon 5,740,231 A * 4/1998 Cohn et a1. ............ .. 379/8822 5,742,668 * 4/1998 Pepe et a1. 5,751,792 A * 5/1998 Chau et a1. ...... .. Inventors: Sabeer Bhatia, 2190 Broadway, #10E, i * . . . . . .. 455/415 379/8817 20min“ et a1‘ """" " 379/8814 6091547 A 7/2000 Sigma; 6,115,455 A * 6,188,887 B1 * 9/2000 Picard ..................... .. 379/671 2/2001 Joong et a1. ............... .. 455/417 Kantak, 35 North SI-,T0ps?e1d, MA US 01983 6,330,079 B1 12/2001 Dugan et al. FOREIGN PATENT DOCUMENTS 0840491 A 5/1998 EP patent 1s extended or adjusted under 35 EP 0845894 A @1998 U.S.C. 154(b) by 1164 days. EP 1014629 A 6/2000 OTHER PUBLICATIONS _ International Search Report cited in related PCT/US03/28619 issued F1led. Sep. 12, 2003 _ (65) ..... San Francisco, CA (US) 94115; (21) Appl. No.2 10/661,962 . A Nagendra siravara, 732 L1Ve¥P°°1WaY> Sunnyvale, CA 0J$)94087;V1I1ay s- ( ) Subject' to any disclaimer, the term of this ( * ) Notice: (22) Mar. 17, 2009 METHODS FOR EXCHANGING MESSAGES BETWEEN USERS (76) US 7,505,571 B2 Mar‘ 3, 2004, 7 pages‘ _ _ Pnor Pubhcatlon Data Us 2004/0131081 A1 Jul. 8, 2004 Related U-s- Application Data PatelA., et al. “A Technique for Multi-Network Access to Multimedia Messages” Computer Communications, Elsevier Science Publishers, “MO/N9 5,191 1, 19911113241331 _ Croak, M.R., Unl?ed Messaglng W111 Dellver The Message AT&T Technology, American Telephone & Telegraph Co. vol. 4, No. 2, 1989, pp. 2-5. (60) Prov1s1onal appl1cat1on No. 60/410,143, ?led on Sep. Primar ExamineriOhsa Anwah 12 2002. y ’ (51) 74 Allorney, A g @712, 0r FirmiLathro P & Ga g e LLP Int. Cl. H04M 1/64 (2006.01) (57) ABSTRACT (52) US. Cl. ...... .... .... .. ‘379/8822; 379/8814; 379/8817 A Communications system exchanges messages between (58) Field of Classl?catlon Search ............... .. 455/415, users_ A messaging Store Stores the messages_ A messaging _ 455/413; 379/671’ 88-23’ 88-14’ 88-17’ server accesses and manages messages ofthe message store. 379/8801’ $822’ 8813 A plurality of servers interface betWeen the messaging server _ See appl1cat1on ?le for Complete Search hlstory' and different netWorks of the users. Processes employing References Cited dynamic mailboxes and for selectively retrieving messages (56) are also provided. U.S. PATENT DOCUMENTS 5,524,137 A * 6/1996 7 Claims, 12 Drawing Sheets Rhee ..................... .. 379/8801 via an». mm: m US 7,505,571 B2 Page 2 US. PATENT DOCUMENTS 6,876,729 Bl* 6,925,299 Bl* 4/2005 Kuter et a1. ............ .. 379/8822 8/2005 Soferetal. .. 455/414.2 6,389,276 Bl* 5/2002 Brilla et a1. ............... .. 455/413 7,107,298 132* 9/2006 Prahlad et a1‘ """""""" “ 707/204 6522727 131* 2/2003 Jones ------- -- 7,136,897 Bl* 11/2006 Raghunandan ............ .. 709/206 6,751,298 B2* 6,829,334 B1 * 6/2004 Bhogal e161. .. - 379/8813 379/88.13 12/2004 Zirngibl et a1. ........ .. 379/88.17 * cited by examiner US. Patent Mar. 17, 2009 Fag Sheet 2 0f 12 US 7,505,571 B2 CE mum OOUOO CZ: Fax Server Qé Message Store 215 TTSIASR Servers Wireless 2 Ju Directory! User Profile Zl? Messaging Server 2.1.1. Internet 223 \\ Directory/Authentiwii m Server E 29.. j Synchronization Sewer 21.7. Notification Server 295 114A System Configuration 2.02) Data and usage logs Billing/Reporting Server 211 14/ US. Patent Mar. 17, 2009 Sheet 3 0f 12 US 7,505,571 B2 Fl .3 Directory and Authentication Directory/user Server Profile Store lnteractlve 212 215. Voice _ _ Response (IVR) < M Billing and Reporting Server m I [ ‘—.>t I Message Store m —> Notification Messaging Sewer '21—1 V ( Sewer _20_3 Wm _ _ _ Configuration] Admmlstratlon find _ Con?guration <— Server 39-5 User > Preference Data] Usage logs m V US. Patent Mar. 17, 2009 Sheet 4 0f 12 US 7,505,571 B2 Q Notification 2:;‘9 E1IT1 __ _c7/ss7 ||||||| "Ill" Switch Am- Server — M messagi'server Message HTTPlXMLlJAVA-> Me5sag_e3t°re & _---> Interface store E |VR ggg 1 Dim,” _ Authentication Server Pro?le Data 216 22 — US. Patent Mar. 17, 2009 Sheet 5 0f 12 US 7,505,571 B2 Message Store 21.5 Messaging Services .522 Database 21.5 Logging Service M Application Interface % I Call Control Library 521 I Noti?cation Server 292 Telephony drivers 5% V OOOOOOO Public Switch M Short Message Service Center (SMSC) E US. Patent m Mar. 17,2009 Sheet6 0f12 L 0 ca t Wireless Network m .nlv S w.mnm sm mmm mcm R[email protected] m n0 m.. a w H mimmmNi no .nI‘S ‘m5aM92 m a D is a5 5“mumm m|[ User Profile Information 15% n M e Messages m US 7,505,571 B2 US. Patent Mar. 17, 2009 Sheet 7 0f 12 US 7,505,571 B2 Zlw — Signalling Interface m 32m TCP/IP 2omwmé a ‘— 887 US. Patent Mar. 17, 2009 Sheet 8 0f 12 US 7,505,571 B2 Forward Call from Switch Public switch M). V 800 Receive the call (Go offhook) \ 891 Obtain call info -Called Number (ANI) and Caller ID 2% l Play greeting "You have reached the mailbox ot XYZ, Please leave a message" a message? 5.0.4 Accept and store the message 3.0.5 Subscriber (Dialed Number) has a mailbox? NO YES Deposit the message in local Create a Home Mailbox, store Populate default pro?le 8.0.7. l Query subscriber roaming status and location NO Communicate with system at Is subscriber Roaming? 3.1.0. roaming location to create a YES-——> roaming mailbox and populate default pro?le 511 NO Syncronize messages between mailboxes at the home and the roaming locations 812 US. Patent F Mar. 17, 2009 Sheet 9 0f 12 US 7,505,571 B2 . 9 900 Obtain system level parameters / from con?guration data 3&1 Scan user profile for mailbox and 7 message store data 5.0.2 YES— YES Y Delete expired messages Delete Mailbox M 904 Get Mailbox size Number of new messages number of saved messages number of expired messages m Mailbox Size within allowed limits? 9.01 Next user NO ' V Check saved messages for last accessed time m Cw?press the messages +YES 9_1l essages accesse in the last N days? NO", 10g Add to back up store m YES Mailbox Size within allowed IImIts? NO—> I resources 5.11 YES‘—-—-| More mailboxes to process? 9.15 NO US. Patent Mar. 17, 2009 Sheet 10 0f 12 US 7,505,571 B2 Fl .10 19% Obtain system level parameters and noti?cation templates from con?guration data 18.104.22.168 Scan the user pro?le database for new message for all subscribers Scan the user pro?le database for new message arrival for all subscribers (1002) 22.214.171.124. I l Compile and process a list ofall messages for which noti?cations need to be sent 126.96.36.199 Collect subscriber ID, calle's ID and other data about each message based on message ID M l Access user pro?le to identify any user-speci?c noti?cation parameters 188.8.131.52. l Query subscribei‘s roaming status and loca. ion 1.0.01 ls subscriber NO Roaming? 1.008. YES— 1 Get Callback Number from Gel Callback Number from system con?guration at Roaming Location system con?guration 100i l Compile SMS text message from applicable template 1011 l Embed Callback number, Message ID aand message info into the SMS message to form an Intelligent noti?cation message to the subscriber 1912 l Connect to SMSC and send the message 184.108.40.206 US. Patent Mar. 17, 2009 Sheet 11 0112 US 7,505,571 B2 El FIE, I I Subscriber calls back by Calls terminates on System pressing the callback -"L'- number on the Noti?cation 1 1.9.22 received 1.0% m Publigswitch Q9 Obtain forwarded call information such as ANI, CallerlD, and MessagelD 220.127.116.11. Caller ID available? NO 11122 YES ls Caller ID ANI == Caller ID? a valid user ID? 1103 authentication required? NO YES ' Get Subscriber PIN .‘UJ? ———YES subscribei’? 1114 uthenticate subscriber’? '4 utsla ndin MessagelD Noti?cations for the CallerlD? Present? Jill 1.1.01 essages in the mailbox? JlQQ YES I YES Get messagelD YES NO ofthe ?rst Noti?cation from the DB Play message corresponding to ‘ m Get messagelDfor the [ ?rst new message MessagelD from the DB 1.125. 1119. Prompt for other messages or options End NO NO NO US. Patent Mar. 17, 2009 Sheet 12 0f 12 US 7,505,571 B2 Processing messages from _a plurality of user networks having a plurality of network protocols, for storage in a message store 1202 Accessing at least one of the messages in the message store from one of the user networks having any one of the network protocols. 1204 US 7,505,571 B2 1 2 COMMUNICATIONS SYSTEMS AND METHODS FOR EXCHANGING MESSAGES BETWEEN USERS disclosed. Under one exemplary embodiment, netWork archi tecture is provided for use in an integrated communications RELATED APPLICATIONS Messages may take the format of text (email, SMS, etc.), system utiliZing PSTN lines, Wireless netWorks, voice over Internet protocol, email, facsimile and/or Internet sources. audio, graphic, image, facsimile, and/or video, for example. This application claims priority to US. Provisional Appli cation No. 60/410,143 ?led Sep. 12, 2002, Which is hereby The architecture may be used, for example, by and betWeen multiple users to exchange messages; in one embodiment, the architecture therefore operates to collect and store messages, intelligently notify users of neW messages and facilitating convenient retrieval of messages. Certain embodiments herein may also permit a user (using incorporated by reference. BACKGROUND Modern day telecommunications are making the World “a global village” such that World-Wide communications is sub stantially real-time. Current telephone companies are not only selling regular services, such as telephone or data ser vices, but they are also aggressively marketing value-added services. One example of a value-added service involves enhanced systems for messaging, such as voice mail. A num ber of other value-added services attempt to converge tele phone With data. One disadvantage of such services is that each service requires a unique telephone number. Another problem With current telecommunications is experienced by people that have a variety of communications needs and responsibilities at different times. For example, mobile and remote Workers have a need to be aWare of mes a ?rst interface) to send a message to a recipient user (using a second interface); associated architecture dynamically col lects, stores, saves, and deletes messages Without user inter vention, irrespective of the interface used. In certain embodiments, “dynamic mailboxes” are employed to store messages. These dynamic mailboxes may include one or more of the folloWing characteristics: 20 neW or saved messages in his mailbox. A mailbox is deleted When a user ceases to be an active/ 25 sages; hoWever, if traveling, or in a virtual of?ce, it is quite dif?cult to check e-mail and faxes When they may only have servers that store and play voice messages, generate and store intervention, for example to delete old messages and/or 30 Wireless, VOIP and the Internetimay be prohibited from accessing and using the telecommunications system for the Mailboxes are provisioned to a scaleable set of users for a given level of system resources. A mailbox has Uniform Messaging Service (UMS) func 35 example voice, fax, email, SMS, etc. Based on the user’s home location, a mailbox is created on By Way of illustrative example, prior art voicemail services an appropriate server to provide synchronization and 40 noti?ed using Short Messaging Service (SMS), though other Within a handset, as in US. Pat. No. 6,091,947, or on a system tially subscribes for the service, thereinafter a ?xed storage 45 space is allocated. This ?xed storage space limits the user to the memory space provided and the user may fail to receive Other problems With prior art telecommunications are noW 50 number, caller ID, message type, time and date received. If nals may still communicate With others, anyWhere at any the caller has to vieW the message, he has to dial a distinct common number provided to him by the service provider and, time, for example. In another example, voice mail, fax, and 55 is no direct Way to vieW a particular message; it therefore In conventional voicemail systems With roaming capabil ing location in order to check his or her voicemail. It is therefore inconvenient for the user to remember the particular number for each location. 60 storage in a message store. At least one of the messages in the message store is accessed from one of the user netWorks 65 Certain embodiments hereof may overcome certain of the In one embodiment, a process exchanges messages betWeen users. Messages from a plurality of user netWorks having a plurality of netWork protocols are processed for SUMMARY OF THE INVENTION problems in the prior art by systems and methods hereinafter e-mail messages may also be communicated through a single user interface, thereby simplifying message delivery and han dling by improving hoW users receive, reply to, and manage messages, regardless of delivery mode. takes much more time for a user to retrieve a speci?c message. ity, a user is required to dial a neW number from every roam messages in the mailbox, if desired). Convenient “one step” methodology may also be employed, as described beloW. Certain advantages may be appreciated by systems and processes described herein beloW. In one example, users With different technologies, different media and/or different termi describes a noti?cation message, Which contains a call back then, broWse through the inbox to access his message. There modes of noti?cation may be used. In accord With other embodiments herein, an individual message in a user’ s mailbox is assigned a unique message ID number, through Which the user may selectively listen to a particular message (as opposed to serially scanning multiple messages if his system quota has been ?lled. described. By Way of example, US. Pat. No. 6,032,039 local access facilities. Users of certain systems described herein beloW may be sWitched off the phone. The storage of these messages is server. HoWever, storage of the message at the system server requires that a mailbox be pre-provisioned When a user ini tionality. Messages for a mailbox may take different formats, for desired service. provide a caller With an option to deposit a message When the called party does not ansWer the call, is out of range, or has A mailbox is automatically managed by the system, through compression, backup and restoration that cre ates additional space When needed. text messages, and provide integrated voicemail and fax mail services. One problem With such servers is that a speci?c telecommunications service exists through a single interface. Accordingly, users Who utiliZe other interfaces4e.g., PSTN, valid user of the system. A mailbox is automatically administered Without user to make additional space. a feW minutes at a phone. Current telecommunication systems typically employ A mailbox is created only When a user receives the ?rst message. A mailbox is automatically terminated When a user has no having any one of the netWork protocols. In one embodiment, a communications system exchanges messages betWeen users. A messaging store stores the mes sages. A messaging server accesses messages of the ?rst US 7,505,571 B2 3 4 message store. At least one server interfaces between the messages that are in a format unacceptable either to the user or a particular installation. In one example, a facsimile mes messaging server and user networks such that the messages are exchanged between the users, via the ?rst messaging sage from message source 112 is rejected by message pro server and the ?rst messaging store, even if the user networks cessing subsystems 116 because a particular service provider employ a plurality of protocols. has yet to provision or activate this system feature, or because the intended recipient subscriber 120 has set his or her pref In one embodiment, a process selectively retrieves mes sages for a subscriber, including: embedding information erence to reject facsimile messages, as described below. In about a stored message within a noti?cation for the stored message; communicating the noti?cation to a subscriber over one embodiment, service provider con?gurations and user preferences are administered via a con?guration and mainte nance subsystem 126. In one embodiment, during delivery of messages to sub a network; and responding to interaction between the sub scriber and the embedded information to communicate the stored message to the subscriber. scribers 120, message processing subsystems 116 transform ing speech-to-text, text-to-speech, and/or encode an analog message for digital storage. In another embodiment, message processing subsystems 116 contain ancillary features to track BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 shows one communications system for exchanging messages between users. activities for billing and/ or manage system con?guration that FIG. 2 is a block schematic diagram of network architec ture suitable for use with the system of FIG. 1. will be respectively accomplished by billing subsystem 124 FIG. 3 illustrates exemplary relationships and data ?ow for 20 the network architecture of FIG. 2. FIG. 4 shows exemplary data paths to and from certain components of the network architecture of FIG. 2. FIG. 5 illustrates processing by and between certain com ponents of the network architecture of FIG. 2. bases (see FIG. 2). A subscriber noti?cation subsystem 118, 25 FIG. 6 illustrates synchronization between servers at a home location and at a remote location. FIG. 7 shows one system illustrating scalability of network architectures FIG. 8 shows one process for employing dynamic mail boxes. FIG. 9 shows one process for automatically managing a mailbox. FIG. 10 shows one intelligent noti?cation process. FIG. 11 shows one selective message retrieval process. FIG. 12 shows one method for exchanging messages user of the message. Subscriber 120 may then interact with a 30 systems 116 and to subscriber 120 through a network 114C, to retrieve, delete and/or otherwise manage his or her mes sages. FIG. 2 is a block schematic diagram of network architec ture suitable for use with system 100 (and, in particular, 35 message processing subsystems 116, subscriber noti?cation subsystem 118, message management subsystem 122, and billing subsystem 124) of FIG. 1. A ?rst layer 209 of this architecture is the ‘interface’ layer (i.e., the ‘front-end’). Through layer 209, system 100 may receive/transfer mes DETAILED DESCRIPTION OF DRAWINGS 40 FIG. 1 shows one system 100 for exchanging messages between users. In one example, system 100 may provide messaging and voicemail. A message originates at a message sages via one or more different network connections 204, for example Public Switched Telephony Network (PSTN) lines 200, Wireless networks 201, Voice over Internet Protocol (VOIP) 202 and/or the Internet 203. Layer 209 thus incorpo rates different protocols that enable system 100 to communi source 112 (e.g., a user communicating messages via a fax 45 mail, an image, or combinations thereof. A network connec tion 114A links message source 112 to a message processing subsystem 116. Network connection 114A is, for example, a telephone line, Internet connection, VOIP and/or wireless connected with subsystems 116, may then format a noti?ca tion with information regarding the stored messageisuch as caller name, caller number, and time of call, message IDiand send the noti?cation to subscriber 120 informing the message management subsystem 122, connected to sub between users. machine, telephone, computer, phone or cell phone, wireless PDA, as shown). The message is, for example, text mail, voice and con?guration and maintenance subsystem 126, as shown. Once a message has been received, messaging processing subsystems 116 store and track the message in internal data 50 cate with network connections 204 and over different net work protocols. Users of system 100 may thus communicate through different networks and protocols at different times, and exchange messages across different networks and proto cols. In one embodiment, layer 209 incorporates a fax server 205 connection. As described in more detail below, one or more to enable fax messaging functionality using PSTN lines 200. message processing subsystems 116 process the incoming Such fax messages may be stored in a message store 215 as messages from network connection 114A and deliver the SMTP/MIME messages with fax data as attachment, enabling users to access these fax messages via the Internet over TCP/IP protocol, for example. Access to the fax mes messages to one or more subscribers 120, over a network connection 114B. Each subscriber 120 is, for example, a user 55 receiving, managing and/ or responding to messages through a fax machine, telephone, computer, phone or cell phone, or wireless PDA as shown. In one embodiment, message processing subsystems 116 operate to screen messages, compress/ decompress messages for storage/playback (such that messages are available to subscribers 120), and/or provide protocols to accept mes sages. In one embodiment, the protocols used to accept mes sages include voice prompts and V.29 facsimile protocol. Message processing subsystems 116 may further validate 60 sages is for example enabled through a web server 207, which provides a graphical user interface. A subscriber 120 thus has the option of accessing fax messages via a telephone over a PSTN 200 network; in this case, that subscriber 120 also has the ability to access and manage the fax messages, and, optionally, to forward a fax message to another number, such as another mailbox or a fax machine. In one embodiment, voice messages through PSTN lines 200, Wireless Networks 201 and/orVOIP 202 are routed to an 65 Interactive Voice Response (IVR) unit 206, which provides a and/or reject messages of subscribers 120 without current telephone user interface to access and manage appropriate accounts, reject unwanted messages (“spam”), and/or reject mailbox(es). IVR 206 communicates with a “back-end” layer US 7,505,571 B2 5 6 218 of the network architecture of FIG. 2 through a messag users; and synchronization server 217 enables message and ing gateway 214, With data encapsulated in XML documents, for example. data synchronization betWeen various nodes in the netWork, thereby enabling roaming functionality to user access and management of the mailbox from any netWork in the node. Accordingly, When a subscriber is roaming, his/her messages are copied to server in the roaming location (see FIG. 6); this In one embodiment, messages from Internet 203 are directed to Web server 207 through Internet protocols. Access to a subscriber’s mailbox is thus also provided through the Internet protocols and Web server 207. In this example, Web server 207 may also provide a graphical user interface for the subscriber to access and manage his/her mailbox, irrespective enables the subscriber to access his/her mailbox even While roaming. In order to facilitate the roaming functionality, sub scriber preferences are also replicated in the roaming location of the type of messages Within the mailbox, be it email, fax, so that the subscriber has consistent access to his/her mailbox. voicemail, etc. In one embodiment, a noti?cation server 208 The data and messages replicated in server 217 are kept in the (for example operating as subscriber noti?cation subsystem roaming location for the duration of roaming. That is, When 118, FIG. 1) noti?es subscribers 120 of messages. Noti?ca the user returns to the home location (see FIG. 6), the data at tion server 120 for example operates Whenever a user needs to be noti?ed that a neW message has arrived in his/her mailbox, When a neW service is activated, and/or When a user needs to the roaming location may be deleted. FIG. 3 is a block diagram illustrating exemplary relation ships (and data How) for the netWork architecture of FIG. 2. In be prompted for action. In one example, neWly arrived mes one example, if a call made to a subscriber 120 is unansWered, sages trigger noti?cations to the user through a message Waiting indicator, a stutter tone audio indicator, and/or as a short message service (SMS) notice on a mobile phone or pager. In the case of noti?cation through SMS, noti?cation server 208 sends out an intelligent noti?cation, Which is described in more detail in connection With FIG. 10. “One IVR 206 receives the call. In the example, IVR 206 ?rst sends requests to directory/authentication server 212 to collect sub scriber pro?le information and the subscriber’ s mailbox/mes 20 Step” retrieval of the message by the subscriber may be pro vided, as described in more detail in connection With FIG. 11. 25 Messaging gateWay 214 is thus a second layer in the net Work architecture of FIG. 2. In one embodiment, messaging gateWay 214 contains certain core functions enabled by a messaging server 211, billing/reporting server 213, directory/ authentication server 212 and/or other utility services such as TTS/ASR servers 210. TTS/ASR servers 210 provide text 30 sage preferences. Once identifying data for the call is col lected (e. g., Caller ID, Called number, and reason call forWarded, etc.), IVR 206 requests that messaging server 211 encode, compress and then format the message, for storage in a desired location (e.g., Within message store 215). In another example of FIG. 3, IVR 206 requests that billing and reporting server 213 log message and call data; this data is later used for billing and reporting purposes according to speci?ed service parameters and rates. This billing may be set according to (a) the amount of memory used to store data for a particular subscriber 120 or (b) a ?xed monthly subscription to-speech and automatic speech recognition processes. Mes rate, for example. saging server 211 provides access to message store 215 for In one embodiment, an administration and con?guration server 305 is provided, for example as another server of message storage, access, retrieval and management. Direc tory/authentication server 212 cooperates With messaging 35 gateWay 214, FIG. 2. Administration and con?guration func server 211 to authenticate access to services and to implement tions of server 305 may be accessed via a Web interface system con?guration, class of service, and/or service man through Web server 207, for example. Server 305 provides for agement functions. Billing/reporting server 213 functions to create and store CDRs (Call Detail Records), and may further provide for customizable reports. Web server 207 may further provide a Web-based interface to billing/reporting server 213, if desired, enabling service providers to access and manage provisioning, system con?guration, administration, monitor 40 are described in more detail in connection With FIG. 9. CDRs to generate billing data and reports. In one embodiment, a back end layer 218 of the netWork architecture of FIG. 2 contains data/information for system 100. In one embodiment, layer 218 includes message store ing, and/or user management functions. User preference data and system con?guration stored in server 305 may be used in the automated management of mailboxes, the details of Which 45 215, directory/user pro?le store 216, synchronization server FIG. 4 shoWs, in one embodiment, exemplary data paths to and from certain components of the netWork architecture of FIG. 2. When a call remains unansWered, a sWitch 400 (e. g., associated With PSTN netWork 200, FIG. 2) transfers the call to IVR 206 over data path 401 using, for example, a El/C7 or 217, and/or other servers (e.g., server 219) to store informa Tl/SS7 protocol (implemented by IVR 206 using telephony tion such as con?guration data, system logs, and usage logs. hardWare). IVR 206 then ansWers the call, greets the caller using a customizable preset user greeting, and invites the Back-end layer 218 may be shielded from direct interfaces With user applications. In one embodiment, therefore, layer 218 interfaces With the “outside” World through standard protocols administered by separate servers; this enables server deployment to be scaled upWards to meet increasing tra?ic volume by distributing Workload across separate serv 50 caller to leave a message for the user. That message is digi tized, compressed and encoded to a sound ?le format (e. g., a Resource Interface File Format (RIFF) Wav ?le). In one embodiment, IVR 206 optionally implements message cach 55 ing such that IVR 206 retains a local copy of a message in local storage space (the message being a copy also sent to message store 215). The message caching facilitates faster access to the message and reduces latency associated With 60 cache Within IVR 206, and the duration of local storage are all ers. Message store 215 collects and organizes messages in mailboxes. In one embodiment, message store 215 is orga nized With indexing such that messages are ef?ciently depos ited, managed and retrieved. In one embodiment, message store 215 collaborates With directory/authentication server 212 to provide authenticated access to the mailboxes and to ensure that mailboxes are accorded the proper grades of ser vice based on user, message type, and other parameters. In one embodiment, directory/user pro?le store 216 con tains user-related information, such as user pro?les, prefer ences, and access/authentication/service attributes for all subscriber accesses to the message. The size of memory con?gurable through administrative and con?guration server 305, FIG. 3. Those skilled in the art appreciate that sWitch 400 may be illustrative and may comprise a mobile sWitching center 65 incorporating many physical sWitches. Continuing With the example of FIG. 4, IVR 206 deposits the received message in message store 215 over data paths US 7,505,571 B2 8 7 403 and 405. This is accomplished by initiating a request to Dial-out Email Parameters for logging services 501 messaging server 211 which in turn interacts with message store 215 to deposit the message. Messaging server 211 is for Log Directory example accessed via HTTP protocols using XML/ JAVA. The message is then compressed, encoded, and composed in Rotation parameters SMTP/MIME formatiwith the voice part as the attachment, for exampleiand sent to message store 215 for storage and subsequent retrieval. Once the message is deposited in mes sage store 215, messaging server 211 populates a queue 407 with data about the arrival of the new message. Noti?cation In one embodiment, noti?cation services 508 utilize short messaging service (SMS) to implement intelligent noti?ca tion, which is further describedbelow with respect to FIG. 10. Noti?cation server 208 thus implement various SMS proto colsisuch as SMPP/CIMD2/ HTTP or SMTP interfacesito communicate with short messaging service centers (SMSC) 509 (typically over TCP/IP). These protocols facilitate send ing and receiving messages to/from the subscriber’s mobile server 208 scans through data in queue 407 to send out noti ?cations to appropriate subscribers 120. FIG. 4 also illus trates data path 407, connecting IVR 206 with directory and authentication server 212, and data path 409, connecting phones. server 212 with pro?le store 216. In the current embodiment, noti?cation server 208 checks for new message entries for which noti?cations have not been FIG. 5 illustrates processing by and between certain net work architecture components of FIG. 2, in accord with one embodiment. When a call is unanswered, switch 400 (FIG. 4) sent and gathers information (e.g., caller identi?cation (ID), time, length, etc.) about such messages based on Message IDs. It then sends SMS messagesiincluding the Access transfers the call to IVR 206. The ?rst stage of IVR 206 includes low-level telephony drivers 505; these drivers answer calls, con?gure the number of rings to answer, collect the caller ID and signal the end of recording. Telephony drivers 505 work in conjunction with the high level software programs that answer calls, record information, utilize called IDs, and transfer calls. Continuing with the current embodiment, the next stage of IVR 206 is the call control library 504, which handles differ 20 IDiand updates a noti?cation table within noti?cation server 208. The noti?cations are then passed onto SMSC 509, which sends and receives SMS messages to the subscriber’s mobile phone. 25 ent network interfaces and signaling protocols, for example E1/C7 or T1/ SS7 communication links between telephony hardware and switch 400 used to connect between the local telephone network and a common call control programming 30 manner, and translates and routes application requests to the 400 at location 600 and 601 serves to route/forward calls to 35 and higher-level application processes such as logging ser vices 501 and messaging services 502: logging services 501 represents a process or set of processes that create and deposit call log data (e.g., CDR), usage data and system log data in 40 indexing data); messaging services 502 capture, compress and format the recorded message for storage in message store 215. In the example, voice messages are deposited and the appropriate terminating number). If a call is left unan swered, IVR 206 receives the call and guides the caller(s) to voice message functionality as described above (e.g., as illus trated in FIG. 6 by noti?cation server 208, message store 215, IVR 206 and synchronization server 217). In one embodiment, therefore, similar network architec ture (to the architecture at locations 600, 601) is provided at all locations in the telephony network. When constructed in this manner, synchronization server 217 enables message and data synchronization between nodes (each node for example retrieved in compressed form and decompressed for playback using appropriate compression/ decompression techniques FIG. 2-FIG. 4), as shown. A radio tower 602 illustratively beams and receives signals to and from mobile phones 603, as shown. A Mobile Switching Center (MSC) 400 performs the switching of calls between the mobile users, and between mobile and ?xed network users (i.e., the respective switch that are common to interface-speci?c libraries in a consistent message store 215 (voice messages may also be stored with FIG. 6 illustrates synchronization between servers 217 at a home location 600 and at a remote location 601, in accord with one embodiment. Each location 600, 601 includes like components (e.g., synchronization server 217 and IVR 206, and protocol environment. Library 504 implements functions appropriate application interface 503. Application interface 503 provides connectivity between call control library 504 Number (stored in database 219), Caller ID and Message 45 In the embodiment, of FIG. 5, directory/user pro?le data represented by MSC 400) so as to enable roaming function ality to the user, who can then access and manage his or her base 216 stores user pro?les, mailbox pro?les, as well as other mailbox from any network in the node In FIG. 6, synchroni transient and con?guration data. It implements pro?ling zation servers 217 are also responsible for synchronizing user schema that may be used to provide various messaging ser vices. In addition to user pro?les, usage data, system logs and con?guration data may also be stored in database 216 of FIG. pro?le information 609 (e.g., pro?le database and message 50 5, including, for example: Telephony Services Parameters Type of Channel Number of Channels Parameters for messaging service process 502 Maximum message size Maximum number of messages Maximum number of days to store messages Parameters for databases 216, 217, and 219 55 store synchronization data based on user’s current location) and text, audio, video and voice messages 610 between the home and roaming locations 600, 601. When a user (i.e., a subscribed to system 100, FIG. 1) roams in another location, therefore, he is noti?ed (by noti?cation server 208) of voice mail. The user may then dial in to message store server 215 at the roaming location and retrieve his message. This is made possible due to the synchronization by and between servers 60 217, which enables the user to maintain access and stay updated with voicemails even while roaming. For a user who is at ‘roaming’ location 601 (i.e., a location within our outside Database Server name of the country and away from his/her ‘home’ location 600), Database Port number server 217 at ‘home’ location 600 synchronizes with server 217 at ‘roaming’ location 601 to facilitate easy user access to Voice compression parameters Parameters for noti?cation services 508 SMS protocol parameters SMS Port Number Stutter Tone 65 his/her mailbox. FIG. 6 further illustrates that a user may instantly reply to a received voicemail. Consider a ?rst user on a ?rst telecom munications service provider communicating voicemail to a US 7,505,571 B2 10 second user on a second telecommunications service pro a drop in the level of available free system resources occurs vider. In this example, the second user is given an option to reply to the voicemail message When he/she listens to the beloW set tolerances. Process 900 begins With obtaining 901 relevant system level parameters such as maximum number message. The reply message is recorded and sent across a Wireless netWork 610 to the ?rst user. Network 610 is syn chroniZed With server 217 at home location 600. Those skilled in the art appreciate that databases such as of days, maximum number of messages, mailbox siZe, incre mental siZe, etc., from con?guration data in database 219, illustrated in the various ?gures may represent logical storage range’ de?nes one or more mailboxes, or all mailboxes, as a FIG. 2. Process 900 may sequentially access and analyZe each user mailbox in system 100 Within a target range (the ‘target incorporating multiple physical storage devices. For set of mailboxes to be processed in process 900), as indicated example, FIG. 6 shoWs a database 500 Which, for example, by step 914. For each user, the pro?le and the corresponding may store selective data elements of message store 215, if desired. mailbox data is retrieved 902 from database 216. If 903 the user’s status is inactive, then the entire mailbox is deleted FIG. 7 illustrates one system 700 shoWing scalability of netWork architectures described hereinabove, in accord With 904; otherWise the mailbox is further analyZed and adminis tered per steps 905-913. In step 905, all expired messages in the mailbox (e.g., all one embodiment. Since system 700 is based on an “open” architecture, it may be scaled to include more components Whenever needed. The open architecture also facilitates com patibility With other existing systems or components in the service providers’ netWork. Speci?cally, With increasing numbers of subscribers or messages, or message siZe, addi 20 tional message store(s) 215, database(s) 500, noti?cation server(s) 208, IVR 206 and signaling interfaces 704 are added as needed, such as shoWn in FIG. 7. In FIG. 7, MSC 400 communicates With IVR 206 and signaling interface 704 through the SS7 protocol, While TCP/IP is used for commu date/time of the last access. If 909 a saved message has not 25 nication betWeen messages store(s) 215 and database(s) 500, noti?cation server(s) 208, IVR 206 and SMSC 509. been accessed by the users for a speci?ed number of days, the message is added 910 to backup/archival storage (e.g., Within message store 215).All other saved messages are compressed 911, thereby reducing mailbox siZe. FIG. 8 is a How chart illustrating one process 800 for employing dynamic mailboxes. Process 800 is for example implemented by system 100, FIG. 1. When a call to a sub messages older than a speci?ed number of days determined by system parameters) are purged from the mailbox. The siZe of the mailbox is then determined 906 based on the type, number, state, and siZe of the messages and compared With the allocated maximum siZe. If 907 the siZe of the mailbox is Within allocated limit, no action is taken; hoWever, if the mailbox siZe has exceeded the alloWed limit, or is close to the limit, each saved message in the mailbox is checked 908 for 30 If 912 the siZe of a mailbox does not collapse beloW the alloWable limit, after the above actions, additional resources scriber remains unansWered, the call is forWarded by sWitch 400 to system 100. System 100 then receives 801 the call and are allocated 913 to the mailbox based on the user pro?le, obtains 802 relevant information about the call, such as the caller ID and the called number (ANI). The caller is then subscribed and the number and type of messages relevant to such services. After all user pro?les and associated mailboxes greeted 803 With a message, for example saying that they have reached the voice mailbox of the subscriber (identi?ed for example either by the subscriber name, if recorded and including, for example, the type of the service(s) the user has 35 FIG. 10 shoWs one intelligent noti?cation process 1000 that is for example optionally employed by system 100, FIG. available in system 100, or the phone number) and prompting the caller to leave a message for the subscriber. If 804 the caller records a message, the message is accepted and stored 1, to inform users of neW messages or to remind users of 40 805 (along With associated Caller ID and the ANI) in a tem porary storage location. Then, the user pro?le database is queried 806 to verify if the subscriber (identi?ed by ANI) already has a mailbox Within system 100. If so, the message is deposited 807 in the existing mailbox. in the target range speci?ed by process 900 are analyZed and administered, process 900 ends. 45 If 806 the subscriber does not have a mailbox in system 100, a mailbox is created and populated 808 With default pro?le values; the message is then deposited 807 in the neWly created mailbox. messages that have not been accessed through SMS text mes sages. Process 1000 begins With obtaining 1001 system level parameters, such as home location, access/callback numbers, message types, time intervals for message noti?cations, etc., from con?guration data in database 219, FIG. 2. Message data (e.g., metadata for all messages that is stored in database 215) is then (a) scanned 1002 for either all neW messages that have arrived at system 100 and/or (b) scanned 1003 for any messages that have not been accessed by the user for a speci 809 from sWitch 400 or from the registry on the carrier net ?ed number of days after initial noti?cation. From steps 1002, 1003, a list of messages (message queue) is compiled 1004 that require noti?cations be sent to respective recipient sub Work. If 810 it is established that the subscriber is roaming (e.g., at roaming location 601, FIG. 6), then a request is sent scribers. For each message that requires user noti?cation (either a Once the message is deposited 807 in the appropriate mail box, the subscriber’s roaming status and location is obtained to system 100 at the roaming location to create 811 a mailbox 50 55 for the subscriber, the mailbox being initialiZe With default mationisuch as user ID, caller ID, message ID (Which is unique ID associated With each message in a user’s mailbox), values. The message from the mailbox at the home location (e. g., location 600, FIG. 6) is then appropriately transferred or copied 812 to the roaming location by invoking the mailbox message date/time, message type, message lengthiis col lected 1005 from database 215, FIG. 2. Through user IDs, the 60 pro?le of a user associated With a message is then queried 65 1006 to determine any user-speci?c noti?cation parameters that may have been set. Thereafter, the user’s roaming status is determined 1007 by querying sWitch 400 or the registry Within the respective carrier netWork. If 1008 the user is roaming, then the associated current callback number for the synchroniZation process, such as described in connection With FIG. 6. FIG. 9 is a How chart shoWing one process 900 of auto matically managing dynamic mailboxes. The process of FIG. 9 is for example implemented by system 100, FIG. 1. Process neW noti?cation or a reminder noti?cation), associated infor 900 may run at a con?gurable time interval, or may be roaming location is obtained 1009 from system con?guration invoked by system 100 based on certain events, for example if of the roaming location; otherWise the callback/access num US 7,505,571 B2 11 12 ber for the home location is obtained 1010 from system con If 1102 the caller ID is not available for the call, then the user is (a) prompted 1115 to enter a phone number and (b) prompted 1116 to enter a PIN, both used to authenticate the ?guration parameters for the home location. Once necessary information for a message is available, as described above, an appropriate noti?cation text message is compiled 1011 from a message template for a given message type. Information associated With the messageisuch as the callback number, message ID, message date/time/type/siZeiis then embedded 1012 in the noti?cation text forming a complete intelligent user. If 1117 user authentication is successful, then process 1100 continues With step 1107 as shoWn. FIG. 12 shoWs one process 1200 for exchanging messages noti?cation SMS text message for the user. The SMS text user netWorks having a plurality of netWork protocols are processed for storage in a message store. In step 1204, at least betWeen users. Process 1200 is for example implemented by system 100, FIG. 1. In step 1202, messages from a plurality of message is then sent 1013 to the user by connecting to the SMSC 509 associated thereWith and by using appropriate protocols (such as described in connection With FIG. 3). one of the messages in the message store is accessed from one of the user netWorks having any one of the netWork protocols. FIG. 11 shoWs one message retrieval process 1100 includ Changes may be made in the above methods and systems Without departing from the scope hereof. It should thus be noted that the matter contained in the above description or ing ‘selective one-step retrieval’ of messages. Process 1100 may be implemented, for example, by system 100, FIG. 1. In the example of FIG. 11, When a user receives an SMS noti? shoWn in the accompanying draWings should be interpreted cation through intelligent noti?cation process 1000, FIG. 10, as illustrative and not in a limiting sense. The folloWing claims are intended to cover all generic and speci?c features described herein, as Well as all statements of the scope of the the user has the option to call back 1098 the number embed ded in the SMS message (along With the message ID) using the ‘use number’ option on mobile phone or by directly dial ing the access number for message retrieval from any phone. When the user calls back using either such option, the call is forwarded 1099 by sWitch 400 to system 100 (in this example), Which then collects 1101 available information for the forWarded call, such as the ANI, caller ID, message ID. In step 1102, the presence of caller ID is checked. If 1102 the caller ID is present, then it is compared 1103 With theANI. If 1103 those tWo values match, it denotes that the user is calling his or her oWn number to retrieve messages. If 1104 the message ID is also available, then the message corre sponding to the message ID is played 1105 for the user. 20 present method and system, Which, as a matter of language, might be said to fall there betWeen. What is claimed is: 1. A method for exchanging messages betWeen users; com 25 prising: processing messages from a plurality of user netWorks having a plurality of netWork protocols, for storage in a message store; 30 accessing at least one of the messages in the message store from one of the user netWorks having any one of the netWork protocols; Accordingly, steps 1102-1105 represent selective one-click obtaining con?guration information about a mailbox for message retrieval Whereby a message is conveniently retrieved by a user by pressing the callback number embed organiZing at least one of the messages in the message ded in the SMS noti?cation sent to them. If 1104 a message ID is not available, then the outstanding 35 store; purging all expired messages of the mailbox; and When the mailbox has a siZe that exceeds an allocated limit: noti?cations are checked 1107 to see if the useriidenti?ed archiving only messages of the mailbox that have not by the caller IDihas any messages pending. In case pending been accessed by a subscriber for a predetermined noti?cations are found, the message ID associated With the ?rst pending noti?cation is retrieved 1108 and the corre sponding message is played 1105 for the user. If 1107 no 40 pending noti?cations are found, the user’s mailbox is queried 1109 to check if any neW messages are pending for the user. If 1109 messages are pending, the message ID for the ?rst neW message in the mailbox is retrieved 1110 and the corre sponding message is played 1105 to the user. If 1109 no pending messages are found, the user is prompted 1106 to choose other options, such as to listen to saved messages. If 1103 the ANI and the caller ID are both available, but the values do not match, then the caller ID is validated 1111 to see if it belongs to a valid/active user of system 100. If 1111 the one or more of the folloWing message formats: voicemail, 45 3. The method of claim 2, the step of processing compris sage format to anothermessage format. 4. The method of claim 1, further comprising sending a 50 embedding in the noti?cation information about the at least 55 eters or by the user pro?le associated With the caller ID). If 1112 yes, the user is prompted 1113 for a PIN. The caller is then authenticated 1114 using the caller ID and the entered PIN. The user is granted further access (to step 1104) only if one message of the noti?cation, Wherein a user accessing the noti?cation directly accesses the message of the noti?cation in responding to the noti?cation. 6. The method of claim 1, the step of processing compris ing the steps of: 60 associating one or more of the messages With a subscriber; determining Whether the subscriber has an existing mail pro?le do not require authentication. After the user has been authenticated 1114, process 1100 checks 1104 for the availability of a message ID. If 1104 the message ID is available, then the message corresponding to the message ID is played 1105 for the user, as above. If1104 the message ID is not available, then process 1100 continues With step 110, as above. noti?cation of at least one message in the message store to a user connected With one of the user netWorks. 5. The method of claim 4, the step of sending comprising (e.g., process 1100 ends). If 1111 the caller ID is a valid user ID, then step 1112 determines Whether to authenticate the call authentication 1114 succeeds or if the system and/or user email, facsimile, SMS, video and agraphical image. ing transforming at least one of the messages from one mes caller ID is not a valid user ID, then further access is denied (step 1112 can be determined by system con?gurationparam time period, and compressing only messages of the mailbox that have been accessed by a subscriber Within the predeter mined time period. 2. The method of claim 1, Wherein the messages comprise box; 65 if the subscriber has the existing mailbox, storing the one or more messages in the existing mailbox; and if the subscriber does not have the existing mailbox, creat ing a neW mailbox and storing the one or more messages in the neW mailbox.
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project