Communications systems and methods for exchanging messages

Communications systems and methods for exchanging messages
(12) Ulllted States Patent
(10) Patent N0.:
Bhatia et a].
(45) Date of Patent:
5,608,786 A
3/1997 Gordon
5,740,231 A *
4/1998 Cohn et a1. ............ .. 379/8822
Pepe et a1.
5,751,792 A *
Chau et a1. ...... ..
Inventors: Sabeer Bhatia, 2190 Broadway, #10E,
i *
. . . . . .. 455/415
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.
0840491 A
patent 1s extended or adjusted under 35
0845894 A
U.S.C. 154(b) by 1164 days.
1014629 A
International Search Report cited in related PCT/US03/28619 issued
Sep. 12, 2003
San Francisco, CA (US) 94115;
(21) Appl. No.2 10/661,962
Nagendra siravara, 732 L1Ve¥P°°1WaY>
Sunnyvale, CA 0J$)94087;V1I1ay s-
( )
Subject' to any disclaimer, the term of this
( * ) Notice:
Mar. 17, 2009
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.
Prov1s1onal appl1cat1on No. 60/410,143, ?led on Sep.
Primar ExamineriOhsa Anwah
12 2002.
74 Allorney, A g @712, 0r FirmiLathro P & Ga g e LLP
Int. Cl.
H04M 1/64
US. Cl. ...... .... .... .. ‘379/8822; 379/8814; 379/8817
A Communications system exchanges messages between
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
are also provided.
5,524,137 A *
7 Claims, 12 Drawing Sheets
Rhee ..................... .. 379/8801
an». mm:
US 7,505,571 B2
Page 2
6,876,729 Bl*
6,925,299 Bl*
4/2005 Kuter et a1. ............ .. 379/8822
8/2005 Soferetal. ..
6,389,276 Bl*
Brilla et a1. ............... .. 455/413
7,107,298 132*
Prahlad et a1‘ """""""" “ 707/204
6522727 131*
Jones ------- --
7,136,897 Bl*
Raghunandan ............ .. 709/206
6,751,298 B2*
6,829,334 B1 *
6/2004 Bhogal e161. ..
- 379/8813
12/2004 Zirngibl et a1. ........ .. 379/88.17
* cited by examiner
US. Patent
Mar. 17, 2009
Sheet 2 0f 12
US 7,505,571 B2
Fax Server
Message Store 215
2 Ju
User Profile
Directory/Authentiwii m
29.. j
Data and
usage logs
US. Patent
Mar. 17, 2009
Sheet 3 0f 12
US 7,505,571 B2
Fl .3
Directory and
Profile Store
Billing and
Store m
find _
Con?guration <—
Usage logs
US. Patent
Mar. 17, 2009
Sheet 4 0f 12
US 7,505,571 B2
E1IT1 __
HTTPlXMLlJAVA-> Me5sag_e3t°re
US. Patent
Mar. 17, 2009
Sheet 5 0f 12
US 7,505,571 B2
Message Store
Messaging Services
Logging Service
Application Interface
Call Control Library
Noti?cation Server
Telephony drivers
Public Switch
Short Message Service
Center (SMSC)
US. Patent
Mar. 17,2009
Sheet6 0f12
L 0 ca t
Wireless Network
sm mmm
mcm R[email protected]
D is
User Profile Information
US 7,505,571 B2
US. Patent
Mar. 17, 2009
Sheet 7 0f 12
US 7,505,571 B2
Signalling Interface
2omwmé a
US. Patent
Mar. 17, 2009
Sheet 8 0f 12
US 7,505,571 B2
Forward Call from
Public switch
Receive the call (Go offhook)
Obtain call info -Called Number
(ANI) and Caller ID
Play greeting
"You have reached the mailbox ot
XYZ, Please leave a message"
a message?
Accept and store the message
(Dialed Number)
has a mailbox?
Deposit the message in local
Create a Home Mailbox,
Populate default pro?le
Query subscriber roaming status
and location
Communicate with system at
Is subscriber
roaming location to create a
YES-——> roaming mailbox and populate
default pro?le
Syncronize messages
between mailboxes at the
home and the roaming
US. Patent
Mar. 17, 2009
Sheet 9 0f 12
US 7,505,571 B2
. 9
Obtain system level parameters
from con?guration data
Scan user profile for mailbox and
message store data
Delete expired messages
Delete Mailbox
Get Mailbox size
Number of new messages
number of saved messages
number of expired messages
Mailbox Size
within allowed limits?
Next user
Check saved messages for last
accessed time
Cw?press the
essages accesse
in the last N days?
Add to back up
Mailbox Size
within allowed IImIts?
More mailboxes
to process?
US. Patent
Mar. 17, 2009
Sheet 10 0f 12
US 7,505,571 B2
Fl .10
Obtain system level parameters and
noti?cation templates from con?guration data
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
Compile and process a list ofall
messages for which noti?cations need
to be sent
Collect subscriber ID, calle's ID and
other data about each message based
on message ID
Access user pro?le to identify any
user-speci?c noti?cation parameters
Query subscribei‘s roaming status and
loca. ion
ls subscriber
Get Callback Number from
Gel Callback Number from
system con?guration at
Roaming Location
system con?guration
Compile SMS text message from
applicable template
Embed Callback number, Message ID
aand message info into the SMS
message to form an Intelligent
noti?cation message to the subscriber
Connect to SMSC
and send the message
US. Patent
Mar. 17, 2009
Sheet 11 0112
US 7,505,571 B2
Subscriber calls back by
Calls terminates
on System
pressing the callback
-"L'- number on the Noti?cation
Obtain forwarded call information
such as ANI,
CallerlD, and MessagelD
Caller ID
ls Caller ID
ANI == Caller ID?
a valid user ID?
'4 utsla ndin
Noti?cations for
the CallerlD?
essages in the
Get messagelD
ofthe ?rst Noti?cation
from the DB
Play message
corresponding to
Get messagelDfor the
?rst new message
from the DB
Prompt for other
messages or options
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
Accessing at least one of the
messages in the message store from
one of the user networks having any
one of the network protocols.
US 7,505,571 B2
disclosed. Under one exemplary embodiment, netWork archi
tecture is provided for use in an integrated communications
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.
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:
neW or saved messages in his mailbox.
A mailbox is deleted When a user ceases to be an active/
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
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
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
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
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
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
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.
storage in a message store. At least one of the messages in the
message store is accessed from one of the user netWorks
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
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
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
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
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
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
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,
FIG. 6 illustrates synchronization between servers at a
home location and at a remote location.
FIG. 7 shows one system illustrating scalability of network
FIG. 8 shows one process for employing dynamic mail
FIG. 9 shows one process for automatically managing a
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
systems 116 and to subscriber 120 through a network 114C,
to retrieve, delete and/or otherwise manage his or her mes
FIG. 2 is a block schematic diagram of network architec
ture suitable for use with system 100 (and, in particular,
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
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
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
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
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
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
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
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
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
Step” retrieval of the message by the subscriber may be pro
vided, as described in more detail in connection With FIG. 11.
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
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
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
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
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
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
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
cache Within IVR 206, and the duration of local storage are all
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
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
403 and 405. This is accomplished by initiating a request to
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
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
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.
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
manner, and translates and routes application requests to the
400 at location 600 and 601 serves to route/forward calls to
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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),
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
pro?le of a user associated With a message is then queried
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
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.
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
processing messages from a plurality of user netWorks
having a plurality of netWork protocols, for storage in a
message store;
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
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
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,
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
embedding in the noti?cation information about the at least
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:
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
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.
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF