# Patent

## Title
Method and system for providing forced hold behavior in a SIP-based network

## Abstract

A method and system and process for providing forced hold behavior is disclosed. The forced hold behavior may be enabled during an emergency dialog between a user and a Public Safety Answering Point, or PSAP, if a user has abandoned or attempted to end the emergency call. This behavior informs the PSAP that the user has abandoned the call, and permits the PSAP to reestablish communication with the user.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This patent application claims priority to U.S. Provisional Patent Application No. 60/719,465, filed Sep. 22, 2005, which is hereby incorporated by reference herein in its entirety.
BACKGROUND INFORMATION
Session Initiation Protocol (SIP) is a call control signaling protocol for Internet Protocol (IP) networks. SIP is designed to be device-agnostic—that is, it is intended to provide a highly flexible call signaling capability that is not tailored to the capabilities of any particular device. Analog telephone signaling, on the other hand, is device-specific and highly constrained because of the historical legacy of the services delivered to the device. As a result, many call features available in traditional analog telephone devices are not easily integrated in a SIP-based network.



BRIEF DESCRIPTION OF THE DRAWINGS
In order to facilitate a fuller understanding of the exemplary embodiments of the present inventions, reference is now made to the appended drawings. These drawings should not be construed as limiting, but are intended to be exemplary only.
FIG. 1 is an exemplary SIP-based network system, according to an embodiment of the present invention.
FIG. 2 illustrates an exemplary implementation where a SIP Device is embedded in a FTTP network, according to an embodiment of the present invention.
FIG. 3 illustrates an exemplary implementation where a SIP Device is embedded in an ATA device connected to an IP network, according to an embodiment of the present invention.
FIG. 4 is a flowchart depicting a portion of a method of providing a forced hold behavior according to an embodiment of the present invention.
FIG. 5 is a flowchart depicting a further portion of a method of providing a forced hold behavior according to an embodiment of the present invention.
FIG. 6 is a flowchart depicting yet another further portion of a method of providing a forced hold behavior according to an embodiment of the present invention.
FIG. 7 illustrates an example call flow according to an embodiment of the present invention.
FIG. 8 illustrates an example call flow according to an embodiment of the present invention.
FIG. 9 is a flowchart depicting a method of providing a forced hold behavior according to an embodiment of the present invention.



DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
A system and process of an exemplary embodiment of the present invention provides a “forced hold” behavior. The forced hold behavior may be enabled during an emergency dialog between a user and a Public Safety Answering Point, or PSAP, if a user has abandoned or attempted to end the emergency call. This behavior informs the PSAP that the user has abandoned the call, and permits the PSAP to reestablish communication with the user.
FIG. 1 is an exemplary SIP-based network system, according to an embodiment of the present invention. System 100 illustrates an exemplary system for supporting SIP communication, in particular, a forced hold behavior. As illustrated, SIP Device 110 may be coupled to User Interface 114. SIP Device 110 may include a SIP User Agent 112 for communicating across IP Network 120 to a SIP Server 122. SIP Server 122 may provide communication to other SIP devices, as shown by SIP Element 130 and SIP element 132, through IP Network 124. The various components of system 100 may be further duplicated, combined and/or integrated to support various applications and platforms. Additional elements may also be implemented in the system to support various applications. A SIP-based network may also include an IP network, packet switched based network or other type of network. The elements referred to in the Figures may include other network or packet switched based elements. For example, the elements referred to as “SIP” may include other network devices, elements, components, etc.
SIP Device 110 may represent a device that manages User Interface 114. User Interface 114 may include a traditional telephone and other data communication device using voiceband or other signaling, including but not limited to data modems, facsimile devices, teletype (TTY) equipment, etc. SIP Device 110 may contain SIP User Agent 112. SIP User Agent 112 may be integrated with SIP Device 110 or remote from SIP Device 110. SIP User Agent 112 may perform interworking between SIP signaling and user interface actions. For example, SIP User Agent 112 may manage an exchange of media (e.g., audio, etc.) between User Interface 114 and a Real Time Protocol (RTP) media stream of a media session set up by the SIP signaling. SIP Device 110 may originate calls to and receive calls from other users. SIP Device 110 may communicate through IP Network 120 to SIP Server 122.
SIP Server 122 may represent a SIP proxy or application server that acts on behalf of SIP Device 110. For example, SIP Server 122 may manage a SIP Address of Record (AOR) on behalf of SIP Device 110. SIP Device 110 may register with SIP Server 122 and send SIP signaling through SIP Server 122 to other SIP elements, such as SIP Element 130 and SIP Element 132. For example, a call to the SIP AOR may be delivered to SIP Server 122, which in turn delivers the call to SIP Device 110. SIP Server 122 may perform some service on behalf of SIP Device 110, or may simply forward SIP messages to and from SIP Device 110. SIP Device 110 communicates through IP Network 124 to SIP Element 130 and/or SIP Element 132.
SIP Element 130 and SIP Element 132 may represent users with which the user of SIP Device 110 communicates. SIP Element may be a SIP Device, SIP Server, and/or other SIP enabled device. In addition, SIP Element may also represent a PSTN device that may be reached by a gateway that, directly or indirectly, acts as a SIP User Agent. In the figures, a PSAP is represented by SIP Element 130 or 132.
According to the present invention, SIP User Agent 112 is configured to enable or disable a “forced hold” behavior. As discussed above, the forced hold behavior may be enabled during an emergency dialog between a user and a PSAP, if a user has abandoned or attempted to end the emergency call. This behavior informs the PSAP that the user has abandoned the call, and permits the PSAP to reestablish communication with the user.
FIGS. 2 and 3 show exemplary implementations of a SIP Device. FIG. 2 illustrates an exemplary implementation where a SIP Device is used in connection with a Fiber-to-the-Premises (FTTP) network, according to an embodiment of the present invention. FIG. 3 illustrates an exemplary implementation where a SIP Device is embedded in an Analog Telephone Adapter (ATA) which is used in connection with a traditional (e.g., electrical) IP-enabled access network, according to an embodiment of the present invention. Other implementations with other devices and/or networks may also be realized.
As shown in FIG. 2, User Interface 114 may be connected to SIP Device 110. SIP Device 110 may be embedded in Optical Network Terminal (ONT) 210 or otherwise integrated. ONT 210 may be connected to an Optical Line Terminal (OLT) 230 with a Passive Optical Network (PON) 220 acting as an access network for communications between ONTs 210 and OLTs 230. According to an exemplary application, OLT 230 may be located at a Central Office. ONT 210 may be connected over PON 220 to the OLT 230, which in turn passes that connection through transport IP network 120 to SIP Server 122. According to an exemplary application, OLT 230 may maintain an IP connection between SIP Device 110 on the ONT 210 and the transport IP network 120. In this exemplary application, the OLT 230 may not process SIP signaling, but rather allows SIP signaling to pass through to its destination.
FIG. 3 illustrates SIP Device 110 embedded in an Analog Telephone Adapter (ATA) 310 in a home or other location that subscribes to a broadband service delivered via an access network, such as DSL or cable modem service. The ATA device may be attached to a network, such as a broadband data network, IP network and/or other network. User Interface 114 may be connected to SIP Device 110. ATA 310 may be connected to Broadband Router 320, which in turn may be connected to a DSL or cable modem 330, which in turn may be connected to access network 340. Access network 340 may provide connectivity to transport IP network 120 through which the SIP Device 110 may communicate with SIP Server 122. In one example, as shown in FIG. 3, data multiplexer (MUX) 350 may provide a point of connection for transmissions between access network 340 and the transport IP network 120.
The various components of systems 200 and 300 as shown in FIGS. 2 and 3 may be further duplicated, combined and/or integrated to support various applications and platforms. Additional elements may also be implemented in the systems described above to support various applications.
One important calling feature that is implemented in any calling system is emergency calling. Emergency calling allows a user to quickly contact a PSAP that can coordinate an emergency response, such as contacting law enforcement, requesting medical assistance, etc. During an emergency call, certain calling features, such as call waiting, are disabled, and the user is prevented from taking an action that would disconnect the emergency dialog with the PSAP.
One feature of an emergency calling service is “forced hold,” which informs the PSAP if the user has abandoned, or attempted to end, the call. It also permits the PSAP to attempt to reestablish communication with the user.
Referring to FIGS. 4-6, a flowchart depicting a method of providing a forced hold behavior in the context of a SIP-enabled network, according to an embodiment of the present invention, is provided. FIG. 4 illustrates the general steps of establishing an emergency dialog between a user (via a User Interface) and a PSAP.
First, in step 402, to initiate an emergency call, the user enters a predetermined emergency code (e.g., 9-1-1; 1-9-1-1; 0-9-1-1; and 1-0-1-X-X-X-X-9-1-1) into its User Interface. In step 404, the SIP User Agent receives the digits and recognizes the digits as indicating an emergency call.
In step 406, the SIP User Agent sends an INVITE request to the SIP server to open an emergency dialog. In one embodiment, the INVITE request may include a priority header field, and the priority header field may have a value indicating an emergency call, such as “emergency.” In another embodiment, the INVITE request may also have a resource-priority header field that may have a value indicating an emergency call, such as “emerg.0.” The inclusion of the priority header field and/or the resource priority header field are optional.
In step 408, the SIP User Agent enables or disables certain calling features or behaviors in order to satisfy the requirement that the user is not permitted to invoke any feature that would disrupt the communication with the PSAP. This is described in GR-529, the contents of which are expressly incorporated by reference in its entirety. In one embodiment, this may include disabling call waiting, ignoring any User Interface action that would place the emergency call on hold, and/or allowing certain three-way calling connections. Specifically, with regard to call waiting, when this feature is disabled, any incoming INVITE that is not associated with an existing dialog (e.g., an incoming call from a third party) will receive a 486 response. With regard to three-way calling, if the emergency call was initiated using the procedure for initiating a three-way call or call transfer, the action that joins the first call with the emergency dialog in a conference may be permitted. Other three-way calling features may be disabled.
Referring to FIG. 5, in step 502, an emergency dialog between the user and the PSAP is established. This emergency dialog is maintained until in step 504, a “BYE” is received from the PSAP. The emergency dialog is terminated in step 506.
In step 508, during the emergency dialog, the user may attempt to end the emergency dialog by, for example, hanging up (i.e., going on-hook) or pressing a button, such as an “end” button. For simplicity, the term “on hook” will encompass these activities. If the user attempts to do this, in step 510, the SIP User Agent enables a “forced hold” behavior. When the forced hold behavior is enabled, any user interface action that would normally end the call will not end the emergency dialog. Instead, the SIP User Agent will place the media session on hold. This feature allows the SIP server to maintain the connection to the PSAP and signal the PSAP that the user has abandoned, or attempted to end, the call. It also permits the PSAP to attempt to reestablish communication with the user.
In one embodiment, if the SIP server PSAP does not support the forced hold, the SIP Server may respond to the media session being placed on hold by sending a BYE to end the dialog. This is a specialized behavior on the part of the SIP Server. If the SIP User Agent is used with an application server that does not implement this specialized behavior, the forced hold behavior would result in the user being unable to end an emergency call. It may therefore be appropriate to enable the forced hold behavior only when it is known that the application server supports the behavior. This may be discovered as part of a registration and/or configuration process with the SIP Server.
Referring to FIG. 6, the PSAP operator may take an action to alert the user interface of the attempted termination of the emergency dialog. In one embodiment, if the line is on-hook, the PSAP operator may initiate a “ringback” to cause the user interface to ring. In another embodiment, if the line is on-hook, the PSAP operator may initiate distinctive power ringing. In yet another embodiment, if the line is off-hook, a burst of “howler” or “high tone” may be applied.
When the forced hold behavior is enabled, the SIP User Agent may respond to User Interface actions as follows. If, in step 604, the user goes off-hook, in step 606, the SIP User Agent will instead resume the held emergency dialog.
If, in step 608, the SIP User Agent receives an INVITE within the emergency dialog, in step 610, the User Interface will be alerted as for a normal INVITE. This may include any alert information in the INVITE message. Following this INVITE, in step 604, if the User Interface answers the call, in step 606, the emergency dialog will be resumed.
In one embodiment, the SIP User Agent may start a timer when any User Interface action that would normally end a call occurs. Any suitable length of time may be used for this timer. In one embodiment, this timer may be a 45 minute timer. In one embodiment, the timer is restarted when an INVITE is received within the emergency dialog. In step 612, when the timer expires, in step 614, the SIP User Agent may send a BYE to terminate the emergency dialog.
FIG. 7 illustrates an example call flow where the user attempts to terminate an emergency dialog by going on-hook. The call flow is as follows. First, the user goes off-hook (702) and the SIP User Agent generates a dial tone (704). The user then enters digits indicating an emergency call to its user interface (706) and these digits are received by the SIP User Agent. The SIP User Agent sends an INVITE to the SIP server (708) that may include a header field indicating an emergency call. The SIP server then alerts the PSAP operator (710). The PSAP operator answers the alert (712), which is sent to the SIP User Agent (714) and the emergency dialog is established (716).
The emergency dialog progresses until the user goes on-hook (720) by, for example, hanging up its user interface. The SIP User Agent recognizes this, and enables the forced hold behavior (722) and sends a message (e.g., an INVITE) to the SIP server indicating that the media session is on hold. The SIP server then notifies the PSAP operator of the forced hold (724). An OK is sent to the SIP User Agent (726).
In this example, once notified, the PSAP server then initiates a ringback (728) to the SIP server, and the SIP server sends an INVITE to the SIP User Agent (730). The SIP User Agent then alerts the user (732) by, for example, causing the user interface to ring. If the user goes off-hook (734), the SIP User Agent sends an OK to SIP server (736) indicating that the media session is active, and the SIP User Agent then resumes the emergency dialog (738).
FIG. 8 depicts another example of a call flow in which user again attempts to terminate an emergency dialog by going on-hook. In this example, however, instead of the PSASP operator initiating a ringback after notification, the user goes off-hook (802). The SIP User Agent then sends an INVITE to the SIP server (804) with the forced hold behavior enabled, the SIP server sends an OK to the SIP User Agent (806), and the emergency dialog is resumed (808).
As noted above, an emergency call may be initiated using the procedure for initiating a three-way call, or call transfer. This is provided in GR-577 (three-way call), GR-579 (call transfer) and GR-529 (emergency call), the contents of all of which are expressly incorporated by reference in their entireties. In general, three-way calling and call transfer are similar except for the action undertaken when the user ends the call. In three-way calling, when the user ends the call the entire call is ended, while in a call transfer, when the user ends the call, the other parties remain connected, thereby completing the transfer.
According to the preferred embodiment, if the emergency call was initiated using the procedure for initiating a three-way call or a call transfer, and the user attempts to terminate the emergency dialog by, for example, going on-hook, the SIP User Agent enables the forced hold behavior.
Referring to FIG. 9, a flowchart depicting the forced hold behavior in the context of a three-way or call transfer is provided. In step 902, the three-way call or call transfer is in progress, and in step 904, an emergency dialog is active by the user, for example, entering digits corresponding to an emergency code.
In step 906, if the user attempts to terminate the emergency dialog, such as by going on-hook, in step 908 the User Agent enables the forced hold behavior.
In step 910, the media session for the original dialog (i.e., the three-way call or the call transfer dialog) is placed hold if it is not already on hold.
In step 912, the SIP User Agent stores the state of the three-way call or call transfer procedure at the point when the user interface action that would normally end a call (e.g., going on-hook) occurred.
In step 914, if the SIP User Agent receives a BYE in the original dialog, the original dialog is terminated, in step 916, the three-way or call transfer procedure is be terminated, and, in step 918, the state of the emergency dialog remains unchanged.
In step 920, if the emergency dialog media session is resumed in response to a user interface action, such as by going off-hook, the three-way call or call transfer procedure is resumed in the remembered state. This will result in the original dialog remaining on hold or the original dialog and emergency dialog being joined in a conference, depending on the remembered state of the original dialog.
In step 922, if the SIP User Agent receives a BYE or by timeout from the PSAP operator, as discussed above with regard to step 612, as an action that terminates the emergency dialog. and will terminate the emergency dialog in step 924. In step 926, the user interface will either terminate the original dialog or the SIP User Agent applying alerting in an attempt to resume the original dialog, depending on the remembered state of the original dialog.
In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.

