PATENT DOCUMENT

Publication Number: US-8711707-B2
Application Number: US-201113323207-A
Country: US
Kind Code: B2

Title: Integrating multimedia capabilities with circuit-switched calls

Abstract:
The present invention monitors call signaling events stemming from a circuit-switched call between a caller and a called party and controls a packet-session between user agents on respective endpoints associated with the caller and called party. The endpoints may include any type of computational device capable of facilitating the packet-session over a packet-switched network. Control of the user agents may be provided via a proxy for the user agents and may use the session initiation protocol (SIP), or like session control protocol for communications.

Claims:
What is claimed is: 
     
       1. A method for integrating separate circuit-switched voice and packet-switched data sessions, comprising:
 a. receiving notification of at least one call signaling event for a separate circuit-switched call between a caller and a called party over a circuit-switched network; and 
 b. controlling a separate packet-switched session for a packet-session between a caller user agent for a caller endpoint and a called party user agent on a called party endpoint based on at least one of the call signaling events for the separate circuit-switched call, wherein the caller and called party are associated with the caller and called party endpoints, such that the caller and called party may conduct concurrent voice and data sessions. 
 
     
     
       2. The method of  claim 1 , wherein the controlling step comprises communicating with the caller and called party user agents via at least one proxy for at least one of the caller user agent, and called party user agent. 
     
     
       3. The method of  claim 1 , wherein the caller and the called party are registered with at least one proxy using directory numbers associated with the caller and the called party respectively. 
     
     
       4. The method of  claim 1 , wherein the controlling step is effected using session initiation protocol (SIP). 
     
     
       5. The method of  claim 1 , wherein the packet-session is a SIP session. 
     
     
       6. The method of  claim 1 , wherein the receiving notification step comprises monitoring triggers corresponding to the call signaling events provided by a call signaling control system in the circuit-switched network. 
     
     
       7. The method of  claim 1 , further comprising: a. identifying directory numbers for the caller and called party; and b. determining addresses of the caller and called party user agents to use for the packet-session based on the directory numbers. 
     
     
       8. The method of  claim 7 , wherein the addresses for the caller and called party user agents include uniform resource locators corresponding to the directory numbers for the caller and called party. 
     
     
       9. The method of  claim 1 , wherein:
 a. the receiving notification step comprises receiving notification of a call signaling trigger representing initiation or establishment of the circuit-switched call between the caller and the called party; and 
 b. the controlling step comprises initiating the packet-session between the caller user agent and the called party user agent upon identifying the call signaling trigger representing the initiation or establishment of the circuit-switched call between the caller and the called party. 
 
     
     
       10. The method of  claim 1  wherein:
 a. the receiving notification step further comprises receiving notification of a call signaling trigger representing completion of the circuit-switched call between the caller and the called party; and 
 b. the controlling step comprises ending the packet-session between the caller user agent and the called party user agent upon identifying the call signaling trigger representing completion of the circuit-switched call between the caller and the called party. 
 
     
     
       11. The method of  claim 1  wherein communications with the caller and called party user agents are facilitated using session initiation protocol (SIP) via a SIP proxy for the caller and called party user agents and:
 a. the receiving notification step comprises:
 i. receiving notification of a call signaling trigger representing initiation or establishment of the circuit-switched call between the caller and the called party; and 
 ii. receiving notification of a call signaling trigger representing completion of the circuit-switched call between the caller and the called party; and 
 
 b. the controlling step comprises:
 i. initiating the packet-session between the caller user agent and the called party user agent upon identifying the call signaling trigger representing initiation or establishment of the circuit-switched call between the caller and the called party; and 
 ii. ending the packet-session between the caller user agent and the called party user agent upon identifying the call signaling trigger representing completion of the circuit-switched call between the caller and the called party. 
 
 
     
     
       12. A SIP integration server, comprising:
 at least one processor; 
 at least one memory device storing instructions executable by the at least one processor to:
 a. receive notification of at least one call signaling event for a separate circuit-switched call between a caller and a called party over a circuit-switched network; and 
 b. control a separate packet-switched session for a packet-session between a caller user agent for a caller endpoint and a called party user agent on a called party endpoint based on at least one of the call signaling events for the separate circuit-switched call, wherein the caller and called party are associated with the caller and called party endpoints, such that the caller and called party may conduct concurrent voice and data sessions. 
 
 
     
     
       13. The SIP integration server of  claim 12 , wherein the instructions executable to control a separate packet-switched session comprises instructions executable to communicate with the caller and called party user agents via at least one proxy for at least one of the caller user agent and called party user agent. 
     
     
       14. The SIP integration server of  claim 12 , wherein the caller and the called party are registered with at least one proxy using directory numbers associated with the caller and the called party respectively. 
     
     
       15. The SIP integration server of  claim 12 , wherein the instructions executable to control a separate packet-switched session use session initiation protocol (SIP). 
     
     
       16. The SIP integration server of  claim 12 , wherein the packet-session is a SIP session. 
     
     
       17. The SIP integration server of  claim 12 , wherein the instructions executable to receive notification step comprises instructions executable to monitor triggers corresponding to the call signaling events provided by a call signaling control system in the circuit-switched network. 
     
     
       18. The SIP integration server of  claim 12 , further comprising:
 a. instructions executable to identify directory numbers for the caller and called party; and 
 b. instructions executable to determine addresses of the caller and called party user agents to use for the packet-session based on the directory numbers. 
 
     
     
       19. The SIP integration server of  claim 18 , wherein the addresses for the caller and called party user agents include uniform resource locators corresponding to the directory numbers for the caller and called party. 
     
     
       20. The SIP integration server of  claim 12 , wherein:
 a. the instructions executable to receive notification step comprise instructions executable to receive notification of a call signaling trigger representing initiation or establishment of the circuit-switched call between the caller and the called party; and 
 b. the instructions executable to control a separate packet-switched session comprise instructions executable to initiate the packet-session between the caller user agent and the called party user agent upon identifying the call signaling trigger representing the initiation or establishment of the circuit-switched call between the caller and the called party. 
 
     
     
       21. The SIP integration server of  claim 12 , wherein:
 a. the instructions executable to receive notification further comprise instructions executable to receive notification of a call signaling trigger representing completion of the circuit-switched call between the caller and the called party; and 
 b. the instructions executable to control a separate packet-switched session comprise instructions executable to end the packet-session between the caller user agent and the called party user agent upon identifying the call signaling trigger representing completion of the circuit-switched call between the caller and the called party. 
 
     
     
       22. The SIP integration server of  claim 12 , wherein communications with the caller and called party user agents are facilitated using session initiation protocol (SIP) via a SIP proxy for the caller and called party user agents and:
 a. the instructions executable to receive notification comprise:
 i. instructions executable to receive notification of a call signaling trigger representing initiation or establishment of the circuit-switched call between the caller and the called party; and 
 ii. instructions executable to receive notification of a call signaling trigger representing completion of the circuit-switched call between the caller and the called party; and 
 
 b. the instructions executable to control a separate packet-switched session comprise instructions executable to:
 i. initiate the packet-session between the caller user agent and the called party user agent upon identifying the call signaling trigger representing initiation or establishment of the circuit-switched call between the caller and the called party; and 
 ii. end the packet-session between the caller user agent and the called party user agent upon identifying the call signaling trigger representing completion of the circuit-switched call between the caller and the called party. 
 
 
     
     
       23. A system for integrating separate circuit-switched voice and packet-switched data sessions, comprising:
 a signaling control point operable to transmit a trigger when a calling user connected to a called user by a circuit-switched call handled by the signaling control point indicates interest in establishing a packet-switched data session with the called user; and 
 a SIP integration server operable, in response to the trigger, to exchange messages with user agents of the calling user and the called user to establish the packet-switched data session. 
 
     
     
       24. The system of  claim 23 , wherein the SIP integration server is operable to exchange messages with the user agents which specify capabilities of the user agents to establish the packet-switched data session. 
     
     
       25. The system of  claim 24 , wherein the SIP integration server is operable to exchange messages with the user agents by:
 sending at least one invite message to the user agent of the called user; 
 receiving at least one response message from the user agent of the called user, the response message specifying capabilities of the user agent of the called user; and 
 sending at least one message to the user agent of the calling user specifying capabilities of the user agent of the called user. 
 
     
     
       26. The system of  claim 23 , wherein:
 the signaling control point is operable to send a message to the SIP integration server when either the calling user or the called user terminates the circuit-switched call; and 
 the SIP integration server is operable to terminate the packet-switched data session between the calling user and the called user on receipt of the message indicating termination of the circuit-switched call. 
 
     
     
       27. The system of  claim 23 , further comprising at least one SIP Proxy for coupling between the SIP integration server and the user agents, the at least one proxy mediating communications between the SIP integration server and the user agents. 
     
     
       28. The system of  claim 27 , wherein the at least one SIP Proxy and the SIP integration server are integrated in a common server. 
     
     
       29. A method for integrating separate circuit-switched voice and packet-switched data sessions, the method comprising:
 operating a signaling control point to transmit a trigger when as calling user connected to a called user by a circuit-switched call handled by the signaling control point indicates interest in establishing a packet-switched data session with the called user; and 
 operating a SIP integration server, in response to the trigger, to exchange messages with user agents of the calling user and the called user to establish the packet-switched data session. 
 
     
     
       30. The method of  claim 29 , comprising operating the SIP integration server to exchange messages with the user agents which specify capabilities of the user agents to establish the packet-switched data session. 
     
     
       31. The method of  claim 30 , comprising operating the SIP integration server to exchange messages with the user agents by:
 sending at least one invite message to the user agent of the called user; 
 receiving at least one response message from the user agent of the called user, the response message specifying capabilities of the user agent of the called user; and 
 sending at least one message to the user agent of the calling user specifying capabilities of the user agent of the called user. 
 
     
     
       32. The method of  claim 29 , comprising:
 operating the signaling control point to send a message to the SIP integration server when either the calling user or the called user terminates the circuit switched call; and 
 operating the SIP integration server to terminate the packet-switched data session between the calling user and the called user on receipt of the message indicating termination of the circuit-switched call. 
 
     
     
       33. The method of  claim 29 , further comprising coupling at least one SIP Proxy between the SIP integration server and the user agents, and operating the at least one proxy to mediate communications between the SIP integration server and the user agents. 
     
     
       34. The method of  claim 33 , wherein the at least one SIP Proxy and the SIP integration server are integrated in a common server.

