The subject matter described herein relates to methods, systems, and computer program products for providing packet network-based communication services. More particularly, the subject matter described herein relates to methods, systems, and computer program products for dynamically controlling a PSTN network element from an IP network element using signaling.
In telecommunications networks, it is becoming increasingly desirable to provide services to subscribers via an IP network, due to the reduced cost of IP networking equipment relative to the corresponding circuit switched equipment. Examples of services that it may be desirable to provide include Internet call waiting, call forwarding, caller ID delivery, or other services. Providing each of these services using IP equipment requires notification of PSTN events, such as call termination attempts.
In order to address some of the issues associated with providing services using IP equipment, IETF RFC 3910, entitled the SPIRITS (services in the PSTN requesting Internet services) protocol, draft-IETF-SPIRITS-protocol-04.txt, Feb. 2003, the disclosure of which is incorporated herein by reference in its entirety, specifies methods by which a SPIRITS server can subscribe and receive notification of events in the PSTN. For example, for the Internet caller ID delivery service, where a subscriber connected to the Internet via a dial-up connection receives the identification of a caller, the SPIRITS protocol presents a call flow for providing the service. In the call flow, a SPIRITS server subscribes to receive notification from a SPIRITS client of an incoming call attempt. A termination attempt trigger must be set at the called party's end office to detect calls to the called party. When a trigger is detected, the end office notifies the SPIRITS client, which notifies the SPIRITS server of the termination attempt. The notification from the SPIRITS client will include the caller ID.
While the SPIRITS protocol specifies call flows for providing simple services, such as Internet caller ID and call waiting, the SPIRITS protocol fails to completely specify how to perform services that require ongoing participation of PSTN entities, such as end offices. The SPIRITS protocol also lacks many advanced intelligent network (AIN) messages that are available in the PSTN. Another shortcoming of the SPIRITS protocol is that it fails to include a method for sending unsolicited messages to AIN nodes for calls requiring dynamic treatment. The examples in the SPIRITS protocol relate to delivering event notifications to the SPIRITS server in response to PSTN events.
One example of a service that requires dynamic treatment is dynamic redirection of a call from one phone to another phone using an IP interface. For example, it may be desirable for a caller to receive notification via his or her computer terminal at work of calls that the caller receives at home. When the caller receives a call to his or her home telephone number, a window may appear on the caller's computer terminal at work indicating that his or her home phone is ringing. If no one answers the call within a few seconds, it may be desirable for the user to redirect the call to his or her work phone or cell phone. The SPIRITS protocol provides methods for the user to receive notification of the call but not to dynamically redirect the call to another phone.
Some dynamic services are available. For example, the Verizon iobi service allows users to receive notification of incoming calls via a computer interface and either answer the call or forward the call to voicemail. However, none of the examples available on the Verizon iobi website (http://www.22.verizon.com/business/iobi/) disclose dynamic call redirection to a location other than voicemail. In general, it is believed that there is no available mechanism for an IP application server to dynamically control a PSTN network element to provide dynamic call treatment.
Accordingly, there exists a need for methods, systems, and computer program products for dynamically controlling a PSTN network element from an IP network element using signaling.
According to one aspect, the subject matter described herein includes a method for dynamically controlling a PSTN network element from an IP network element using signaling. The method includes receiving a first SIP message from an IP application server. The first SIP message may identify a call event trigger associated with a subscriber to a circuit switched network. A first SS7 message identifying the call event trigger and the subscriber may be generated in response to receiving the first SIP message. The first SS7 message may be routed to a circuit switched network node. A second SS7 message may be received from the circuit switched network node. The second SS7 message may indicate triggering of the call event corresponding to the trigger. A second SIP message indicating triggering of the call event may be generated and routed to the IP application server in response to receiving the second SS7 message. A third SIP message may be received in response to the second SIP message. The third SIP message may specify a PSTN call control function.
According to another aspect, the subject matter described herein may provide for specifying that a call be established between phones. One exemplary method for specifying such a call may include receiving a first SIP message from an IP application server. The first SIP message may specify to establish a call between phones. At least one of the phones may be associated with a subscriber to a circuit switched network. In response to receiving the first SIP message, a first SS7 message may be generated that specifies that the call be established between the phones. The first SS7 message may be routed to a circuit switched network node.
According to another aspect, the subject matter described herein may provide information for use during resumed call setup processing. One exemplary method may include receiving a request by a calling party to communicate with a called party at circuit switched network node. In response to receiving the request, call setup processing may be suspended and a TCAP request message generated which is routed to a SIP-SS7 gateway. The TCAP request message may be received at the SIP-SS7 gateway. The SIP-SS7 gateway may generate a related SIP request message. The SIP request message may be communicated to a VoIP application server function. A call control function may be performed and an associated SIP response message generated at the VoIP application server function. The SIP response message may be routed to the SIP-SS7 gateway. At the SIP-SS7 gateway, the SIP response message may be received and a related TCAP response message generated. The TCAP message may be routed to the circuit switched network node. The TCAP response message may be received at the circuit switched network node. The circuit switch network node may use information conveyed in the TCAP response message during resumed call setup processing.
The subject matter described herein can be implemented as a computer program product comprising computer executable instructions embodied in a computer readable medium. Exemplary computer readable media suitable for implementing the subject matter described herein include disk memory devices, chip memory devices, application specific integrated circuits, programmable logic devices, and downloadable electrical signals. In addition, a computer program product that implements the subject matter described herein may be located on a single device or computing platform. Alternatively, the subject matter described herein can be implemented on a computer program product that is distributed across multiple devices or computing platforms.
Exemplary embodiments of the subject matter will now be explained with reference to the accompanying drawings, of which:
According to one aspect, a telecommunications system for providing packet network-based communication services to circuit switched network subscribers may be implemented as hardware, software, and/or firmware components executing on one or more components of a telecommunications system. The subject matter described herein may be used for providing a circuit switched network subscriber with the ability to view call activity information associated with a remote phone. The call activity information may be provided to the subscriber via a graphical user interface (GUI). Further, the call activity may be logged.
The subject matter described herein may provide a subscriber with the ability to specify PSTN call control functions and to dynamically instruct a PSTN network element to implement the control functions. The PSTN call control functions may be specified via a GUI. The subscriber may be able to remotely control static call activity, such as send to voice mail, ignore a call, call later, and call redirect, on a call-by-call basis and time of day. Further, the subscriber may be able to dynamically route incoming calls to the remote phone. Click-to-dial functionality, simultaneous ringing, and find-me call control functions may also be provided to the subscriber. Call control functions may be specified by a subscriber at a web-enabled computer.
The subject matter described herein may also provide other advanced intelligent network (AIN) services in IP networks. Further, the subject matter described herein facilitates communication between AIN nodes and SIP nodes for hosting and defining services in the AIN domain and the SIP domain. These services may be provided to SIP and PSTN subscribers. A subscriber may control the implementation of these services at a web-enabled computer.
VoIP application server 106 may generate and communicate a session initiation protocol (SIP) message to SIP-signaling system 7 (SS7) gateway (SSG) 108 for identifying a call event trigger associated with subscriber 100. SSG 108 may receive the SIP message from VoIP application server 106. In response to receiving the SIP message identifying the call event trigger, SSG 108 may generate and route an SS7 message identifying the call event trigger and subscriber 100 to a circuit switched network node. For example, the SS7 message identifying the call event trigger and subscriber 100 may be routed to a service switching point (SSP) 110. Exemplary call events that may trigger a call event trigger include a termination attempt or incoming call to the subscriber, an off-hook delay, an answer, a busy indication, and no answer. Further, for example, call triggering may occur based on a calling source and a time of day that the call is made.
SSP 110 may receive the SS7 message from SSG 108 and enable or arm a call event trigger for triggering on detection of the call event identified by the SS7 message. Such dynamic arming of a trigger in response to a received signaling message is not possible using the SPIRIT protocol described above. In response to triggering of the call event, SSG 108 may generate and communicate an SS7 message indicating triggering of the call event and route the SS7 message to SSG 108. Further, the SS7 message may identify the subscriber associated with the trigger.
In response to receiving the SS7 message indicating triggering of the call event, SSG 108 may generate and route a SIP message to VoIP application server 106 for indicating triggering of the call event. Further, the SIP message may indicate the subscriber associated with the trigger. In response to receiving the SIP message indicating triggering of the call event, VoIP application server 106 may generate and route a SIP message to SSG 108 for specifying a PSTN call control function. Exemplary call control functions include redirecting an incoming call and terminating an incoming call.
VoIP application server 106 may generate and communicate a SIP message for specifying the PSTN call control function. SSG 108 may generate a corresponding SS7 message for specifying the PSTN call control function and may forward the message to SSP 110. In response to receiving the SS7 message specifying the PSTN call control function, SSP 110 may perform the PSTN call control function.
VoIP application server 106 may communicate a message to computer 102 for indicating triggering of the call event. Notification of call event triggering may be viewed by subscriber 100 via computer 102. For example, computer 102 may include a display for displaying a window for notifying subscriber 100 of call event triggering.
VoIP application server 106 may generate and communicate a message to a call log server 112 for indicating triggering of the call event for subscriber 100. In response to receiving the message, call log server 112 may generate and store a record of the call event for subscriber 100 in a content store 114. Exemplary call log record information includes a directory number associated with the call event and a time of occurrence of the call event.
Further, triggering of the call event corresponding to the trigger and setting up redirection of the call to the predetermined directory number occur in real-time. This feature may be advantageous, for example, because a subscriber may be able to redirect the call to another phone in real-time before a calling party disconnects or otherwise terminates the call.
In this example, call log server 112 and content store 114 are external to VoIP application server 106. However, the subject matter described herein is not limited to such as embodiment. For example, a call log server and a content store may be integrated within a VoIP application server. In such an implementation, the VoIP application server may receive a message and, based on the message, determine a call event for a subscriber. The VoIP application server may store a record of the call event in a call log server database.
In block 210, SSG 108 may receive SS7 message 122 from SSP 110. In response to receiving SS7 message 122, SSG 108 may generate a SIP message 124 that indicates triggering of the call event, and route SIP message 124 to IP application server 106. Rather than using the Subscribe-Notify method specified by the above-referenced SPIRITs protocol, SIP message 124 may be a SIP Options message including SIP call-identifier for correlating subsequent messages. The SIP Options message is traditionally used by SIP nodes to learn the capabilities of other nodes. Rather than using the SIP Options message in this way, SSG 108 may use the message to pass event notifications received from PSTN nodes, such as SSP 110, to IP application server 106. If the Subscribe-Notify procedure of the SPIRITs protocol were used, SSG would be required to maintain a database of directory numbers and corresponding subscribed-to events. However, according to the present embodiment, SSG 108 is not required to maintain such a database. In stead, SSG 108 passes notification of PSTN events to IP application server 106. IP application server 108 may store a database of DNs and corresponding instructions for responding to or providing subscriber notification of PSTN triggers.
In one example, in response to receiving notification of a PSTN event concerning a DN for which IP application server stores trigger information, IP application server 106 may send a message to computer 102 via IP network 107 for indicating triggering of the call event. Subscriber 100 may view an indication of triggering of the call event on computer 102 and input instructions for executing a PSTN call control function related to the call event. The instructions may be communicated to IP application server 106 via IP network 107. IP application server 106 may analyze the instructions, generate a SIP message 126 specifying the PSTN call control function based on the instructions, and communicate SIP message 126 to SSG 108.SSG 108 may receive SIP message 126 (block 212). Further, in response to receiving SIP message 126, SSG 108 may generate an SS7 message 128 specifying the PSTN call control function associated with subscriber 100, and route SS7 message 128 to SSP switch 110 (block 214). SSP switch may receive SS7 message 128 and implement the PSTN call control function specified therein.
Another advantage of storing subscriber DN and corresponding trigger information at IP application server 106 rather at SSG 108 is that the number of messages required to subscribe to a PSTN event is reduced over that required by the SPIRITs protocol. For example, according to the SPIRITs protocol, a subscribe message is sent from a SPIRITs server to a SPIRITs client for subscribing to a PSTN event. The SPIRITs client sends a first Notify message to the SPIRITs server indicating that the DN specified by the subscribe message is valid. The SPIRITs client then communicates with the PSTN network element-and receives notification that the trigger is armed and updates its database. The SPIRITs client then sends a message to the SPIRITs server indicating that the notification has been armed. Thus, the SPIRITs protocol requires two Notify messages for a SPIRITs client to subscribe to notification of an event. According to the present embodiment, a single Subscribe and a single Notify message may be used to subscribe to notification of a PSTN event. For example, IP application server 106 may send a Subscribe message to SSG 108 to subscribe to a PSTN event. SSG 108 may generate a corresponding TCAP message and send the message to SSP 106. SSP 106 may confirm that the notification has been set by sending a TCAP response to SSG 108. SSG 108 may send a single notification message to IP application server 106 indicating that the notification has been armed or set in the PSTN.
Yet another enhancement of the subject matter described herein over the SPIRITs protocol is the concept of infinite subscription. For example, in the SPIRITs protocol, each SIP Subscribe message includes an Expires header that carries a nonzero value that defines the finite duration of the associated subscription to receive notification of a PSTN event. When the duration expires, the subscribing node must resubscribe to the event. According to the present subject matter, subscriptions to PSTN events may be infinite. That is, IP application server 106 may send a SIP Subscribe message to SSG 108 for subscribing to a PSTN event. The Subscribe message may include any nonzero value in its Expires field. In response to receiving such a message, SSG 108 may send a corresponding TCAP message to the PSTN network element for subscribing to the event and may treat the subscription as infinite. That is, SSG 108 may continue to communicate notification of occurrences of the subscribed-to PSTN event to IP application server 106 in response to the single subscribe message until the IP application server 106 unsubscribes from the event. Thus, the need for repeated resubscriptions to an event is avoided.
One exemplary service that may be provided by the subject matter described herein is a click to call feature.
IP application server 106 may receive message 302 and, in response to receipt of message 302, generate and communicate a SIP Invite message 304 to a softswitch 306 for setting up a call between phones 104 and 300. Next, softswitch 306 may generate and communicate a Setup message 308 to SSP switch 110. Switch 110 may respond to softswitch 306 with CallProc, Alert, and Conn messages 310. In response to receiving messages 310, softswitch 306 may send a 200 OK SIP message 312 to server 106. Further, softswitch 306 may set up trunk connections to Class 5 switching equipment by sending a Setup message 314 to the Class 5 switching equipment via switch 110 for a directory number (DN) for phone 300. The Class 5 equipment may respond with Call Proc, Alert, and Conn messages 316. Softswitch 136 may send another 200 OK SIP message 318 to server 106. Next, softswitch 306 and server 120 may interface for connecting the two calls with a Two B-Channel Transfer (TBCT) process. Thus, by selecting the click-to-call feature at computer 102, subscriber 100 may establish a call between phones 106 and 300.
In response to receiving message 402, SSG 108 may generate and route a SIP message 404 carrying the termination attempt information to application server 106 for indicating triggering of the termination attempt to the directory number associated with subscriber 100. In response to receiving SIP message 404 indicating the termination attempt, application server 106 may generate and communicate a message 406 to computer 102 via IP network 107 for indicating the termination attempt. Notification of the termination attempt may be viewed by subscriber 100 on a pop-up window displayed by computer 102.
Returning to
Alternatively, message 410 can include instructions for answering the call, not answering the call, and indicating that the calling party that the called party is busy. Further, message 410 may provide instructions for sending notifications about the status of the call, such as a call termination event.
Subscriber 100 may enter an instruction into computer 100 for forwarding the call to another directory number. For example, subscriber 100 may use an input interface of computer 100 for redirecting the call in real-time to another number associated with phone 104 accessible by subscriber 100. Computer 100 may generate and communicate a message 412 to application server 106 via IP network 107 for forwarding the call to phone 104.
In response to receiving message 412, application server 106 may generate and communicate a SIP CancelResourceEvent message 414 to SSG 108 for canceling management of the call by the CO-IVR resource. In response to receiving message 414, SSG 108 may generate and communicate an SS7 CancelResourceEvent message 416 to SSP 110 for canceling management of the call by the CO-IVR resource. In response to receiving message 416, SSP 110 may communicate a message to the CO-IVR resource with instructions to cancel management of the call.
The CO-IVR may cancel management of the call. SSP 110 may determine cancellation of the call and communicate an SS7 TCAP ResourceClear message 418 to SSG 108 for indicating cancellation of the resource management. In response to receiving message 418, SSG 108 may generate and communicate an SIP ResourceClear message 420 to application server 106 for indicating cancellation of the resource management.
Application server 106 may generate and communicate a SIP ForwardCall message 422 to SSG 108 for forwarding the call to the other directory number. In response to receiving message 422, SSG may generate and communicate an SS7 ForwardCall message 424 to SSP 110 for forwarding the call to the other directory number. In response to receiving message 422, SSP switch 110 may forward the call to phone 104. Thus, this exemplary process results in dynamic redirecting of an incoming call by subscriber 100 at computer 102 to phone 104.
According to one embodiment, an incoming call may be dynamically rerouted to a CO-IVR resource in response to triggering. If the calling party disconnects, the call may be managed for disconnecting the call.
In response to receiving message 502, SSG 108 may generate and route a SIP message 504 to application server 106 for indicating triggering of the termination attempt to the directory number associated with subscriber 100. In response to receiving SIP message 504 indicating the termination attempt, application server 106 may generate and communicate a message 506 to computer 102 via IP network 107 for indicating the termination attempt. Notification of the termination attempt may be viewed by subscriber 100 on a pop-up window displayed by computer 102.
Further, in response to receiving SIP message 504 indicating the termination attempt, application server 106 may generate and communicate a SIP SendtoResource message 508 to SSG 108 for rerouting the incoming call to a CO-IVR resource for managing the incoming call. In response to receiving message 508, SSG 108 may generate and communicate an SS7 SendtoResource message 510 to SSP switch 110 for rerouting the incoming call to the CO-IVR resource. In response SSP switch 110 may reroute the incoming call to the CO-IVR resource.
The calling party associated with phone 300 may disconnect the call. In response, SSP switch 110 may generate and communicate an SS7 ResourceClear message 512 to SSG 108 for indicating the call disconnect. In response to receiving message 512, SSG 108 may generate and communicate an SIP ResourceClear message 514 to application server 120 for indicating the call disconnect.
In response to receiving message 514, application server 120 may generate and communicate to SSG 108 a SIP Continue message 516 for continuing disconnection of the call. SSG 108 may generate and communicate to SSP switch 110 an SS7 Continue message 518 for continuing disconnection of the call. SSP switch 110 may then disconnect the call.
According to one embodiment, a find-me/simulation ring feature may be provided to a circuit switched network subscriber in accordance with the subject matter described herein. The find-me/simulation ring feature may include determining that an incoming call should be forwarded to another number associated with a subscriber, determining the other number associated with the subscriber, and forwarding the call to the other number. The call may be forwarded to the other number and appear to the calling party that the call was not forwarded.
In response to receiving message 602, SSG 108 may generate and route a SIP termination attempt message 604 to application server 106 for indicating triggering of the termination attempt to the directory number associated with subscriber 100. In response to receiving SIP message 604 indicating the termination attempt, application server 106 may include a call event trigger for setting up a call between a calling party to a predetermined directory number and phone 104 accessible by subscriber 100 when receiving notification of an incoming call to the directory number. For example, subscriber 100 may use computer 102 for setting up the call event trigger to set up the incoming call to phone 104.
Application server 106 may determine that the call event trigger is triggered by message 604. In response to determining triggering of the call event trigger, application server 106 may generate and communicate to SSG 108 a SIP message 606 for indicating that the incoming call is to be forwarded to softswitch 306. In response to receiving message 606, SSG 108 may generate and communicate to SSP switch 110 an SS7 ForwardCall message 608 for forwarding the incoming call to softswitch 306. In response to receiving message 608, SSP switch 110 may reroute the incoming call to softswitch 306.
Softswitch 306 may interface with application server 106 for connecting the call to an announcement. For example, an IVR function may play an announcement to the calling party that indicates that the call is being forwarded to another terminal.
Application server 106 may generate and communicate to softswitch 306 a SIP Invite message 610 indicating one or more directory numbers associated with subscriber 100. In response to receiving message 610, softswitch 306 may generate and communicate one or more TCAP Setup messages to Class 5 switching equipment for the directory numbers associated with subscriber 100. The Class 5 equipment may respond with Call Proc, Alert, and Conn messages. Softswitch 306 may send a 200 OK SIP message to application server 106. Next, softswitch 306 and application server 106 may interface for disconnecting the IVR function. Further, softswitch 306 and application server 106 may interface for connecting two calls between phone 300 and a terminal accessible by subscriber 100 with a Two B-Channel Transfer (TBCT) process. Calls to other terminals may be disconnected.
In one embodiment, an IP application server address may provide address book management tools to a subscriber. Referring to
In one embodiment, an IP application server may provide call log information and management tools to a subscriber. Referring to
The ability to view calls to phones from a remote location may be beneficial, for example, because a subscriber may view calls to a home phone at a remote location remote from the phone. For example, calls to a home phone may be viewed at an office or hotel. The calls may be displayed at the remote location through a web browser interface.
According to one embodiment, a VoIP application server may be configured to obtain and present presence information associated with subscribers listed in a call log. Presence information is information about the on-line activity and status of users on a network that is obtained from a presence server by subscribing to a user in the presence server. Presence information regarding a subscribed-to user may be delivered to a subscriber in response to changes in status of the subscribed-to user.
According to one embodiment, a VoIP application server may be configured to obtain and NAPTR information associated with subscribers listed in a call log. NAPTR information refers to Naming Authority Pinter information and is DNS information obtained in response to an E.164 numbering (ENUM) query regarding a phone number. One example of NAPTR information that may be returned in response to an ENUM query is one or more SIP URIs.
According to another aspect of the subject matter described herein, call log function 700 may use NAPTR record information for obtaining presence information from presence server 702.
In one embodiment, an IP application server may provide call treatment services to a subscriber. Examples of call treatment services include screening incoming calls and allowing important calls to pass while routing others to voicemail. Referring to
According to one embodiment, the subject matter described herein provides for notifying a circuit switched network subscriber that an incoming call was locally answered.
According to one embodiment, the subject matter described herein provides for notifying a circuit switched network subscriber that an incoming call was locally terminated.
Application server 106 may respond to message 1104 with a SIP Continue message 1108 for continuing the call to phone 104. In response to receiving SIP Continue message 1108, SSG 108 may generate and communicate to SSP switch 110 a TCAP Continue message 1110 for continuing the call to phone 104.
SSP switch 110 may detect no call waiting service for phone 104, and, in response to the detection, return a busy tone to calling phone 300. In response to the busy tone, calling phone 300 may be disconnected by its user. In response to detecting disconnection, SSP 110 may generate and communicate to SSG 108 a TCAP TerminationNotification message 1112 for indicating that the incoming call was terminated. In response to receiving message 1002, SSG 108 may generate and communicate to application server 106 a SIP TerminationNotification message 1114 for indicating that that the incoming call was terminated. In response to receiving message 1114, application server 106 may generate and communicate to computer 102 a message 1116 for indicating that the incoming call was terminated. Computer 102 may update the call status to indicate that the incoming call was terminated. The call activity may be logged by call log server 112.
Application server 106 may respond to message 1204 with a SIP ForwardCall message 1208 for forwarding the call to a predetermined directory number. The predetermined directory number may be set by subscriber 100 by using computer 102. In response to receiving message 1208, SSG 108 may generate and communicate to a TCAP ForwardCall message 1210 to direct SSP switch 110 to forward the incoming call to the predetermined directory number, which may be associated with a phone accessible by subscriber 100. SSP switch 110 may reroute the incoming call to the predetermined directory number.
Application server 106 may respond to message 1304 with a SIP {[OfferCall], RRBE[T_Answer, T_No_Answer]} message 1308 for providing call waiting service to the incoming call. In response to receiving message 1308, SSG 108 may generate and communicate to SSP switch 110 a TCAP OfferCall message 1310 in a multi-component package for providing call waiting service to the incoming call.
SSP 110 may detect no answer at phone 104. In response to detecting no answer, SSP switch 110 may generate and communicate to SSG 108 a TCAP T_No_Answer message 1312 for indicating no answer to the incoming call. In response to receiving message 1312, SSG 108 may generate and communicate to application server 106 a SIP T_No_Answer message 1314 for indicating no answer to the incoming call.
In response to receiving message 1314, application server 106 may generate and communicate to SSG 108 a SIP ForwardCall message. 1316 for forwarding the call to a predetermined directory number. The predetermined directory number may be set by subscriber 100 by using computer 102. In response to receiving message 1314, SSG 108 may generate and communicate to a TCAP ForwardCall message 1316 to direct SSP switch 110 to forward the incoming call to the predetermined directory number, which may be associated with a phone accessible by subscriber 100. SSP switch 110 may reroute the incoming call to the predetermined directory number.
Application server 106 may respond to message 1404 with a SIP {[Continue], RRBE[T_Answer]} message 1408 for providing call waiting service to the incoming call. In response to receiving message 1408, SSG 108 may generate and communicate to SSP switch 110 a TCAP Continue message 1410 in a multi-component package for providing call waiting service to the incoming call.
SSP switch 110 may detect an answer to the incoming call from phone 300 to phone 104. In response to detecting the answer, SSP switch 110 may generate and communicate to SSG 108 a TCAP T_Answer message 1412 for indicating the answer. In response to receiving message 1412, SSG 108 may generate and communicate to application server 106 a SIP T_Answer message 1414 for indicating the answer.
In response to receiving message 1414, application server 106 may generate and communicate to computer 102 a message 1416 for indicating that the incoming call was answered. Computer 102 may update its GUI to indicate that the incoming call was answered.
In some instances, a subscriber may wish to receive notification of an incoming call to a PSTN phone but may wish to decline from taking any action to control the call.
Application server 106 may respond to message 1504 with a SIP Continue message 1508 for continuing the ringing phone 104. In response to receiving message 1508, SSG 108 may generate and communicate to SSP switch 110 a TCAP Continue message 1510 for continuing the ringing phone 104. In response to receiving message 1510, SSP switch 110 may permit the continuation of ringing phone 104.
In response to receiving message 1604, application server 106 may respond to message 1604 with a SIP ForwardCall message 1606 for forwarding the incoming call to voice mail or a directory number of a mobile phone. In response to receiving message 1606, SSG 108 may generate and communicate to SSP switch 110 a TCAP ForwardCall message 1608 for redirecting the incoming call to voice mail or the directory number of the mobile phone. In response to receiving message 1608, SSP switch 110 may redirect the call.
Computer 102 may display the call log information on a display. For example, the listing of calls with directory numbers may be displayed. Subscriber 100 may select a displayed directory number for setting up a call between phone 104 accessible by subscriber 100 and phone 300 associated with the selected directory number by using the click-to-call feature. Computer 102 may communicate a click-to-call message 704 to application server 106 for setting up a call between phones 104 and 300.
In response to receiving click-to-call message 704, application server 106 may generate and communicate to SSG 108 a SIP {[CreateCall], RRBE[Origination_Attempt, Send_Notification]} message 706 for creating a call between phones 104 and 300. In response to receiving message 706, SSG 108 may generate and communicate to SSP switch 110 a TCAP CreateCall message 708 in a multi-component package for creating a call between phones 104 and 300.
SSP 110 sets up a call for ringing phone 104 accessible by subscriber 100. Phone 104 may go off-hook when subscriber 100 answers phone 104. SSP 110 may detect answering of phone 104, and in response to the answer detection, generate and communicate to SSG 108 a TCAP Origination_Attempt_Requested notification message 710. In response to receiving message 710, SSG 108 generates and communicates to application server 106 a SIP Origination_Attempt_Requested notification message 712. Further, SSP 110 makes a call connection between phones 104 and 300. Application server 106 may report the call activity to call log server 112 for logging.
In the illustrated example, processing module 1800 comprises a link interface module (LIM) for interfacing with SS7 signaling links. LIM 1800 includes a message transfer part (MTP) level 1 and 2 function 1808, a gateway screening function 1810, a discrimination function 1812, a distribution function 1814, and a routing function 1816. MTP level 1 and 2 function 1808 performs MTP level 1 and 2 operations, such as error correction, error detection, and sequencing of SS7 signaling messages. Gateway screening function 1810 screens incoming SS7 signaling messages based on one or more parameters in the messages. Discrimination function 1812 determines whether a received SS7 signaling message should be distributed to another processing module within routing node 108 for further processing or whether the message should be routed over an outbound signaling link. Discrimination function 1812 forwards messages that are to be distributed for internal processing to distribution function 1814. Distribution function 1814 forwards the messages to the appropriate internal processing module. Routing function 1816 routes messages that are required to be routed based on MTP level 3 information in the messages. Signaling messages associated with call event triggers may be forwarded to call service module 1804. For example, all received ISUP messages may be forwarded to call control module 1804.
Processing module 1802 comprises data communications module (DCM) for sending and receiving signaling messages via IP signals links. DCM 1802 includes a network and physical layer function 1818, a transport layer function 1820, an adaptation layer function 1822, and layers 1810, 1812, 1814, and 1816 described with regard to LIM 1800. Network and physical layer function 1818 performs network and physical layer functions for sending and receiving messages over IP links. For example, function 1818 may implement IP over Ethernet. Transport layer function 1820 implements transport layer functions. For example, transport layer function 1820 may implement transmission control protocol (TCP), user datagram protocol (UDP), or stream control transmission protocol (SCTP). Adaptation layer function 1822 performs operations for adapting signaling messages, such as SS7 signaling messages, for transport over an IP network. Adaptation layer function 1822 may implement using any of the IETF adaptation layer protocols, such as M3UA, M2PA, SUA, TALI, or other suitable adaptation layer protocol. Functions 1810,1812,1814, and 1816 perform the operations described above for the corresponding numbered components of LIM 1800. Received signaling messages associated with call event triggers may be forwarded to call control module 1804.
Processing module 1804 is a call control module (CCM) for providing call control services. CCM 1804 may include a call control function 1824 for copying signaling messages associated with call event triggers and for forwarding the copies to CCM 1804. As stated above, SSG 108 may receive SIP messages from application server 106 that identify a call event trigger associated with subscriber 100. For example, a service control manager 1826 of application server 106 may generate and communicate to SSG 108 a SIP message that identifies a call event trigger that triggers on detection of an incoming call to a predetermined directory number of a phone. The phone may be associated with a subscriber to a circuit switched network. DCM 1802 may receive the SIP message, determine that the SIP message is associated with call event triggers, and forward a copy of the SIP message to CCM 1804. In response to receiving the copy of the SIP message, CCM 1804 may generate an SS7 message identifying the call event trigger and the subscriber, and forward the SS7 message to LIM 1800 for routing to a circuit switched network node. The circuit switched network node may set the call event trigger for detecting an incoming call to a predetermined directory number of a phone.
On call event triggering at the circuit switched network node, the network node may generate and communicate to SSG 108 an SS7 message indicating triggering of the call event corresponding to the call event trigger. LIM 1800 may receive the SS7 message, determine that the SS7 message is associated with call event triggers, and forward a copy of the SS7 message to CCM 1804. In response to receiving the copy of the SS7 message, CCM 1804 may generate a SIP message indicating triggering of the call event corresponding to the call event trigger, and forward the SIP message to DCM 1802 for routing to application server 106. Service control manager 1826 may examine SIP message and determine a call control function based on the call event triggering. In one example, the call event triggering can be reported to subscriber 100 at computer 102. In this example, subscriber 100 may use computer 102 to specify a call control function for application server 106. In another example, the call control function may be stored at application server 106 for implementation on the call event triggering. The call control function may be, for example, redirecting the incoming call to the directory number to another directory number. Service control manager 1826 may generate a SIP message specifying the call control function and route the SIP message to SSG 108.
DCM 1802 may receive the SIP message specifying the call control function, determine that the SIP message is associated with call event triggering, and forward a copy of the SIP message to CCM 1804. In response to receiving the copy, CCM 1804 may generate an SS7 message specifying the call control function and forward the SS7 message to LIM 1800 for routing to the circuit switched network node. The circuit switched network node may implement the call control function specified in the SS7 message. For example, the call control function may redirect the incoming call to the directory number specified in the SS7 message.
Application server 106 may communicate information to call log server 112 regarding the call event triggering. Call log server 112 and content store 114 may generate and store a call log record including information about the call event triggering. Further, call log server 112 may generate a message for notifying a subscriber of call event triggering. The message may be communicated to the subscriber via an IP network. For example, the message may be communicated to the subscriber's web-enabled computer. The message may be used by the computer for displaying information notifying the subscriber of call event triggering.
A processing module having the functionality of a call control function and a service control manager may be implemented entirely within SSG 108. Further, such a processing module may be implemented in any suitable network component such as a network routing node or an application server. Exemplary network routing nodes include a signal transfer point, an SS7/IP gateway, an SS7/SIP gateway, and a SIP router. Exemplary signaling messages include SS7 ISDN user part messages and SIP messages. A processing module including the above described functions may reside within a network routing node, on an adjunct processing platform that is in communication with the routing node, or elsewhere in a communications network.
According to another aspect of the subject matter described herein, missed calls may be detected and subscribers may be presented with options, such as click-to-dial for calling a directory number associated with a missed call.
According to one embodiment, a VoIP application server function may store a call control function for use in providing a circuit switched network node with information for responding to a call event trigger. For example, a circuit switched network node may receive a request by a calling party to communicate with a called party. In this example, the VoIP application server function may be notified of the request and, in response to the notification, perform a call control function for generating a response message. The circuit switched network node may use information in the response message for call processing. The call control function may be performed when it is determined that the call involves a subscriber to a circuit switched network.
In block 2004, SSG 108 may receive the TCAP request message. In response to receiving the TCAP request message, SSG 108 may generate a related SIP request message (block 2006). The SIP request message may include an identifier for subscriber 100 and indicate that a call is being received from the calling party. The SIP request message may be communicated to a VoIP application server function of VoIP application server 106 (block 2008). The VoIP application server function may perform a call control function and generate an associated SIP response message which is routed to SSG 108 (block 2010).
SSG 108 may receive the SIP response message and generate a related TCAP response message, which is routed to SSP switch 110 (block 2012). SSP switch 110 may receive the TCAP response message and use information conveyed in the TCAP response message during resumed call setup processing (block 2014). SSP switch 110 may resume the call setup processing based on the information in the TCAP response message. For example, the information may indicate to redirect the call to a predetermined directory number or voicemail. Based on the information, SSP switch 110 may redirect the call to the predetermined number or voicemail.
The call activity may be stored in a call log record at call log server 112 and content store 114. Further, computer 102 may be provided with information related to the call activity for display to subscriber 100.
Messages communicated in a communication session between an SSP, an SSG, and an application server may be malformed. For example, TCAP messages received at an SSG may include a malformed TCAP component part or a malformed TCAP transaction portion. In one example, protocol errors may occur in message formation or exchange. The communication session may be terminated or otherwise resolved (e.g., a message component could not be decoded or validated) in response to detecting a malformed message. Further, a communication session may be terminated when a message is not deliverable. Further, for example, a timeout may be set for terminating a communication session when a response message is not received within a period for timeout.
As stated above, the subject matter described herein allows a subscriber to dynamically control PSTN events using signaling. In one exemplary implementation, the events may be communicated to PSTN network elements using signals in addition to SPIRITS events. As used herein, a signal is a parameter that may be included in a SIP message that specifies a call control action to be performed by a PSTN network element. For example, a signal may be communicated from voice over IP application server 106 illustrated in
In line 6 of the message flow diagram, SSG 108 responds with a 200 OK.
In line 7 of the message flow diagram, SSP 110 detects that a call to a directory number is unanswered and sends a termination no answer TCAP message to SSG 108. In line 8, SSG 108 sends notification of the termination no answer event to VoIP application server 106. In line 9, VoIP application server 106 responds to the notify message with a 200 OK message.
In line 10, VoIP application server 106 sends a subscribe message with a signal indicating that the call should be forwarded to a directory number, such as a number selected on the fly by a subscriber. In line 11, SSG 108 sends a TCAP message with a forward call instructions to SSP 110. In response to the TCAP message, SSP 110 forwards the call to the destination specified by the subscriber. In line 12, SSG 108 sends a 200 OK message to VoIP application server 106 confirming the subscribe message. Thus, using the steps illustrated in
It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter described herein. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation.
This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/712,032 filed Aug. 26, 2005, the disclosure of which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
60712032 | Aug 2005 | US |