1. Field of the Invention
The present invention relates generally to telecommunications systems, and particularly to recording call event records in an IP network.
2. Technical Background
Telephony over the Internet is rapidly becoming a reality. Features that callers have come to expect from circuit switched systems are also considered essential for IP networks. One approach that is being considered to provide the system features needed to create and terminate calls in an IP network involves the Session Initiation Protocol (SIP).
SIP is an application-layer signaling protocol that has been developed to create, modify, and terminate sessions having one or more users. These sessions include Internet telephone calls, multi-media conferences, and multi-media distribution. SIP functionality is typically resident on application servers. SIP servers are configured to provide telephonic services, and process call event information. Because vendors have developed their own custom SIP application programs, call events and telephonic services are processed by each vendor's application server in a proprietary way. Unfortunately, when a network includes elements provided by a multiplicity of vendors, it becomes necessary to accommodate a variety of proprietary interfaces that enable the devices to transmit and receive call event information, billing information, monitoring information, fraud prevention data and other data.
What is needed is a platform independent method for capturing SIP related events and other data in a uniform manner. Preferably, the system and method will be extensible, providing embedded information that will enable a receiving computer to read the generic, uniformly formatted records without needing a special proprietary interface.
The present invention relates to a platform independent method for capturing SIP related events and other data in a uniform manner. The method and system of the present invention is extensible. The method of the present invention produces generic, uniformly formatted records that can be read by a receiving computer without needing a special proprietary interface.
One aspect of the present invention is a method for capturing call event data in a telecommunications network. The method includes generating at least one call event record in response to at least one event. An XML call event file is created that includes the at least one call event record.
In another aspect, the present invention includes a computer readable medium that can be used to direct a Session Initiation Protocol (SIP) server computer to function in a specified manner. The computer readable medium includes a SIP application layer software module. The SIP application layer software module is executable by the SIP server computer to provide SIP functionality. A call event record module is coupled to the SIP application layer software module. The call event record module is configured to create at least one call event record in response to at least one event. An XML processor module is coupled to the call event record module. The XML processor module is configured to create an XML call event file. The XML call event file includes the at least one call event record.
In another aspect, the present invention includes a set of application program interfaces embodied on a computer readable medium for execution on a computer. The set of application program interfaces includes a first interface that receives an event identifier and returns a call event record. The set of interfaces includes a second interface that receives a set of call event records and returns a call event file. The call event file includes the set of call event records. The call event file is an XML document written using the Extensible Markup Language (XML).
In another aspect, the present invention includes a set of application program interfaces embodied on a computer readable medium for execution on a Session Initiation Protocol (SIP) server computer in conjunction with a SIP application layer software module that provides SIP functionality. The set of application program interfaces includes a first interface that receives a SIP event identifier and returns a call event record. The set of interfaces includes a second interface that receives a set of call event records and returns a call event file. The call event file includes the set of call event records. The call event file is written using the Extensible Markup Language (XML) and the call event file is an XML document.
In another aspect, the present invention includes a communications network for establishing a communications session between a first client and a second client. The communications network includes at least one Session Initiation Protocol (SIP) server computer. The SIP server computer includes a first call event record module configured to create a call event record corresponding to an event, and a first XML processor module configured to create a first XML call event file, the first XML call event file including the call event record. At least one network system is coupled to the at least one SIP server computer. The at least one network system includes a second XML processor module, whereby the at least one network system can read the first XML call event file.
In another aspect, the present invention includes a computer-readable medium having stored thereon a data structure formatted as an XML document file. The data structure includes a server identifier section including information identifying the server that created the XML document file, a SIP message type section, and a SIP event section including information relating to a SIP message event.
In another aspect, the present invention includes a computer readable medium having computer executable instructions for performing a method. The method includes the steps of: generating at least one call event record in response to at least one event; and, creating an XML call event file including the at least one call event record.
Additional features and advantages of the invention will be set forth in the detailed description which follows, and in part will be readily apparent to those skilled in the art from that description or recognized by practicing the invention as described herein, including the detailed description which follows, the claims, as well as the appended drawings. It is to be understood that both the foregoing general description and the following detailed description are merely exemplary of the invention, and are intended to provide an overview or framework for understanding the nature and character of the invention as it is claimed. The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate various embodiments of the invention, and together with the description serve to explain the principles and operation of the invention.
Reference will now be made in detail to the present exemplary embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. An exemplary embodiment of the communications network of the present invention is shown in
In accordance with the invention, the present invention relates to a method for capturing call related events and messages in a telecommunications network. The method includes the step of generating a call event record in response to a call related event. A call event file is created that includes the call event record. The call event file is an XML document file. Thus, the method of the present invention is extensible and platform independent. The method captures call related SIP events and other data such that any application server can process the data in a uniform way. The present invention provides a method for providing generic, uniformly formatted records that can be read by any network device. The system and method of the present invention includes embedded instructions that enable a receiving computer to decode the records without needing a special proprietary interface.
As embodied herein, and depicted in
By way of example, source client 12 initiates a call attempt to destination client 18 by transmitting an INVITE request to SPS 14. SPS 14 acts as a proxy by relaying the INVITE message to client 18. If client 18 is available, client 18 transmits an OK message to client 12 via SPS 14. On the other hand, if SPS 14 does not recognize the IP address of client 18, SPS 14 may forward an INVITE message to RS 16. Subsequently, SPS 14 receives an alternative IP address for destination client 18 and provides that address to source client 12. Client 12 retransmits an INVITE message to client 18 using the address provided by RS 16. The above described transactions are conducted using SIP request messages and SIP response messages which are also referred to as call events. The application servers record each call event in a call event record. All of the call event records produced over a predetermined amount of time are compiled in a Call Event Record file (CER file). The CER file is subsequently transmitted to NMS 20. Network status changes, fault conditions, and billing data, in addition to call event records can also be reported to NMS 20 via the CER files. In this way, billing, trouble-shooting, testing, and other back office functions resident in NMS 20 have access to the CER files.
As embodied herein, and depicted in
Referring back to
As embodied herein, and depicted in
Referring back to
Server information section 304 identifies the creator of CER file 300. This section appears only once in CER file 300. Since a particular server may provide specific services such as conferencing, instant messaging (IM), or voice mail, the service description as well as vendor information is provided by this section.
SIP message type section 306 appears for each call event record. This section 306 includes a message identifier field that identifies the exact type of message, e.g., whether it is an INVITE or a 200 OK message. SIP message type section 306 also includes a CALL-ID field which provides the CALL-ID header associated with a particular SIP message. SIP message type section 306 includes a service ID field that uniquely identifies the service instance associated with the SIP message. For example, if the application server is providing conferencing services, the service ID field identifies the particular conference corresponding to the SIP message. This allows one to obtain all messages exchanged during a specific conference within a specific time period. In another example, if the server is a voice mail system, the service ID would identify a particular voice mail box. In yet another example, the service ID would link together all messages and events for a given call established by a proxy server. SIP message type section 306 also includes a To/From field that records the IP address and port number of both the originating and receiving servers. In another embodiment, only one or the other will be present in this field. Finally, SIP message type section 306 includes an “other messages” field. This field records other portions of a SIP message deemed necessary depending on the type of server making the call event record. This information may include additional headers or it may be the actual message body of the SIP message.
CER file 300 also includes an Event Information Section 308 for each record. Event Information Section 308 records other events encountered in processing a particular SIP message. These other events include “INVITE TIMEOUT,” “NON-INVITE TIMEOUT,” “CONNECTION ERROR,” “AUTHENTICATION PERFORMED,” “FIND-ME FEATURE INVOKED,” “DAP query sent,” and etc. There may also be additional fields containing detailed information about an event. Of course, any modifications to this field will be defined in the DTD section.
As embodied herein, and depicted in
Those of ordinary skill in the art will recognize that CER files can be employed for any events occurring within network 10. Calls placed between all or any combinations of SIP-phones, enterprise gateways, network gateways, DAL gateways, INCP gateways, SIP-voicemail servers, and SIP conferencing servers may employ the present invention. Those of ordinary skill in the art will also recognize that the present invention can be employed using any suitable type of transport network. Further, the present invention is applicable to any type of session that may be established including, but not limited to, telephony, video, audio, instant messaging, and etcetera. It is also contemplated that the present invention may be employed for billing, monitoring, management, or for any of a wide variety of services performed by the network.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present invention without departing from the spirit and scope of the invention. Thus, it is intended that the present invention cover the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
4979207 | Baum et al. | Dec 1990 | A |
5027388 | Bradshaw et al. | Jun 1991 | A |
5565316 | Kershaw et al. | Oct 1996 | A |
5579379 | D'Amico et al. | Nov 1996 | A |
5812668 | Weber | Sep 1998 | A |
5827070 | Kershaw et al. | Oct 1998 | A |
5867495 | Elliott et al. | Feb 1999 | A |
6016343 | Hogan et al. | Jan 2000 | A |
6122359 | Otto et al. | Sep 2000 | A |
H1897 | Fletcher et al. | Oct 2000 | H |
6134307 | Brouckman et al. | Oct 2000 | A |
6151624 | Teare et al. | Nov 2000 | A |
6233248 | Sautter et al. | May 2001 | B1 |
6282193 | Hluchyj et al. | Aug 2001 | B1 |
6311186 | MeLampy et al. | Oct 2001 | B1 |
6377672 | Busuioc | Apr 2002 | B1 |
6377939 | Young | Apr 2002 | B1 |
6418467 | Schweitzer et al. | Jul 2002 | B1 |
6490564 | Dodrill et al. | Dec 2002 | B1 |
6499054 | Hesselink et al. | Dec 2002 | B1 |
6577718 | Kalmanek et al. | Jun 2003 | B1 |
6611818 | Mersky et al. | Aug 2003 | B1 |
6631186 | Adams et al. | Oct 2003 | B1 |
6639975 | O'Neal et al. | Oct 2003 | B1 |
6707915 | Jobst et al. | Mar 2004 | B1 |
6714992 | Kanojia et al. | Mar 2004 | B1 |
6718023 | Zolotov | Apr 2004 | B1 |
6751652 | Thomas | Jun 2004 | B1 |
6768722 | Katseff et al. | Jul 2004 | B1 |
6865681 | Nuutinen | Mar 2005 | B2 |
6870845 | Bellovin et al. | Mar 2005 | B1 |
6895438 | Ulrich | May 2005 | B1 |
6907032 | Eastman | Jun 2005 | B2 |
6952800 | Danner et al. | Oct 2005 | B1 |
6980526 | Jang et al. | Dec 2005 | B2 |
7058704 | Mangipudi et al. | Jun 2006 | B1 |
7076040 | Carson et al. | Jul 2006 | B2 |
7136467 | Brockman et al. | Nov 2006 | B2 |
7197560 | Caslin et al. | Mar 2007 | B2 |
7305081 | Kalmanek et al. | Dec 2007 | B1 |
7406306 | Gallant et al. | Jul 2008 | B2 |
20010012346 | Terry | Aug 2001 | A1 |
20010050984 | Jordan | Dec 2001 | A1 |
20020010798 | Ben-Shaul et al. | Jan 2002 | A1 |
20020064149 | Elliott et al. | May 2002 | A1 |
20020090071 | Book et al. | Jul 2002 | A1 |
20020095339 | Galloway | Jul 2002 | A1 |
20020103898 | Moyer et al. | Aug 2002 | A1 |
20020112187 | Dalton et al. | Aug 2002 | A1 |
20020123919 | Brockman et al. | Sep 2002 | A1 |
20020124100 | Adams | Sep 2002 | A1 |
20020126654 | Preston et al. | Sep 2002 | A1 |
20020127995 | Faccinn et al. | Sep 2002 | A1 |
20020129093 | Donovan et al. | Sep 2002 | A1 |
20020129236 | Nuutinen | Sep 2002 | A1 |
20020160810 | Glitho et al. | Oct 2002 | A1 |
20020188712 | Caslin et al. | Dec 2002 | A1 |
20030009557 | Carson et al. | Jan 2003 | A1 |
20030074313 | McConnell et al. | Apr 2003 | A1 |
20030079223 | Galloway | Apr 2003 | A1 |
20030126257 | Vijay | Jul 2003 | A1 |
20040078349 | Syrjala et al. | Apr 2004 | A1 |
20070116232 | Sprokkereef | May 2007 | A1 |
20070206576 | Radulovic | Sep 2007 | A1 |
20080013531 | Elliott et al. | Jan 2008 | A1 |
20080025295 | Elliott et al. | Jan 2008 | A1 |
Number | Date | Country |
---|---|---|
1202528 | May 2002 | EP |
0052916 | Sep 2000 | WO |
WO 02075559 | Sep 2002 | WO |
Entry |
---|
Usdin et al., “XML: Not a Silver Bullet, but a Great Pipe Wrench”, StandardView, Sep. 1998, vol. 6, No. 3, pp. 125. |
Handley et al., “SIP: Session Initiation Protocol”, IETF, Request for Comment 2543, Mar. 1999. |
Schulzrinne et al., “SIP Call Control Services”, IETF Internet Draft, Jun. 17, 1999. |
Schulzrinne et al., “Signaling for Internet Telephony,” Columbia University, Department of Computer Science Technical Report CUCS-005-98,Jan. 31, 1998. |
Cisco Systems, “Release Note for Cisco MC3810—Software Requirement for Analog Personality Modules,” Document No. 78-6053-01, 1998. |
Lennox at al., “Implementing Intelligent Network Services with the Session Initiation Protocol,” Columbia University Technical Report CUCS-002-99, Jan. 1999. |
Polyzois et al., “From POTS to PANS—A Commentary on the Evolution to Internet Telephony,” Mar. 26, 1999. |
Sterman, “Real-Time Billing in SIP,” DeltaThree, 2002, www.recursosvoip.com/docs/english/realtimebilling.pdf, 18 pages. |
Kausar, Nadia, at al., “A Charging Model for Sessions on the Internet,” Proceedings of the Fourth IEEE Symposium on Computers and Communications, pp. 32-38: Apr. 1999. |
Aboda et al., “The Accounting Data Interchange Format (ADIF),” ROAMOPS Working Group, Apr. 25, 2000. |
Pan et al., “DIAMETER: Policy and Accounting Extension for SIP (draft-pan-diameter-sip-01),” The Internet Society, Nov. 15, 1998. |
Brownlee et al., “RFC 2924—Accounting Attributed and Record Formats,” The Internet Society, Sep. 2000. |
Cisco Systems, “Overview of the Session Initiation Protocol,”www.cisco.com/univered/c/td/doc/product/coice/sipsols/biggulp/bisipov.htm, 1992. |
Number | Date | Country | |
---|---|---|---|
20030126257 A1 | Jul 2003 | US |