The present invention relates generally to the field of telecommunications; more specifically, to methods and apparatus for voice and data communications with Internet Protocol (IP) endpoint devices.
Many VoIP phones today support the Session Initiation Protocol (SIP), which is a standard used in setting up and tearing down voice or video calls transmitted over packet-based networks. SIP is a peer-to-peer protocol in which all voice/video communications between the caller and callee are performed using the Real-time Transport Protocol (RTP). Resetting or restarting of VoIP phones is typically achieved by the call management agent (e.g., CallManager) sending unsolicited call control messages to the client phone to trigger the reset/restart. These messages cause the phone to reboot, re-read its configuration files and re-register with the CallManager. (The term “reset” commonly refers to a long power-on cycle, whereas “restart” normally refers to quicker re-initialization of the configuration and protocol stack. The term “warm restart” denotes a sequence of re-initialization operations that is performed to reset a previously running system or device.)
One problem that exists is that legacy low-end and mid-range SIP phones can be reset, but they implement different mechanisms that are incompatible with recently developed call management architectures. Still another problem with prior art approaches is that they are vulnerable to malicious attacks wherein an unscrupulous hacker can indiscriminately send out reset/restart messages to a huge number of IP phones.
The present invention will be understood more fully from the detailed description that follows and from the accompanying drawings, which however, should not be taken to limit the invention to the specific embodiments shown, but are for explanation and understanding only.
In the following description specific details are set forth, such as device types, system configurations, authentication methods, etc., in order to provide a thorough understanding of the present invention. However, persons having ordinary skill in the arts will appreciate that these specific details may not be needed to practice the present invention.
Referring to
Communications network 10 is also shown including a call manager processing component (e.g., a server) 12, a Trivial File Transfer Protocol (TFTP) component (e.g., server) 13, and a database 17, the latter of which may be used to store configuration files and other information associated with each of the SIP endpoint devices 14-16. Typically, database 17 is associated with or incorporated in TFTP server 13, although in certain embodiments database 17 may comprise a separate (stand-alone) component. Call manager 12 may comprise a processing component such as such as Cisco's CallManager system with appropriate software/firmware modules, plug-ins, or enhancements for implementing the functions described herein. Call manager 12 includes an interface used for communications with endpoint devices 14-16 involving the SIP service-control event package discussed below. Similarly, TFTP server 13 includes an interface for communication configuration file information with the respective endpoint devices. It should be understood that communication network 10 may also include additional (i.e., secondary) call manager and TFTP components with respective interfaces used for transmitting the SIP service-control event package and for reading the configuration file information.
Alternative embodiments of the present invention may be also implemented in software or hardware (firmware) installed in other types of IP communication systems, PBX, telephony, telephone, and other telecommunications systems. Similarly, the signaling path utilized for transmission of commands, messages, and signals for establishing, moderating, managing and controlling calls between endpoint devices (e.g., SIP phones 15 & 16) may be across any network resources.
According to one embodiment of the present invention, a mechanism is provided that modifies a SIP unsolicited NOTIFY message with a specifically-defined message body that may be utilized to communicate reset, restart, version stamp, and call preservation information from a call agent to a SIP endpoint device, e.g., a SIP phone. In a particular implementation, a single new event type, i.e., “service-control”, is defined to signal a SIP endpoint device to use the Cisco CallManager-specific reset/restart mechanism. As such, the modified unsolicited NOTIFY message applies to legacy as well as next-generation SIP phones, and satisfies the requirements of Cisco's CallManager call processing product. In addition, the mechanism may be enabled when the endpoint device is operating in a CallManager environment. In a non-CallManager environment, the existing mechanisms for each platform may be enabled for interoperability with existing administrative systems.
The service-control event package defines content that, in one embodiment, is used to perform certain specific actions (i.e., reset, restart, check-version, and call-preservation) on a SIP user agent or endpoint (e.g., phone). The body of the NOTIFY message contains the specific operation that the call agent wishes to invoke on the SIP phone. The operation is specified in the action field.
By way of example,
In one implementation, when a phone first registers with the call manager, it sends a unique call identifier (ID) to the call manager component. Thereafter, each time the call manager sends a reset/restart message to the phone it includes the Call-ID received in the last REGISTER message from the phone in the body of the NOTIFY message. The phone verifies that the call ID matches the call ID sent in the REGISTER message prior to taking action. Practitioners in the art will appreciate that this step effectively acts as an authentication mechanism that guards against malicious attacks, since the call ID changes each time the phone reregisters with the call manager component. In other words, the call ID mechanism prevents a malicious attacker from using a single message to reset multiple phones since each message has to be individually created with the correct call ID in order to perform a reset/restart of a particular SIP phone.
By way of further example, when the phone receives the NOTIFY message with the action=check-version it responds by comparing the received version stamp from the call manager against the version stamp information it has stored internally (e.g., in a non-volatile memory). The internally-stored version stamp represents the version stamp received in the configuration file last read (block 61). If the comparison of the two version stamps (block 62) results in a match, the process is over. On the other hand, if the two version stamps are different, the phone may perform the steps described above in
The call-preservation action is used to indicate that the signaling path i.e., between the caller and callee, is broken. Note that this assumes that the signaling path between the phone and the call manager component is still intact. In response to a call-preservation action specified in a NOTIFY message, a SIP phone or endpoint device responds by disabling all features softkeys (e.g., hold, resume, transfer, conference, etc.), thereby only allowing the user to end the call. The phone may also optionally display a temporary fail message.
Referring now to
In the embodiment shown in
It is appreciated that although
It should be understood that elements of the present invention may also be provided as a computer program product which may include a machine-readable medium having stored thereon instructions which may be used to program a computer (e.g., a processor or other electronic device) to perform a sequence of operations. Alternatively, the operations may be performed by a combination of hardware and software. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards or other type of machine-readable medium suitable for storing electronic instructions.
Additionally, although the present invention has been described in conjunction with specific embodiments, numerous modifications and alterations are well within the scope of the present invention. For example, in addition to sending a call ID to the Call Manager every time the phone registers with the Call Manager, the phone may also periodically send a refresh message that contains its call ID to the call manager. Additionally, the number and type of actions described herein is not intended to be exclusive; that is, additional actions may be defined in the body of the modified SIP NOTIFY message of the present invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
20030088421 | Maes et al. | May 2003 | A1 |
20030156579 | Cho | Aug 2003 | A1 |
20040047301 | Poikselka et al. | Mar 2004 | A1 |
20040103282 | Meier et al. | May 2004 | A1 |
20040176091 | Bajko et al. | Sep 2004 | A1 |
20040205192 | Olson et al. | Oct 2004 | A1 |
20040205209 | Wengrovitz et al. | Oct 2004 | A1 |
20040255302 | Trossen | Dec 2004 | A1 |
20050117591 | Hurtta et al. | Jun 2005 | A1 |
20050136926 | Tammi et al. | Jun 2005 | A1 |
20060030320 | Tammi et al. | Feb 2006 | A1 |
20060133356 | Suzukawa | Jun 2006 | A1 |
20060149847 | Meskauskas et al. | Jul 2006 | A1 |
20060182255 | Luck et al. | Aug 2006 | A1 |
20070008893 | Singh et al. | Jan 2007 | A1 |
20070008957 | Huang | Jan 2007 | A1 |
20070043876 | Varga et al. | Feb 2007 | A1 |
20070104182 | Gorti et al. | May 2007 | A1 |
20070223446 | McMenamy et al. | Sep 2007 | A1 |
Number | Date | Country |
---|---|---|
0 669 072 | Jan 2003 | EP |
Entry |
---|
China Patent Office Action; Patent Application No. 2007-80029601.3; dtd Mar. 21, 2012; 7 pages including translation. |
European Patent Office Action—Munich, Germany, Application No. 07796646.3-1853 / 2050006, PCT/US2007015356, Ref: P33133EP-PCT; Communication re: extended EU search report; dated Apr. 4, 2014. |
European Patent Office Action—Munich, Germany, Application No. 07796646.3-1853 / 2050006, PCT/US2007015356, Ref: P33133EP-PCT; Communication re: supplementary EU search report; dated Apr. 24, 2014. |
J. Rosenberg et al., “SIP: Session Initiation Protocol”, 20020601; 20020600, The Internet Society, Jun. 1, 2002, pp. 1-269, XP015009039. |
H. Sinnreich et al., “SIP Telephony Device Requirements and Configuration; rfc4504.txt”, 20060501, May 1, 2006, XP015046293, ISSN: 0000-0003 (37 pgs). |
D. Petrie, Pingtel Corp., “A Framework for SIP User Agent Profile Delivery; draft-ietf-sipping-config-framework-02.txt”, vol. sipping, No. 2, Feb. 14, 2004, XP015027876, ISSN: 0000-0004 (23 pgs). |
Number | Date | Country | |
---|---|---|---|
20080062962 A1 | Mar 2008 | US |