WO2011091085A1 - Method and system for preserving telephony session state - Google Patents
Method and system for preserving telephony session state Download PDFInfo
- Publication number
- WO2011091085A1 WO2011091085A1 PCT/US2011/021774 US2011021774W WO2011091085A1 WO 2011091085 A1 WO2011091085 A1 WO 2011091085A1 US 2011021774 W US2011021774 W US 2011021774W WO 2011091085 A1 WO2011091085 A1 WO 2011091085A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- session
- communication
- telephony
- application server
- tracking link
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1046—Call controllers; Call servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
Definitions
- This invention relates generally to the telephony application field, and more specifically to a new and useful method and system for preserving telephony state in the telephony application field.
- SMS Short Message Service
- MMS Multimedia Messaging Service
- SMS messages have been limited in the amount of integration with internet applications due to the single message nature of the messaging system. SMS messages have a restricted character limit and correspondingly a limited amount of data that can be associated with a single message.
- the source of the problem, as discovered by the inventors, is there is no method or system for preserving the telephony message state, so that a single message can be associated with other messages.
- FIGURES l and 2 are schematic representations of methods of preferred embodiment
- FIGURE 3 is a schematic representation of a HTTP cookie variation of a preferred embodiment
- FIGURE 4 is a schematic representation of a API resource variation of a preferred embodiment
- FIGURE 5 is a schematic representation of regulating telephone messages preferred embodiment
- FIGURE 6 is a schematic representation of associating a communication session with a voice session of a preferred embodiment
- FIGURES 7 and 8 are schematic representations of methods of a second preferred embodiment
- FIGURE 9 is a schematic representation of a variation of the first and second preferred embodiments.
- FIGURE 10 is a schematic representation of a system of a preferred embodiment.
- a method for preserving telephony state of a preferred embodiment includes initializing a communication session of telephony communication between a telephony device and an application server S110; routing the telephony communication through a call router of a telephony platform S120; storing session state for the communication session of the telephony device and the application server S130; and transmitting the stored session state in communication between the application server and the call router S140.
- the method functions to preserve the state of a communication session between different instances of telephony communication.
- the method preferably makes state information of past communication available to application servers and/or provides a mechanism for websites to store data about a particular "telephony visitor" (e.g., the device involved in the messaging or past communication information).
- the method employs HTTP cookies with telephony communication for preserving application state.
- the method is preferably implemented on a system capable of handling voice telephone based applications such as the telephony platform described in published U.S. Publication Number 2009/0252159, filed 02 April 2009 and entitled “SYSTEM AND METHOD FOR PROCESSING TELEPHONY SESSIONS", which is incorporated in its entirety by this reference.
- the method may alternatively be implemented by a system specifically for telephony messaging or be implemented through an application server communicating with a telephony platform or any suitable system.
- This method may be used with telephony messaging, which includes Short Message Service (SMS) messages, Multimedia Messaging Service (MMS), fax, or any suitable telephony messaging.
- SMS Short Message Service
- MMS Multimedia Messaging Service
- a communication session preferably involves a plurality of telephony messages in which application state may be preserved.
- the method may alternatively or additionally be used with voice sessions (i.e, phone calls), video calls, or any suitable sustained communication protocol.
- the method may be used with a voice session to preserve state during a phone call and/or between multiple calls between the same caller and callee.
- SMS Short Message Service
- MMS Multimedia Messaging Service
- Step Sno which includes initializing a communication session of telephony communication between a telephony device and an application server, functions to send a first telephony message or call request to start a conversation over a telephony network.
- a communication session is preferably a period of communication between at least one device and an application server.
- a period of communication preferably includes an initial message or communication and preferably subsequent messages.
- requests are preferably passed between the application server and the call router which translate to telephony communication between the application server and the telephony device.
- a communication session for SMS messaging occurring between a device and an application server may include each application server to call router request and SMS message transferred for facilitating the communication between an application server and a device until the session is ended.
- the communication session may include all communication that occurs between the device and application, but may alternatively be defined to be communication within a time period or any suitable rule for beginning and ending a communication session.
- the telephony communication is preferably telephony messaging and more preferably an SMS message but may be a MMS message voice or any suitable telephony communication.
- the communication session may be within a call but more preferably includes a plurality of calls between the same caller and callee.
- a SMS gateway server preferably connects to a SMS network through a Short Message Service Center ("SMS-C"), directly to the Signaling System #7 (SS7) telephony network, or by any other suitable SMS gateway provider, and the message is preferably received from the gateway by the call router.
- SMS-C Short Message Service Center
- SS7 Signaling System #7
- the call router preferably coordinates the exchange between a telephony device and a networked application server.
- the telephony device or the application server may initiate the call as exemp
- initializing a conversation preferably includes receiving an incoming SMS message from telephony device S112.
- the telephony device may be a PSTN-connected (Public Switched Telephone Network) or Internet addressable devices, such as landline phones, cellular phones, satellite phones, Voice-Over-Internet-Protocol (VOIP) phones, SIP (session Initiation Protocol) devices, Skype, Gtalk, or any other suitable PSTN-connected or Internet addressable voice device.
- the incoming SMS message is preferably received from an originating address.
- the originating address is preferably a standard phone number, but may be any suitable originating address such as a VOIP provider ID, SMS device number, email address, or a short code.
- the SMS message is preferably addressed to a destination address (or an incoming address of an application), which is preferably a standard phone number but may alternatively be a toll free number, a short code number, a long code number, a phone number plus an inputted extension number, a phone number plus a tag included in the message, or any suitable destination address.
- the contents of the message may additionally impact the associated URI, and keyword or tag in addition to the destination number may impact what application server handles the message.
- the call router After receiving an incoming SMS message from a telephony device, the call router preferably identifies a URI (Universal Resource Identifier) associated (or "mapped”) with the destination address.
- URI Universal Resource Identifier
- the initial URI is preferably pre-specified at the call router by a web application (which may be running on a third party server) or call router account owner. More preferably, the initial URI is assigned to the incoming SMS message via a unique identifier for the call destination, such as a DID (Direct Inbound Dial) phone number, or a VOIP SIP address.
- a unique identifier for the call destination such as a DID (Direct Inbound Dial) phone number, or a VOIP SIP address.
- the SMS system operates within a larger telephony application system, and multiple applications may be associated with a single incoming address.
- the URI is identified based on the destination address and the type of incoming message (SMS, MMS, voice call, fax etc.). In other words, a different URI may be identified depending on the source of the telephony session. For example, a voice call or a fax might have different initial URI's that would handle a telephony session initiated by these alternative
- initializing a conversation preferably includes receiving a message request from an application server S114.
- the SMS message request preferably includes the message context, the text if the request is an SMS message, the media if the message is a MMS, or other content for other forms of telephony communication.
- the message request may additionally include a response URI that includes the URI to direct messages received in reply to the message initiated by the application server, alternatively the initial URI assigned to the application server may be used.
- the instructions from the application server may be in the form of a telephony instruction or a command included in the HTTP communication between the call router and the application server.
- a call router preferably processes telephony instructions to convert a server response into telephony actions or executable operations during a telephony session.
- a server response is preferably received over HTTP and is preferably formatted as XML.
- the call router may additionally process the telephony instructions according to the mime-types associated with the server response. For example, if the response mime-type is XML, it is considered to be a set of call router instructions. If the response mime-type is MP3, JPEG, video file, or other media file, it is considered to be media that should be sent as a MMS. If the response type is plain text, it is considered to be text that should be sent as a SMS.
- the SMS message request from the application server may alternatively be issued through a Call Router API.
- the Call Router API is preferably an application programming interface (API) such as a REST API (Representational State Transfer) as is known in the art, but the Call Router API may alternatively be a SOAP (Simple Object Access Protocol) API or any suitable programmatic communication interface.
- API application programming interface
- REST API Real State Transfer
- SOAP Simple Object Access Protocol
- Step Si20 which includes routing the telephony communication through a call router of a telephony platform, functions to forward the telephony communication to a destination.
- the telephony message is included in an HTTP or HTTPS message to the application server specified by the identified URL
- the application server preferably communicates with the call router, and the call router preferably sends the telephony message to a device specified by a telephony address.
- the application server communicating with the call router is preferably achieved through a telephony instruction or the Call Router API, but any suitable framework may be used.
- Step S130 which includes storing session state for the communication session of the telephony device and the application server, functions to provide a resource for preserving state of application interaction for a telephony device and an application.
- the session state preferably uniquely identifies the communication session created by the telephony device and the application communicating.
- the session state is preferably defined by a tuple including a "to" and "from” field that include the caller and the callee information of the telephony device and application server.
- the participants of the telephony communication may alternatively be defined through any suitable construct.
- Data of a session state is preferably stored in an HTTP Cookie, as shown in FIGURE 3. Alternatively, the session state may be stored using any suitable website session storage mechanism.
- the HTTP cookie is preferably managed by the telephony platform and may be stored by the call router.
- a cookie is preferably stored for each communication established through the telephony platform.
- the to-field and from-field defining the session state is preferably used to identify a corresponding cookie.
- An application server can preferably utilize the cookie for applications similar to those of browser based interactions.
- Each device accessing an application server preferably simulates or appears as a browser from the perspective of the application server, and a cookie can preferably be created for each device address accessing an application server.
- the cookie can be used by the application server to preserve user preferences, a browsing session, or other data for an application, telephony address (e.g., phone number) and the callee telephony address.
- session state may be stored as a call router API resource that the application server may access through the call router API, as shown in FIGURE 4.
- the call router API preferably stores state information in a persistent URI for a resource.
- the API resource may function substantially to the HTTP cookie described above, but may additionally store other information such as communication history.
- the persistent URI preferably contains all the necessary state information, and this preferably makes data persistent, queryable, and recoverable.
- the application server or another device may later access the data of the persistent URI to determine the state of the conversation.
- a session history resource is preferably created that is accessible through the call router API.
- the to-field and from- field is preferably included in the request to identify the data of the session state.
- Session history may include saving the content and actions associated with messages sent between a device and an application server.
- an application server will reply to a telephony message from a device. Session state of these replies are preferably preserved and communicated in substantially the same manner as an initial telephony message (e.g., by a telephony instruction or through a Call Router API). Though the reply is preferably sent to the originating address of the device (as opposed to some specified address of the application server). Additionally, the application server can preferably specify a response URI for future messages from a device.
- the call router will preferably pass the next message received from the device to the reply URI as opposed to the initial URI discussed above.
- the storing of state of a conversation additionally functions to support these multi-message applications.
- a transcript or history of past messages are preferably stored as part of the state of the conversation. By preserving the state of the conversation, SMS messages become a full conversation as opposed to unrelated, single messages.
- Additional abstractions of the history of conversations may additionally be made.
- a concept of sessions may be introduced which can be used to group a plurality of related messages. Such sessions may be assigned based on the temporal spacing of the messages. For example, a session may be closed after an expiration time requirement is met and the next message marks the beginning of a new session.
- An application server may alternatively define the beginning and end of a session. For example, the application server may send a telephony instruction or call router API message to signal the beginning and the conclusion of a session. This may additionally be signaled through the session state.
- Step S140 which includes transmitting the stored session state in communication between the application server and the call router, functions to communicate the session state to the application server.
- the session state may be used by the application server to set application state or for any suitable application.
- the session state HTTP cookie is sent to the application server for all communication with the application server.
- the call router preferably communicates with the application server through HTTP or HTTPS.
- the HTTP cookie is preferably transmitted through these techniques.
- the session state is stored as an API resource, then the session state is transmitted in response to an API call.
- the session state may alternatively be stored on the application server, or communicated to the application server in any suitable manner.
- the method may include regulating within a communication session S150 as shown in FIGURE 5, which functions to place restrictions on forms of communication within a communication session. In particular this may include limiting the speed and number of telephony messages that may be sent.
- the telephony messages may be queued to manage the load on the telephone network used by the call router. The queue functions to control network resources shared between a plurality of application servers sending telephony messages, and also to individually control the rate of telephony messages from an application server and avoid any network limitations such as SMS or MMS filtering, labeling as spam, or forced throttling.
- the queues may alternatively be shared amongst entities involved in various communication sessions.
- a dequeuer (or popper) preferably manages the selection of items from the queue to send from the call router.
- the dequeuers preferably dynamically control the rate and number of messages selected from the queue. Messages and/or calls may be rate limited for a particular communication session.
- Rate limiting may include limiting the number of messages/calls in a time period, time period between messages/calls, and/or any suitable rule for limiting communication.
- the call router may additionally handle formatting of the contents of the telephony message. This substep functions to alleviate application servers from correctly formatting all messages before communicating with the call router.
- a message may have more than the allowed number of characters (e.g., 160 characters) in a SMS message.
- the call router preferably splits the message into multiple SMS message requests to satisfy the character limit. Each SMS message request is then preferably individually queued.
- the message may additionally be split based on the contents of the text to prevent splitting a word, phrase, or sentence between different messages.
- the message is preferably split to preserve the semantic meaning of the message by analyzing the grammar and written structure of the message. Additionally, content may be added to the message such as the name of the source of the text message or the page number (e.g., "1 of 3:") in the case of a split message.
- the media may be compressed, resized, converted to an appropriate format, or replaced with a web link to the media file (if the media is not compatible with MMS).
- the call router may combine split messages sent from a device into a single message. This is preferably implemented by delaying the passing of a message to an application server, and combining additional messages into a single message before passing the message to an application server. Any suitable preprocessing of application server messages and post-processing of device messages may alternatively be used.
- the method may include associating the communication session with a voice session S160 as shown in FIGURE 6, which functions to allow the session state of a communication session to be used by a voice session.
- a voice session may be initiated from the same device to the application, and the session state of the previous SMS communication session may be used within the voice session.
- the step may include merging voice call session state with a SMS conversation. This step may be applied to enable merging session state of numerous forms of communication. This preferably involves sharing session state between communication sessions with different mediums of conversation (e.g., voice and SMS). This is particularly applicable on telephone networks capable of simultaneous voice and data transmission.
- Some applications may call for SMS messages or MMS messages to be sent during a telephone conversation with an application server.
- the session state is preferably associated with a second communication session by using the same HTTP cookie for communication between the call router and the application server or alternatively copying the HTTP cookie.
- the API resources storing the session state may be accessed for use with either communication session.
- the telephone conversation i.e., voice session
- resources generated during a voice session such as recordings, transcriptions, DTMF (Dual-Tone Multi-Frequency) signal inputs, or any suitable resources created during a voice session are preferably associated with the session history resource.
- the resources of the voice session are included as part of the conversation resource but they may alternatively be referenced or a shared identification code may be used.
- a second preferred embodiment the method may include the steps of initializing a communication session with a telephony message between a telephony device and an application server S210, and additionally assigning a unique tracking link to the communication session S270, communicating the tracking link S280, and associating resource access made through the tracking link with the communication session S290.
- Method functions to preserve session state between modes of communication. This is particularly useful for associating browser sessions with telephony sessions that involve the same parties. For example, data entered during a phone call can be imported into a web application accessed through a browser.
- Step S120 is preferably substantially similar to Step S110 described above.
- the tracking link preferably functions as a way for triggering an association with a communication session when accessing a resource. This is preferably used for associating telephony sessions with browser sessions, but may be used to associate a telephony session with any suitable session such as an application session.
- Step S270 which includes assigning a unique tracking link to the communication session, functions to create a sharable link to a resource that can be used to identify the entity accessing the resource.
- the tracking link is preferably a URI that includes parameters that associate a communication session with the URI.
- the URI may alternatively route the user initially through an initial site for tracking, similar to a link shortening service.
- the tracking link preferably leads to a webpage, but may alternatively direct to other resources such as an application.
- the tracking link may alternatively open up an application on a device.
- the resource opened by the tracking link is preferably operated by the application server entity but may be operated by any suitable party, preferably one with access to information of the communication session. Thus resource access and communication session information are both available to the application server entity or outside entity.
- Step S280 which includes communicating the tracking link, functions to deliver the tracking link for user access.
- the tracking link may be sent in a SMS message as shown in FIGURE 7, an email message as shown in FIGURE 8, fax, over audio, in an image or video, or communicated through any suitable means.
- the communication of the tracking link is preferably initiated by an application server during or following a telephony communication session.
- Step S290 which includes associating resource access made through the tracking link with the communication session, functions to associate a communication session with the access of a resource.
- the communication session associated with that particular tracking link is preferably identified.
- session state or other resources associated with the communication session can then be used within this newly accessed resource (e.g., webpage or application).
- a user may click the link and a browser of the phone preferably opens the link to a resource hosted by the application server. Since the link was uniquely assigned for that communication session, the application server knows that the user opening this browser session must have some connection to the user participating in SMS conversation.
- Information gathered during the SMS conversation can be used to impact the resource accessed by the user.
- the device opening the tracking link need not be the same device where the communication session occurred. Since the tracking link is unique and preferably shared with the user(s) of the communication session, an application server can assume that the user(s) is the same.
- a system 300 for preserving telephony message state of the preferred embodiment preferably includes a call router 310 and a session state manager 320.
- the system functions to store and make session state accessible for telephony messages passed between a device and an application server.
- the call router 310 preferably includes a message router for sending and receiving SMS/MMS messages.
- the call router 310 can preferably connect to an SMS network SMS through a Short Message Service Center ("SMS-C"), directly to the Signaling System #7 (SS7) telephony network, or by any other suitable SMS gateway provider.
- SMS-C Short Message Service Center
- SS7 Signaling System #7
- the message router can preferably send and receive messages from SMS network devices, cellular phones, computers, smartphones, or any suitable SMS network devices.
- Session state is stored within an HTTP cookie unique for a communication session, and the HTTP cookie can be transmitted to application servers for application logic.
- the session state manager may alternatively or additionally include a call router API 322 and a session history resource 324.
- the session history resource 324 is preferably stored data related to the conversation created between a device and an application server (either a single message or a plurality of messages).
- the conversation resource 324 is preferably a resource of the call router API 322, but may alternatively be a cookie or any suitable device to store state information.
- the system may additionally include a plurality of queues, a plurality of dequeuers (i.e., queue poppers), which functions to balance resource usage of the messaging network.
- the queues and dequeuers can preferably be allocated and deallocated from the system to account for capacity requirements.
- the system may encourage a plurality of messages to be sent which may cause increased load on the network.
- the queue and the dynamic allocation of resources preferably provide a device to compensate for a large volume of messages.
- the queues and/or dequeuers preferably function to control the throttling (i.e., service rates) of message requests.
- the throttling may be performed on a per-phone number, per- account (as in a multi-tenant application), and/or according to any message attribute.
- An alternative embodiment preferably implements the above methods in a computer-readable medium storing computer-readable instructions.
- the instructions are preferably executed by computer-executable components preferably integrated with a telephony platform and/or application server.
- the computer-readable medium may be stored on any suitable computer readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or any suitable device.
- the computer-executable component is preferably a processor but the instructions may alternatively or additionally be executed by any suitable dedicated hardware device.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
A method and system for preserving session state in telephony communication including initializing a communication session of telephony communication between a telephony device and an application server; routing the telephony communication through a call router; storing session state for the communication session of the telephony device and the application server; and transmitting the stored session state in communication between the application server and the call router.
Description
METHOD AND SYSTEM FOR PRESERVING TELEPHONY SESSION STATE
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Application Number
13/009,831, filed 19 January 2011, and entitled "METHOD AND SYSTEM FOR PRESERVING TELEPHONY SESSION STATE" and U.S. Provisional Application Number 61/296,301, filed 19 January 2010 and entitled "METHOD AND SYSTEM FOR PRESERVING TELEPHONY MESSAGE STATE", which are incorporated in their entirety by this reference.
TECHNICAL FIELD
[0002] This invention relates generally to the telephony application field, and more specifically to a new and useful method and system for preserving telephony state in the telephony application field.
BACKGROUND
[0003] Innovations in the web application and Voice over Internet Protocol
(VOIP) have brought about considerable changes to the capabilities offered through traditional phone services. New services and platforms have been introduced that integrate telephone voice conversations with website interaction. At the same time the use of SMS (Short Message Service) or MMS (Multimedia Messaging Service) messages, more generically known as text messaging or multimedia messaging, have also become
leading forms of communication around the world. However, SMS messages have been limited in the amount of integration with internet applications due to the single message nature of the messaging system. SMS messages have a restricted character limit and correspondingly a limited amount of data that can be associated with a single message. The source of the problem, as discovered by the inventors, is there is no method or system for preserving the telephony message state, so that a single message can be associated with other messages. Additionally, information and application state built up during interactions over phone are not preserved when changing communication channels. Thus, there is a need in the telephony application field to create a new and useful method and system for preserving telephony session state. This invention provides such a new and useful method and system
BRIEF DESCRIPTION OF THE FIGURES
[0004] FIGURES l and 2 are schematic representations of methods of preferred embodiment;
[0005] FIGURE 3 is a schematic representation of a HTTP cookie variation of a preferred embodiment;
[0006] FIGURE 4 is a schematic representation of a API resource variation of a preferred embodiment;
[0007] FIGURE 5 is a schematic representation of regulating telephone messages preferred embodiment;
[0008] FIGURE 6 is a schematic representation of associating a communication session with a voice session of a preferred embodiment;
[0009] FIGURES 7 and 8 are schematic representations of methods of a second preferred embodiment;
[0010] FIGURE 9 is a schematic representation of a variation of the first and second preferred embodiments; and
[0011] FIGURE 10 is a schematic representation of a system of a preferred embodiment.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] The following description of the preferred embodiments of the invention is not intended to limit the invention to these preferred embodiments, but rather to enable any person skilled in the art to make and use this invention.
[0013] As shown in FIGURES 1 and 2, a method for preserving telephony state of a preferred embodiment includes initializing a communication session of telephony communication between a telephony device and an application server S110; routing the telephony communication through a call router of a telephony platform S120; storing session state for the communication session of the telephony device and the application server S130; and transmitting the stored session state in communication between the application server and the call router S140. The method functions to preserve the state of a communication session between different instances of telephony communication. The method preferably makes state information of past communication available to
application servers and/or provides a mechanism for websites to store data about a particular "telephony visitor" (e.g., the device involved in the messaging or past communication information). In one preferred embodiment, the method employs HTTP cookies with telephony communication for preserving application state. The method is preferably implemented on a system capable of handling voice telephone based applications such as the telephony platform described in published U.S. Publication Number 2009/0252159, filed 02 April 2009 and entitled "SYSTEM AND METHOD FOR PROCESSING TELEPHONY SESSIONS", which is incorporated in its entirety by this reference. The method may alternatively be implemented by a system specifically for telephony messaging or be implemented through an application server communicating with a telephony platform or any suitable system. This method may be used with telephony messaging, which includes Short Message Service (SMS) messages, Multimedia Messaging Service (MMS), fax, or any suitable telephony messaging. A communication session preferably involves a plurality of telephony messages in which application state may be preserved. The method may alternatively or additionally be used with voice sessions (i.e, phone calls), video calls, or any suitable sustained communication protocol. The method may be used with a voice session to preserve state during a phone call and/or between multiple calls between the same caller and callee. While in this document telephony messaging and more specifically Short Message Service (SMS) is commonly used as the preferred telephony protocol, any suitable alternative form of telephony communication using any suitable protocol may be used in
addition to or instead of telephony messaging or SMS, such as MMS (Multimedia Messaging Service), fax, or voice.
[0014] Step Sno, which includes initializing a communication session of telephony communication between a telephony device and an application server, functions to send a first telephony message or call request to start a conversation over a telephony network. A communication session is preferably a period of communication between at least one device and an application server. A period of communication preferably includes an initial message or communication and preferably subsequent messages. During the communication session, requests are preferably passed between the application server and the call router which translate to telephony communication between the application server and the telephony device. For example, a communication session for SMS messaging occurring between a device and an application server may include each application server to call router request and SMS message transferred for facilitating the communication between an application server and a device until the session is ended. The communication session may include all communication that occurs between the device and application, but may alternatively be defined to be communication within a time period or any suitable rule for beginning and ending a communication session. The telephony communication is preferably telephony messaging and more preferably an SMS message but may be a MMS message voice or any suitable telephony communication. For voice the communication session may be within a call but more preferably includes a plurality of calls between the same caller and callee. A SMS gateway server preferably connects to a SMS network through a Short
Message Service Center ("SMS-C"), directly to the Signaling System #7 (SS7) telephony network, or by any other suitable SMS gateway provider, and the message is preferably received from the gateway by the call router. The call router preferably coordinates the exchange between a telephony device and a networked application server. The telephony device or the application server may initiate the call as exemplified in Steps S112 and S114 below.
[0015] As a first alternative, shown in FIGURE 1, initializing a conversation preferably includes receiving an incoming SMS message from telephony device S112. The telephony device may be a PSTN-connected (Public Switched Telephone Network) or Internet addressable devices, such as landline phones, cellular phones, satellite phones, Voice-Over-Internet-Protocol (VOIP) phones, SIP (session Initiation Protocol) devices, Skype, Gtalk, or any other suitable PSTN-connected or Internet addressable voice device. The incoming SMS message is preferably received from an originating address. The originating address is preferably a standard phone number, but may be any suitable originating address such as a VOIP provider ID, SMS device number, email address, or a short code. Additional information, such as location, may additionally be captured such as from the area code of the phone number. The SMS message is preferably addressed to a destination address (or an incoming address of an application), which is preferably a standard phone number but may alternatively be a toll free number, a short code number, a long code number, a phone number plus an inputted extension number, a phone number plus a tag included in the message, or any suitable destination address. The contents of the message may additionally impact the
associated URI, and keyword or tag in addition to the destination number may impact what application server handles the message. After receiving an incoming SMS message from a telephony device, the call router preferably identifies a URI (Universal Resource Identifier) associated (or "mapped") with the destination address. The initial URI is preferably pre-specified at the call router by a web application (which may be running on a third party server) or call router account owner. More preferably, the initial URI is assigned to the incoming SMS message via a unique identifier for the call destination, such as a DID (Direct Inbound Dial) phone number, or a VOIP SIP address. In one variation the SMS system operates within a larger telephony application system, and multiple applications may be associated with a single incoming address. In this variation the URI is identified based on the destination address and the type of incoming message (SMS, MMS, voice call, fax etc.). In other words, a different URI may be identified depending on the source of the telephony session. For example, a voice call or a fax might have different initial URI's that would handle a telephony session initiated by these alternative devices.
[0016] As a second alternative, shown in FIGURE 2, initializing a conversation preferably includes receiving a message request from an application server S114. The SMS message request preferably includes the message context, the text if the request is an SMS message, the media if the message is a MMS, or other content for other forms of telephony communication. The message request may additionally include a response URI that includes the URI to direct messages received in reply to the message initiated by the application server, alternatively the initial URI assigned to the application server
may be used. As a first variation, the instructions from the application server may be in the form of a telephony instruction or a command included in the HTTP communication between the call router and the application server. A call router preferably processes telephony instructions to convert a server response into telephony actions or executable operations during a telephony session. A server response is preferably received over HTTP and is preferably formatted as XML. The call router may additionally process the telephony instructions according to the mime-types associated with the server response. For example, if the response mime-type is XML, it is considered to be a set of call router instructions. If the response mime-type is MP3, JPEG, video file, or other media file, it is considered to be media that should be sent as a MMS. If the response type is plain text, it is considered to be text that should be sent as a SMS.
[0017] As a variation of Step S114, the SMS message request from the application server may alternatively be issued through a Call Router API. The Call Router API is preferably an application programming interface (API) such as a REST API (Representational State Transfer) as is known in the art, but the Call Router API may alternatively be a SOAP (Simple Object Access Protocol) API or any suitable programmatic communication interface. A message request is preferably communicated to the call router via the Call router API, and the call router then preferably proceeds to send the message during Step S120. An application server or any suitable HTTP enabled device may use the Call Router API to initiate sending a SMS message to a device that is preferably specified by a phone number, VOIP provider ID, SMS device number, email address, short code, or any suitable telephony device address.
[0018] Step Si20, which includes routing the telephony communication through a call router of a telephony platform, functions to forward the telephony communication to a destination. In the variation where an incoming telephony message is received from a device, the telephony message is included in an HTTP or HTTPS message to the application server specified by the identified URL In the variation where an application server initiates the sending of a telephony message, the application server preferably communicates with the call router, and the call router preferably sends the telephony message to a device specified by a telephony address. As mentioned above, the application server communicating with the call router is preferably achieved through a telephony instruction or the Call Router API, but any suitable framework may be used.
[0019] Step S130, which includes storing session state for the communication session of the telephony device and the application server, functions to provide a resource for preserving state of application interaction for a telephony device and an application. The session state preferably uniquely identifies the communication session created by the telephony device and the application communicating. The session state is preferably defined by a tuple including a "to" and "from" field that include the caller and the callee information of the telephony device and application server. The participants of the telephony communication may alternatively be defined through any suitable construct. Data of a session state is preferably stored in an HTTP Cookie, as shown in FIGURE 3. Alternatively, the session state may be stored using any suitable website session storage mechanism. The HTTP cookie is preferably managed by the telephony platform and may be stored by the call router. A cookie is preferably stored for each
communication established through the telephony platform. The to-field and from-field defining the session state is preferably used to identify a corresponding cookie. An application server can preferably utilize the cookie for applications similar to those of browser based interactions. Each device accessing an application server preferably simulates or appears as a browser from the perspective of the application server, and a cookie can preferably be created for each device address accessing an application server. The cookie can be used by the application server to preserve user preferences, a browsing session, or other data for an application, telephony address (e.g., phone number) and the callee telephony address.
[0020] Additionally or alternatively, session state may be stored as a call router API resource that the application server may access through the call router API, as shown in FIGURE 4. The call router API preferably stores state information in a persistent URI for a resource. The API resource may function substantially to the HTTP cookie described above, but may additionally store other information such as communication history. The persistent URI preferably contains all the necessary state information, and this preferably makes data persistent, queryable, and recoverable. The application server or another device may later access the data of the persistent URI to determine the state of the conversation. Specifically, a session history resource is preferably created that is accessible through the call router API. The to-field and from- field is preferably included in the request to identify the data of the session state. A full transcript, individual messages, media files (original and MMS formatted messages), response URI's, meta data such as time stamps, and any suitable data on the
conversation may be accessible through the call router API. Session history may include saving the content and actions associated with messages sent between a device and an application server. Often an application server will reply to a telephony message from a device. Session state of these replies are preferably preserved and communicated in substantially the same manner as an initial telephony message (e.g., by a telephony instruction or through a Call Router API). Though the reply is preferably sent to the originating address of the device (as opposed to some specified address of the application server). Additionally, the application server can preferably specify a response URI for future messages from a device. The call router will preferably pass the next message received from the device to the reply URI as opposed to the initial URI discussed above. In the course of executing a telephony message application, there may be a plurality of messages passed between a device and an application server. The storing of state of a conversation additionally functions to support these multi-message applications. A transcript or history of past messages are preferably stored as part of the state of the conversation. By preserving the state of the conversation, SMS messages become a full conversation as opposed to unrelated, single messages.
[0021 ] Additional abstractions of the history of conversations may additionally be made. As one abstraction, a concept of sessions may be introduced which can be used to group a plurality of related messages. Such sessions may be assigned based on the temporal spacing of the messages. For example, a session may be closed after an expiration time requirement is met and the next message marks the beginning of a new session. An application server may alternatively define the beginning and end of a
session. For example, the application server may send a telephony instruction or call router API message to signal the beginning and the conclusion of a session. This may additionally be signaled through the session state.
[0022] Step S140, which includes transmitting the stored session state in communication between the application server and the call router, functions to communicate the session state to the application server. The session state may be used by the application server to set application state or for any suitable application. Preferably, the session state HTTP cookie is sent to the application server for all communication with the application server. As described above the call router preferably communicates with the application server through HTTP or HTTPS. The HTTP cookie is preferably transmitted through these techniques. Alternatively, if the session state is stored as an API resource, then the session state is transmitted in response to an API call. The session state may alternatively be stored on the application server, or communicated to the application server in any suitable manner.
[0023] Additionally, the method may include regulating within a communication session S150 as shown in FIGURE 5, which functions to place restrictions on forms of communication within a communication session. In particular this may include limiting the speed and number of telephony messages that may be sent. When sending telephony messages from the call router, the telephony messages may be queued to manage the load on the telephone network used by the call router. The queue functions to control network resources shared between a plurality of application servers sending telephony messages, and also to individually control the rate of telephony messages from an
application server and avoid any network limitations such as SMS or MMS filtering, labeling as spam, or forced throttling. There are preferably a plurality of queues managed by the call router which may be allocated and deallocated according to resource demand. There is preferably a queue for each communication session. The queues may alternatively be shared amongst entities involved in various communication sessions. A dequeuer (or popper) preferably manages the selection of items from the queue to send from the call router. There may additionally be a plurality of dequerers for the plurality of queues, and each queue may have multiple dequerers selecting items from the queue. The dequeuers preferably dynamically control the rate and number of messages selected from the queue. Messages and/or calls may be rate limited for a particular communication session. Rate limiting may include limiting the number of messages/calls in a time period, time period between messages/calls, and/or any suitable rule for limiting communication. When sending a telephony message, the call router may additionally handle formatting of the contents of the telephony message. This substep functions to alleviate application servers from correctly formatting all messages before communicating with the call router. As one example, a message may have more than the allowed number of characters (e.g., 160 characters) in a SMS message. The call router preferably splits the message into multiple SMS message requests to satisfy the character limit. Each SMS message request is then preferably individually queued. The message may additionally be split based on the contents of the text to prevent splitting a word, phrase, or sentence between different messages. In other words, the message is preferably split to preserve the semantic meaning of the
message by analyzing the grammar and written structure of the message. Additionally, content may be added to the message such as the name of the source of the text message or the page number (e.g., "1 of 3:") in the case of a split message. In the case of MMS messages, the media may be compressed, resized, converted to an appropriate format, or replaced with a web link to the media file (if the media is not compatible with MMS). Related to the split messages, the call router may combine split messages sent from a device into a single message. This is preferably implemented by delaying the passing of a message to an application server, and combining additional messages into a single message before passing the message to an application server. Any suitable preprocessing of application server messages and post-processing of device messages may alternatively be used.
[0024] Additionally, the method may include associating the communication session with a voice session S160 as shown in FIGURE 6, which functions to allow the session state of a communication session to be used by a voice session. For example, while performing SMS messaging with an application, a voice session may be initiated from the same device to the application, and the session state of the previous SMS communication session may be used within the voice session. Similarly, the step may include merging voice call session state with a SMS conversation. This step may be applied to enable merging session state of numerous forms of communication. This preferably involves sharing session state between communication sessions with different mediums of conversation (e.g., voice and SMS). This is particularly applicable on telephone networks capable of simultaneous voice and data transmission. Some
applications may call for SMS messages or MMS messages to be sent during a telephone conversation with an application server. The session state is preferably associated with a second communication session by using the same HTTP cookie for communication between the call router and the application server or alternatively copying the HTTP cookie. As another alternative, the API resources storing the session state may be accessed for use with either communication session. The telephone conversation (i.e., voice session) can preferably be a standard two party call (between two telephony devices with the call router in between or between a telephony device and an application server) or a multi party conference call. In this alternative resources generated during a voice session such as recordings, transcriptions, DTMF (Dual-Tone Multi-Frequency) signal inputs, or any suitable resources created during a voice session are preferably associated with the session history resource. Preferably the resources of the voice session are included as part of the conversation resource but they may alternatively be referenced or a shared identification code may be used.
[0025] As shown in FIGURES 7 and 8, a second preferred embodiment the method may include the steps of initializing a communication session with a telephony message between a telephony device and an application server S210, and additionally assigning a unique tracking link to the communication session S270, communicating the tracking link S280, and associating resource access made through the tracking link with the communication session S290. Method functions to preserve session state between modes of communication. This is particularly useful for associating browser sessions with telephony sessions that involve the same parties. For example, data entered during
a phone call can be imported into a web application accessed through a browser. Step S120 is preferably substantially similar to Step S110 described above. Additionally the Steps S120, S130, S140, S150, and/or S160 may all be used in combination with the additional steps of S270, S280, and/or S290 as shown in FIGURE 9. The tracking link preferably functions as a way for triggering an association with a communication session when accessing a resource. This is preferably used for associating telephony sessions with browser sessions, but may be used to associate a telephony session with any suitable session such as an application session.
[0026] Step S270, which includes assigning a unique tracking link to the communication session, functions to create a sharable link to a resource that can be used to identify the entity accessing the resource. The tracking link is preferably a URI that includes parameters that associate a communication session with the URI. The URI may alternatively route the user initially through an initial site for tracking, similar to a link shortening service. The tracking link preferably leads to a webpage, but may alternatively direct to other resources such as an application. The tracking link may alternatively open up an application on a device. The resource opened by the tracking link is preferably operated by the application server entity but may be operated by any suitable party, preferably one with access to information of the communication session. Thus resource access and communication session information are both available to the application server entity or outside entity.
[0027] Step S280, which includes communicating the tracking link, functions to deliver the tracking link for user access. The tracking link may be sent in a SMS message
as shown in FIGURE 7, an email message as shown in FIGURE 8, fax, over audio, in an image or video, or communicated through any suitable means. The communication of the tracking link is preferably initiated by an application server during or following a telephony communication session.
[0028] Step S290, which includes associating resource access made through the tracking link with the communication session, functions to associate a communication session with the access of a resource. When the tracking link is used to access the resource, the communication session associated with that particular tracking link is preferably identified. Preferably, session state or other resources associated with the communication session can then be used within this newly accessed resource (e.g., webpage or application). For example, after being sent a link in an SMS message, a user may click the link and a browser of the phone preferably opens the link to a resource hosted by the application server. Since the link was uniquely assigned for that communication session, the application server knows that the user opening this browser session must have some connection to the user participating in SMS conversation. Information gathered during the SMS conversation can be used to impact the resource accessed by the user. The device opening the tracking link need not be the same device where the communication session occurred. Since the tracking link is unique and preferably shared with the user(s) of the communication session, an application server can assume that the user(s) is the same.
[0029] As shown in FIGURE 10, a system 300 for preserving telephony message state of the preferred embodiment preferably includes a call router 310 and a session
state manager 320. The system functions to store and make session state accessible for telephony messages passed between a device and an application server. The call router 310 preferably includes a message router for sending and receiving SMS/MMS messages. The call router 310 can preferably connect to an SMS network SMS through a Short Message Service Center ("SMS-C"), directly to the Signaling System #7 (SS7) telephony network, or by any other suitable SMS gateway provider. The message router can preferably send and receive messages from SMS network devices, cellular phones, computers, smartphones, or any suitable SMS network devices. The call router 310 may additionally or alternatively send or receive text messages or multimedia messages different protocols, emails, faxes, make voice calls over PSTN (Public Switched Telephone Network) network, and other suitable PSTN-compatible communication messages. The communication between the application server and the call router 310 is preferably stateless and any state information (e.g., call state) or data is preferably located in a URI or the request parameters, such as HTTP headers, GET URI parameters, POST request body parameters, or HTTP cookies. The session state manager 320 preferably functions to store and communicate stored session state. Preferably, this includes infrastructure to store and transmit HTTP cookies used to store session state for communication sessions involving a device and telephony application. Session state is stored within an HTTP cookie unique for a communication session, and the HTTP cookie can be transmitted to application servers for application logic. The session state manager may alternatively or additionally include a call router API 322 and a session history resource 324. The session history resource 324 is preferably stored
data related to the conversation created between a device and an application server (either a single message or a plurality of messages). The conversation resource 324 is preferably a resource of the call router API 322, but may alternatively be a cookie or any suitable device to store state information. The system may additionally include a plurality of queues, a plurality of dequeuers (i.e., queue poppers), which functions to balance resource usage of the messaging network. The queues and dequeuers can preferably be allocated and deallocated from the system to account for capacity requirements. The system may encourage a plurality of messages to be sent which may cause increased load on the network. The queue and the dynamic allocation of resources preferably provide a device to compensate for a large volume of messages. The queues and/or dequeuers preferably function to control the throttling (i.e., service rates) of message requests. The throttling may be performed on a per-phone number, per- account (as in a multi-tenant application), and/or according to any message attribute.
[0030] An alternative embodiment preferably implements the above methods in a computer-readable medium storing computer-readable instructions. The instructions are preferably executed by computer-executable components preferably integrated with a telephony platform and/or application server. The computer-readable medium may be stored on any suitable computer readable media such as RAMs, ROMs, flash memory, EEPROMs, optical devices (CD or DVD), hard drives, floppy drives, or any suitable device. The computer-executable component is preferably a processor but the instructions may alternatively or additionally be executed by any suitable dedicated hardware device.
[0031] As a person skilled in the art will recognize from the previous detailed description and from the figures and claims, modifications and changes can be made to the preferred embodiments of the invention without departing from the scope of this invention defined in the following claims.
Claims
1. A method for preserving session state in telephony messaging comprising:
• initializing a communication session with a telephony communication
between a telephony device and an application server;
• routing the telephony communication through a call router;
• storing session state for the communication session of the telephony device and the application server; and
• transmitting the stored session state in communication between the
application server and the call router.
2. The method of Claim l, wherein a telephony communication is an SMS message.
3. The method of Claim 1, wherein a telephony communication is a voice call.
4. The method of Claim 1, wherein the session state is defined by a to-field and from-field.
5. The method of Claim 4, wherein transmitting the stored session state includes transferring session state data through an HTTP Cookie identified from the to- field and from-field of the session state.
6. The method of Claim 1, wherein data of the session state is stored as an API resource accessible through an API of the telephony platform; and wherein transmitting the stored session state data includes transferring session state data through an API call identifying a session state by a to-field and from-field.
7. The method of Claim 1, further comprising regulating communication within a communication session.
8. The method of Claim 7 wherein regulating includes queuing telephony communication and rate limiting telephony communication within a communication session determined by the session state.
9. The method Claim 1, wherein the telephony communication is telephony messaging; and further comprising associating the communication session with a voice session.
10. The method of Claim 9, wherein the session state is stored as an HTTP cookie, and wherein associating the communication session with a voice session further includes sharing the HTTP cookie with the voice session between the telephony device and the application server.
11. The method of Claim 1, further comprising communicating a tracking link, wherein a tracking link is a link to a resource and the tracking link is unique to the communication session; and associating access of a resource through the tracking link with the communication session.
12. The method of Claim 11, wherein the tracking link is a universal resource identifier (URI) and resource access is made through a web browser; and wherein associating resource access includes associating the browser session with the communication session.
13. The method of Claim 11, wherein a telephony communication is an SMS message, and wherein the tracking link is communicated through an SMS message.
14. The method of Claim 11, wherein the tracking link is communicated in an email message.
15. A method for preserving session state between plurality of communication channels comprising:
• initializing a communication session between a telephony device and an
application server;
• assigning a unique tracking link to the communication session
• communicating the tracking link; and
• associating resource access made through the tracking link with the
communication session.
16. The method of Claim 15, wherein the communication session is a telephony voice session.
17. The method of Claim 15, wherein the tracking link is a URI and resource access is made through a web browser; and wherein associating resource access includes associating the browser session with the communication session
18. The method of Claim 15, wherein the resource access includes opening an application indicated through the tracking link.
19. The method of Claim 15, wherein the tracking link is communicated through an SMS message.
20. The method of Claim 15, wherein the tracking link is communicated through an email message.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11735145.2A EP2526657B1 (en) | 2010-01-19 | 2011-01-19 | Method and system for preserving telephony session state |
CN201180006370.0A CN102804700B (en) | 2010-01-19 | 2011-01-19 | Method and system for preserving telephony session state |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US29630110P | 2010-01-19 | 2010-01-19 | |
US61/296,301 | 2010-01-19 | ||
US13/009,831 US8638781B2 (en) | 2010-01-19 | 2011-01-19 | Method and system for preserving telephony session state |
US13/009,831 | 2011-01-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011091085A1 true WO2011091085A1 (en) | 2011-07-28 |
Family
ID=44277547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2011/021774 WO2011091085A1 (en) | 2010-01-19 | 2011-01-19 | Method and system for preserving telephony session state |
Country Status (4)
Country | Link |
---|---|
US (1) | US8638781B2 (en) |
EP (1) | EP2526657B1 (en) |
CN (1) | CN102804700B (en) |
WO (1) | WO2011091085A1 (en) |
Cited By (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8306021B2 (en) | 2008-04-02 | 2012-11-06 | Twilio, Inc. | System and method for processing telephony sessions |
US8315369B2 (en) | 2009-03-02 | 2012-11-20 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US8416923B2 (en) | 2010-06-23 | 2013-04-09 | Twilio, Inc. | Method for providing clean endpoint addresses |
US8509415B2 (en) | 2009-03-02 | 2013-08-13 | Twilio, Inc. | Method and system for a multitenancy telephony network |
US8582737B2 (en) | 2009-10-07 | 2013-11-12 | Twilio, Inc. | System and method for running a multi-module telephony application |
US8601136B1 (en) | 2012-05-09 | 2013-12-03 | Twilio, Inc. | System and method for managing latency in a distributed telephony network |
US8638781B2 (en) | 2010-01-19 | 2014-01-28 | Twilio, Inc. | Method and system for preserving telephony session state |
US8649268B2 (en) | 2011-02-04 | 2014-02-11 | Twilio, Inc. | Method for processing telephony sessions of a network |
US8737962B2 (en) | 2012-07-24 | 2014-05-27 | Twilio, Inc. | Method and system for preventing illicit use of a telephony platform |
US8738051B2 (en) | 2012-07-26 | 2014-05-27 | Twilio, Inc. | Method and system for controlling message routing |
US8837465B2 (en) | 2008-04-02 | 2014-09-16 | Twilio, Inc. | System and method for processing telephony sessions |
US8838707B2 (en) | 2010-06-25 | 2014-09-16 | Twilio, Inc. | System and method for enabling real-time eventing |
US8938053B2 (en) | 2012-10-15 | 2015-01-20 | Twilio, Inc. | System and method for triggering on platform usage |
US8948356B2 (en) | 2012-10-15 | 2015-02-03 | Twilio, Inc. | System and method for routing communications |
US8964726B2 (en) | 2008-10-01 | 2015-02-24 | Twilio, Inc. | Telephony web event system and method |
US9001666B2 (en) | 2013-03-15 | 2015-04-07 | Twilio, Inc. | System and method for improving routing in a distributed communication platform |
US9137127B2 (en) | 2013-09-17 | 2015-09-15 | Twilio, Inc. | System and method for providing communication platform metadata |
US9160696B2 (en) | 2013-06-19 | 2015-10-13 | Twilio, Inc. | System for transforming media resource into destination device compatible messaging format |
US9210275B2 (en) | 2009-10-07 | 2015-12-08 | Twilio, Inc. | System and method for running a multi-module telephony application |
US9225840B2 (en) | 2013-06-19 | 2015-12-29 | Twilio, Inc. | System and method for providing a communication endpoint information service |
US9226217B2 (en) | 2014-04-17 | 2015-12-29 | Twilio, Inc. | System and method for enabling multi-modal communication |
US9240941B2 (en) | 2012-05-09 | 2016-01-19 | Twilio, Inc. | System and method for managing media in a distributed communication network |
US9247062B2 (en) | 2012-06-19 | 2016-01-26 | Twilio, Inc. | System and method for queuing a communication session |
US9246694B1 (en) | 2014-07-07 | 2016-01-26 | Twilio, Inc. | System and method for managing conferencing in a distributed communication network |
US9253254B2 (en) | 2013-01-14 | 2016-02-02 | Twilio, Inc. | System and method for offering a multi-partner delegated platform |
US9251371B2 (en) | 2014-07-07 | 2016-02-02 | Twilio, Inc. | Method and system for applying data retention policies in a computing platform |
US9282124B2 (en) | 2013-03-14 | 2016-03-08 | Twilio, Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US9325624B2 (en) | 2013-11-12 | 2016-04-26 | Twilio, Inc. | System and method for enabling dynamic multi-modal communication |
US9336500B2 (en) | 2011-09-21 | 2016-05-10 | Twilio, Inc. | System and method for authorizing and connecting application developers and users |
US9338280B2 (en) | 2013-06-19 | 2016-05-10 | Twilio, Inc. | System and method for managing telephony endpoint inventory |
US9338018B2 (en) | 2013-09-17 | 2016-05-10 | Twilio, Inc. | System and method for pricing communication of a telecommunication platform |
US9338064B2 (en) | 2010-06-23 | 2016-05-10 | Twilio, Inc. | System and method for managing a computing cluster |
US9344573B2 (en) | 2014-03-14 | 2016-05-17 | Twilio, Inc. | System and method for a work distribution service |
US9363301B2 (en) | 2014-10-21 | 2016-06-07 | Twilio, Inc. | System and method for providing a micro-services communication platform |
US9398622B2 (en) | 2011-05-23 | 2016-07-19 | Twilio, Inc. | System and method for connecting a communication to a client |
US9459926B2 (en) | 2010-06-23 | 2016-10-04 | Twilio, Inc. | System and method for managing a computing cluster |
US9459925B2 (en) | 2010-06-23 | 2016-10-04 | Twilio, Inc. | System and method for managing a computing cluster |
US9477975B2 (en) | 2015-02-03 | 2016-10-25 | Twilio, Inc. | System and method for a media intelligence platform |
US9483328B2 (en) | 2013-07-19 | 2016-11-01 | Twilio, Inc. | System and method for delivering application content |
US9495227B2 (en) | 2012-02-10 | 2016-11-15 | Twilio, Inc. | System and method for managing concurrent events |
US9516101B2 (en) | 2014-07-07 | 2016-12-06 | Twilio, Inc. | System and method for collecting feedback in a multi-tenant communication platform |
US9553799B2 (en) | 2013-11-12 | 2017-01-24 | Twilio, Inc. | System and method for client communication in a distributed telephony network |
US9590849B2 (en) | 2010-06-23 | 2017-03-07 | Twilio, Inc. | System and method for managing a computing cluster |
US9602586B2 (en) | 2012-05-09 | 2017-03-21 | Twilio, Inc. | System and method for managing media in a distributed communication network |
US9641677B2 (en) | 2011-09-21 | 2017-05-02 | Twilio, Inc. | System and method for determining and communicating presence information |
US9648006B2 (en) | 2011-05-23 | 2017-05-09 | Twilio, Inc. | System and method for communicating with a client application |
US9774687B2 (en) | 2014-07-07 | 2017-09-26 | Twilio, Inc. | System and method for managing media and signaling in a communication platform |
US9811398B2 (en) | 2013-09-17 | 2017-11-07 | Twilio, Inc. | System and method for tagging and tracking events of an application platform |
US9948703B2 (en) | 2015-05-14 | 2018-04-17 | Twilio, Inc. | System and method for signaling through data storage |
US10063713B2 (en) | 2016-05-23 | 2018-08-28 | Twilio Inc. | System and method for programmatic device connectivity |
US10165015B2 (en) | 2011-05-23 | 2018-12-25 | Twilio Inc. | System and method for real-time communication by using a client application communication protocol |
US10419891B2 (en) | 2015-05-14 | 2019-09-17 | Twilio, Inc. | System and method for communicating through multiple endpoints |
US10659349B2 (en) | 2016-02-04 | 2020-05-19 | Twilio Inc. | Systems and methods for providing secure network exchanged for a multitenant virtual private cloud |
US10686902B2 (en) | 2016-05-23 | 2020-06-16 | Twilio Inc. | System and method for a multi-channel notification service |
US11637934B2 (en) | 2010-06-23 | 2023-04-25 | Twilio Inc. | System and method for monitoring account usage on a platform |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7689470B2 (en) | 2007-02-09 | 2010-03-30 | Cfph, Llc | Method and medium for selecting a merchant for a trial mode of a delivery service |
US8150737B2 (en) * | 2007-02-09 | 2012-04-03 | Cfph, Llc | Method and system for processing orders from a referral system |
US9060255B1 (en) * | 2011-03-01 | 2015-06-16 | Sprint Communications Company L.P. | Adaptive information service access |
CN103176969A (en) * | 2011-12-20 | 2013-06-26 | 腾讯科技(深圳)有限公司 | Method and device for sharing microblogging information |
US9258666B2 (en) * | 2012-10-17 | 2016-02-09 | International Business Machines Corporation | State migration of edge-of-network applications |
US9769214B2 (en) * | 2013-11-05 | 2017-09-19 | Avaya Inc. | Providing reliable session initiation protocol (SIP) signaling for web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media |
US9503401B1 (en) * | 2014-01-31 | 2016-11-22 | Whatsapp Inc. | Automated message recall from a sender's device |
KR102107650B1 (en) * | 2014-03-06 | 2020-05-07 | 삼성전자 주식회사 | Method for detecting a signal transmitting and receiving a message and a signal requiring a call and electronic device implementing the same |
WO2015160369A1 (en) * | 2014-04-14 | 2015-10-22 | Vis-Ujala, Llc | Methods and apparatus for monitoring a facility |
US11574621B1 (en) | 2014-12-23 | 2023-02-07 | Amazon Technologies, Inc. | Stateless third party interactions |
TWI690183B (en) * | 2019-01-08 | 2020-04-01 | 中華電信股份有限公司 | Method and system for supporting telephone access to iot services |
US12047363B2 (en) | 2021-05-19 | 2024-07-23 | Microsoft Technology Licensing, Llc | Maintaining and recovering secure cloud connections |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060203979A1 (en) * | 2005-03-08 | 2006-09-14 | Cisco Technology, Inc. A California Corporation | Transferring state information in a network |
US20080146268A1 (en) * | 2006-12-14 | 2008-06-19 | Motorola, Inc. | Multimodal phone data session management enhancement that alleviates dual transmission problems |
US20090252159A1 (en) | 2008-04-02 | 2009-10-08 | Jeffrey Lawson | System and method for processing telephony sessions |
Family Cites Families (223)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1684587U (en) | 1953-11-23 | 1954-10-07 | Mannesmann Ag | SLIDING DOORS, IN PARTICULAR FOR CABINETS. |
NL8700554A (en) | 1987-03-09 | 1988-10-03 | Oostwouder Silo Service | METHOD FOR MANUFACTURING A CYLINDRICAL METAL BUILDING CONSTRUCTION AND APPARATUS FOR CARRYING OUT THIS METHOD |
US5274700A (en) | 1989-11-27 | 1993-12-28 | Unifi Communications Corporation | Methods of automatically rerouting an incoming telephone call placed over a network |
EP0584702B1 (en) | 1992-08-28 | 2004-04-28 | Siemens Information and Communication Networks, Inc. | ISDN layer 3 event mask |
US5526416A (en) | 1992-11-16 | 1996-06-11 | Dezonno; Anthony J. | Automatic call distribution system with an ISDN compatible call connection system and method |
US5598457A (en) | 1994-09-30 | 1997-01-28 | At&T | Technique for providing redundant capability in a personal mobile communication system |
US5970124A (en) | 1996-06-05 | 1999-10-19 | Voice Fx Corporation | Sponsored information distribution method and apparatus |
ES2134107B1 (en) | 1996-06-14 | 2000-04-16 | Del Campo Salvador Garcia | INSTALLATION FOR THE CONSTRUCTION AND ASSEMBLY "IN SITU" OF TANKS WITH VERTICAL AXIS. |
US6094688A (en) | 1997-01-08 | 2000-07-25 | Crossworlds Software, Inc. | Modular application collaboration including filtering at the source and proxy execution of compensating transactions to conserve server resources |
US6445694B1 (en) | 1997-03-07 | 2002-09-03 | Robert Swartz | Internet controlled telephone system |
US6785266B2 (en) | 1998-03-02 | 2004-08-31 | Robert Swartz | Internet controlled telephone system |
US6704785B1 (en) | 1997-03-17 | 2004-03-09 | Vitria Technology, Inc. | Event driven communication system |
US6192123B1 (en) | 1997-04-14 | 2001-02-20 | National Tech Team Inc. | Method and apparatus for initiating telephone calls using a data network |
SE9701509D0 (en) | 1997-04-22 | 1997-04-22 | Ericsson Telefon Ab L M | Method of routing a short message into a packaged data network |
US6185565B1 (en) | 1997-12-18 | 2001-02-06 | Nortel Networks Corporation | System and method for communication session disposition responsive to events in a telecommunications network and the internet |
US6094681A (en) | 1998-03-31 | 2000-07-25 | Siemens Information And Communication Networks, Inc. | Apparatus and method for automated event notification |
FI107504B (en) | 1998-04-09 | 2001-08-15 | Nokia Networks Oy | Implementation of multiple simultaneous calls in a mobile communication system |
US6430175B1 (en) | 1998-05-05 | 2002-08-06 | Lucent Technologies Inc. | Integrating the telephone network and the internet web |
US6223287B1 (en) | 1998-07-24 | 2001-04-24 | International Business Machines Corporation | Method for establishing a secured communication channel over the internet |
US6269336B1 (en) | 1998-07-24 | 2001-07-31 | Motorola, Inc. | Voice browser for interactive services and methods thereof |
US6425012B1 (en) | 1998-12-28 | 2002-07-23 | Koninklijke Philips Electronics N.V. | System creating chat network based on a time of each chat access request |
US6445776B1 (en) | 1998-12-31 | 2002-09-03 | Nortel Networks Limited | Abstract interface for media and telephony services |
US6138143A (en) | 1999-01-28 | 2000-10-24 | Genrad, Inc. | Method and apparatus for asynchronous transaction processing |
US6819667B1 (en) | 1999-08-05 | 2004-11-16 | Lucent Technologies Inc. | PSTN-internet notification services |
US6600736B1 (en) | 1999-03-31 | 2003-07-29 | Lucent Technologies Inc. | Method of providing transfer capability on web-based interactive voice response services |
GB2348566A (en) | 1999-03-31 | 2000-10-04 | Ibm | Computer network telephony |
US6459913B2 (en) | 1999-05-03 | 2002-10-01 | At&T Corp. | Unified alerting device and method for alerting a subscriber in a communication network based upon the result of logical functions |
US7039040B1 (en) * | 1999-06-07 | 2006-05-02 | At&T Corp. | Voice-over-IP enabled chat |
US6496500B2 (en) | 1999-06-28 | 2002-12-17 | Alex Information Systems, Inc. | System and method for controlling telephone calls through a cross platform enabled internet browser |
US6501832B1 (en) | 1999-08-24 | 2002-12-31 | Microstrategy, Inc. | Voice code registration system and method for registering voice codes for voice pages in a voice network access provider system |
US7457397B1 (en) | 1999-08-24 | 2008-11-25 | Microstrategy, Inc. | Voice page directory system in a voice page creation and delivery system |
US6792086B1 (en) | 1999-08-24 | 2004-09-14 | Microstrategy, Inc. | Voice network access provider system and method |
US6888929B1 (en) | 1999-08-24 | 2005-05-03 | Microstrategy, Inc. | Revenue generation method for use with voice network access provider system and method |
US6707889B1 (en) | 1999-08-24 | 2004-03-16 | Microstrategy Incorporated | Multiple voice network access provider system and method |
US6940953B1 (en) | 1999-09-13 | 2005-09-06 | Microstrategy, Inc. | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services including module for generating and formatting voice services |
US7039165B1 (en) | 1999-09-13 | 2006-05-02 | Microstrategy Incorporated | System and method for personalizing an interactive voice broadcast of a voice service based on automatic number identification |
US6606596B1 (en) | 1999-09-13 | 2003-08-12 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through digital sound files |
US6836537B1 (en) | 1999-09-13 | 2004-12-28 | Microstrategy Incorporated | System and method for real-time, personalized, dynamic, interactive voice services for information related to existing travel schedule |
US6829334B1 (en) | 1999-09-13 | 2004-12-07 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with telephone-based service utilization and control |
US6850603B1 (en) | 1999-09-13 | 2005-02-01 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized dynamic and interactive voice services |
US6964012B1 (en) | 1999-09-13 | 2005-11-08 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, including deployment through personalized broadcasts |
US7197461B1 (en) | 1999-09-13 | 2007-03-27 | Microstrategy, Incorporated | System and method for voice-enabled input for use in the creation and automatic deployment of personalized, dynamic, and interactive voice services |
US7266181B1 (en) | 1999-09-13 | 2007-09-04 | Microstrategy, Incorporated | System and method for the creation and automatic deployment of personalized dynamic and interactive voice services with integrated inbound and outbound voice services |
US7340040B1 (en) | 1999-09-13 | 2008-03-04 | Microstrategy, Incorporated | System and method for real-time, personalized, dynamic, interactive voice services for corporate-analysis related information |
US6937699B1 (en) | 1999-09-27 | 2005-08-30 | 3Com Corporation | System and method for advertising using data network telephone connections |
US7020685B1 (en) | 1999-10-08 | 2006-03-28 | Openwave Systems Inc. | Method and apparatus for providing internet content to SMS-based wireless devices |
US6493558B1 (en) | 1999-10-15 | 2002-12-10 | Nokia Mobile Phones Ltd. | TD-SMS messaging gateway |
US6807574B1 (en) | 1999-10-22 | 2004-10-19 | Tellme Networks, Inc. | Method and apparatus for content personalization over a telephone interface |
US6970915B1 (en) | 1999-11-01 | 2005-11-29 | Tellme Networks, Inc. | Streaming content over a telephone interface |
US7376586B1 (en) | 1999-10-22 | 2008-05-20 | Microsoft Corporation | Method and apparatus for electronic commerce using a telephone interface |
US6778653B1 (en) | 1999-11-09 | 2004-08-17 | Nortel Networks Limited | Storing information about a telephony session |
US6625258B1 (en) | 1999-12-27 | 2003-09-23 | Nortel Networks Ltd | System and method for providing unified communication services support |
US20010048676A1 (en) | 2000-01-07 | 2001-12-06 | Ray Jimenez | Methods and apparatus for executing an audio attachment using an audio web retrieval telephone system |
US7447299B1 (en) | 2000-05-02 | 2008-11-04 | Microsoft Corporation | Voice and telephone keypad based data entry for interacting with voice information services |
US6874084B1 (en) | 2000-05-02 | 2005-03-29 | International Business Machines Corporation | Method and apparatus for establishing a secure communication connection between a java application and secure server |
AU2001262970A1 (en) | 2000-05-02 | 2001-11-12 | Sun Microsystems, Inc. | Event service method and system |
US7376740B1 (en) | 2000-06-13 | 2008-05-20 | Microsoft Corporation | Phone application state management mechanism |
US7140004B1 (en) | 2000-06-13 | 2006-11-21 | Tellme Networks, Inc. | Method and apparatus for zero-footprint phone application development |
US6961330B1 (en) | 2000-06-23 | 2005-11-01 | Comverse Ltd. | Web development and deployment using SMS and USSD |
US6662231B1 (en) | 2000-06-30 | 2003-12-09 | Sei Information Technology | Method and system for subscriber-based audio service over a communication network |
US7286521B1 (en) | 2000-07-21 | 2007-10-23 | Tellme Networks, Inc. | Localized voice over internet protocol communication |
US7623648B1 (en) | 2004-12-01 | 2009-11-24 | Tellme Networks, Inc. | Method and system of generating reference variations for directory assistance data |
US7143039B1 (en) | 2000-08-11 | 2006-11-28 | Tellme Networks, Inc. | Providing menu and other services for an information processing system using a telephone or other audio interface |
US7308408B1 (en) | 2000-07-24 | 2007-12-11 | Microsoft Corporation | Providing services for an information processing system using an audio interface |
US20060143007A1 (en) | 2000-07-24 | 2006-06-29 | Koh V E | User interaction with voice information services |
US6873952B1 (en) | 2000-08-11 | 2005-03-29 | Tellme Networks, Inc. | Coarticulated concatenated speech |
US7269557B1 (en) | 2000-08-11 | 2007-09-11 | Tellme Networks, Inc. | Coarticulated concatenated speech |
US6922411B1 (en) | 2000-09-29 | 2005-07-26 | Voxeo Corporation | Networked computer telephony system driven by web-based applications |
US6757365B1 (en) | 2000-10-16 | 2004-06-29 | Tellme Networks, Inc. | Instant messaging via telephone interfaces |
US7277851B1 (en) | 2000-11-22 | 2007-10-02 | Tellme Networks, Inc. | Automated creation of phonemic variations |
US20020077833A1 (en) | 2000-12-20 | 2002-06-20 | Arons Barry M. | Transcription and reporting system |
US6738738B2 (en) | 2000-12-23 | 2004-05-18 | Tellme Networks, Inc. | Automated transformation from American English to British English |
US20020126813A1 (en) | 2001-01-05 | 2002-09-12 | Hadi Partovi | Phone based rewards programs method and apparatus prepared by tellme networks, Inc |
US6627054B2 (en) | 2001-01-23 | 2003-09-30 | General Electric Company | Electrode for electrochemical machining |
US7412525B2 (en) | 2001-01-24 | 2008-08-12 | Microsoft Corporation | System verifying if an email request passed a policy check before initiating an interactive telephony session |
US7308085B2 (en) | 2001-01-24 | 2007-12-11 | Microsoft Corporation | Serializing an asynchronous communication |
US6625576B2 (en) | 2001-01-29 | 2003-09-23 | Lucent Technologies Inc. | Method and apparatus for performing text-to-speech conversion in a client/server environment |
US6711249B2 (en) | 2001-02-08 | 2004-03-23 | Tellme Networks, Inc. | Common gateway to call control systems |
US7437429B2 (en) | 2001-02-13 | 2008-10-14 | Microsoft Corporation | System and method for providing transparent access to distributed authoring and versioning files including encrypted files |
US6985862B2 (en) | 2001-03-22 | 2006-01-10 | Tellme Networks, Inc. | Histogram grammar weighting and error corrective training of grammar weights |
US7882253B2 (en) | 2001-04-05 | 2011-02-01 | Real-Time Innovations, Inc. | Real-time publish-subscribe system |
JP4225703B2 (en) | 2001-04-27 | 2009-02-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Information access method, information access system and program |
US20030051037A1 (en) | 2001-06-12 | 2003-03-13 | Mukesh Sundaram | Open portal interface manager |
US6941268B2 (en) | 2001-06-21 | 2005-09-06 | Tellme Networks, Inc. | Handling of speech recognition in a declarative markup language |
US6801604B2 (en) | 2001-06-25 | 2004-10-05 | International Business Machines Corporation | Universal IP-based and scalable architectures across conversational applications using web services for speech and audio processing resources |
US6947417B2 (en) | 2001-06-29 | 2005-09-20 | Ip Unity | Method and system for providing media services |
US7058181B2 (en) | 2001-08-02 | 2006-06-06 | Senforce Technologies, Inc. | Wireless bridge for roaming in network environment |
US7454459B1 (en) | 2001-09-04 | 2008-11-18 | Jarna, Inc. | Method and apparatus for implementing a real-time event management platform |
CA2404550C (en) | 2001-09-21 | 2010-02-09 | Corel Corporation | System and method for web services packaging |
US20030059020A1 (en) | 2001-09-24 | 2003-03-27 | Teleware, Inc. | Multi-media communication management system supporting selectable appliance modules |
US7522711B1 (en) | 2001-10-19 | 2009-04-21 | Microsoft Corporation | Delivery of audio driving directions via a telephone interface |
US8799464B2 (en) | 2001-12-28 | 2014-08-05 | Motorola Mobility Llc | Multi-modal communication using a session specific proxy server |
US6898567B2 (en) | 2001-12-29 | 2005-05-24 | Motorola, Inc. | Method and apparatus for multi-level distributed speech recognition |
US6683947B2 (en) | 2001-12-31 | 2004-01-27 | General Electric Capital Corporation | Call center monitoring system |
US7324942B1 (en) | 2002-01-29 | 2008-01-29 | Microstrategy, Incorporated | System and method for interactive voice services using markup language with N-best filter element |
US20030211842A1 (en) | 2002-02-19 | 2003-11-13 | James Kempf | Securing binding update using address based keys |
KR100415111B1 (en) | 2002-02-19 | 2004-01-13 | 삼성전자주식회사 | Initialization method of the internet protocol phone in an internet protocol telephony system |
US6807529B2 (en) | 2002-02-27 | 2004-10-19 | Motorola, Inc. | System and method for concurrent multimodal communication |
US6912581B2 (en) | 2002-02-27 | 2005-06-28 | Motorola, Inc. | System and method for concurrent multimodal communication session persistence |
US7962644B1 (en) | 2002-03-18 | 2011-06-14 | Oracle International Corporation | Systems and methods for handling a plurality of communications |
US7272564B2 (en) | 2002-03-22 | 2007-09-18 | Motorola, Inc. | Method and apparatus for multimodal communication with user control of delivery modality |
US7225232B2 (en) | 2002-03-28 | 2007-05-29 | Nortel Networks Limited, | Using existing web-based information to generate responses to user queries |
US6931405B2 (en) | 2002-04-15 | 2005-08-16 | Microsoft Corporation | Flexible subscription-based event notification |
US6885737B1 (en) | 2002-05-30 | 2005-04-26 | Bellsouth Intellectual Propety Corporation | Web integrated interactive voice response |
US7324633B2 (en) | 2002-05-30 | 2008-01-29 | At&T Delaware Intellectual Property, Inc. | Web integrated interactive voice response |
US20060059230A1 (en) | 2002-08-08 | 2006-03-16 | Dykas John J | System and method for transferring data between applications |
US7184529B1 (en) | 2002-09-24 | 2007-02-27 | Bellsouth Intellectual Property Corporation | Method and system for connecting a subscriber to an advertiser prior to call completion |
GB0223549D0 (en) | 2002-10-10 | 2002-11-20 | Ibm | A telephone call handling solution in an interactive voice response system |
US7369865B2 (en) | 2002-10-17 | 2008-05-06 | Manny Gabriel | System and method for sending SMS and text messages |
US7287248B1 (en) | 2002-10-31 | 2007-10-23 | Tellme Networks, Inc. | Method and system for the generation of a voice extensible markup language application for a voice interface process |
US7099442B2 (en) | 2002-11-22 | 2006-08-29 | International Business Machines Corporation | Telephony and voice interface for voice server system management |
US6834265B2 (en) | 2002-12-13 | 2004-12-21 | Motorola, Inc. | Method and apparatus for selective speech recognition |
GB0229892D0 (en) | 2002-12-21 | 2003-01-29 | Ibm | Method and apparatus for caching documents |
US7197331B2 (en) | 2002-12-30 | 2007-03-27 | Motorola, Inc. | Method and apparatus for selective distributed speech recognition |
US7076428B2 (en) | 2002-12-30 | 2006-07-11 | Motorola, Inc. | Method and apparatus for selective distributed speech recognition |
US7418094B2 (en) | 2003-01-06 | 2008-08-26 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for multimedia interaction routing according to agent capacity sets |
US7003464B2 (en) | 2003-01-09 | 2006-02-21 | Motorola, Inc. | Dialog recognition and control in a voice browser |
WO2004063882A2 (en) | 2003-01-09 | 2004-07-29 | Yahoo! Inc. | Voice and video greeting system for personal advertisement and method |
US7617278B1 (en) | 2003-01-29 | 2009-11-10 | Adobe Systems Incorporated | Client controllable server-side playlists |
US7283515B2 (en) | 2003-02-14 | 2007-10-16 | Managed Inventions, Llc | Internet telephony network and methods for using the same |
AU2003901454A0 (en) | 2003-03-28 | 2003-04-10 | Secure Systems Limited | Security system and method for computer operating systems |
EP1464418A1 (en) | 2003-04-03 | 2004-10-06 | Constructions Soudees Du Coteau Csc | Method of constructing a cylindrical metal storage tank, and device for implementing this method |
US7676432B2 (en) | 2003-07-08 | 2010-03-09 | Paybyclick Corporation | Methods and apparatus for transacting electronic commerce using account hierarchy and locking of accounts |
US7668157B2 (en) | 2003-07-25 | 2010-02-23 | Verizon Patent And Licensing Inc. | Presence based telephony |
US7929684B2 (en) | 2003-07-28 | 2011-04-19 | Alcatel-Lucent Usa Inc. | High availability multi-tenant feature |
US7672295B1 (en) | 2003-11-12 | 2010-03-02 | Tellme Networks, Inc. | Method and system for design for run-time control of voice XML applications |
US7631310B1 (en) | 2003-11-14 | 2009-12-08 | Google Inc. | Loadbalancing multiple files across computing devices |
US20050152344A1 (en) | 2003-11-17 | 2005-07-14 | Leo Chiu | System and methods for dynamic integration of a voice application with one or more Web services |
US20050177635A1 (en) | 2003-12-18 | 2005-08-11 | Roland Schmidt | System and method for allocating server resources |
US7715537B2 (en) | 2003-12-19 | 2010-05-11 | Nortel Networks Limited | Metering in packet-based telephony networks |
US7751535B2 (en) | 2004-04-28 | 2010-07-06 | Nuance Communications, Inc. | Voice browser implemented as a distributable component |
US7412038B2 (en) | 2004-04-28 | 2008-08-12 | International Business Machines Corporation | Telecommunications voice server leveraging application web-server capabilities |
US20060015467A1 (en) | 2004-06-04 | 2006-01-19 | David Morken | Internet services quoting system and method |
US20060209695A1 (en) | 2005-03-15 | 2006-09-21 | Archer Shafford R Jr | Load balancing in a distributed telecommunications platform |
US8571011B2 (en) | 2004-08-13 | 2013-10-29 | Verizon Business Global Llc | Method and system for providing voice over IP managed services utilizing a centralized data store |
GB0419231D0 (en) | 2004-08-28 | 2004-09-29 | Ibm | Methods, apparatus and computer programs for control of publish/subscribe messaging |
US20080154601A1 (en) | 2004-09-29 | 2008-06-26 | Microsoft Corporation | Method and system for providing menu and other services for an information processing system using a telephone or other audio interface |
US7630900B1 (en) | 2004-12-01 | 2009-12-08 | Tellme Networks, Inc. | Method and system for selecting grammars based on geographic information associated with a caller |
US7698416B2 (en) * | 2005-01-25 | 2010-04-13 | Cisco Technology, Inc. | Application layer message-based server failover management by a network element |
WO2006099634A2 (en) | 2005-03-17 | 2006-09-21 | Husdawg, Llc | Software and hardware analysis test |
US20060217978A1 (en) | 2005-03-28 | 2006-09-28 | David Mitby | System and method for handling information in a voice recognition automated conversation |
US20060215824A1 (en) | 2005-03-28 | 2006-09-28 | David Mitby | System and method for handling a voice prompted conversation |
US8107495B2 (en) * | 2005-05-13 | 2012-01-31 | Yahoo! Inc. | Integrating access to audio messages and instant messaging with VOIP |
US7707240B2 (en) | 2005-05-19 | 2010-04-27 | Cisco Technology, Inc. | Proxy for application server |
US8266327B2 (en) * | 2005-06-21 | 2012-09-11 | Cisco Technology, Inc. | Identity brokering in a network element |
US8199654B2 (en) * | 2005-06-21 | 2012-06-12 | Alcatel Lucent | Method and apparatus for providing end-to-end high quality services based on performance characterizations of network conditions |
US8503663B2 (en) | 2005-06-30 | 2013-08-06 | Interactive Intelligence, Inc. | System and method for agent queue activation in a contact center |
US7926099B1 (en) | 2005-07-15 | 2011-04-12 | Novell, Inc. | Computer-implemented method and system for security event transport using a message bus |
US8121261B2 (en) | 2005-08-24 | 2012-02-21 | Verizon Business Global Llc | Systems and methods for providing interpretation services |
US8479146B2 (en) | 2005-09-23 | 2013-07-02 | Clearcube Technology, Inc. | Utility computing system having co-located computer systems for provision of computing resources |
US20070070980A1 (en) | 2005-09-27 | 2007-03-29 | Mci, Inc. | Method and system for providing network-based call processing of packetized voice calls |
US7719967B2 (en) | 2005-09-28 | 2010-05-18 | Netapp, Inc. | Cumulative TCP congestion control |
US8599832B2 (en) | 2005-09-28 | 2013-12-03 | Ingenio Llc | Methods and apparatuses to connect people for real time communications via voice over internet protocol (VOIP) |
DE602005011815D1 (en) | 2005-09-29 | 2009-01-29 | Research In Motion Ltd | Account management in a system and method for providing code signing services |
US7519359B2 (en) | 2005-09-30 | 2009-04-14 | Motorola, Inc. | Voice tagging of automated menu location |
JP2007102387A (en) | 2005-10-03 | 2007-04-19 | Fujitsu Ltd | Storage system, encryption path switching method, program for switching encryption path and recording medium with its program recorded |
US7899169B2 (en) | 2005-10-20 | 2011-03-01 | NobelBiz, Inc. | System and method for modifying communication information (MCI) |
US7613287B1 (en) | 2005-11-15 | 2009-11-03 | TellMe Networks | Method and apparatus for providing ringback tones |
US8583758B2 (en) | 2005-11-30 | 2013-11-12 | Qwest Communications International Inc. | Network based format conversion |
US8126120B2 (en) | 2005-12-12 | 2012-02-28 | Tellme Networks, Inc. | Providing missed call and message information |
CA2633895A1 (en) | 2005-12-27 | 2007-07-05 | Massive Incorporated | Streaming media casts, such as in a video game or mobile device environment |
US7644000B1 (en) | 2005-12-29 | 2010-01-05 | Tellme Networks, Inc. | Adding audio effects to spoken utterance |
US8042172B1 (en) * | 2006-02-02 | 2011-10-18 | Emc Corporation | Remote access architecture enabling a client to perform an operation |
US9497247B2 (en) | 2006-03-06 | 2016-11-15 | Ca, Inc. | Transferring session state information between two or more web-based applications of a server system |
US7675857B1 (en) | 2006-05-03 | 2010-03-09 | Google Inc. | Method and apparatus to avoid network congestion |
US7505951B2 (en) | 2006-05-30 | 2009-03-17 | Motorola, Inc. | Hierarchical state machine generation for interaction management using goal specifications |
US7657434B2 (en) | 2006-05-30 | 2010-02-02 | Motorola, Inc. | Frame goals for dialog system |
DE602007014204D1 (en) | 2006-05-31 | 2011-06-09 | Huawei Tech Co Ltd | DEVICE AND METHOD FOR ROUTING MESSAGE SERVICES |
US20070291905A1 (en) | 2006-06-15 | 2007-12-20 | Motorola, Inc. | A Test System and method of Operation |
US7493428B2 (en) | 2006-07-25 | 2009-02-17 | International Business Machines Corporation | Method and system for dynamic queue splitting for maximizing throughput of queue based operations while maintaining per-destination order of operations |
US7953861B2 (en) * | 2006-08-10 | 2011-05-31 | International Business Machines Corporation | Managing session state for web applications |
US7657433B1 (en) | 2006-09-08 | 2010-02-02 | Tellme Networks, Inc. | Speech recognition accuracy with multi-confidence thresholds |
US8782277B2 (en) | 2006-10-12 | 2014-07-15 | Siemens Product Lifecycle Management Software Inc. | System and method for time-sensitive URI mapping |
US8126128B1 (en) | 2006-11-01 | 2012-02-28 | At&T Intellectual Property I, Lp | Life cycle management of user-selected applications on wireless communications devices |
EP2081348A4 (en) | 2006-11-15 | 2009-12-09 | Huawei Tech Co Ltd | Message interworking method, system, entity and message delivery report processing method, system, the entity, terminal for message interworking |
US8103725B2 (en) | 2006-11-17 | 2012-01-24 | Microsoft Corporation | Communication using delegates |
US8209615B2 (en) | 2006-11-22 | 2012-06-26 | Qualcomm Incorporated | Apparatus and methods of linking to an application on a wireless device |
US8081958B2 (en) * | 2006-12-01 | 2011-12-20 | Yahoo! Inc. | User initiated invite for automatic conference participation by invitee |
US20080152101A1 (en) | 2006-12-20 | 2008-06-26 | Duality Inc. | Web-based telephony system and method |
US7849496B2 (en) | 2006-12-28 | 2010-12-07 | International Business Machines Corporation | Providing enterprise management of amorphous communities |
US20080165708A1 (en) | 2007-01-08 | 2008-07-10 | Avaya Technology Llc | Multimedia conferencing method and signal |
US8332520B2 (en) * | 2007-01-19 | 2012-12-11 | International Business Machines Corporation | Web server for managing session and method thereof |
US7991830B2 (en) * | 2007-02-28 | 2011-08-02 | Red Hat, Inc. | Multiple sessions between a server and multiple browser instances of a browser |
US8036367B2 (en) | 2007-03-19 | 2011-10-11 | Google Inc. | Flexible communication systems and methods |
US8903938B2 (en) | 2007-06-18 | 2014-12-02 | Amazon Technologies, Inc. | Providing enhanced data retrieval from remote locations |
US8155281B2 (en) | 2007-06-20 | 2012-04-10 | Ribbit Corporation | Cross-media voice mail notification and delivery |
WO2009018489A2 (en) | 2007-07-31 | 2009-02-05 | Etelos, Inc. | Software marketplace and distribution system |
US8355394B2 (en) | 2007-08-21 | 2013-01-15 | Voxeo Corporation | System and method for dynamic telephony resource allocation between premise and hosted facilities |
US8243889B2 (en) | 2007-08-23 | 2012-08-14 | Voxeo Corporation | System and method for dynamic call-progress analysis and call processing |
WO2009038667A2 (en) | 2007-09-14 | 2009-03-26 | Ribbit Corporation | Messaging and application system integration |
US8015280B2 (en) | 2007-10-01 | 2011-09-06 | Ebay Inc. | Method and system for intelligent feature degradation in response to a network deficiency detection |
US8139563B2 (en) | 2007-10-03 | 2012-03-20 | At&T Knowledge Ventures, L.P. | System for alternate communications in an internet protocol multimedia subsystem network |
US8218741B2 (en) | 2007-11-26 | 2012-07-10 | Google Inc. | Telephone number-based advertising |
CN101483839B (en) | 2007-12-25 | 2011-10-05 | 华为技术有限公司 | Method, system and message service interconnection module for implementing message service interconnection |
US20090171752A1 (en) | 2007-12-28 | 2009-07-02 | Brian Galvin | Method for Predictive Routing of Incoming Transactions Within a Communication Center According to Potential Profit Analysis |
US8386260B2 (en) | 2007-12-31 | 2013-02-26 | Motorola Mobility Llc | Methods and apparatus for implementing distributed multi-modal applications |
US8370160B2 (en) | 2007-12-31 | 2013-02-05 | Motorola Mobility Llc | Methods and apparatus for implementing distributed multi-modal applications |
AU2009217708C1 (en) | 2008-02-26 | 2013-05-23 | Bt Americas Inc. | System and method for replying to voice messages left by callers |
US8521581B2 (en) | 2008-03-03 | 2013-08-27 | Google Inc. | Interactive text message advertisements |
US20090234780A1 (en) | 2008-03-11 | 2009-09-17 | Drucker Cecily A | Method and system for automatically capturing billable time |
US20100037204A1 (en) | 2008-08-07 | 2010-02-11 | Google Inc. | Content Distribution for Mobile Device |
US8364842B2 (en) | 2009-03-13 | 2013-01-29 | Novell, Inc. | System and method for reduced cloud IP address utilization |
US20100088187A1 (en) | 2008-09-24 | 2010-04-08 | Chris Courtney | System and method for localized and/or topic-driven content distribution for mobile devices |
WO2010037064A1 (en) | 2008-09-26 | 2010-04-01 | Twilio Inc. | System and method for processing media requests during a telephony sessions |
US8504504B2 (en) | 2008-09-26 | 2013-08-06 | Oracle America, Inc. | System and method for distributed denial of service identification and prevention |
US8964726B2 (en) | 2008-10-01 | 2015-02-24 | Twilio, Inc. | Telephony web event system and method |
US20100088698A1 (en) * | 2008-10-03 | 2010-04-08 | Ravishankar Krishnamurthy | Techniques for managing communication sessions |
US8375094B2 (en) | 2008-11-03 | 2013-02-12 | International Business Machines Corporation | Creating a message readable by a plurality of heterogeneous recipients |
US8509415B2 (en) | 2009-03-02 | 2013-08-13 | Twilio, Inc. | Method and system for a multitenancy telephony network |
US8315369B2 (en) | 2009-03-02 | 2012-11-20 | Twilio, Inc. | Method and system for a multitenancy telephone network |
EP2415207B1 (en) | 2009-03-31 | 2014-12-03 | Coach Wei | System and method for access management and security protection for network accessible computer services |
US20100281108A1 (en) | 2009-05-01 | 2010-11-04 | Cohen Ronald H | Provision of Content Correlated with Events |
US20120281536A1 (en) * | 2009-06-12 | 2012-11-08 | Cygnus Broadband, Inc. | Systems and methods for detection for prioritizing and scheduling packets in a communication network |
US9329951B2 (en) | 2009-07-31 | 2016-05-03 | Paypal, Inc. | System and method to uniformly manage operational life cycles and service levels |
CN101997903B (en) * | 2009-08-27 | 2013-09-25 | 国际商业机器公司 | Method and system for processing hypertext transfer protocol request |
US20110283259A1 (en) | 2009-10-07 | 2011-11-17 | Jeffrey Lawson | Method and system for creating a platform application with multiple applets |
US8582737B2 (en) | 2009-10-07 | 2013-11-12 | Twilio, Inc. | System and method for running a multi-module telephony application |
US20110083179A1 (en) | 2009-10-07 | 2011-04-07 | Jeffrey Lawson | System and method for mitigating a denial of service attack using cloud computing |
US8395994B2 (en) | 2009-10-28 | 2013-03-12 | Liveops, Inc. | System and method for adaptive call management |
WO2011091085A1 (en) | 2010-01-19 | 2011-07-28 | Twilio Inc. | Method and system for preserving telephony session state |
US20110211679A1 (en) | 2010-02-26 | 2011-09-01 | Vladimir Mezhibovsky | Voice Response Processing |
US8838707B2 (en) | 2010-06-25 | 2014-09-16 | Twilio, Inc. | System and method for enabling real-time eventing |
US8713096B2 (en) | 2011-05-10 | 2014-04-29 | Microsoft Corporation | State control of remote hosts for management of distributed applications |
-
2011
- 2011-01-19 WO PCT/US2011/021774 patent/WO2011091085A1/en active Application Filing
- 2011-01-19 CN CN201180006370.0A patent/CN102804700B/en active Active
- 2011-01-19 US US13/009,831 patent/US8638781B2/en active Active
- 2011-01-19 EP EP11735145.2A patent/EP2526657B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060203979A1 (en) * | 2005-03-08 | 2006-09-14 | Cisco Technology, Inc. A California Corporation | Transferring state information in a network |
US20080146268A1 (en) * | 2006-12-14 | 2008-06-19 | Motorola, Inc. | Multimodal phone data session management enhancement that alleviates dual transmission problems |
US20090252159A1 (en) | 2008-04-02 | 2009-10-08 | Jeffrey Lawson | System and method for processing telephony sessions |
Cited By (201)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8306021B2 (en) | 2008-04-02 | 2012-11-06 | Twilio, Inc. | System and method for processing telephony sessions |
US10986142B2 (en) | 2008-04-02 | 2021-04-20 | Twilio Inc. | System and method for processing telephony sessions |
US9596274B2 (en) | 2008-04-02 | 2017-03-14 | Twilio, Inc. | System and method for processing telephony sessions |
US10893079B2 (en) | 2008-04-02 | 2021-01-12 | Twilio Inc. | System and method for processing telephony sessions |
US8755376B2 (en) | 2008-04-02 | 2014-06-17 | Twilio, Inc. | System and method for processing telephony sessions |
US9906651B2 (en) | 2008-04-02 | 2018-02-27 | Twilio, Inc. | System and method for processing media requests during telephony sessions |
US9906571B2 (en) | 2008-04-02 | 2018-02-27 | Twilio, Inc. | System and method for processing telephony sessions |
US8837465B2 (en) | 2008-04-02 | 2014-09-16 | Twilio, Inc. | System and method for processing telephony sessions |
US10694042B2 (en) | 2008-04-02 | 2020-06-23 | Twilio Inc. | System and method for processing media requests during telephony sessions |
US10560495B2 (en) | 2008-04-02 | 2020-02-11 | Twilio Inc. | System and method for processing telephony sessions |
US11856150B2 (en) | 2008-04-02 | 2023-12-26 | Twilio Inc. | System and method for processing telephony sessions |
US9306982B2 (en) | 2008-04-02 | 2016-04-05 | Twilio, Inc. | System and method for processing media requests during telephony sessions |
US10893078B2 (en) | 2008-04-02 | 2021-01-12 | Twilio Inc. | System and method for processing telephony sessions |
US9456008B2 (en) | 2008-04-02 | 2016-09-27 | Twilio, Inc. | System and method for processing telephony sessions |
US8611338B2 (en) | 2008-04-02 | 2013-12-17 | Twilio, Inc. | System and method for processing media requests during a telephony sessions |
US11283843B2 (en) | 2008-04-02 | 2022-03-22 | Twilio Inc. | System and method for processing telephony sessions |
US11843722B2 (en) | 2008-04-02 | 2023-12-12 | Twilio Inc. | System and method for processing telephony sessions |
US11831810B2 (en) | 2008-04-02 | 2023-11-28 | Twilio Inc. | System and method for processing telephony sessions |
US11444985B2 (en) | 2008-04-02 | 2022-09-13 | Twilio Inc. | System and method for processing telephony sessions |
US11575795B2 (en) | 2008-04-02 | 2023-02-07 | Twilio Inc. | System and method for processing telephony sessions |
US11611663B2 (en) | 2008-04-02 | 2023-03-21 | Twilio Inc. | System and method for processing telephony sessions |
US11765275B2 (en) | 2008-04-02 | 2023-09-19 | Twilio Inc. | System and method for processing telephony sessions |
US11722602B2 (en) | 2008-04-02 | 2023-08-08 | Twilio Inc. | System and method for processing media requests during telephony sessions |
US9591033B2 (en) | 2008-04-02 | 2017-03-07 | Twilio, Inc. | System and method for processing media requests during telephony sessions |
US11706349B2 (en) | 2008-04-02 | 2023-07-18 | Twilio Inc. | System and method for processing telephony sessions |
US10455094B2 (en) | 2008-10-01 | 2019-10-22 | Twilio Inc. | Telephony web event system and method |
US11641427B2 (en) | 2008-10-01 | 2023-05-02 | Twilio Inc. | Telephony web event system and method |
US11665285B2 (en) | 2008-10-01 | 2023-05-30 | Twilio Inc. | Telephony web event system and method |
US11005998B2 (en) | 2008-10-01 | 2021-05-11 | Twilio Inc. | Telephony web event system and method |
US11632471B2 (en) | 2008-10-01 | 2023-04-18 | Twilio Inc. | Telephony web event system and method |
US9807244B2 (en) | 2008-10-01 | 2017-10-31 | Twilio, Inc. | Telephony web event system and method |
US10187530B2 (en) | 2008-10-01 | 2019-01-22 | Twilio, Inc. | Telephony web event system and method |
US8964726B2 (en) | 2008-10-01 | 2015-02-24 | Twilio, Inc. | Telephony web event system and method |
US9407597B2 (en) | 2008-10-01 | 2016-08-02 | Twilio, Inc. | Telephony web event system and method |
US11240381B2 (en) | 2009-03-02 | 2022-02-01 | Twilio Inc. | Method and system for a multitenancy telephone network |
US8737593B2 (en) | 2009-03-02 | 2014-05-27 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US9621733B2 (en) | 2009-03-02 | 2017-04-11 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US8995641B2 (en) | 2009-03-02 | 2015-03-31 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US11785145B2 (en) | 2009-03-02 | 2023-10-10 | Twilio Inc. | Method and system for a multitenancy telephone network |
US10348908B2 (en) | 2009-03-02 | 2019-07-09 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US8570873B2 (en) | 2009-03-02 | 2013-10-29 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US10708437B2 (en) | 2009-03-02 | 2020-07-07 | Twilio Inc. | Method and system for a multitenancy telephone network |
US8509415B2 (en) | 2009-03-02 | 2013-08-13 | Twilio, Inc. | Method and system for a multitenancy telephony network |
US9894212B2 (en) | 2009-03-02 | 2018-02-13 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US9357047B2 (en) | 2009-03-02 | 2016-05-31 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US8315369B2 (en) | 2009-03-02 | 2012-11-20 | Twilio, Inc. | Method and system for a multitenancy telephone network |
US10554825B2 (en) | 2009-10-07 | 2020-02-04 | Twilio Inc. | System and method for running a multi-module telephony application |
US9491309B2 (en) | 2009-10-07 | 2016-11-08 | Twilio, Inc. | System and method for running a multi-module telephony application |
US8582737B2 (en) | 2009-10-07 | 2013-11-12 | Twilio, Inc. | System and method for running a multi-module telephony application |
US9210275B2 (en) | 2009-10-07 | 2015-12-08 | Twilio, Inc. | System and method for running a multi-module telephony application |
US11637933B2 (en) | 2009-10-07 | 2023-04-25 | Twilio Inc. | System and method for running a multi-module telephony application |
US8638781B2 (en) | 2010-01-19 | 2014-01-28 | Twilio, Inc. | Method and system for preserving telephony session state |
US9590849B2 (en) | 2010-06-23 | 2017-03-07 | Twilio, Inc. | System and method for managing a computing cluster |
US9459925B2 (en) | 2010-06-23 | 2016-10-04 | Twilio, Inc. | System and method for managing a computing cluster |
US8416923B2 (en) | 2010-06-23 | 2013-04-09 | Twilio, Inc. | Method for providing clean endpoint addresses |
US9338064B2 (en) | 2010-06-23 | 2016-05-10 | Twilio, Inc. | System and method for managing a computing cluster |
US11637934B2 (en) | 2010-06-23 | 2023-04-25 | Twilio Inc. | System and method for monitoring account usage on a platform |
US9459926B2 (en) | 2010-06-23 | 2016-10-04 | Twilio, Inc. | System and method for managing a computing cluster |
US11936609B2 (en) | 2010-06-25 | 2024-03-19 | Twilio Inc. | System and method for enabling real-time eventing |
US9967224B2 (en) | 2010-06-25 | 2018-05-08 | Twilio, Inc. | System and method for enabling real-time eventing |
US11088984B2 (en) | 2010-06-25 | 2021-08-10 | Twilio Ine. | System and method for enabling real-time eventing |
US8838707B2 (en) | 2010-06-25 | 2014-09-16 | Twilio, Inc. | System and method for enabling real-time eventing |
US9882942B2 (en) | 2011-02-04 | 2018-01-30 | Twilio, Inc. | Method for processing telephony sessions of a network |
US11032330B2 (en) | 2011-02-04 | 2021-06-08 | Twilio Inc. | Method for processing telephony sessions of a network |
US10230772B2 (en) | 2011-02-04 | 2019-03-12 | Twilio, Inc. | Method for processing telephony sessions of a network |
US10708317B2 (en) | 2011-02-04 | 2020-07-07 | Twilio Inc. | Method for processing telephony sessions of a network |
US11848967B2 (en) | 2011-02-04 | 2023-12-19 | Twilio Inc. | Method for processing telephony sessions of a network |
US8649268B2 (en) | 2011-02-04 | 2014-02-11 | Twilio, Inc. | Method for processing telephony sessions of a network |
US9455949B2 (en) | 2011-02-04 | 2016-09-27 | Twilio, Inc. | Method for processing telephony sessions of a network |
US10165015B2 (en) | 2011-05-23 | 2018-12-25 | Twilio Inc. | System and method for real-time communication by using a client application communication protocol |
US10122763B2 (en) | 2011-05-23 | 2018-11-06 | Twilio, Inc. | System and method for connecting a communication to a client |
US10560485B2 (en) | 2011-05-23 | 2020-02-11 | Twilio Inc. | System and method for connecting a communication to a client |
US10819757B2 (en) | 2011-05-23 | 2020-10-27 | Twilio Inc. | System and method for real-time communication by using a client application communication protocol |
US9398622B2 (en) | 2011-05-23 | 2016-07-19 | Twilio, Inc. | System and method for connecting a communication to a client |
US9648006B2 (en) | 2011-05-23 | 2017-05-09 | Twilio, Inc. | System and method for communicating with a client application |
US11399044B2 (en) | 2011-05-23 | 2022-07-26 | Twilio Inc. | System and method for connecting a communication to a client |
US10212275B2 (en) | 2011-09-21 | 2019-02-19 | Twilio, Inc. | System and method for determining and communicating presence information |
US11997231B2 (en) | 2011-09-21 | 2024-05-28 | Twilio Inc. | System and method for determining and communicating presence information |
US9336500B2 (en) | 2011-09-21 | 2016-05-10 | Twilio, Inc. | System and method for authorizing and connecting application developers and users |
US9942394B2 (en) | 2011-09-21 | 2018-04-10 | Twilio, Inc. | System and method for determining and communicating presence information |
US9641677B2 (en) | 2011-09-21 | 2017-05-02 | Twilio, Inc. | System and method for determining and communicating presence information |
US10182147B2 (en) | 2011-09-21 | 2019-01-15 | Twilio Inc. | System and method for determining and communicating presence information |
US10841421B2 (en) | 2011-09-21 | 2020-11-17 | Twilio Inc. | System and method for determining and communicating presence information |
US11489961B2 (en) | 2011-09-21 | 2022-11-01 | Twilio Inc. | System and method for determining and communicating presence information |
US10686936B2 (en) | 2011-09-21 | 2020-06-16 | Twilio Inc. | System and method for determining and communicating presence information |
US9495227B2 (en) | 2012-02-10 | 2016-11-15 | Twilio, Inc. | System and method for managing concurrent events |
US12020088B2 (en) | 2012-02-10 | 2024-06-25 | Twilio Inc. | System and method for managing concurrent events |
US11093305B2 (en) | 2012-02-10 | 2021-08-17 | Twilio Inc. | System and method for managing concurrent events |
US10467064B2 (en) | 2012-02-10 | 2019-11-05 | Twilio Inc. | System and method for managing concurrent events |
US9240941B2 (en) | 2012-05-09 | 2016-01-19 | Twilio, Inc. | System and method for managing media in a distributed communication network |
US10200458B2 (en) | 2012-05-09 | 2019-02-05 | Twilio, Inc. | System and method for managing media in a distributed communication network |
US9602586B2 (en) | 2012-05-09 | 2017-03-21 | Twilio, Inc. | System and method for managing media in a distributed communication network |
US11165853B2 (en) | 2012-05-09 | 2021-11-02 | Twilio Inc. | System and method for managing media in a distributed communication network |
US10637912B2 (en) | 2012-05-09 | 2020-04-28 | Twilio Inc. | System and method for managing media in a distributed communication network |
US8601136B1 (en) | 2012-05-09 | 2013-12-03 | Twilio, Inc. | System and method for managing latency in a distributed telephony network |
US9350642B2 (en) | 2012-05-09 | 2016-05-24 | Twilio, Inc. | System and method for managing latency in a distributed telephony network |
US11546471B2 (en) | 2012-06-19 | 2023-01-03 | Twilio Inc. | System and method for queuing a communication session |
US11991312B2 (en) | 2012-06-19 | 2024-05-21 | Twilio Inc. | System and method for queuing a communication session |
US9247062B2 (en) | 2012-06-19 | 2016-01-26 | Twilio, Inc. | System and method for queuing a communication session |
US10320983B2 (en) | 2012-06-19 | 2019-06-11 | Twilio Inc. | System and method for queuing a communication session |
US8737962B2 (en) | 2012-07-24 | 2014-05-27 | Twilio, Inc. | Method and system for preventing illicit use of a telephony platform |
US11882139B2 (en) | 2012-07-24 | 2024-01-23 | Twilio Inc. | Method and system for preventing illicit use of a telephony platform |
US9948788B2 (en) | 2012-07-24 | 2018-04-17 | Twilio, Inc. | Method and system for preventing illicit use of a telephony platform |
US9270833B2 (en) | 2012-07-24 | 2016-02-23 | Twilio, Inc. | Method and system for preventing illicit use of a telephony platform |
US10469670B2 (en) | 2012-07-24 | 2019-11-05 | Twilio Inc. | Method and system for preventing illicit use of a telephony platform |
US11063972B2 (en) | 2012-07-24 | 2021-07-13 | Twilio Inc. | Method and system for preventing illicit use of a telephony platform |
US9614972B2 (en) | 2012-07-24 | 2017-04-04 | Twilio, Inc. | Method and system for preventing illicit use of a telephony platform |
US8738051B2 (en) | 2012-07-26 | 2014-05-27 | Twilio, Inc. | Method and system for controlling message routing |
US8938053B2 (en) | 2012-10-15 | 2015-01-20 | Twilio, Inc. | System and method for triggering on platform usage |
US10257674B2 (en) | 2012-10-15 | 2019-04-09 | Twilio, Inc. | System and method for triggering on platform usage |
US9319857B2 (en) | 2012-10-15 | 2016-04-19 | Twilio, Inc. | System and method for triggering on platform usage |
US11246013B2 (en) | 2012-10-15 | 2022-02-08 | Twilio Inc. | System and method for triggering on platform usage |
US9307094B2 (en) | 2012-10-15 | 2016-04-05 | Twilio, Inc. | System and method for routing communications |
US9654647B2 (en) | 2012-10-15 | 2017-05-16 | Twilio, Inc. | System and method for routing communications |
US10757546B2 (en) | 2012-10-15 | 2020-08-25 | Twilio Inc. | System and method for triggering on platform usage |
US11595792B2 (en) | 2012-10-15 | 2023-02-28 | Twilio Inc. | System and method for triggering on platform usage |
US11689899B2 (en) | 2012-10-15 | 2023-06-27 | Twilio Inc. | System and method for triggering on platform usage |
US10033617B2 (en) | 2012-10-15 | 2018-07-24 | Twilio, Inc. | System and method for triggering on platform usage |
US8948356B2 (en) | 2012-10-15 | 2015-02-03 | Twilio, Inc. | System and method for routing communications |
US9253254B2 (en) | 2013-01-14 | 2016-02-02 | Twilio, Inc. | System and method for offering a multi-partner delegated platform |
US11637876B2 (en) | 2013-03-14 | 2023-04-25 | Twilio Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US9282124B2 (en) | 2013-03-14 | 2016-03-08 | Twilio, Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US10560490B2 (en) | 2013-03-14 | 2020-02-11 | Twilio Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US11032325B2 (en) | 2013-03-14 | 2021-06-08 | Twilio Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US10051011B2 (en) | 2013-03-14 | 2018-08-14 | Twilio, Inc. | System and method for integrating session initiation protocol communication in a telecommunications platform |
US9001666B2 (en) | 2013-03-15 | 2015-04-07 | Twilio, Inc. | System and method for improving routing in a distributed communication platform |
US9992608B2 (en) | 2013-06-19 | 2018-06-05 | Twilio, Inc. | System and method for providing a communication endpoint information service |
US9240966B2 (en) | 2013-06-19 | 2016-01-19 | Twilio, Inc. | System and method for transmitting and receiving media messages |
US10057734B2 (en) | 2013-06-19 | 2018-08-21 | Twilio Inc. | System and method for transmitting and receiving media messages |
US9225840B2 (en) | 2013-06-19 | 2015-12-29 | Twilio, Inc. | System and method for providing a communication endpoint information service |
US9338280B2 (en) | 2013-06-19 | 2016-05-10 | Twilio, Inc. | System and method for managing telephony endpoint inventory |
US9160696B2 (en) | 2013-06-19 | 2015-10-13 | Twilio, Inc. | System for transforming media resource into destination device compatible messaging format |
US9483328B2 (en) | 2013-07-19 | 2016-11-01 | Twilio, Inc. | System and method for delivering application content |
US9338018B2 (en) | 2013-09-17 | 2016-05-10 | Twilio, Inc. | System and method for pricing communication of a telecommunication platform |
US9959151B2 (en) | 2013-09-17 | 2018-05-01 | Twilio, Inc. | System and method for tagging and tracking events of an application platform |
US9853872B2 (en) | 2013-09-17 | 2017-12-26 | Twilio, Inc. | System and method for providing communication platform metadata |
US11539601B2 (en) | 2013-09-17 | 2022-12-27 | Twilio Inc. | System and method for providing communication platform metadata |
US9811398B2 (en) | 2013-09-17 | 2017-11-07 | Twilio, Inc. | System and method for tagging and tracking events of an application platform |
US10439907B2 (en) | 2013-09-17 | 2019-10-08 | Twilio Inc. | System and method for providing communication platform metadata |
US10671452B2 (en) | 2013-09-17 | 2020-06-02 | Twilio Inc. | System and method for tagging and tracking events of an application |
US9137127B2 (en) | 2013-09-17 | 2015-09-15 | Twilio, Inc. | System and method for providing communication platform metadata |
US11379275B2 (en) | 2013-09-17 | 2022-07-05 | Twilio Inc. | System and method for tagging and tracking events of an application |
US11621911B2 (en) | 2013-11-12 | 2023-04-04 | Twillo Inc. | System and method for client communication in a distributed telephony network |
US10063461B2 (en) | 2013-11-12 | 2018-08-28 | Twilio, Inc. | System and method for client communication in a distributed telephony network |
US10069773B2 (en) | 2013-11-12 | 2018-09-04 | Twilio, Inc. | System and method for enabling dynamic multi-modal communication |
US10686694B2 (en) | 2013-11-12 | 2020-06-16 | Twilio Inc. | System and method for client communication in a distributed telephony network |
US9553799B2 (en) | 2013-11-12 | 2017-01-24 | Twilio, Inc. | System and method for client communication in a distributed telephony network |
US11831415B2 (en) | 2013-11-12 | 2023-11-28 | Twilio Inc. | System and method for enabling dynamic multi-modal communication |
US9325624B2 (en) | 2013-11-12 | 2016-04-26 | Twilio, Inc. | System and method for enabling dynamic multi-modal communication |
US11394673B2 (en) | 2013-11-12 | 2022-07-19 | Twilio Inc. | System and method for enabling dynamic multi-modal communication |
US9344573B2 (en) | 2014-03-14 | 2016-05-17 | Twilio, Inc. | System and method for a work distribution service |
US11882242B2 (en) | 2014-03-14 | 2024-01-23 | Twilio Inc. | System and method for a work distribution service |
US10003693B2 (en) | 2014-03-14 | 2018-06-19 | Twilio, Inc. | System and method for a work distribution service |
US9628624B2 (en) | 2014-03-14 | 2017-04-18 | Twilio, Inc. | System and method for a work distribution service |
US11330108B2 (en) | 2014-03-14 | 2022-05-10 | Twilio Inc. | System and method for a work distribution service |
US10291782B2 (en) | 2014-03-14 | 2019-05-14 | Twilio, Inc. | System and method for a work distribution service |
US10904389B2 (en) | 2014-03-14 | 2021-01-26 | Twilio Inc. | System and method for a work distribution service |
US10440627B2 (en) | 2014-04-17 | 2019-10-08 | Twilio Inc. | System and method for enabling multi-modal communication |
US9907010B2 (en) | 2014-04-17 | 2018-02-27 | Twilio, Inc. | System and method for enabling multi-modal communication |
US9226217B2 (en) | 2014-04-17 | 2015-12-29 | Twilio, Inc. | System and method for enabling multi-modal communication |
US11653282B2 (en) | 2014-04-17 | 2023-05-16 | Twilio Inc. | System and method for enabling multi-modal communication |
US10873892B2 (en) | 2014-04-17 | 2020-12-22 | Twilio Inc. | System and method for enabling multi-modal communication |
US9553900B2 (en) | 2014-07-07 | 2017-01-24 | Twilio, Inc. | System and method for managing conferencing in a distributed communication network |
US9516101B2 (en) | 2014-07-07 | 2016-12-06 | Twilio, Inc. | System and method for collecting feedback in a multi-tenant communication platform |
US10116733B2 (en) | 2014-07-07 | 2018-10-30 | Twilio, Inc. | System and method for collecting feedback in a multi-tenant communication platform |
US10229126B2 (en) | 2014-07-07 | 2019-03-12 | Twilio, Inc. | Method and system for applying data retention policies in a computing platform |
US9774687B2 (en) | 2014-07-07 | 2017-09-26 | Twilio, Inc. | System and method for managing media and signaling in a communication platform |
US10747717B2 (en) | 2014-07-07 | 2020-08-18 | Twilio Inc. | Method and system for applying data retention policies in a computing platform |
US9251371B2 (en) | 2014-07-07 | 2016-02-02 | Twilio, Inc. | Method and system for applying data retention policies in a computing platform |
US11755530B2 (en) | 2014-07-07 | 2023-09-12 | Twilio Inc. | Method and system for applying data retention policies in a computing platform |
US9858279B2 (en) | 2014-07-07 | 2018-01-02 | Twilio, Inc. | Method and system for applying data retention policies in a computing platform |
US11973835B2 (en) | 2014-07-07 | 2024-04-30 | Twilio Inc. | System and method for managing media and signaling in a communication platform |
US11341092B2 (en) | 2014-07-07 | 2022-05-24 | Twilio Inc. | Method and system for applying data retention policies in a computing platform |
US10212237B2 (en) | 2014-07-07 | 2019-02-19 | Twilio, Inc. | System and method for managing media and signaling in a communication platform |
US9246694B1 (en) | 2014-07-07 | 2016-01-26 | Twilio, Inc. | System and method for managing conferencing in a distributed communication network |
US10757200B2 (en) | 2014-07-07 | 2020-08-25 | Twilio Inc. | System and method for managing conferencing in a distributed communication network |
US11768802B2 (en) | 2014-07-07 | 2023-09-26 | Twilio Inc. | Method and system for applying data retention policies in a computing platform |
US10637938B2 (en) | 2014-10-21 | 2020-04-28 | Twilio Inc. | System and method for providing a micro-services communication platform |
US9363301B2 (en) | 2014-10-21 | 2016-06-07 | Twilio, Inc. | System and method for providing a micro-services communication platform |
US11019159B2 (en) | 2014-10-21 | 2021-05-25 | Twilio Inc. | System and method for providing a micro-services communication platform |
US9509782B2 (en) | 2014-10-21 | 2016-11-29 | Twilio, Inc. | System and method for providing a micro-services communication platform |
US9906607B2 (en) | 2014-10-21 | 2018-02-27 | Twilio, Inc. | System and method for providing a micro-services communication platform |
US10467665B2 (en) | 2015-02-03 | 2019-11-05 | Twilio Inc. | System and method for a media intelligence platform |
US9805399B2 (en) | 2015-02-03 | 2017-10-31 | Twilio, Inc. | System and method for a media intelligence platform |
US11544752B2 (en) | 2015-02-03 | 2023-01-03 | Twilio Inc. | System and method for a media intelligence platform |
US9477975B2 (en) | 2015-02-03 | 2016-10-25 | Twilio, Inc. | System and method for a media intelligence platform |
US10419891B2 (en) | 2015-05-14 | 2019-09-17 | Twilio, Inc. | System and method for communicating through multiple endpoints |
US11272325B2 (en) | 2015-05-14 | 2022-03-08 | Twilio Inc. | System and method for communicating through multiple endpoints |
US11265367B2 (en) | 2015-05-14 | 2022-03-01 | Twilio Inc. | System and method for signaling through data storage |
US9948703B2 (en) | 2015-05-14 | 2018-04-17 | Twilio, Inc. | System and method for signaling through data storage |
US10560516B2 (en) | 2015-05-14 | 2020-02-11 | Twilio Inc. | System and method for signaling through data storage |
US11171865B2 (en) | 2016-02-04 | 2021-11-09 | Twilio Inc. | Systems and methods for providing secure network exchanged for a multitenant virtual private cloud |
US10659349B2 (en) | 2016-02-04 | 2020-05-19 | Twilio Inc. | Systems and methods for providing secure network exchanged for a multitenant virtual private cloud |
US11627225B2 (en) | 2016-05-23 | 2023-04-11 | Twilio Inc. | System and method for programmatic device connectivity |
US10063713B2 (en) | 2016-05-23 | 2018-08-28 | Twilio Inc. | System and method for programmatic device connectivity |
US11265392B2 (en) | 2016-05-23 | 2022-03-01 | Twilio Inc. | System and method for a multi-channel notification service |
US11622022B2 (en) | 2016-05-23 | 2023-04-04 | Twilio Inc. | System and method for a multi-channel notification service |
US10686902B2 (en) | 2016-05-23 | 2020-06-16 | Twilio Inc. | System and method for a multi-channel notification service |
US10440192B2 (en) | 2016-05-23 | 2019-10-08 | Twilio Inc. | System and method for programmatic device connectivity |
US11076054B2 (en) | 2016-05-23 | 2021-07-27 | Twilio Inc. | System and method for programmatic device connectivity |
US12041144B2 (en) | 2016-05-23 | 2024-07-16 | Twilio Inc. | System and method for a multi-channel notification service |
Also Published As
Publication number | Publication date |
---|---|
EP2526657B1 (en) | 2019-02-20 |
US20110176537A1 (en) | 2011-07-21 |
EP2526657A1 (en) | 2012-11-28 |
CN102804700A (en) | 2012-11-28 |
EP2526657A4 (en) | 2017-01-11 |
US8638781B2 (en) | 2014-01-28 |
CN102804700B (en) | 2015-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2526657B1 (en) | Method and system for preserving telephony session state | |
US11722602B2 (en) | System and method for processing media requests during telephony sessions | |
US10326721B2 (en) | Real-time messaging method and apparatus | |
US8311038B2 (en) | Instant internet browser based VoIP system | |
JP5842290B2 (en) | Session start protocol adapter | |
US8280015B2 (en) | Providing contextual information with a voicemail message | |
US8849927B2 (en) | Method for implementing real-time voice messaging on a server node | |
US20030187658A1 (en) | Method for text-to-speech service utilizing a uniform resource identifier | |
WO2014019497A1 (en) | Real time communication method, terminal device, real time communication server and system | |
WO2010037064A1 (en) | System and method for processing media requests during a telephony sessions | |
US20100198988A1 (en) | Methods for using the addressing, protocols and the infrastructure of email to support near real-time communication | |
EP1944930A2 (en) | Signalling method allowing acknowledgement of the call reason | |
KR20120117979A (en) | Transferring multiple communication modalities during a conversation | |
US7962648B2 (en) | Method for service processor discrimination and precedence in a Voice-over-Internet-Protocol (VoIP) network | |
US20080019390A1 (en) | Multi-modal information service | |
US8441945B2 (en) | System and method for providing multimedia contents in a communication system | |
US11095583B2 (en) | Real-time messaging method and apparatus | |
US9118507B2 (en) | Techniques for message waiting indication support across different protocols | |
US10063616B2 (en) | Automated URL transmission to enable multimedia services | |
EP2391076B1 (en) | Method and device for communication of real-time media | |
KR20100021860A (en) | Method and apparatus of controling service triggering | |
WO2014078933A1 (en) | Single message window electronic messaging system with dynamic advertisement insertion | |
AU2013202611A1 (en) | Method and device for near real-time communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201180006370.0 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 11735145 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011735145 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |