The present invention relates to multimedia communications, and in particular, relates to integrating multimedia capabilities with circuit-switched calls.
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.
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.
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.
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
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'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 processed 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'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'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, <username>@<domain>, 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'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-3 pcc-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
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's SIP User Agent would register with the username of <5559911234>@<domain> 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 SIS 28 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's User Agent without specifying any media capabilities. The caller'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's User Agent and sends the capabilities of the caller'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'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
For the exemplary flow of
Initially, User A uses his CPE 22 (i.e., telephone) to place a call to User B by dialing 333-2222. User A'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's (User A'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's CPE 22 (step 102). The SSP 16 servicing User B'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'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'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'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'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@<service_provider_domain>) (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's User Agent replies with a 200 OK message and specifies it'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@<service_prvider_domain>) (step 118). Also included in this message is the capability description received in the 200 OK message from the caller'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's User Agent to User A'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'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.
This application claims the benefit of Provisional Application Ser. No. 60/308,177, filed Jul. 27, 2001, the disclosure of which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5454032 | Pinard et al. | Sep 1995 | A |
5539884 | Robrock, II | Jul 1996 | A |
5604737 | Iwami et al. | Feb 1997 | A |
5689553 | Ahuja et al. | Nov 1997 | A |
5764750 | Chau et al. | Jun 1998 | A |
5790798 | Beckett, II et al. | Aug 1998 | A |
5809128 | McMullin | Sep 1998 | A |
5881145 | Giuhat et al. | Mar 1999 | A |
5884032 | Bateman et al. | Mar 1999 | A |
5912952 | Brendzel | Jun 1999 | A |
5946386 | Rogers et al. | Aug 1999 | A |
6011843 | Hochman et al. | Jan 2000 | A |
6058435 | Sassin et al. | May 2000 | A |
6137869 | Voit et al. | Oct 2000 | A |
6196846 | Berger et al. | Mar 2001 | B1 |
6215865 | McCalmont | Apr 2001 | B1 |
6289010 | Voit et al. | Sep 2001 | B1 |
6295293 | Tonnby et al. | Sep 2001 | B1 |
6320857 | Tonnby et al. | Nov 2001 | B1 |
6373817 | Kung et al. | Apr 2002 | B1 |
6404746 | Cave et al. | Jun 2002 | B1 |
6430174 | Jennings et al. | Aug 2002 | B1 |
6442268 | Klaghofer et al. | Aug 2002 | B1 |
6449260 | Sassin et al. | Sep 2002 | B1 |
6453034 | Donovan et al. | Sep 2002 | B1 |
6459787 | McIllwaine et al. | Oct 2002 | B2 |
6512818 | Donovan et al. | Jan 2003 | B1 |
6515996 | Tonnby et al. | Feb 2003 | B1 |
6539077 | Ranalli et al. | Mar 2003 | B1 |
6584093 | Salama et al. | Jun 2003 | B1 |
6500819 | Catley et al. | Jul 2003 | B2 |
6594254 | Kelly | Jul 2003 | B1 |
6594357 | Emerson et al. | Jul 2003 | B1 |
6597687 | Rao | Jul 2003 | B1 |
6614781 | Elliott et al. | Sep 2003 | B1 |
6615236 | Donovan et al. | Sep 2003 | B2 |
6625141 | Glitho et al. | Sep 2003 | B1 |
6690407 | Parker et al. | Feb 2004 | B1 |
6697478 | Meldrum et al. | Feb 2004 | B1 |
6724887 | Eilbacher et al. | Apr 2004 | B1 |
6747970 | Lamb et al. | Jun 2004 | B1 |
6754693 | Roberts et al. | Jun 2004 | B1 |
6760429 | Hung et al. | Jul 2004 | B1 |
6768722 | Katseff et al. | Jul 2004 | B1 |
6771639 | Holden | Aug 2004 | B1 |
6775269 | Kaczmarczyk et al. | Aug 2004 | B1 |
6822957 | Schuster et al. | Nov 2004 | B1 |
6831675 | Shachar et al. | Dec 2004 | B2 |
6865681 | Nuutinen | Mar 2005 | B2 |
6870848 | Prokop | Mar 2005 | B1 |
6914897 | Schuster et al. | Jul 2005 | B1 |
6937699 | Schuster et al. | Aug 2005 | B1 |
6981022 | Boundy | Dec 2005 | B2 |
7110525 | Heller et al. | Sep 2006 | B1 |
7139263 | Miller et al. | Nov 2006 | B2 |
7184526 | Cook | Feb 2007 | B1 |
7218722 | Turner et al. | May 2007 | B1 |
20020075881 | Yoakum et al. | Jun 2002 | A1 |
20020118675 | Strathmeyer et al. | Aug 2002 | A1 |
20020176404 | Girard | Nov 2002 | A1 |
20030063590 | Mohan et al. | Apr 2003 | A1 |
20030076815 | Miller et al. | Apr 2003 | A1 |
20030126205 | Lurie | Jul 2003 | A1 |
20030214958 | Madour et al. | Nov 2003 | A1 |
20040001501 | Delveaux et al. | Jan 2004 | A1 |
Number | Date | Country |
---|---|---|
0 453 128 | Oct 1991 | EP |
0 721 266 | Jul 1996 | EP |
0 999 712 | May 2000 | EP |
1 091 548 | Apr 2001 | EP |
1 148 686 | Oct 2001 | EP |
WO 9844703 | Oct 1998 | WO |
WO 0115423 | Mar 2001 | WO |
WO 0169883 | Sep 2001 | WO |
WO 0211411 | Feb 2002 | WO |
Number | Date | Country | |
---|---|---|---|
60308177 | Jul 2001 | US |