Description:
This application is a Continuation of U.S. patent application Ser. No. 09/960,554, entitled INTEGRATING MULTIMEDIA CAPABILITIES WITH CIRCUIT-SWITCHED CALLS, filed Sep. 21, 2001, currently pending, the disclosure of which is hereby incorporated by reference in its entirety. 
     This application also claims the benefit of Provisional Application Ser. No. 60/308,177, filed Jul. 27, 2001, the disclosure of which is incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to multimedia communications, and in particular, relates to integrating multimedia capabilities with circuit-switched calls. 
     BACKGROUND OF THE INVENTION 
     The acceptance of network applications and the Internet has given rise for a need to associate voice communications with various network-based applications and functions. While engaged in a telephone conference, users often share applications, such as whiteboarding applications, and web pages to enhance communications. In most instances, users initiate the voice call and then establish an application sharing arrangement independently of the voice call. 
     Numerous software packages have attempted to integrate voice and data communications over packet-switched networks. Unfortunately, the availability of quality packet-based voice systems is low while the circuit-switched voice systems are widely available. As such, attempts have been made to associate circuit-switched voice calls with packet-switched multimedia applications. 
     Previous attempts to integrate circuit switched voice calls and multimedia sessions have required proprietary protocols or cumbersome protocols, such as H.323. The lack of flexibility and complexity of these protocols have suppressed their acceptance and availability. Accordingly, there is a need for an efficient and easy to implement technique for integrating circuit-switched voice calls and packet-switched multimedia capability. Further, there is a need to provide such integration without requiring proprietary protocols and by using accepted standards that are readily available. 
     SUMMARY OF THE INVENTION 
     The present invention monitors call signaling events stemming from a circuit-switched call between a caller and a called party and controls a packet-session between user agents on respective endpoints associated with the caller and called party. The endpoints may include any type of computational device capable of facilitating the packet-session over a packet-switched network. Control of the user agents may be provided via a proxy for the user agents and may use the session initiation protocol (SIP), or like session control protocol for communications. 
     Directory numbers for the circuit-switched, customer premise equipment supporting the circuit-switched call may be associated with communication addresses for the endpoints. During operation, the directory numbers for the calling and called party are used to identify the addresses of the respective endpoints. When a circuit-switched call is initiated or established, a call signaling trigger is identified, and the packet session is established between the user agents of the endpoints. Upon completion of the circuit-switched call, a corresponding call signaling trigger is identified, and the packet session is ended. 
     A dedicated integration service may be used to facilitate interaction with the circuit switched network to identify call-signaling events and cooperate with a proxy to control the packet session between the user agents. Alternatively, the integration service may be combined with the proxy alone, or with other network devices. 
     Those skilled in the art will appreciate the scope of the present invention and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWING FIGURES 
       The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention. 
         FIG. 1  is an illustration of a communication environment according to one embodiment of the present invention. 
         FIG. 2  is a block representation of a SIP integration server according to one embodiment of the present invention. 
         FIGS. 3A and 3B  are an exemplary communication flow according one embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims. 
     With reference to  FIG. 1 , an exemplary communication environment  10  capable of carrying out the concepts of the present invention is illustrated. The communication environment  10  is depicted as including a system signaling 7 (SS7) network and a session initiation protocol (SIP) enabled packet switched network  14 . The SIP enabled network  14  may include any type of packet-switched network having devices using SIP to facilitate communications between two or more devices. 
     The SS7 network  12  is an advanced intelligent network (AIN) capable of providing call signaling for voice-based communications over the public switched telephone network (PSTN) and well known services such as toll-free dialing, automatic redial, call back, and calling number delivery (caller ID). The primary components of a typical SS7 network  12  include service switching points (SSP)  16 , service transfer points (STP)  18 , and service control points (SCP)  20 . 
     A typical SSP  16 , such as Nortel Networks Limited&#39;s DMS100, provides standard voice switching and is equipped with SS7 hardware, software, and signaling links. The SSPs  16  are the “end-points” of an SS7 network and typically reside between the customer premise equipment  22  and the SS7 network  12 . SSPs  16  also typically provide the end-to-end circuit for the voice transport and perform most of the basic call processing required to setup and terminate voice calls. 
     The STPs  18  are typically reliable, high-speed packet switches that route SS7 signaling messages throughout the SS7 network  12 . The SCPs  20  are computing platforms that run applications providing enhanced service logic to default call processing actions of the SSPs  16 , depending on the application. Those skilled in the art will have an appreciation and understanding of the SS7 network  12  and like signaling networks. 
     Using AIN concepts, the SSPs  16  will temporarily halt call processing for certain events or points during a call and send information relating to the events to the SCP  20 . The SCP  20  will either continue call processing or perform an action, such as release, redirect, or terminate the call. As such, the SCP  20  is routinely engaged in call processing and has information pertaining to the call being process and events taking place during such processing. The present invention provides a mechanism for the SIP network  14  to interact with the SCP  20  to identify events during call processing as well as influence call processing as desired. 
     The Internet Engineering Task Force&#39;s RFC 2543, which is incorporated in its entirety by reference, provides the ability to establish sessions between endpoints  24  over a packet switched network, such as the SIP network  14 , running the internet protocol (IP). Once established, these sessions can exchange media capabilities and set up multiple media paths between the endpoints  24  based on their capabilities. A SIP endpoint  24  will support a User Agent (UA). 
     User Agents register their ability to receive calls with a SIP proxy server  26  by sending “REGISTER” messages to the SIP proxy server  26 . The “REGISTER” message informs the SIP proxy server  26  of the SIP uniform resource locator (URL), which identifies the User Agent to the network. The “REGISTER” message also contains information about how to reach the specific User Agent over the SIP network  14 . For instance, the “REGISTER” message may provide the User Agent&#39;s IP address and port in which the User Agent will monitor or facilitate communications. 
     Typically, when a User Agent wants to initiate a call to another User Agent, it will send an “INVITE” message to the SIP proxy server  26  specifying the targeted User Agent in the “TO” header. Identification of a User Agent takes the form of a SIP URL, &lt;username&gt;@&lt;domain&gt;, such as janedoe@nortelnetworks.com. The SIP proxy server  26  will use the SIP URL in the “TO” header of the message to determine if the User Agent is registered. The username is usually unique within the namespace of the specified domain. 
     If the targeted User Agent has registered, the SIP proxy server  26  will forward the “INVITE” message directly to the targeted User Agent. The User Agent responds with a 200 OK message to the originating User Agent via the SIP proxy server  26 , and a session between the two User Agents will be established as per the message exchange required in the SIP specification. Capabilities are passed between the two User Agents as parameters embedded within the session setup messages such as INVITE, 200 OK, and ACK. Media capabilities can also be exchanged using the SIP “INFO” message. Capabilities are typically described using the Session Description Protocol (SDP). Once User Agents are in an active session with each other and understand each other&#39;s capabilities, the respective endpoints  24  providing the User Agents can exchange the specified media content. 
     Reference is made to the Internet Engineering Task Force draft “draft-rosenberg-sip-3pcc-00.ext” for SIP third party call control, which is outlined below. 
     Third party call control may take the following form. A central controller first calls one of the participants, A, and presents the INVITE message without any media. When this call is complete, the controller has the SDP needed to communicate with A. The controller then uses the SDP to initiate a call to participant B. When this call is completed, the controller has the SDP needed to communicate with B. This information is then passed to A. The result is that there is a call leg between the controller and A, a call leg between the controller and B, but media between A and B. 
     In the preferred embodiment of the invention, an application server is configured to interact with the SS7 network  12  or like circuit switched network via the SCP  20 . The application server is generally referred to herein as a “SIP Integration Server” or SIS  28 , which monitors call events from the SS7 network  12  and performs third party call control between the Calling and Called User Agents on the SIP network based on those events. The SIS  28  may be affiliated with a database  30  to provide information for operation and pertaining to the directory numbers, addresses and the like for User Agents and CPEs  22 . 
     As shown in  FIG. 2 , the SIS  28  may be a typical web server having a central processing unit (CPU)  38  with the requisite memory  40  containing the software and data necessary for operation. The CPU  38  is associated with a network interface  44  facilitating communications with other devices, such as the endpoints  24 , SIP proxy server  26 , SCP  20 , and the database  30  through any number of local area networks, routers, switches and hubs in traditional fashion. 
     Subscribers to the SIS  28  will have certain AIN triggers provisioned against their directory number for the CPE  22  within their local SSP  16 . The triggers correspond to events during call processing. Whenever the subscriber is involved with a telephone call, the SSP  16  will route the appropriate triggers to the SIS service for interpretation. It should be noted that this disclosure is not tied to the mechanism by which AIN messages are routed to the SIS  28 . In addition, SIS subscribers will have User Agents installed on their personal computer or other computing device that has access to the SIP network  14 . These User Agents can be any SIP enabled applications that know how to register with the SIP proxy server  26 , can establish SIP sessions, and can exchange multi-media content of one or more types. For another example of a SIP user agent benefiting from the present invention, please refer to U.S. patent application Ser. No. 09/666,583, filed Sep. 21, 2001, entitled “AUTOMATED WEB BROWSER SYNCHRONIZATION,” the disclosure of which is incorporated herein by reference. 
     SIP User Agents register with the SIP proxy server  26  as specified in the SIP specification and preferably identify their username in the SIP URL to be equivalent to the directory number that is assigned to their telephone. For example if John Smith has a directory number of (555) 991-1234, then John&#39;s SIP User Agent would register with the username of &lt;5559911234&gt;@&lt;domain&gt; with the SIP proxy server  26 . Such registration is preferred because the directory numbers are the main identifier used within the AIN triggers received by the SIS  28  from the SSP  16 . 
     When the SIS  28  needs to interact with the SIP network  14 , it will send SIP messages to the SIP proxy server  26  and identify the intended recipient of the message using the corresponding directory number. The SIP proxy server  26  will forward the message to the appropriate User Agent. Notably, this disclosure depicts the SIP Integration Server and the SIP Proxy as two separate entities; however, the functionality of both may reside within the same platform or even within the same application. Thus, the concepts of the present invention may be implemented with the proxy functionality embedded within the SIS  28 , and vice versa. 
     A SIP session is initiated when the SU receives a trigger from the SCP  20  that the voice call for its user has been answered. On receiving this trigger from the SCP  20 , the SIS  28  first attempts to establish a SIP session with the caller&#39;s User Agent without specifying any media capabilities. The caller&#39;s User Agent accepts the session invitation and will respond with its capability descriptions. The SIS  28  then attempts to establish a session with the called user&#39;s User Agent and sends the capabilities of the caller&#39;s User Agent. The called User Agent accepts the session invitation and responds with its own capability descriptions. The SIS  28  then forwards the called User Agents capability descriptions back to the caller&#39;s User Agent to complete the capability negotiations, and the two User Agents begin exchanging content on their established media path(s). 
     The SIP Session is terminated whenever the SIS  28  receives a Disconnect trigger from the SCP  20  indicating that either side has released the voice call. Once this notification is received, the SIS  28  sends a SIP BYE message to both User Agents and the SIP Session is terminated. 
     Turning now to  FIGS. 3A and 3B , an exemplary communication flow is described for setting up and releasing calls using the SIS  28  to synchronize SIP multi-media sessions with voice calls. Those skilled in the art will recognize the exemplary communication flow highlights only some of the applications made possible by the present invention. The concepts and architecture of the present invention allow for numerous service extensions, which should become apparent to those skilled in the art upon reading this disclosure. 
     For the exemplary flow of  FIGS. 3A and 3B , User A places a call to User B and a SIP Session is established with multi-media capability, such as whiteboarding or application sharing. Assume User A has a telephone number of (555) 444-1111 and a SIP User Agent A application running on an associated personal computer (endpoint  24 ) that supports whiteboarding. Further assume that User Agent A has previously registered with the SIP proxy server  26  as 5554441111@&lt;service_provider_domain&gt;. User B has a telephone number of (555) 333-2222 and a SIP User Agent B application running on his/her personal computer that also supports whiteboarding. The User Agent for User B has previously registered with the SIP proxy server  26  as 555333222@&lt;service_provider_domain&gt;. 
     Initially, User A uses his CPE  22  (i.e., telephone) to place a call to User B by dialing 333-2222. User A&#39;s SSP  16  sends an InfoAnalyzed AIN trigger to the SCP  20  servicing the SIS  28 . The InfoAnalyzed trigger contains both the directory number of the calling user (User A) and the directory number of the called user (User B). The SCP  20  forwards the InfoAnalyzed trigger to the SIS  28  (step  100 ). The SIS  28  looks up the subscriber profile for User A on database  30  by indexing on the calling user&#39;s (User A&#39;s) directory number. The SIS  28  finds the profile for User A and maintains the knowledge that User A is placing a call to User B. 
     The SIS  28  replies to the SCP with a Continue response thus allowing the SSP  16  to continue to setup the call to User B&#39;s CPE  22  (step  102 ). The SSP  16  servicing User B&#39;s CPE  22  sends a TerminationAttempt trigger to the SCP  20 , which forwards it on to the SIS  28  (step  104 ). The SIS  28  looks up the subscriber profile for User B by indexing on the called user&#39;s (User B) directory number. The SIS  28  finds the profile for User B and maintains the knowledge that User A is placing a call to User B. 
     The SIS  28  replies by sending an AuthorizeTermination response back to the SSP  16  via the SCP  20  (step  106 ). The SSP  16  terminates the call to User B&#39;s CPE  22 , which begins to ring. User B answers the call by lifting the handset of the respective CPE  22 . The SSP  16  servicing User B&#39;s CPE  22  sends an Answer trigger to the SIS  28  via the SCP  20  (step  108 ). The SIS  28  now knows that the voice call between User A and User B has been answered. 
     To set up an associated SIP session, the SIS  28  establishes a session with the caller&#39;s (User A) User Agent first. To do this, the SIS  28  sends an “INVITE” message to the SIP proxy server  26  with the username in the TO: field set to the telephone number of User A—(5554441111@&lt;service_provider_domain&gt;) (step  110 ). This initial INVITE message typically does not contain any capability information. The SIP proxy server  26  forwards the message on to the User Agent on endpoint  24  for User A (step  112 ). 
     User A&#39;s User Agent replies with a 200 OK message and specifies it&#39;s capability information, such as media type and coding/decoding (CODEC) support, in the message body (step  114 ). The SIP proxy server  26  forwards the 200 OK back to the SIS  28  (step  116 ). 
     The SIS  28  sends an “INVITE” message to the SIP proxy server  26  with the username of the TO: field set to the telephone number of User B (555333222@&lt;service_provider_domain&gt;) (step  118 ). Also included in this message is the capability description received in the 200 OK message from the caller&#39;s (User A) User Agent. The SIP proxy server  26  forwards the message on to the User Agent on endpoint  24  for User B (step  120 ). 
     The User Agent for User B replies with a 200 OK message and specifies its capability information in the message body (step  122 ). The SIP proxy server  26  forwards the 200 OK response back to the SIS  28  (step  124 ). The SIS  28  acknowledges the 200 OK response from the User Agent of User B by sending an ACK message to User Agent for User B via the SIP proxy server  26  (steps  126  and  128 ). 
     The SIS  28  now needs to send the capability information it received from User B&#39;s User Agent to User A&#39;s User Agent. Accordingly, the SIS  28  builds an ACK message with the capability description received from the 200 OK message from User Agent of User B and sends the ACK message to User A&#39;s User Agent via the SIP proxy server  26  (steps  130  and  132 ). Media capability information could also have been sent in a second “INVITE” message as opposed to the ACK as described in association with the Third Party Call Control IETF draft discussed above. 
     A SIP session is now set up between the User Agents for User A and User B, thus allowing users to perform the multimedia function(s) as described within the session description of the message body. When either user ends the voice call by hanging up their handset of the CPE  22 , the SCP  20  will send an appropriate Disconnect trigger to the SIS  28  (step  136 ). The SIS  28  will terminate the SIP Session by sending “BYE” messages to each User Agent via the SIP proxy server  26  (steps  138  through  144 ). 
     Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.

Metadata:
Filing Date: 20111212
Publication Date: 20140429
Grant Date: 20140429
Priority Date: 20010727
Inventors: RAMSAYER CHRISTOPHER G.
DALRYMPLE WILLIAM CLYDE PRENTICE
CAMPION PHILIP JOHN
KIM JEONG MIN
CHEN TA-MING
Assignee: APPLE INC
CPC Classifications: [{"code": "H04L65/1094", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L65/1053", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L65/1094", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L65/1106", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L65/1104", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L65/1106", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L65/1104", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L65/1069", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L65/1069", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L65/104", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04L65/1053", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04L65/104", "inventive": true, "first": true, "tree": "[]"}]
Family ID: 45445116