## Claims

1. A method comprising:
receiving, by a device including a Session Initiation Protocol (SIP) user agent, a request for an emergency dialog from a user interface, wherein the user interface is coupled to the device;
establishing an emergency dialog with a safety answering point;
in response to a user interface action that would normally end the user interface, placing the emergency dialog in a forced hold state, wherein the forced hold state is enabled by the device including the SIP user agent; and
receiving, by a SIP server, an invite message based at least in part on the user interface action, while the forced hold state is enabled.

2. The method of claim 1, further comprising the step of:
terminating the emergency dialog in response to the safety answering point terminating the emergency dialog.

3. The method of claim 1, wherein receiving a request for an emergency dialog from a user interface comprises:
receiving at least one digit from the user interface indicating a request for an emergency dialog.

4. The method of claim 1, wherein establishing an emergency dialog with a safety answering point comprises:
sending an invite to the SIP server requesting an emergency dialog.

5. The method of claim 4, wherein the invite comprises a priority header.

6. The method of claim 1, wherein establishing an emergency dialog with a safety answering point comprises:
responding to an invite to the user interface from a third party with a 486 response.

7. The method of claim 1, further comprising:
determining if the SIP server supports the emergency dialog hold;
in response to a determination that the SIP server supports the emergency dialog hold, notifying a the safety answering point that the emergency dialog is on hold and putting the emergency dialog on hold; and
in response to a determination that the SIP server does not support the emergency dialog hold, terminating the emergency dialog.

