This invention relates generally to monitoring network transmission.
The needs for collecting from and disbursing participant identifying data to network locations can be best described by reference to the following particular application.
Worldwide deregulation and packet-switched technology have brought dramatic changes to the telecommunications industry. Voice communication over packet-switched networks, such as, the Internet, is now in demand. Voice Over the Internet technology is now available which integrates a public switched telephone network (PSTN) and the Internet. Voice over the Internet technology is also referred to as, Voice over Internet Protocol (VoIP), Voice over IP (VoIP) uses the Internet Protocol (IP) to transmit voice as packets over a network using the Internet Protocol. So VoIP can be achieved on any data network that uses the Internet Protocol, like Internet, Intranets and Local Area Networks (LAN).
In most VoIP system, the VoIP gateways comprise two separate gateways: the signaling gateway and the media gateway. In a VoIP phone call, after a number is dialed, the number is mapped to an IP host using signaling protocols. Then, signaling protocols are utilized for establishing the media sessions (voice, video, etc.) These protocols contain phone number information. After the media session is established, the VoIP data communication utilizes the Real-Time Transport Protocol/User Datagram Protocol/Internet Protocol (RTP/UDP/IP) as the protocol stack.
Monitoring the RTP media transmission does not ensure obtaining the phone number originating or receiving the RTP media transmission since the signaling and the media information may travel over different segments of the network.
Therefore, there is a need for providing means for assigning phone numbers (participant identifying data) to RTP (network) transmission events.
The needs for the invention set forth above as well as further and other needs and advantages of the present invention are achieved by the embodiments of the invention described hereinbelow.
Methods and systems for assigning participant identifying data to network transmission events are disclosed.
The method of this invention includes monitoring a network transmission event substantially at a participant location, and obtaining, substantially at the participant location, participant identifying data and identifying data related to the network transmission event. The participant identifying data and the identifying data related to the network transmission event is then provided to a predetermined (also referred to as central) monitoring location and stored in a database. From another location in the network, identifying data related to another network transmission event is provided to the central monitoring location for querying the specific participant identifying data. If the query results in obtaining the specific participant identifying data, the specific participant identifying data is provided, from the central monitoring location, to the another network location.
The specific participant identifying data is thereby assigned to the another network transmission event.
In one embodiment, the participant identifying data is obtained from a signaling transmission event.
Systems that implement the methods and computer program products that have computer readable code, which executes the method, embodied therein are also disclosed.
For a better understanding of the present invention, together with other and further needs thereof, reference is made to the accompanying drawings and detailed description and its scope will be pointed out in the appended claims.
Methods and systems for assigning participant identifying data to network transmission events are disclosed herein below.
A flow diagram representation of an embodiment 10 of the method of this invention is shown in
In one embodiment, in step 30 of
A graphical representation of an embodiment 100 of the system of this invention is shown in
In the embodiment shown in
The schematic representation shown in
At the central monitoring subsystem 150, the participant identifying data and the identifying data related to the network transmission event are received and stored by means of the software used for communicating (such as, in the embodiment shown, the HTTP layer 255, the XML APIs 260) and software for data collection 262 and for data storage 265. The participant identifying data and the identifying data related to the network transmission event are stored in the database 155. The database 155 is located one or more computer readable memories, such as memory 340 in
At another network location 170, another network transmission event is monitored by means of acquisition hardware 215 and test instrument application code (software) 220. The data is analyzed by means of a test instrument application code 220. The test instrument application code 220 provides the means for obtaining identifying data related to the another network transmission event. In the embodiment shown in
At the central monitoring subsystem 150, computer readable code (software) embodied in one or more computer usable memories, such as memory 360 in
The one or more computer readable memories, such as one or more computer readable memories 360 in
In order to even more clearly understand the present invention, reference is now made to the following illustrative embodiment. Referring again to
The SIP protocol is a text-based protocol that works above the transport layer in the TCP/IP (Transport Control Protocol/Internet Protocol) stack. (SIP is defined in RFC3261, “SIP: Session Initiation Protocol”, June 2002, available at http://www.ietf.org/rfc/rfc3261.txt, which is herein incorporated by reference.) SIP can use any transport protocol, including TCP (Transport Control Protocol) and UDP (User Datagram Protocol) as its transport protocol. The protocol stack is shown in
While SIP can be utilized to convey signaling information, the session description information is conveyed by means of another protocol such as the Session Description Protocol (SDP). SDP is purely a format for session description. SDP does not incorporate a transport protocol. (SDP is defined in RFC2327, “SDP: Session Description Protocol”, April 1998, available at http://www.ietf.org/rfc/rfc2327.txt, which is incorporated by reference herein.) Access to a transport protocol is obtained through use of SDP in conjunction with a protocol such as SIP.
The steps in initiating a phone call (session) are fairly simple: as shown in
In this illustrative embodiment, the following is an example of the contents of an INVITE SIP message. (In this example, the source is Alice and the receiver is Bob.) The INVITE SIP message from Alice includes:
The first line indicates that the message is an INVITE message. “Via” contains the IP address, the port number and the transport protocol that Alice wants Bob to use in his response. The “To” line contains Bob's name and phone number. The “From” line contains Alice's name and Alice's phone number. Call-ID contains a unique identifier for the call. Content Type describes the message content and Content Length describes the length of the message body. A blank line indicate the end of the SIP headers and the beginning of the SDP session description information—“v” identifies the version of SDP, “o” identifies the owner/creator and session identifier, “p” provides the phone number, “m” provides the media description: the type, port, and possible format the source is willing to receive and send.
The response OK message from Bob includes:
Referring again to
As specified in the signaling messages, the voice (VoIP) data communication utilizes the Real-Time Transport Protocol/User Datagram Protocol/Internet Protocol (RTP/UDP/IP) as the protocol stack. An example of an RTP datagram is shown in
For the source and the receiver, an RTP session is defined by a particular pair of destination transport addresses (one network address plus a port pair for RTP and RTCP). A UDP datagram is shown in
Referring again to
While in the preceding example the network monitoring subsystem 140 provides the source and receiver phone numbers, the network addresses and port numbers for the source and receiver to the central monitoring server 130 (location), the location of the network monitoring subsystem that provides the participant identifying data and the identifying data related to the signaling transmission event to the central monitoring server is not a limitation of this invention. The role of the two network monitoring systems could be interchanged in another embodiment of this invention.
Although the above described example utilizes SIP as the signaling protocol, it should be noted other signaling protocols, such as, but not limited to, H.323, MGCP, or Megaco/H.248, can be utilized in practicing this invention.
If the source and receiver phone numbers, the network addresses and port numbers for the source and receiver can be obtained from a control protocol, that protocol could be utilized in practicing the invention.
It should be also noted that the central monitoring location (server) could be implemented in hardware, software or a combination thereof. An exemplary embodiment of the central monitoring location (server) is the J6782A Network Troubleshooting Center (NTC) from Agilent Technologies, Inc., a software based system. It should also be noted that this invention is not limited to that embodiment.
Furthermore, the exemplary network 105, the signaling network 110 and the media network 120 are each simplified for ease of explanation. The networks 105, 110, 120 may include more or fewer additional elements such as networks, communication links, proxies, firewalls or other security mechanisms, Internet Service Providers (ISPs), MCUs, gatekeepers, gateways, and other elements.
In general, the techniques described above may be implemented, for example, in hardware, software, firmware, or any combination thereof. The techniques described above may be implemented in one or more computer programs executing on a programmable computer including a processor, a storage medium readable by the processor (including, for example, volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Program code may be applied to data entered using the input device to perform the functions described and to generate output information. The output information may be applied to one or more output devices.
Elements and components described herein may be further divided into additional components or joined together to form fewer components for performing the same functions.
Each computer program (code) within the scope of the claims below may be implemented in any programming language, such as assembly language, machine language, a high-level procedural programming language, or an object-oriented programming language. The programming language may be a compiled or interpreted programming language.
Each computer program may be implemented in a computer program product tangibly embodied in a computer-readable storage device for execution by a computer processor. Method steps of the invention may be performed by a computer processor executing a program tangibly embodied on a computer-readable medium to perform functions of the invention by operating on input and generating output.
Common forms of computer-readable or usable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CDROM, any other optical medium, punched cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
Although the invention has been described with respect to various embodiments, it should be realized this invention is also capable of a wide variety of further and other embodiments within the spirit and scope of the appended claims.
| Number | Name | Date | Kind |
|---|---|---|---|
| 5557748 | Norris | Sep 1996 | A |
| 6282279 | Ricciardi | Aug 2001 | B1 |
| 6567399 | Schuster et al. | May 2003 | B1 |
| 6788766 | Logan | Sep 2004 | B2 |
| 6862277 | Pan et al. | Mar 2005 | B2 |
| 6934279 | Sollee et al. | Aug 2005 | B1 |
| 7167468 | Donovan | Jan 2007 | B2 |
| 7382869 | Smith | Jun 2008 | B2 |
| 7460658 | Watts et al. | Dec 2008 | B2 |
| 7499536 | Boeckman et al. | Mar 2009 | B2 |
| 7551922 | Roskowski et al. | Jun 2009 | B2 |
| 7561520 | Holloway et al. | Jul 2009 | B2 |
| 7580405 | Laliberte | Aug 2009 | B2 |
| 20020009184 | Shnier | Jan 2002 | A1 |
| 20020159442 | Quigley et al. | Oct 2002 | A1 |
| 20020186685 | O'brien, Jr. et al. | Dec 2002 | A1 |
| 20030031165 | O'Brien, Jr. | Feb 2003 | A1 |
| 20030133450 | Baum | Jul 2003 | A1 |
| 20040021889 | McAfee et al. | Feb 2004 | A1 |
| 20040037267 | Bennett et al. | Feb 2004 | A1 |
| 20040066753 | Grovenburg | Apr 2004 | A1 |
| 20040127231 | Dor et al. | Jul 2004 | A1 |
| 20050031114 | Boeckman et al. | Feb 2005 | A1 |
| 20050201362 | Klein et al. | Sep 2005 | A1 |
| 20050272448 | Tran et al. | Dec 2005 | A1 |
| 20060044407 | Barbeau | Mar 2006 | A1 |
| Number | Date | Country |
|---|---|---|
| 10121496 | Nov 2002 | DE |
| 10137768 | May 1989 | JP |
| 2004032265 | Jan 2004 | JP |
| 2005094646 | Apr 2005 | JP |
| Number | Date | Country | |
|---|---|---|---|
| 20060077954 A1 | Apr 2006 | US |