Not Applicable.
This application relates in general to the delivery of enhanced communications services and, in particular, to a method and system for a communications session join function to facilitate the provision of the enhanced communications services.
The provision and control of communication services in circuit switched networks such as the Public Switched Telephone Network (PSTN) and mobile networks such as the Public Land Mobile Network (PLMN) are well understood. Likewise, the provision and control of communications services in packet networks using protocols such as Voice over Internet Protocol (VoIP) is becoming well developed. The coexistence of the PSTN/PLMN and the VoIP services has necessitated inter-working functions to permit the completion of communications sessions between those networks. Inter-working functions between the networks include call routing, protocol and media conversion and the termination of calls in one network that were originated in another network. However, seamless handoff of communications sessions from one network to another still requires complex system provisioning. There therefore exists a need for a method and system for seamless inter-network communications session handoff that is readily provisioned using existing network infrastructure.
The increasing availability of Wireless Fidelity (Wi-Fi) and other wireless packet services has captured the interest of wireless users because voice communications available through those services is generally less expensive and is often available in areas not well served by the PLMN. There therefore exists a need for wireless services that permit roaming and communications session handoff between wireless packet and PLMN networks, regardless of whether a communication session is in a setup or connected state.
The joining of call legs is well known in the art and call leg join solutions have been used in many telecommunications applications. For example, multi-party conferencing and cellular communications session handoffs between cellular base stations are well known. A majority of those call leg join solutions use hardware platforms or resources such as digital signal processors (DSPs) to provide signal multiplexing functionality to join the call legs to form a communications connection between connected parties. However, hardware platforms are expensive to implement and do not necessarily provide the desired flexibility at a reasonable cost.
There therefore exists a need for a method and system that provides a communications session join function that can join related but independent communications sessions that originate in the same network or in two different networks, regardless of whether the communications sessions are in a setup or a connected state.
It is therefore an object of the invention to provide a method and a system for a communications session join function that can join related but independent communications sessions that traverse the same network or different networks.
The invention therefore provides a method of joining communications sessions to establish a communications connection, comprising: receiving at a communications session join function in an Internet Protocol network first and second independent communications session requests sent on behalf of first and second endpoints; applying application logic to determine a requirement to establish a connection between the first and second endpoints by analyzing information contained in the respective first and second communications session requests; and sending from the communications session join function connected party information associated with the first endpoint toward the second endpoint and connected party information associated with the second endpoint toward the first endpoint to establish the communications connection.
The invention further provides a method of automatic handoff between cellular and wireless packet services on a dual mode mobile device, comprising: determining by an application client operating on the dual mode wireless device that a first call carried by one of a cellular and a wireless packet communications services should be handed off to the other of the cellular and the wireless packet communications services, and sending from the dual mode wireless device a first communications session request to a communications session join function using the other of the cellular and the wireless packet communications services; and automatically disconnecting from the one of the cellular and wireless packet communications services that carries the first call to prompt the communications session join function to send a request to the communications service that carries the first call so that a second communications session request is forwarded from that communications service to the call join function.
The invention further provides a system for joining independent but related communications sessions to form a communications connection, comprising: a communications session join function for joining the independent but related communications sessions connected to first and second endpoints on receiving first and second independent communications session requests sent to the communications session join function on behalf of the first and second endpoints, the communications session join function joining the independent but related communications sessions by sending connected party information associated with the first endpoint toward the second endpoint and sending connected party information associated with the second endpoint toward the first endpoint; and application logic for analyzing information contained in the respective first and second communications session requests received by the communications session join function to determine a requirement for joining the first and second independent communications sessions, and for instructing the communications session join function to join the independent but related communications sessions.
Further features and advantages of the present invention will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
It should be noted that throughout the appended drawings, like features are identified by like reference numerals.
The invention provides a method and system for joining two incoming communications sessions to form a two-party communications connection using a communications session join function which may be embodied in a converged services node that performs the role of a Session Initiation Protocol (SIP) Application Server. The communications session join function may also be embodied in a Serving Call Session Control Function (S-CSCF); a soft switch; or a Service Capability Interaction Manager (SCIM), for example. The communications session join function enables the provision of many innovative communications services using existing network infrastructure and requires very little network provisioning. The invention has broad application and can be used to significantly enhance the scope of communications service features provided to PSTN/PLMN or VoIP service subscribers.
The hosted VoIP network 10 is provisioned with the communications session join function embodied in the CSN 20, which acts as a Session Initiation Protocol (SIP) Application Server to provide inter-working functions for specific services between the PSTN/PLMN 14 and the VoIP networks 10, 12. The communications session join function embodied in the CSN 20 functions as a SIP back-to-back User Agent, as will be explained below in more detail.
The hosted VoIP network 10 further includes one or more feature servers 24 which receive incoming communications session requests from the session border controller(s) 16 via communications link(s) 36 in a manner well known in the art. The hosted VoIP network 10 further includes other SIP application servers 26 and media servers 28, both of which are known in the art. Each of the servers are connected to a core SIP Proxy 30a which has global knowledge of the hosted VoIP network 10 and controls intra-network routing. An inter-network routing server 32 provides routing control when calls must be routed to other connected networks 12, 14. Soft switches 34 perform soft switching services within the hosted VoIP network 10. The soft switches 34 are connected by signaling links 52 to PSTN/PLMN network 14 and are IP connected as indicated at 50 to the Media Gateways 18. Communication channel 58 connects the session border controllers 16 and the media gateways 18. Trunks 56 connect the media gateways 18 to the PSTN/PLMN 14. IP connections 38, 40, 42, 44, 46 and 48 respectively connect the feature servers 24, CSN 20, SIP application servers 26, media servers 28, inter-network routing server 32 and soft switches 34 to the core SIP Proxy 30a in a manner well known in the art. IP connections 36 and 37 connect the session border controllers 16 to the feature servers 24 and the core SIP Proxy 30a, likewise in a manner known in the art.
A Serving Call Session Control Function (S-CSCF) 30b functions in a way similar to the core SIP Proxy 30a described with reference to
It should also be noted that the CSN 20 may be connected to the signaling network of the PSTN/PLMN 14 by any version or variant of Transaction Capabilities Application Part (TCAP) signaling links 22. This permits the CSN 20 to coordinate and control calls originating in the PSTN/PLMN 14, the IMS 60, other IMS domain 62 or untrusted VoIP networks 12 provided that signaling routes provisioned in the respective networks are configured to route signaling messages to the CSN 20 as explained in detail in applicant's co-pending U.S. patent application Ser. No. 11/020,225 filed Dec. 27, 2004, the specification of which is incorporated herein by reference.
Certain of the telephone services that may be provided using the communications session join function in accordance with the invention require a mobile handset that is adapted to receive carrier signals propagated in both the cellular and packet networks, and a mobile handset application client that works cooperatively with but independently of the communications session join function. Such mobile handsets are referred to as “dual mode mobile hand sets”.
The application client 102 includes a user interface 104; call set up and handoff control 106; and network interfaces 108. The user interface 104 has a user interface manager 110 connected to a microphone 112; speaker 114; display 116; and keypad 118 which function in a manner well known in the art. The dual mode mobile handset is equipped with two lines, line 1 (120) and line 2 (122) which are used to enable subscriber features such as “call waiting”, “3-way conference” and “call hold”, all of which are known in the art. The network interfaces 108 includes a cellular stack 124 and a packet network stack 126. The cellular stack 124 includes a set of layered protocols that are used in existing cellular networks. These protocols are used to send information to and receive information form an MSC via a base station using a cellular radio 128. Similarly, the packet network stack 126 includes a set of layered protocols for sending an receiving information via a packet network using a packet radio 130.
Session Routing Overview
The communications session join function in accordance the invention is used provide enhanced communications services. Routing of the related but independent communications sessions through the VoIP network 10 and/or IMS Network 60 described above is therefore dependent upon the communications service and the network from which the service is invoked.
The services offered may be associated with originating subscriber sessions identified by calling party identity, or with terminating subscriber sessions identified by called party identity. Routing to the communications session join function embodied in the CSN 20 can be accomplished in many different ways.
For example, when a subscriber session originates in the PSTN/PLMN 14 and terminates in the VoIP network, the core routing SIP Proxy/S-CSCF 30a, 30b may be provisioned to route all calls from the media gateway 18 to the CSN 20 that match a given range or pattern in a SIP uniform resource identifier (URI) or tel Uniform Resource Locator (URL). The range or pattern may be associated with the calling identity and/or called identity. The CSN 20 forwards those requests with an appropriate R-URI for an endpoint and routes the outbound request to the appropriate SIP Proxy/S-CSCF 30a, 30b. The SIP Proxy/S-CSCF 30a, 30b matches the next filter criteria and forwards the request to an appropriate feature server or IP-PBX 24.
If a call originates in the VoIP network 12 and terminates in the PSTN/PLMN 14, the originating session is routed from a VoIP endpoint to a feature server 24 or an IP-PBX via a session border controller 16 or border control function 17. The feature server 24 or IP-PBX routes the request to the SIP Proxy/S-CSCF 30a, 30b. The SIP Proxy/S-CSCF 30a, 30b forwards all requests that match predefined filter criteria to the CSN 20. The feature server 24 or IP-PBX acts as a registrar/location server for the VoIP endpoints. In addition to standard SIP routing, the SIP Proxy/S-CSCF 30a, 30b also provides routing based on message direction and SIP header matching to a specified range or pattern.
In a different deployment model, the SIP Proxy/S-CSCF 30a, 30b provides the domain registrar and routing functions. The feature servers 24 or IP-PBX may register with the SIP Proxy 30a/S-CSCF 30b on behalf of the VoIP endpoints. Alternatively, the feature servers 24 or the IP-PBX may receive registration requests from the SIP proxy/S-CSCF on behalf of the SIP endpoints. If the feature server 24 or the IP-PBX serves as the registrar, the message flow follows a path: endpoint->SIP Proxy->IP-PBX for SIP registration. In the case of endpoint originated call setup, the message flow follows a path: endpoint->SIP Proxy->CSN->SIP proxy->IP-PBX. In the case of endpoint terminated call setup, the message flow follows a path: Caller->SIP proxy->IP-PBX->SIP Proxy->CSN->SIP Proxy->endpoint.
When IP endpoints register with the hosted VoIP network 10 or the IMS network 60, the domain registrar servers may authenticate each endpoint. Upon successful authentication, the registrar forwards a Register Message to all interested SIP Application Servers 20, 26, a process referred to as third party registration. The CSN 20 interest in third party registration is indicated by provisioning initial filter criteria in the core SIP Proxy 30a in the hosted VoIP network 10 and in the HSS 68 in the IMS network 60. Furthermore, the CSN 20 can obtain all public identities associated with a registered user by subscribing for “REG” event packages, where the S-CSCF 30b notifies the application servers 24 with all implied registrations corresponding to a list of public user identities of the user, as specified by 3GPP architecture specification TS 23.228.
The communications session join function embodied in the CSN 20 also complies with the IMS network 60 Charging Architecture and provides charging information so that independent join requests can be correlated for the purpose of communications service charging after a join of communications sessions associated with the independent join requests is effected. The online/offline charging interface to the Session Charging Function is referred to as a Ro/Rf reference point respectively. Among other elements, the charging information includes an IMS charging correlation identifier received over an ISC interface. In addition, CSN 20 provides a session identifier that is used by a backend billing system to correlate different communications sessions related to a service session.
As explained above, the CSN 20 is provisioned with a communications session join function implemented as a back-to-back User Agent (i.e. UAS-UAC and UAC-UAS) which performs the following functions:
1) Routing back-to-back: when an inbound request is received, the communications session join function processes the request as a User Agent Server (UAS), and suspends processing of a server transaction to notify service logic of the CSN 20. The service logic of the CSN 20 provides instructions to the communications session join function to continue routing and the communications session join function imitates the originating endpoint acting as a User Agent Client (UAC). A selected set of headers, parameters and bodies are propagated from the UAS to the UAC.
2) Joining back-to-back: when an inbound communications session request (e.g., a SIP Invite message) is received at the communications session join function the communications session is suspended and the received event information is passed to the service logic of the CSN 20. When the communications session join function receives the second communications session request and passes the event to the service logic of the CSN 20. The service logic instructs the communications session join function to join the two UAS transactions. The back-to-back user agent joins the two communications sessions by synchronizing a service description protocol (SDP) between the communications sessions by passing connected party information from one endpoint towards the other, and vice versa.
Detailed functioning of the communications session join function and the CSN 20 will now be explained by way of example with reference to message flow diagrams shown in
It will be understood by those skilled in the art that the message flow diagrams shown in
In this example, the authentication is successful and the IP-PBX returns a SIP 200 OK message (148) to the application client 102. Upon completion of the authentication procedure the IP-PBX 98 forwards a SIP Register message (150) to the CSN/B2B User Agent 20. The application client 102 then determines whether a handoff should be effected. The determination can be based on any one or more of a number of rules and/or variables, such as: always handoff when packet service signal strength is adequate; handoff only when cellular signal strength is inadequate; handoff only when a specified service provider network is detected; etc. The determination can also be based on user input, such as user selection of a “soft key” input that requests handoff.
After the application client 102 on mobile handset 100 determines that handoff should be effected (152), the application client 102 sends a communications session request, in this example a SIP Invite message (156) to the IP-PBX 98. The SIP Invite message includes a called number of CSN/B2B User Agent 20 and calling number of B-Party; and RTP port information to be used for the B-Party connection. The IP-PBX 98 returns a SIP 100 Trying message to the mobile handset 100 (158). The IP-PPX 98 then forwards a SIP Invite message to the CSN/B2B User Agent 20 (160) and the CSN/B2B User Agent 20 returns a SIP 100 Trying message (162). The CSN/B2B User Agent 20 then applies application logic to perform an event correlation (164) using the contents of the SIP Invite message received at 160, and determines that it does not yet have a waiting communications session that needs to be joined to the communications session associated with the SIP Invite message, so the CSN/B2B User Agent 20 takes no further action.
Meanwhile, the service client 102 on the mobile handset 100 sends a Disconnect message through the cellular network to the MSC 92, which is a network node in the cellular network. The mobile handset 100 has a Disconnect Trigger (T-Disconnect) enabled on the MSC 92. The Disconnect Trigger is an AIN trigger well known in the art. Consequently, the MSC 92 returns an EventReport to the CSN/B2B User Agent 20 (166). The EventReport has an Event Type of T-Disconnect. It should be understood that as used in this document, “EventReport” and “event report” means any IN/AIN/CAMEL/WIN or CTI indication or communications session diversion technique.
On receipt of the EventReport, the CSN/B2B User Agent 20 applies application logic to perform an event correlation (168) and determines that the connection to A-Party should be maintained because there is a communications session handoff in progress. The CSN/B2B User Agent 20 therefore responds to the MSC 92 with a Connect message (168). The Connect message includes a DN that will direct the call to the communications session join function of the CSN/B2B User Agent 20 and a Redirecting Party Identification equal to the Session ID retrieved from the event correlation at 168.
On receipt of the Connect message, the MSC 92 formulates an ISDN User Part (ISUP) Initial Address Message (IAM) with a called party number equal to a DN for the CSN/B2B User Agent 20, and a redirecting number equal to the Session ID and forwards the IAM through the PLMN 14 to the media gateway 96 (170). On receipt of the IAM, the media gateway 96 formulates a SIP Invite message which identifies the calling number as the A-party, includes the Session ID and identifies the RTP port information to be used by the B-party, i.e. mobile handset 100 (172). The CSN 20 returns a SIP 100 Trying message (174). Because this is a call in progress, the CSN/B2B User Agent 20 does not return a SIP 180 Ringing message, so the media gateway 96 does not return an ISUP Address Complete (ACM) message (176) to the MSC 92. The CSN 20 then formulates a SIP 200 OK message containing the B-Party media gateway RTP port number which is forwarded to the IP-PBX 98 (179). The IP-PBX 98 sends a SIP 200 OK message to the mobile handset 100 (180), which returns a SIP ACK message (182). The IP-PBX 98 returns a SIP ACK message (184) to the CSN 20, which sends a SIP 200 OK message (186) to the media gateway 96 and the media gateway 96 forwards an Answer Message (ANM) to the MSC 92 (188). The A-party is thereby re-connected to the B-party in Wi-Fi mode (190).
Meanwhile, B-Party presses the End button on the mobile handset 94 (216). This causes the mobile handset 94 to send a disconnect message (218) to the MSC 92. As explained above, the service subscription of the mobile handset 100 enables a Disconnect Trigger on the MSC 92, which causes the MSC 92 to send an EventReport (220) to the CSN/B2B User Agent 20. On receipt of the EventReport, the CSN/B2B User Agent 20 again performs event correlation (222) and determines that the mobile handset 94 associated with the EventReport message is associated with a subscriber record of the B-Party. Consequently, the CSN/B2B User Agent 20 sends a Connect message to the MSC 92 (223) requesting that the MSC 92 establish a connection to a dialed number associated with the CSN/B2B User Agent 20. The Connect message also contains a Redirecting Party ID equal to a Session ID assigned by the CSN/B2B User Agent 20 at 223.
On receipt of the connect request, the MSC 92 formulates an Initial Address Message (IAM) which it sends to the media gateway 96 (224). On receipt of the IAM, the media gateway 96 formulates a SIP Invite message which it sends to the CSN/B2B User Agent 20 (226). The SIP Invite message has a URI equal to an address of the CSN/B2B User Agent 20 and indicates that the message is from the session ID assigned by the CSN/B2B User Agent 20 at 223. The SIP Invite message further includes a SDP indicating the media gateway port to be used for the connection. On receiving the SIP Invite message the CSN/B2B User Agent 20 returns a SIP 100 Trying message (228), but because there is a call in progress does not return a SIP 180 Ringing message. The media gateway 96 therefore does not return an Address Complete (ACM) message (230) to the MSC 92.
Meanwhile, the CSN/B2B User Agent 20 performs event correlation (232) by applying application logic to determine whether the SIP Invite message contains information that indicates a need to join two independent communications sessions. In this example, the application logic determines that the communications session requests, e.g. the SIP Invites received at 206 and 226 are related by B-Party and the Session ID. The CSN/B2B User Agent 20 therefore formulates a SIP Re-Invite message and sends it to the IP-PBX 98 (233). The SIP Re-Invite message includes the media gateway port number passed to the CSN/B2B User Agent 20 by the media gateway 96 in the SIP Invite message at 226. On receipt of the SIP Re-Invite message the IP-PBX 98 formulates a SIP Re-Invite message including the media gateway port number and sends it (234) to the VoIP telephone 95. The VoIP telephone 95 responds with a SIP 200 OK message (236). The IP-PBX 98 then sends a SIP 200 OK message (238) to the CSN/B2B User Agent 20. The CSN/B2B User Agent 20 then sends a SIP 200 OK message (240) to the media gateway 96. Media gateway 96 responds by sending an ISUP Answer (ANM) to the MSC 92 (242). The A-Party is now connected to the B-party land terminal via the MSC 92 and the media gateway 96 (244).
As shown at 250, A-Party using a PSTN-connected telephone 88 is connected to B-Party who is using the IP telephone 95. The CSN/B2B User Agent 20 is made aware of this connection (252). Its awareness of the connection can come from a plurality of sources and is provided to the CSN/B2B User Agent 20 as a result of B-Party's subscription to the Mobile Call Pickup service.
B-Party decides to switch the communications session in progress to the mobile handset 94 (254). In order to perform the switch, B-Party selects a speed dial button on the mobile handset 94 to launch a wireless communications session to the CSN/B2B User Agent 20 (256). On receipt to the dialed digits, the MSC 92 formulates an IAM which it forwards to the media gateway 96 (258). The media gateway 96 responds by formulating a SIP Invite message which it sends to the CSN/B2B User Agent 20 (260). The CSN/B2B User Agent 20 responds with a SIP 100 Trying message (262). The CSN/B2B User Agent then performs event correlation (264) by applying application logic to the contents of the SIP Invite message in order to determine whether there is a corresponding communications session that needs to be joined to the incoming communications session. The CSN/B2B User Agent 20 determines that no corresponding communications session exists. It therefore returns a SIP 200 OK message with a held SDP (266). On receipt of the SIP 200 OK message, the media gateway 96 returns an ANM message to the MSC 92 (268).
Meanwhile, B-Party hangs (270) up the SIP telephone 95, which prompts the SIP telephone 95 to send a Disconnect message to the IP-PBX 98 (272). The IP-PBX 98 responds with an ACK message (274). The IP-PBX 98 is programmed to report disconnects of subscribers to Mobile Call Pickup service to the CSN/B2B User Agent 20, and sends an EventReport to the CSN/B2B User Agent 20 indicating that it has received a Disconnect from the IP telephone 95 (276). On receipt to the EventReport, the CSN/B2B User Agent 20 applies application logic to perform event correlation (278) and determines that B-Party is a Mobile Call Pickup service subscriber, and that a pickup request was already received at 260. Consequently, the CSN/B2B User Agent 20 formulates a Forward communications session request instructing the IP-PBX 98 to forward the A-Party connection to the CSN/B2B User Agent 20 (280). The Forward communications session request includes a URI of the CSN/B2B User Agent 20 and a From indication equal to a Session ID assigned by the CSN/B2B User Agent 20 (280).
On receipt of the Forward communications session instruction, the IP-PBX 98 formulates the SIP Invite message which it sends to the CSN/B2B User Agent 20 (282). The SIP Invite message includes the R-URI of the CSN/B2B User Agent 20, a From indication equal to the Session ID, and a SDP including the PBX port number of the A-Party connection. The CSN/B2B User Agent 20 responds with a SIP 100 Trying message (284). The CSN/B2B User Agent 20 then applies application logic to perform event correlation (286) using the information received in the SIP Invite message at 282, and determines that it has two communications sessions that need to be joined. Consequently, the CSN/B2B User Agent 20 formulates a SIP Re-Invite message with a SDP specifying PBX Port #1 and forwards the SIP Re-Invite message to the media gateway 96 (288). The media gateway 96 responds with the SIP 200 OK message containing a SDP specifying media gateway Port #2. The CSN/B2B User Agent formulates a SIP 200 OK message that it sends to the IP-PBX 98 with a SDP specifying the media gateway Port #2 (292). Thereafter, A-Party is connected to B-Party's mobile handset via the MSC 92 and media gateway 96 (294).
When B-Party roams outside an area served by the PLMN, B-Party loses cellular service (302). As is well understood by those skilled in the art, when a base station loses contact with a cellular telephone engaged in an active communication session, the MSC 92 attempts to re-establish service (304). After a predetermined time, the MSC will declare timeout (306) and cancel the session. As described above, B-Party's cellular subscription enables a Disconnect Trigger that forces the MSC 92 to send an EventReport message with an Event Type equal to T-Disconnect (308) to the CSN/B2B User Agent 20 when the MSC 92 cancels the communication session.
The CSN/B2B User Agent 20 performs event correlation (309) by applying application logic to analyze the EventReport, and determines that B-party is a subscriber to the Mobile call recovery service. The CSN/B2B User Agent 20 is programmed to maintain the connection to any connected party when a T-Disconnect EventReport message is received. Consequently, the CSN/B2B User Agent 20 formulates a Connect message (310) and sends it to the sender of the EventReport, in this example, the MSC 92. The Connect message includes a dial number used to reach the CSN/B2B User Agent 20 from the PSTN, and a Redirecting Party ID equal to a Session ID assigned by the CSN/B2B User Agent 20. On receipt of the Connect message, the MSC 92 formulates an ISUP Initial Address Message (IAM) and forwards it (312) to the media gateway 96. When the media gateway 96 receives the IAM message, it formulates a communications session request, in this example a SIP Invite message (314) which it sends to the CSN/B2B User Agent 20. The SIP Invite message includes a URI equal to an address of the CSN/B2B User Agent 20 and indicates that the SIP Invite is from the Session ID assigned by the CSN/B2B User Agent 20 at 310. The SIP Invite message further includes a SDP specifying a media gateway Port #1. For the sake of clarity in the description that follows, the SIP Invite message is identified as being associated with A-Leg of a communications connection to be established.
The CSN/B2B User Agent 20 responds with a SIP 100 Trying message (316). Thereafter, the CSN/B2B User Agent 20 performs event correlation (318) by applying application logic to determine the noted relation between the Connect message sent at 310 and the SIP Invite sent at 134, i.e. the Session ID. The CSN/B2B User Agent 20 therefore formulates a SIP 183 Session Progress message (319) containing information that will permit the media gateway 96 to play an announcement to the A-Party. That information may be, for example, an IP address of an announcement server; a port number of the announcement server; and, a codec type of the announcement content. As is well understood by those skilled in the art, additional signaling between the CSN and the media gateway 96 is required to pass the announcement server RTP information. On receipt of the SIP 183 Session Progress message (319), the media gateway 96 returns an Address Complete (ACM) to the MSC 92 (320). Then using the announcement server information, the media gateway 96 plays an announcement (322) to A-Party requesting that A-Party stay on the line while an attempt is made to re-establish the service connection to B-Party.
Meanwhile, the mobile handset 94 enters, or re-enters, a wireless service area and detects the wireless service (324). An applet that is active on the mobile handset 94 is programmed to launch a communications session request to the CSN/B2B User Agent 20 (326) whenever service is detected after an active communications session has been interrupted. The communications session request launch may be governed a predetermined timeout, and may not be performed if a predetermined time has elapsed since the call was interrupted. In this example, the wireless service is detected before the timeout, and the communications session request is automatically launched by the mobile handset applet by sending dialed digits for launching a call to the CSN/B2B User Agent 20 from the PSTN (328). On receipt of the dialed digits, the MSC 92 formulates an ISUP Initial Address Message (IAM) and forwards it (330) towards the media gateway 96, as dictated by translation of the dialed digits.
On receipt of the IAM, the media gateway 96 formulates a SIP Invite message and sends it to the CSN/B2B User Agent 20 (332). The SIP Invite message includes a R-URI of the CSN/B2B User Agent 20; a From indication equal to the DN of the B-Party; and a SDP indicating the media gateway port number associated with the communications session, i.e. Port #2. For clarity, the SIP Invite message is labeled “B-Leg”, indicating the second independent communications session join request received by the CSN/B2B User Agent 20. The CSN/B2B User Agent 20 responds to receipt of the SIP Invite message by returning a SIP 100 Trying message (334). The CSN/B2B User Agent 20 then performs event correlation (336) by applying application logic to determine whether the SIP invite is associated with any other communications session join request that it has recently received. The application logic discovers an association between the SIP Invite message received at 314 and the SIP Invite message received at 332.
Consequently, the CSN/B2B User Agent 20 returns a SIP OK message that points to Port #1 of the media gateway 96 (338) to join B-Leg to A-Leg. On receipt of the SIP 200 OK message the media gateway 96 formulates an ISUP Answer (ANM) message which it sends to the MSC 92 (340) and then their returns a SIP ACK message (342) to the CSN/B2B User Agent 20. The CSN/B2B User Agent 20 then sends a SIP 200 OK message containing the announcement information to the media gateway 96 (344). On receipt of the SIP 200 OK message, the media gateway 96 formulates another ANM message (346) and sends it to the MSC 92. The media gateway 96 then returns a SIP ACK message (348) to the CSN/B2B User Agent 20. The CSN/B2B User Agent 20 responds by sending a SIP Update message to the media gateway 96 indicating that media gateway is to use the median gateway port (Port # 2) sent to the CSN/B2B User Agent 20 at 332 to join A Leg to B Leg. The media gateway 96 returns a SIP 200 OK (352), and thereafter A-Party is re-connected to B-Party via the MSC 92 and the media gateway 96. This service therefore automatically re-connects an interrupted wireless communications session without effort by either party.
The communications session join function embodied in the CSN as a back-to-back User Agent in accordance with the invention therefore provides a versatile tool in the switched packet network. The communications session join function can be used to provide a plurality of different communications services in a variety of ways. The examples presented above are neither comprehensive nor exhaustive.
The scope of the invention is therefore intended to be limited solely by the scope of the appended claims.
This application claims the benefit of applicant's U.S. Provisional Patent Application No. 60/692,578 filed Jun. 22, 2005.
Number | Date | Country | |
---|---|---|---|
60692578 | Jun 2005 | US |