8. The method of claim 1, wherein putting the emergency dialog on hold comprises:
reestablishing the emergency dialog in response to the user going off-hook.

9. The method of claim 1, wherein putting the emergency dialog on hold comprises:
alerting the user interface in response to an invite;
reestablishing the emergency dialog in response to the user going off-hook.

10. The method of claim 1, wherein putting the emergency dialog on hold comprises:
starting a timer in response to the user interface going on-hook; and
terminating the emergency dialog in response to the passage of a predetermined amount of time.

11. The method of claim 10, further comprising:
stopping the timer in response to the user interface going off-hook.

12. A non-transitory computer readable media comprising code to perform the method of claim 1.

13. A method comprising:
establishing an original dialog between a user interface and a called party, wherein the user interface is coupled to a device including a Session Initiation Protocol (SIP) user agent;
receiving a request for an emergency dialog from the user interface;
establishing an emergency dialog with a safety answering point;
in response to a user interface action that would normally end the user interface, placing the emergency dialog in a forced hold state, wherein the forced hold state is enabled by the device;
receiving, by a SIP server, an invite message based at least in part on the user interface action, while the forced hold state is enabled; and
storing, by the device, the state of the original dialog in response to the user interface action.

14. The method of claim 13, wherein receiving a request for an emergency dialog from the user interface comprises:
receiving the request for an emergency dialog as one of a three-way call and a call transfer.

15. The method of claim 13, further comprising:
terminating the emergency dialog in response to the safety answering point terminating the emergency dialog.

16. The method of claim 13, wherein putting the emergency dialog on hold comprises:
starting a timer in response to the user interface going on-hook; and
terminating the emergency dialog in response to the passage of a predetermined amount of time.

17. The method of claim 16, further comprising:
stopping the timer in response to the user interface going off-hook.

18. The method of claim 15, further comprising
resuming the original dialog in accordance with the stored state of the original dialog.

19. The method of claim 13, further comprising:
terminating the original dialog in response to a bye in the original dialog.

20. A system comprising:
a device;
a user interface coupled to the device;
a Session Initiation Protocol (SIP) server; and
a SIP user agent, included in the device, and in communication with the user interface and the SIP server, wherein the SIP user agent is configured to:
enable, in response to a user interface action that would normally end the user interface, placing of the emergency dialog in a forced hold state; and
transmit an invite message to the SIP server based at least in part on the user interface action, while the forced hold state is enabled.