US20090046590A1 - Voice Over Internet Protocol (VOIP) Testing - Google Patents

Voice Over Internet Protocol (VOIP) Testing Download PDF

Info

Publication number
US20090046590A1
US20090046590A1 US12/189,369 US18936908A US2009046590A1 US 20090046590 A1 US20090046590 A1 US 20090046590A1 US 18936908 A US18936908 A US 18936908A US 2009046590 A1 US2009046590 A1 US 2009046590A1
Authority
US
United States
Prior art keywords
voip
call
telephone
network
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US12/189,369
Other versions
US7940684B2 (en
Inventor
David John Boyes
Jason Lee Davis
Michael Thad Ward
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Viavi Solutions Inc
Original Assignee
Acterna LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Acterna LLC filed Critical Acterna LLC
Priority to US12/189,369 priority Critical patent/US7940684B2/en
Assigned to ACTERNA LLC reassignment ACTERNA LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BOYES, DAVID JOHN, DAVIS, JASON LEE, WARD, MICHAEL THAD
Publication of US20090046590A1 publication Critical patent/US20090046590A1/en
Application granted granted Critical
Publication of US7940684B2 publication Critical patent/US7940684B2/en
Assigned to JDS UNIPHASE CORPORATION reassignment JDS UNIPHASE CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ACTERNA LLC
Assigned to VIAVI SOLUTIONS INC. reassignment VIAVI SOLUTIONS INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: JDS UNIPHASE CORPORATION
Assigned to WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT reassignment WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: 3Z TELECOM, INC., ACTERNA LLC, ACTERNA WG INTERNATIONAL HOLDINGS LLC, JDSU ACTERNA HOLDINGS LLC, OPTICAL COATING LABORATORY, LLC, RPC PHOTONICS, INC., TTC INTERNATIONAL HOLDINGS, LLC, VIAVI SOLUTIONS INC., VIAVI SOLUTIONS LLC
Assigned to VIAVI SOLUTIONS INC., RPC PHOTONICS, INC. reassignment VIAVI SOLUTIONS INC. TERMINATIONS OF SECURITY INTEREST AT REEL 052729, FRAME 0321 Assignors: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0846Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter

Definitions

  • the present disclosure relates to testing of Voice over Internet Protocol (VoIP) equipment, and more particularly relates to a system and method for inspecting, detecting, testing and analyzing the configuration of a VoIP line, circuit or connection.
  • VoIP Voice over Internet Protocol
  • Each call control has various configuration parameters such as encoder/decoder (CODEC), frame rate, password, username, port number, IP address, and the like.
  • CODEC encoder/decoder
  • Call control is a process used in telecommunications networks to establish, monitor and maintain connections.
  • call control is used to control connections between endpoints, or between endpoints and gatekeepers.
  • H.323 is an International Telecommunication Union (ITU) standard for digital communication between terminals, network equipment and services.
  • call control is one of three major categories of communications traffic. The other two categories include signaling and media communications.
  • H.323 call controls use Q.931, a connection protocol for digital networks, including VoIP systems. Messages are transmitted as octets as specified in ITU H.245, which resolves the type of call media to be used, such as unrestricted digital, 64K voice, 3.1K audio, and video, and then manages the connection after it has been established.
  • Call control functions may include, but are not limited to, the determination of master/slave status for the endpoints, monitoring of the status of the endpoints, modification of the parameters of a connection, termination of a connection, and restarting a terminated or failed connection.
  • H.323 is a standard approved by the International Telecommunication Union (ITU) in 1996 to promote compatibility in videoconference transmissions over IP networks. H.323 was originally promoted as a way to provide consistency in audio, video and data packet transmissions in the event that a local area network (LAN) did not provide guaranteed Quality of Service (QoS). Although it was doubtful at first whether manufacturers would adopt H.323, it is now considered to be the standard for interoperability in audio, video and data transmissions as well as Internet telephone and VoIP. H.323 addresses call control and management for both point-to-point and multipoint conferences as well as gateway administration of media traffic, bandwidth and user participation.
  • ITU International Telecommunication Union
  • QoS Quality of Service
  • H.323 which describes how multimedia communications occur between terminals, network equipment and services, is part of a larger group of ITU recommendations for multi-media interoperability called H.3x.
  • the latest of these recommendations, H.248, is a recommendation to provide a single standard for the control of gateway devices in multi-media packet transmissions to allow calls to connect from a LAN to a Public Switched Telephone Network (PSTN), as well as to other standards-based terminals.
  • PSTN Public Switched Telephone Network
  • This recommendation was announced in August 2000, by the ITU-TU Study Group 16 and the Megaco Working Group of the Internet Engineering Task Force (IETF).
  • H.245 is used to negotiate channel usage and capabilities.
  • Q.931 is used for call signaling and call setup.
  • Registration/Admission/Status (RAS) is a protocol used to communicate with a Gatekeeper.
  • Audio CODECs include G.711, G.723 and G.729.
  • Video CODECs include H.261 and H.263.
  • RTP/RTCP is used for sequencing audio and video packets.
  • a gatekeeper is a management tool or call manager for H.323 multimedia networks.
  • a single gatekeeper controls interactions for each zone, which includes the terminals, multipoint control units (MCU), and gateways within a particular domain.
  • MCU multipoint control units
  • the gatekeeper is an optional component, it becomes the central administrative entity when it is included.
  • the gatekeeper oversees authentication, authorization, telephone directory and private branch exchange (PBX) services, as well as call control and routing.
  • Other functions may include monitoring the network for load balancing and real-time network management applications, intrusion detection and prevention, and providing interfaces to legacy systems.
  • Gatekeepers are available as either hardware devices or software applications, and are offered as proprietary products from a number of vendors such as Cisco and Symantec, or as freeware.
  • VoIP protocols include SIP, MGCP, and SCCP.
  • Session Initiation Protocol is one of the fundamental parts of the new software face of telecom, providing the basic signaling protocol needed to initiate, manage, and terminate multimedia, such as voice, data, video and audio communications sessions.
  • SIP is a signaling protocol for Internet conferencing, telephony, presence, events notification and instant messaging. SIP was developed by the Internet Engineering Task Force (IETF).
  • SIP is used for setting up, controlling and tearing down sessions on the Internet. Sessions include, but are not limited to, Internet telephone calls and multimedia conferences. SIP is also used for instant messaging and presence. SIP was designed for managing sessions or connections, whereas H.323 was designed for multimedia conferencing. VoIP falls within the scopes of both protocols.
  • SIP is a request-response protocol that closely resembles two other Internet protocols, HTTP and SMTP, the protocols that power the World Wide Web and email. Consequently, SIP works comfortably alongside other Internet applications.
  • SIP uses a SIP URL, where every endpoint on the VoIP system has a SIP URL for identification.
  • the URL for John Smith at rogers.com might be: sip:jsmith@rogers.com.
  • the URL resembles an email address, whereby if placed on a web page, clicking the URL will initiate a telephone call to that SIP endpoint.
  • the URL may have the format of: SIP:5233784@gateway, where gateway is the name of a machine that acts as a gateway to the PSTN.
  • a SIP server may include some or all of the above functions, or the functions can be split between multiple machines.
  • MGCP Media Gateway Control Protocol
  • a telephony gateway is a network element that provides conversion between the audio signals carried on telephone circuits and data packets carried over the Internet or over other packet networks.
  • MGCP assumes a call control architecture where the call control intelligence is outside the gateways and handled by external call control elements. MGCP assumes that these call control elements, or Call Agents, will synchronize with each other to send coherent commands to the gateways under their control. MGCP is a master/slave protocol, where the gateways are expected to execute commands sent by the Call Agents. MGCP implements the media gateway, control interface as a set of transactions. The transactions are composed of a command and a mandatory response.
  • SCCP Skinny Client Control Protocol
  • CODECs are used to convert an analog voice signal into a digitally encoded version, and vice-versa. CODECs vary in sound quality, bandwidth requirements, and computational requirements. Each service, program, telephone or gateway typically supports several different CODECs. When talking to each other, each service, program, telephone or gateway negotiates which CODEC they will use. Examples of CODECs include G.711A, G.711U, G.723, G.723.2, G.726, G.729A, and GSM.
  • a digital signal processor (DSP) IC can be a versatile, multi-functional Analog Front-End integrated circuit, featuring the combination of one or more CODECs, a DSP, Analog multiplexers (MUX) and amplifiers with programmable gain.
  • a DSP IC may have various peripheral interfaces on a single chip. Some DSP ICs may be loaded and reloaded on the fly as a new call comes in. Such an IC can reload with a new CODEC in a fraction of a second, before the call is connected, thus allowing the user a wide list of supported CODECs using just one IC part.
  • a common problem in VoIP is that a user or technician may need to unplug a phone or device, which may not be functioning correctly, and connect a test set that will emulate the device.
  • the disconnected phone or device may have many configurations and settings that it uses to correctly register, place and/or receive calls with the switch.
  • Current solutions include a) using the phone menu to manually review and copy current settings, such as IP address, DNS server, call manager IP, call manager port, CODEC used, and the like; or b) using a laptop PC or analyzer to capture the stream of traffic, and have a human expert read and sort through the messages for the desired information.
  • An exemplary apparatus embodiment of the present disclosure provides a portable test device for testing a telephone line on a VoIP network, the device having a master control unit, a graphical display unit in signal communication with the master control unit, a user interface unit in signal communication with the master control unit, a CODEC unit in signal communication with the master control unit, and a coupler in signal communication with the master control unit, wherein the portable test device is configured to implement a suite of tests that run automatically from the test device, and to provide results responsive to the tests indicative of which call control protocols and CODECs are supported by the VoIP network.
  • An exemplary method embodiment of the present disclosure provides a method for testing a VoIP telephone connection, the method including a) connecting a portable test device to a network access point, b) running an information gathering software program on the VoIP telephone connection requesting information from a user on one or more of IP address of call manager, IP address of gatekeeper, line call control, line CODEC, line password, and line port number, c) making telephone calls on the telephone connection using a plurality of different vendor call controls, d) running a series of test programs using the plurality of different vendor call controls, and e) generating a report on the VoIP telephone configuration and results of test programs run, wherein the steps b), c) and d) are run automatically by the test device thereby enabling the user to diagnose problems with the VoIP telephone connection.
  • Another exemplary method embodiment of the present disclosure provides a method for testing a VoIP telephone connection to a VoIP network, including a call manager, at a network access point, the method including a) connecting a test device, which includes a plurality of test programs and a first plurality of different CODECs, b) determining whether the VoIP telephone connection is compatible with a first VoIP protocol by attempting to register with the call manager with a registration signal compatible with the first VoIP protocol, c) determining the compatibility of the VoIP telephone connection with a second plurality of different CODECs larger than the first plurality of different CODECs by transmitting a plurality of registration messages including CODEC identifications of the second plurality of CODECs therein to the call manager, and receiving response signals from the call manager indicative of whether the CODEC corresponding to the CODEC identifications are compatible, thereby eliminating a need to place a VoIP telephone call using the CODEC, d) generating a report of CODECs compatible with the VoIP telephone connection, and e) executing
  • Yet another exemplary method embodiment of the present disclosure provides a method of testing a telephone line connected to a VoIP network having a call manager, the method including a) determining which of a plurality of VoIP call control protocols is compatible with the telephone line, and b) conducting a series of tests on the telephone line in accordance with results of step a).
  • Still another exemplary method embodiment of the present disclosure provides a method of testing a VoIP telephone line connected to a VoIP network, which includes a call manager, the method including a) determining which CODEC is compatible with the telephone line, and b) conducting a series of tests on the telephone line in accordance with results of step a).
  • FIG. 1 is a schematic representation of a H.323 VoIP network in accordance with an exemplary embodiment of the present disclosure
  • FIG. 2 is a schematic representation of a SIP VoIP network in accordance with an exemplary embodiment of the present disclosure
  • FIG. 3 is a schematic representation of a testing device in accordance with an exemplary embodiment of the present disclosure
  • FIG. 4 is a functional block diagram of a telephone device that directly measures the network delay of voice data transmissions in accordance with an exemplary embodiment of the present disclosure
  • FIG. 5 is a method flow diagram for the testing device of FIG. 3 in accordance with an exemplary embodiment of the present disclosure.
  • FIG. 6 is a method flow diagram for automatically inspecting a VoIP line in accordance with an exemplary embodiment of the present disclosure.
  • the present disclosure provides a method and apparatus for testing or troubleshooting a Voice over Internet Protocol (VoIP) connection.
  • VoIP Voice over Internet Protocol
  • the disclosure addresses determination of the system configuration for a VoIP telephone connection given the variety of vendors and call control systems in use.
  • a set of tests is run automatically to get the required information needed for troubleshooting the VoIP telephone connection.
  • An advantage of running the tests automatically is that the skill-level requirements may be reduced for technicians to troubleshoot the VoIP telephone connections.
  • a common problem in VoIP telephone connections is determining the phone configuration parameters or settings.
  • the present disclosure solves this problem of determining the VoIP telephone configuration settings by monitoring and analyzing the data traffic between a VoIP telephone and its network. The data traffic is captured and analyzed in order to determine the configuration settings.
  • a VoIP device can be configured to emulate the VoIP telephone and used to troubleshoot or conduct tests.
  • Embodiments of the present disclosure facilitate the testing and troubleshooting of VoIP connections by automatically scanning and interpreting the contents of TCP/IP packets.
  • the present disclosure provides automated testing and analysis for determining the configuration and status of VoIP systems. Exemplary embodiments are described.
  • a VoIP telephone system is generally indicated by the reference numeral 100 .
  • the VoIP telephone system 100 includes a first Local Area Network (LAN) 160 and a second LAN 162 .
  • the first LAN 160 is connected to at least one H.323 IP telephone 130 , an H.323 terminal 140 , a multipoint control unit (MCU) 190 , and a first call manager or H.323 Gatekeeper 120 .
  • the second LAN 162 is connected to at least one H.323 IP telephone 132 , an H.323 terminal 142 , an H.323 Gateway 180 , and a second call manager or H.323 Gatekeeper 120 .
  • the first call manager 120 of the first LAN 160 is connected to the second call manager 120 of the second LAN 162 .
  • the Gateway 180 of the second LAN 162 is connected to an external Public Switched Telephone Network (PSTN) 170 .
  • PSTN Public Switched Telephone Network
  • the call manager 120 such as an H.323 Gatekeeper, provides the management of the telephone calls.
  • the function of the call manager 120 is comparable to the function that SS7 performs in a public switched telephone network (PSTN). If two telephones are registered to the same Gatekeeper, then a connection can be made by dialing an alias (e.g., 555-1212), whereby the gatekeeper will determine the IP address.
  • Each H.323 zone includes a plurality of IP telephones 130 and 132 and/or computer terminals 140 and 142 enabling VoIP communications, all connected to a local area network (LAN) 160 and 162 .
  • LAN local area network
  • the call manager 120 establishing a call requires address resolution, which is the way that the originating caller identifies the recipient, such as by telephone number, name, extension or IP address, which must be mapped to that recipient's IP address if the recipient is also using VoIP.
  • address resolution is the way that the originating caller identifies the recipient, such as by telephone number, name, extension or IP address, which must be mapped to that recipient's IP address if the recipient is also using VoIP.
  • the call manager 120 must forward the request to a PSTN 170 , via an access device, such as a VoIP gateway 180 .
  • Multipoint Control Units (MCU) 190 support conferences between three or more endpoints. Conferencing can be audio, video and/or data.
  • the call manager 120 then proceeds to initiate the call, by using H.225, SIP, or proprietary signaling to contact the called party. Upon a successful connection, the call manager 120 “hands off” the call to the two connected telephones or telephone-gateway pair. If the call cannot go through because the called telephone was in use or otherwise unavailable, the call manager 120 will then inform the caller with a busy signal or redirect the call to an automated attendant or voice mail system.
  • the call manager 120 can also control or limit access to the telephone system to authorized and registered endpoints, such as IP telephones and computers. Endpoints unknown to the administrator can be disallowed. Connections can be disallowed if the system has no more bandwidth. A percentage of the bandwidth of the network may be reserved for data or some critical usage. The call manager 120 may also restrict the number of people participating in a video/audio conference.
  • One of the call managers 120 manages a respective zone, defined as the endpoint devices that register therewith, including maintaining a real time list of calls in progress in order to provide a busy signal as required.
  • the call managers 120 also provide some of the services that a traditional PBX provides, such as call hold, call transfer, call forwarding and call waiting.
  • the call manager 120 can be a dedicated box, integrated into another box such as a router, or be software residing on a server.
  • the call control functions used by the call manager 120 are typically H.323 or SIP.
  • other protocols such as Cisco's proprietary SKINNY protocol, may also be used.
  • H.323 is an International Telecommunication Union (ITU) standard for digital communication between terminals, network equipment and services.
  • ITU International Telecommunication Union
  • call control is used to control connections between endpoints 130 , 132 , 140 and 142 , or between the endpoints 130 , 132 , 140 and 142 and the gatekeepers 120 .
  • the SIP network 200 includes a first LAN 260 and a second LAN 262 .
  • the first LAN 260 is connected to at least one SIP telephone 223 , a SIP terminal 224 , a Redirect server 228 , a Registration/Location Server 222 , and a call manager or SIP Proxy Server 227 .
  • the Location Server 222 is connected to a Location Database 226 .
  • the second LAN 262 is connected to at least one SIP telephone 223 , a SIP terminal 224 , a SIP Gateway 280 , and a second SIP Proxy Server 227 .
  • the first SIP Proxy Server 227 of the first LAN 260 is connected to the second SIP Proxy Server 227 of the second LAN 262 .
  • the Gateway 280 of the second LAN 262 is connected to an external PSTN 270 .
  • the registration/location server 222 authenticates users such as IP telephones 223 and SIP compatible computer terminals 224 , and adds the mapping between URLs and network addresses to a location server's database 226 .
  • a location database 226 maintains a database of name to location mappings, generally including IP addresses.
  • the information in the database 226 may be acquired from the user agent registrations, but may also be acquired in other ways, such as via a domain name server (DNS).
  • DNS domain name server
  • the database 226 may be queried in various ways, although Lightweight Directory Access Protocol (LDAP) is the most common method.
  • LDAP Lightweight Directory Access Protocol
  • Proxy servers 227 act on behalf of user agents, routing SIP messages to the correct destinations.
  • a redirect server 228 differs from the proxy servers 227 in that it does not forward messages, but looks up a location and returns one or more addresses for the destination. The original user agent may then contact the destination directly at the returned addresses.
  • the VoIP detective 300 is a testing device that includes a master control unit 342 connected to each of a graphical display 343 , a user interface 344 , a CODEC unit 346 , and a coupler 347 .
  • the VoIP detective 300 implements a suite of tests that run automatically from the testing device 300 , and then provides a technician with a list of what is known and what is still unknown about the VoIP network under test.
  • the coupler 347 is provided for receiving an eight-pin end coupler for coupling the testing device 300 , including the master control 342 , to a network via a 10/100 Ethernet cable.
  • the VoIP detective 300 of FIG. 3 may be connected to the LAN 160 or 162 of FIG. 1 , or to the LAN 260 or 262 of FIG. 2 , just like any other IP telephone.
  • the master control unit 342 in the testing device 300 generates a series of questions on the graphical display 343 for the technician to answer and enter into the testing device 300 via the user interface 344 .
  • the questions relate to simple information about the network, such as IP address of a known call manager and gatekeeper.
  • the master control 342 then asks whether the technician knows anything else about the line, such as call control, CODEC, password, port number or like information.
  • the master control unit 342 sends registration messages having a string of bits including the designated port numbers and telephone number or alias to a network call manager using a first VoIP protocol, such as H.323, and awaits a response. If a positive registration response is received, then the master control unit 342 determines that the line is compatible with the first VoIP protocol, and selects a subset of the suite of tests corresponding to the first VoIP or optionally conforms a selected number of the tests to be compatible with the first VoIP protocol. If the first VoIP protocol is not compatible with the line, then the registration message will be rejected by a line switch. Subsequently, a second registration message is sent to the network call manager using a second VoIP protocol, such as SIP.
  • a second VoIP protocol such as SIP.
  • the master control unit 342 determines that the line is compatible with the second VoIP protocol, and selects a subset of the suite of tests corresponding to the second VoIP or optionally conforms a selected number of the tests to be compatible with the second VoIP protocol. This process continues for other VoIP protocols, until a list of compatible VoIP protocols is determined.
  • the CODEC unit 346 may include a plurality of CODECs, depending upon the technician's needs to make actual calls on the test line.
  • a CODEC DSP integrated circuit IC is provided as the CODEC unit 346 , including only two or three of the most common CODECs, such as G.711U, G.729A, G.711A and/or GSM.
  • the CODEC DSP 346 can be loaded and reloaded on the fly as a new call comes in.
  • the CODEC DSP 346 can reload with a new CODEC in a fraction of a second, before the call is connected, thus allowing the user a wide list of supported CODECs using just one CODEC DSP IC part.
  • the inclusion of all possible CODECs is possible, although costly, as each CODEC may add to the complexity of the DSP and/or have an associated licensing fee.
  • the CODEC need not be included if the testing does not require placing a call using that particular CODEC. That is, the testing device 300 can determine whether the line is compatible with a large range of video and audio CODECs, even though the testing device 300 does not support a particular CODEC, by including identification information for the CODEC in a SETUP message to a network call manager, such as to a gatekeeper 120 of FIG. 1 or a SIP Proxy server 227 of FIG. 2 . If a response signal is returned to the master control 342 confirming setup, such as with a SETUP ACKNOWLEDGED, then the particular CODEC may be added to a list of compatible CODECs.
  • a network call manager such as to a gatekeeper 120 of FIG. 1 or a SIP Proxy server 227 of FIG. 2 .
  • additional registration messages can be sent to the network call manager to compile lists of compatible and incompatible CODECs for the tested line based on whether returning confirmation signals are received by the master control 342 . Accordingly, an actual call using a real-time transport protocol (RTP) stream with a particular CODEC is not required to determine whether the VoIP line is compatible with the particular CODEC.
  • RTP real-time transport protocol
  • the testing device 300 asks the technician for the IP address and optionally the port number of the switch for a call agent that the technician desires to test. If the call control type is known, then the testing device 300 can display this information.
  • the testing device 300 can ask for permission by sending a registration signal to a call manager to place a video call, for example, and wait for the call manager to transmit a positive return registration signal, thereby connecting the line. Once connected to the call manager, the call manager will transmit a test pattern page for the technician to observe. Accordingly, even though the testing device 300 might not have a camera or stereo speakers, a technician can place a call and check the provisioning of the line, so that when the video telephone does arrive, the technician would not need to make another service visit to test the line again since she has already tested to the demarcation point of the telephone company.
  • a VoIP detective embodied in a telephone is indicated generally by the reference numeral 400 .
  • the VoIP detective telephone 400 is similar to the VoIP detective 300 of FIG. 3 , and includes a CPU 422 connected to a common bus 426 , and a memory 424 connected to the common bus, where the memory includes a Quality of Service (QOS) software program 440 .
  • QOS Quality of Service
  • a graphical display 443 , a user interface 445 , and a coupler 447 are each connected to the common bus 426 .
  • a microphone 428 and a speaker 430 are each connected to an audio I/O unit 432 , which is connected to the common bus 426 .
  • a CODEC circuit 434 is connected to the audio I/O unit 432 and to the common bus 426 .
  • a ping signal generator 436 is connected to the common bus 426 .
  • a mixer is connected to each of the CODEC circuit 434 , the ping signal generator 436 and the common bus 426 .
  • a voice activity detection (VAD) circuit 442 is connected to the mixer 438 and to the common bus 426 .
  • a packet converter 444 is connected to the VAD 442 and to the common bus 426 .
  • An I/O circuit interface 446 is connected to each of the packet converter 444 and the common bus 426 , and is further connected to the coupler 447 .
  • a signal detector 450 is connected to the common bus 426 , and includes a comparator 452 and a fast Fourier transform (FFT) unit 454 .
  • FFT fast Fourier transform
  • the VoIP detective telephone 400 directly measures the network delay of voice data transmissions using a ping signal.
  • the processor 422 and memory 424 are connected to the common bus 426 , and the memory 424 stores the QOS software program 440 that controls the injection and detection of the ping signal and measures the network delay of voice data transmissions through a communications network, such as the network 100 of FIG. 1 or 200 of FIG. 2 .
  • the microphone 428 and speaker 430 are connected to the audio I/O chip 432 that amplifies the signal to and from the CODEC circuit 434 , which is connected to the bus 426 .
  • the VoIP detective telephone 400 of FIG. 4 may be connected to the LAN 160 or 162 of FIG. 1 , or to the LAN 260 or 262 of FIG. 2 , just like any other IP telephone.
  • a destination telephone may be connected to the same LAN 160 , to a different LAN 162 in the same network 100 , or to the PSTN 170 , for example.
  • the CODEC circuit 434 converts an analog signal from the microphone 428 into a digital signal for transmission to the destination telephone and converts a digital signal representing a voice stream from the destination telephone into an analog signal for reproduction through the speaker 430 .
  • the ping signal is generated by the ping signal generator 436 .
  • the ping signal is a digital signal.
  • the ping signal can be an analog signal that is input to the CODEC circuit 434 for conversion to a digital signal.
  • the mixer 438 connected to the bus 426 and under control of the QOS program 440 , mixes the generated ping signal and the digital voice stream signal output of the CODEC circuit 434 .
  • the ping signal is superimposed on the digital voice stream signal by multiplying or adding the two signals together.
  • the mixer 438 replaces a portion of the digital voice stream signal with the ping signal. In either case, the ping signal is inserted into the voice stream signal.
  • the VAD circuit 442 is connected to the bus 426 .
  • the VAD circuit 442 receives and monitors voice activity on the output of the mixer 438 .
  • the VAD circuit 442 only generates digital voice stream data when there is voice activity or a ping signal, which is considered to be voice activity.
  • the packet converter 444 connected to the bus 426 , converts the digital voice stream from the VAD circuit 442 and formats it into a suitable series of packets according to the packet switch protocol being used.
  • the I/O interface circuit 446 receives the data packets containing voice stream data and transmits them to the coupler 447 to be routed through the packet switched network, such as the network 100 of FIG. 1 or 200 of FIG. 2 , and eventually to a destination telephone.
  • the internal circuits of the destination telephone may be substantially the same as those in the VoIP detective telephone 400 .
  • the I/O circuit interface 446 receives the digital voice stream from the coupler 447 .
  • the received voice stream is then monitored by a signal detector 450 connected to the bus 426 and under control of the QOS program 440 running inside the destination telephone.
  • the signal detector 450 includes a comparator 452 and a transform circuit 454 , such as a fast Fourier transform (FFT) circuit that converts a digital voice stream in the time domain into a signal level in the frequency domain, that is, as a function of frequency.
  • the transform circuit 454 can be implemented in dedicated hardware, as a combination of software and hardware such as a DSP IC, or purely in software executed by the processor 422 .
  • a Start block 510 passes control to a function block 512 .
  • the master control unit 342 of FIG. 3 pings the IP/port combination to check connectivity. For each of the following VoIP protocols, the master control unit 342 performs the tests described thereafter.
  • the master control unit 342 attempts to register the testing device 300 as an H.323 telephone using a Registration Admission Status (RAS) Gatekeeper Request Message.
  • RAS Registration Admission Status
  • the VoIP detective 300 will then continue with a series of H.323 tests.
  • Function block 524 executes an H.323 test sequence.
  • the H.323 tests include checking to see if a password is required to place a telephone call; testing all known CODECs to see which are supported; determining the switch vendor by watching for known information elements in certain messages; checking to see if the switch will allow ENBLOCK or OVERLAP DIALING; checking to see if a backup Call manager is responding, such as by using current call agent IP address+1; attempting to place an outbound call; attempting to answer an incoming call; checking packet stream metrics for jitter, loss and delay; and checking one-way delay metrics such as by using the method of the VoIP detective telephone 400 of FIG. 4 . Delay metrics are further discussed in co-pending U.S. patent application Ser. No. 11/372,673, filed Mar. 10, 2006.
  • Session Initiation Protocol (SIP) call-control details are addressed next.
  • the master control unit 342 attempts to register with a SIP Proxy server using well-known port numbers and a SIP registration message.
  • the VoIP detective 300 will then continue with a series of SIP based tests.
  • Function block 534 executes a SIP test sequence.
  • the SIP tests include checking to see if a password is required to place a telephone call; testing all known CODECs to see which are supported; determining the switch vendor by watching for known information elements in certain messages; checking to see if the switch will allow ENBLOCK or OVERLAP DIALING; attempting to place an outbound call; attempting to answer an incoming call; checking packet stream metrics for jitter, loss and delay; and checking one-way delay metrics such as by using the method of the VoIP detective telephone 400 of FIG. 4 .
  • MGCP Media Gateway Control Protocol
  • Function block 544 executes an MGCP test sequence.
  • the MGCP tests include testing all CODECs known to the VoIP detective 300 to see which are supported; determining the switch vendor by watching for known information elements in certain messages; checking to see if the switch will allow ENBLOCK or OVERLAP DIALING; attempting to place an outbound call; attempting to answer an incoming call; checking packet stream metrics for jitter, loss and delay; and checking one-way delay metrics such as by using the method of the VoIP detective telephone 400 of FIG. 4 .
  • SCCP Skinny Client Control Protocol
  • Function block 554 executes an SCCP test sequence.
  • the SCCP tests include testing all known CODECs to see which are supported; determining the switch vendor by watching for known information elements in certain messages; checking to see if the switch will allow ENBLOCK or OVERLAP DIALING; attempting to place an outbound call; attempting to answer an incoming call; checking packet stream metrics for jitter, loss and delay; and checking one-way delay metrics such as by using the method of the VoIP detective telephone 400 of FIG. 4 .
  • Table A sets forth an exemplary report from the VoIP detective 300 of FIG. 3 .
  • the exemplary report of Table A indicates that the call control is H.323, and that CODECs G.711.U and G.729.A are compatible.
  • the report of Table A indicates that other CODECs, such as G.711A, G.726 and G.723, are not compatible with the VoIP circuit under test.
  • a VoIP inspector implements a method of automatically inspecting a VoIP line as indicated generally by the reference numeral 600 .
  • the VoIP inspector 600 is a configuration tool that can monitor Ethernet traffic to automatically determine the actual and correct setup parameters needed to emulate an existing VoIP connection, and includes an algorithm that interprets the messages monitored. Such Ethernet traffic may be obtained using a live stream, or a pre-captured file, for examples.
  • the discovered configuration parameters may then be used to emulate the existing VoIP connection, such as by passing the discovered parameters to the VoIP detective 300 of FIG. 3 , for example.
  • the VoIP inspector 600 may be in signal communication with the VoIP detective 300 of FIG. 3 .
  • the VoIP inspector 600 may be a part of the VoIP detective 300 of FIG. 3 .
  • the VoIP inspector 600 includes a Start block 610 , which passes control to an input block 612 .
  • the input block 612 captures Ethernet traffic between the VoIP telephone and its network, and passes control to a function block 614 .
  • the function block 614 filters the captured traffic, and passes control to a decision block 616 .
  • the decision block 616 determines whether it is call control traffic, such as by filtering the captured traffic based on well-known or user specified IP port and protocol (e.g., TCP/UDP) information, and passes control to a function block 618 if the traffic is call control traffic, or back to the input block 612 if the traffic is not call control traffic.
  • the function block 618 analyzes the call control protocol once the traffic has been identified, and passes control to a function block 620 .
  • the function block 620 extracts the relevant configuration information, and passes control to a decision block 622 .
  • the decision blocks 622 , 626 and 630 determine which call control protocol is in use (i.e., SIP, H.323, MGCP, SCCP, etc.), based upon the well-known port number, and pass control to function blocks 624 , 628 and 632 , respectively, to derive the relevant configuration parameters.
  • Function blocks 624 , 628 and 632 pass control to function block 634 for generation of a report.
  • Function block 634 passes control to end block 636 .
  • SIP call control protocol
  • determining the type of message is done by comparing the first word of the message, such as REGISTER, INVITE or BYE, for example, to identify the type of message. Finding a particular field in a message, such as To, From or Contact, is also done by matching the first word in each line.
  • the pertinent information is determined as follows:
  • Outbound proxy IP Determined by extracting the destination IP address of the packet containing a REGISTER message.
  • Outbound proxy port Determined by extracting the destination IP port number of the packet containing a REGISTER message.
  • SIP domain Determined by extracting the domain from the Request-URI portion of the first line of the REGISTER message.
  • Preferred codec Determined by extracting the codec item from media description lines of the SDP (RFC 2327) portion of the INVITE message.
  • the VoIP inspector can monitor the traffic on an existing line, and/or read back a captured trace, and scan the messages to determine what configuration values were used to place a previous call, for example.
  • the system can then print, save and/or directly use such configuration values to connect a test set to the line and emulate the phone in question.
  • the VoIP inspector 600 may operate automatically, or optionally operate interactively. In an interactive embodiment, it is also possible to have a test set, listen to the traffic on the line, analyze the settings, prompt a user to unplug the original device, and then allow the test set to emulate the unplugged device.
  • the VoIP inspector 600 can operate with all variants of call controls, such as H.323, SIP, MGCP, UniStim and SCCP, all CODECs, and all switch vendors. It can reduce the number of calls for technical support to a test set vendor, for example, as many such calls are simply customers asking about how to correctly configure a line to emulate a given phone. Once the VoIP inspector has completed its analysis, it can print a report or transfer the configuration parameters to a test set or VoIP detective that could then mimic the phone and place a test call.
  • call controls such as H.323, SIP, MGCP, UniStim and SCCP, all CODECs, and all switch vendors. It can reduce the number of calls for technical support to a test set vendor, for example, as many such calls are simply customers asking about how to correctly configure a line to emulate a given phone.
  • Table B sets forth an exemplary report from the VoIP inspector.
  • the VoIP inspector may be embodied within the VoIP detective 300 of FIG. 3 , or it may be embodied separately and communicate with the VoIP detective.

Abstract

A method and apparatus for testing a VoIP telephone line are provided, the method including determining which of a plurality of VoIP call control protocols and/or CODECs is compatible with the telephone line, and conducting a series of tests on the telephone line in accordance therewith. The method and apparatus also includes steps and the means to connect to a network and capturing a stream of data therefrom to determine configuration settings of a VoIP telephone connected thereto to facilitate the previous testing.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application claims priority under 35 U.S.C. § 119 to U.S. Provisional Patent Application No. 60/955,449 filed on Aug. 13, 2007, and to U.S. Provisional Patent Application No. 60/970,025 filed on Sep. 5, 2007, the disclosures of which are incorporated herein by reference in their entireties.
  • BACKGROUND OF THE INVENTION
  • The present disclosure relates to testing of Voice over Internet Protocol (VoIP) equipment, and more particularly relates to a system and method for inspecting, detecting, testing and analyzing the configuration of a VoIP line, circuit or connection.
  • There are various VoIP service providers, VoIP switch vendors, and call controls. Each call control has various configuration parameters such as encoder/decoder (CODEC), frame rate, password, username, port number, IP address, and the like. Call control is a process used in telecommunications networks to establish, monitor and maintain connections.
  • In VoIP systems, call control is used to control connections between endpoints, or between endpoints and gatekeepers. H.323 is an International Telecommunication Union (ITU) standard for digital communication between terminals, network equipment and services.
  • In a VoIP network, call control is one of three major categories of communications traffic. The other two categories include signaling and media communications. H.323 call controls use Q.931, a connection protocol for digital networks, including VoIP systems. Messages are transmitted as octets as specified in ITU H.245, which resolves the type of call media to be used, such as unrestricted digital, 64K voice, 3.1K audio, and video, and then manages the connection after it has been established. Call control functions may include, but are not limited to, the determination of master/slave status for the endpoints, monitoring of the status of the endpoints, modification of the parameters of a connection, termination of a connection, and restarting a terminated or failed connection.
  • There are several protocols typically used for VoIP. These protocols define ways in which CODECs and devices connect to each other, and to the network, using VoIP. The protocols further include specifications for audio CODECs. The most widely used protocol is H.323. H.323 is a standard approved by the International Telecommunication Union (ITU) in 1996 to promote compatibility in videoconference transmissions over IP networks. H.323 was originally promoted as a way to provide consistency in audio, video and data packet transmissions in the event that a local area network (LAN) did not provide guaranteed Quality of Service (QoS). Although it was doubtful at first whether manufacturers would adopt H.323, it is now considered to be the standard for interoperability in audio, video and data transmissions as well as Internet telephone and VoIP. H.323 addresses call control and management for both point-to-point and multipoint conferences as well as gateway administration of media traffic, bandwidth and user participation.
  • H.323, which describes how multimedia communications occur between terminals, network equipment and services, is part of a larger group of ITU recommendations for multi-media interoperability called H.3x. The latest of these recommendations, H.248, is a recommendation to provide a single standard for the control of gateway devices in multi-media packet transmissions to allow calls to connect from a LAN to a Public Switched Telephone Network (PSTN), as well as to other standards-based terminals. This recommendation was announced in August 2000, by the ITU-TU Study Group 16 and the Megaco Working Group of the Internet Engineering Task Force (IETF).
  • Various controls and call signals are used. H.245 is used to negotiate channel usage and capabilities. Q.931 is used for call signaling and call setup. Registration/Admission/Status (RAS) is a protocol used to communicate with a Gatekeeper. Audio CODECs include G.711, G.723 and G.729. Video CODECs include H.261 and H.263. RTP/RTCP is used for sequencing audio and video packets.
  • A gatekeeper is a management tool or call manager for H.323 multimedia networks. A single gatekeeper controls interactions for each zone, which includes the terminals, multipoint control units (MCU), and gateways within a particular domain. Although the gatekeeper is an optional component, it becomes the central administrative entity when it is included.
  • Depending on the demands of the specific network, the gatekeeper oversees authentication, authorization, telephone directory and private branch exchange (PBX) services, as well as call control and routing. Other functions may include monitoring the network for load balancing and real-time network management applications, intrusion detection and prevention, and providing interfaces to legacy systems. Gatekeepers are available as either hardware devices or software applications, and are offered as proprietary products from a number of vendors such as Cisco and Symantec, or as freeware.
  • Other VoIP protocols include SIP, MGCP, and SCCP. Session Initiation Protocol (SIP) is one of the fundamental parts of the new software face of telecom, providing the basic signaling protocol needed to initiate, manage, and terminate multimedia, such as voice, data, video and audio communications sessions. SIP is a signaling protocol for Internet conferencing, telephony, presence, events notification and instant messaging. SIP was developed by the Internet Engineering Task Force (IETF).
  • SIP is used for setting up, controlling and tearing down sessions on the Internet. Sessions include, but are not limited to, Internet telephone calls and multimedia conferences. SIP is also used for instant messaging and presence. SIP was designed for managing sessions or connections, whereas H.323 was designed for multimedia conferencing. VoIP falls within the scopes of both protocols.
  • SIP is a request-response protocol that closely resembles two other Internet protocols, HTTP and SMTP, the protocols that power the World Wide Web and email. Consequently, SIP works comfortably alongside other Internet applications. Using SIP, telephony becomes another web application and integrates easily into other Internet services. For example, SIP uses a SIP URL, where every endpoint on the VoIP system has a SIP URL for identification. The URL for John Smith at rogers.com might be: sip:jsmith@rogers.com. The URL resembles an email address, whereby if placed on a web page, clicking the URL will initiate a telephone call to that SIP endpoint. If calling a telephone number on the PSTN, the URL may have the format of: SIP:5233784@gateway, where gateway is the name of a machine that acts as a gateway to the PSTN. A SIP server may include some or all of the above functions, or the functions can be split between multiple machines.
  • Media Gateway Control Protocol (MGCP) is used for controlling telephony gateways from external call control elements called media gateway controllers or call agents. A telephony gateway is a network element that provides conversion between the audio signals carried on telephone circuits and data packets carried over the Internet or over other packet networks.
  • MGCP assumes a call control architecture where the call control intelligence is outside the gateways and handled by external call control elements. MGCP assumes that these call control elements, or Call Agents, will synchronize with each other to send coherent commands to the gateways under their control. MGCP is a master/slave protocol, where the gateways are expected to execute commands sent by the Call Agents. MGCP implements the media gateway, control interface as a set of transactions. The transactions are composed of a command and a mandatory response.
  • Skinny Client Control Protocol (SCCP) is a Cisco proprietary protocol used between Cisco Call Manager and Cisco VoIP telephones. It is also supported by some other vendors.
  • CODECs are used to convert an analog voice signal into a digitally encoded version, and vice-versa. CODECs vary in sound quality, bandwidth requirements, and computational requirements. Each service, program, telephone or gateway typically supports several different CODECs. When talking to each other, each service, program, telephone or gateway negotiates which CODEC they will use. Examples of CODECs include G.711A, G.711U, G.723, G.723.2, G.726, G.729A, and GSM.
  • A digital signal processor (DSP) IC can be a versatile, multi-functional Analog Front-End integrated circuit, featuring the combination of one or more CODECs, a DSP, Analog multiplexers (MUX) and amplifiers with programmable gain. A DSP IC may have various peripheral interfaces on a single chip. Some DSP ICs may be loaded and reloaded on the fly as a new call comes in. Such an IC can reload with a new CODEC in a fraction of a second, before the call is connected, thus allowing the user a wide list of supported CODECs using just one IC part.
  • Any technical terms not explicitly defined herein are well known in the art. In addition, definitions of terms are located in the RFC 3261 and 2327 documents, which can be obtained from the IETF website at www.rfc-editor.org.
  • A common problem in VoIP is that a user or technician may need to unplug a phone or device, which may not be functioning correctly, and connect a test set that will emulate the device. Unfortunately, the disconnected phone or device may have many configurations and settings that it uses to correctly register, place and/or receive calls with the switch. Current solutions include a) using the phone menu to manually review and copy current settings, such as IP address, DNS server, call manager IP, call manager port, CODEC used, and the like; or b) using a laptop PC or analyzer to capture the stream of traffic, and have a human expert read and sort through the messages for the desired information.
  • Unfortunately, many technicians do not have the time or expertise to read and thoroughly understand Ethernet VoIP traces. Technicians are generally faced with an increasing number of duties to perform in a decreasing amount of time, with even less time available for training. Typically, configuration errors may cause hours of troubleshooting and lost labor while calling telephone support or changing configuration items and analyzing VoIP traffic traces. Thus, an automated VoIP test and analysis solution is desired to reduce the time and expertise that a technician would need to troubleshoot VoIP lines.
  • SUMMARY OF THE INVENTION
  • These and other issues are addressed by a method and apparatus for VoIP testing. Exemplary embodiments are provided.
  • An exemplary apparatus embodiment of the present disclosure provides a portable test device for testing a telephone line on a VoIP network, the device having a master control unit, a graphical display unit in signal communication with the master control unit, a user interface unit in signal communication with the master control unit, a CODEC unit in signal communication with the master control unit, and a coupler in signal communication with the master control unit, wherein the portable test device is configured to implement a suite of tests that run automatically from the test device, and to provide results responsive to the tests indicative of which call control protocols and CODECs are supported by the VoIP network.
  • An exemplary method embodiment of the present disclosure provides a method for testing a VoIP telephone connection, the method including a) connecting a portable test device to a network access point, b) running an information gathering software program on the VoIP telephone connection requesting information from a user on one or more of IP address of call manager, IP address of gatekeeper, line call control, line CODEC, line password, and line port number, c) making telephone calls on the telephone connection using a plurality of different vendor call controls, d) running a series of test programs using the plurality of different vendor call controls, and e) generating a report on the VoIP telephone configuration and results of test programs run, wherein the steps b), c) and d) are run automatically by the test device thereby enabling the user to diagnose problems with the VoIP telephone connection.
  • Another exemplary method embodiment of the present disclosure provides a method for testing a VoIP telephone connection to a VoIP network, including a call manager, at a network access point, the method including a) connecting a test device, which includes a plurality of test programs and a first plurality of different CODECs, b) determining whether the VoIP telephone connection is compatible with a first VoIP protocol by attempting to register with the call manager with a registration signal compatible with the first VoIP protocol, c) determining the compatibility of the VoIP telephone connection with a second plurality of different CODECs larger than the first plurality of different CODECs by transmitting a plurality of registration messages including CODEC identifications of the second plurality of CODECs therein to the call manager, and receiving response signals from the call manager indicative of whether the CODEC corresponding to the CODEC identifications are compatible, thereby eliminating a need to place a VoIP telephone call using the CODEC, d) generating a report of CODECs compatible with the VoIP telephone connection, and e) executing a series of the plurality of test programs based on the first plurality of CODECs, which are supported by the VoIP protocol.
  • Yet another exemplary method embodiment of the present disclosure provides a method of testing a telephone line connected to a VoIP network having a call manager, the method including a) determining which of a plurality of VoIP call control protocols is compatible with the telephone line, and b) conducting a series of tests on the telephone line in accordance with results of step a).
  • Still another exemplary method embodiment of the present disclosure provides a method of testing a VoIP telephone line connected to a VoIP network, which includes a call manager, the method including a) determining which CODEC is compatible with the telephone line, and b) conducting a series of tests on the telephone line in accordance with results of step a).
  • The present disclosure will be further understood from the following description of exemplary embodiments, which is to be read in connection with the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present disclosure will be described in greater detail with reference to the accompanying drawings, which represent exemplary embodiments thereof, in which:
  • FIG. 1 is a schematic representation of a H.323 VoIP network in accordance with an exemplary embodiment of the present disclosure;
  • FIG. 2 is a schematic representation of a SIP VoIP network in accordance with an exemplary embodiment of the present disclosure;
  • FIG. 3 is a schematic representation of a testing device in accordance with an exemplary embodiment of the present disclosure;
  • FIG. 4 is a functional block diagram of a telephone device that directly measures the network delay of voice data transmissions in accordance with an exemplary embodiment of the present disclosure;
  • FIG. 5 is a method flow diagram for the testing device of FIG. 3 in accordance with an exemplary embodiment of the present disclosure; and
  • FIG. 6 is a method flow diagram for automatically inspecting a VoIP line in accordance with an exemplary embodiment of the present disclosure.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • The present disclosure provides a method and apparatus for testing or troubleshooting a Voice over Internet Protocol (VoIP) connection. The disclosure addresses determination of the system configuration for a VoIP telephone connection given the variety of vendors and call control systems in use. A set of tests is run automatically to get the required information needed for troubleshooting the VoIP telephone connection. An advantage of running the tests automatically is that the skill-level requirements may be reduced for technicians to troubleshoot the VoIP telephone connections.
  • A common problem in VoIP telephone connections is determining the phone configuration parameters or settings. The present disclosure solves this problem of determining the VoIP telephone configuration settings by monitoring and analyzing the data traffic between a VoIP telephone and its network. The data traffic is captured and analyzed in order to determine the configuration settings. Thus, a VoIP device can be configured to emulate the VoIP telephone and used to troubleshoot or conduct tests.
  • Embodiments of the present disclosure facilitate the testing and troubleshooting of VoIP connections by automatically scanning and interpreting the contents of TCP/IP packets. Thus, the present disclosure provides automated testing and analysis for determining the configuration and status of VoIP systems. Exemplary embodiments are described.
  • As shown in FIG. 1, a VoIP telephone system is generally indicated by the reference numeral 100. The VoIP telephone system 100 includes a first Local Area Network (LAN) 160 and a second LAN 162. The first LAN 160 is connected to at least one H.323 IP telephone 130, an H.323 terminal 140, a multipoint control unit (MCU) 190, and a first call manager or H.323 Gatekeeper 120. The second LAN 162 is connected to at least one H.323 IP telephone 132, an H.323 terminal 142, an H.323 Gateway 180, and a second call manager or H.323 Gatekeeper 120. The first call manager 120 of the first LAN 160 is connected to the second call manager 120 of the second LAN 162. In addition, the Gateway 180 of the second LAN 162 is connected to an external Public Switched Telephone Network (PSTN) 170.
  • The call manager 120, such as an H.323 Gatekeeper, provides the management of the telephone calls. The function of the call manager 120 is comparable to the function that SS7 performs in a public switched telephone network (PSTN). If two telephones are registered to the same Gatekeeper, then a connection can be made by dialing an alias (e.g., 555-1212), whereby the gatekeeper will determine the IP address. Each H.323 zone includes a plurality of IP telephones 130 and 132 and/or computer terminals 140 and 142 enabling VoIP communications, all connected to a local area network (LAN) 160 and 162.
  • The call manager 120 establishing a call requires address resolution, which is the way that the originating caller identifies the recipient, such as by telephone number, name, extension or IP address, which must be mapped to that recipient's IP address if the recipient is also using VoIP. On the other hand, if the recipient is on an external telephone system, the call manager 120 must forward the request to a PSTN 170, via an access device, such as a VoIP gateway 180. Multipoint Control Units (MCU) 190 support conferences between three or more endpoints. Conferencing can be audio, video and/or data.
  • The call manager 120 then proceeds to initiate the call, by using H.225, SIP, or proprietary signaling to contact the called party. Upon a successful connection, the call manager 120 “hands off” the call to the two connected telephones or telephone-gateway pair. If the call cannot go through because the called telephone was in use or otherwise unavailable, the call manager 120 will then inform the caller with a busy signal or redirect the call to an automated attendant or voice mail system.
  • The call manager 120 can also control or limit access to the telephone system to authorized and registered endpoints, such as IP telephones and computers. Endpoints unknown to the administrator can be disallowed. Connections can be disallowed if the system has no more bandwidth. A percentage of the bandwidth of the network may be reserved for data or some critical usage. The call manager 120 may also restrict the number of people participating in a video/audio conference.
  • One of the call managers 120 manages a respective zone, defined as the endpoint devices that register therewith, including maintaining a real time list of calls in progress in order to provide a busy signal as required. The call managers 120 also provide some of the services that a traditional PBX provides, such as call hold, call transfer, call forwarding and call waiting.
  • The call manager 120 can be a dedicated box, integrated into another box such as a router, or be software residing on a server. The call control functions used by the call manager 120 are typically H.323 or SIP. In addition, other protocols, such as Cisco's proprietary SKINNY protocol, may also be used.
  • H.323 is an International Telecommunication Union (ITU) standard for digital communication between terminals, network equipment and services. In such H.323 VoIP systems, call control is used to control connections between endpoints 130, 132, 140 and 142, or between the endpoints 130, 132, 140 and 142 and the gatekeepers 120.
  • Turning to FIG. 2, a SIP network is generally indicated by the reference numeral 200. The SIP network 200 includes a first LAN 260 and a second LAN 262. The first LAN 260 is connected to at least one SIP telephone 223, a SIP terminal 224, a Redirect server 228, a Registration/Location Server 222, and a call manager or SIP Proxy Server 227. The Location Server 222 is connected to a Location Database 226. The second LAN 262 is connected to at least one SIP telephone 223, a SIP terminal 224, a SIP Gateway 280, and a second SIP Proxy Server 227. The first SIP Proxy Server 227 of the first LAN 260 is connected to the second SIP Proxy Server 227 of the second LAN 262. In addition, the Gateway 280 of the second LAN 262 is connected to an external PSTN 270.
  • The registration/location server 222 authenticates users such as IP telephones 223 and SIP compatible computer terminals 224, and adds the mapping between URLs and network addresses to a location server's database 226. When a user agent starts up, the first message it sends is a REGISTER message. A location database 226 maintains a database of name to location mappings, generally including IP addresses. The information in the database 226 may be acquired from the user agent registrations, but may also be acquired in other ways, such as via a domain name server (DNS). The database 226 may be queried in various ways, although Lightweight Directory Access Protocol (LDAP) is the most common method. When a user wants to connect to a remote SIP endpoint, the user agent queries the location database 226 in the registration/location server 222 for the contact information.
  • Proxy servers 227 act on behalf of user agents, routing SIP messages to the correct destinations. A redirect server 228 differs from the proxy servers 227 in that it does not forward messages, but looks up a location and returns one or more addresses for the destination. The original user agent may then contact the destination directly at the returned addresses.
  • Turning now to FIG. 3, a VoIP detective is generally indicated by the reference numeral 300. The VoIP detective 300 is a testing device that includes a master control unit 342 connected to each of a graphical display 343, a user interface 344, a CODEC unit 346, and a coupler 347. The VoIP detective 300 implements a suite of tests that run automatically from the testing device 300, and then provides a technician with a list of what is known and what is still unknown about the VoIP network under test.
  • The coupler 347 is provided for receiving an eight-pin end coupler for coupling the testing device 300, including the master control 342, to a network via a 10/100 Ethernet cable. The VoIP detective 300 of FIG. 3 may be connected to the LAN 160 or 162 of FIG. 1, or to the LAN 260 or 262 of FIG. 2, just like any other IP telephone.
  • First, the master control unit 342 in the testing device 300 generates a series of questions on the graphical display 343 for the technician to answer and enter into the testing device 300 via the user interface 344. The questions relate to simple information about the network, such as IP address of a known call manager and gatekeeper. The master control 342 then asks whether the technician knows anything else about the line, such as call control, CODEC, password, port number or like information.
  • If the type of call control or VoIP protocol is not known, then the master control unit 342 sends registration messages having a string of bits including the designated port numbers and telephone number or alias to a network call manager using a first VoIP protocol, such as H.323, and awaits a response. If a positive registration response is received, then the master control unit 342 determines that the line is compatible with the first VoIP protocol, and selects a subset of the suite of tests corresponding to the first VoIP or optionally conforms a selected number of the tests to be compatible with the first VoIP protocol. If the first VoIP protocol is not compatible with the line, then the registration message will be rejected by a line switch. Subsequently, a second registration message is sent to the network call manager using a second VoIP protocol, such as SIP. If a positive registration response is received, then the master control unit 342 determines that the line is compatible with the second VoIP protocol, and selects a subset of the suite of tests corresponding to the second VoIP or optionally conforms a selected number of the tests to be compatible with the second VoIP protocol. This process continues for other VoIP protocols, until a list of compatible VoIP protocols is determined.
  • The CODEC unit 346 may include a plurality of CODECs, depending upon the technician's needs to make actual calls on the test line. In one embodiment, a CODEC DSP integrated circuit (IC) is provided as the CODEC unit 346, including only two or three of the most common CODECs, such as G.711U, G.729A, G.711A and/or GSM. The CODEC DSP 346 can be loaded and reloaded on the fly as a new call comes in. The CODEC DSP 346 can reload with a new CODEC in a fraction of a second, before the call is connected, thus allowing the user a wide list of supported CODECs using just one CODEC DSP IC part. The inclusion of all possible CODECs is possible, although costly, as each CODEC may add to the complexity of the DSP and/or have an associated licensing fee.
  • Although a given CODEC would have to be included to place an actual call using the CODEC, the CODEC need not be included if the testing does not require placing a call using that particular CODEC. That is, the testing device 300 can determine whether the line is compatible with a large range of video and audio CODECs, even though the testing device 300 does not support a particular CODEC, by including identification information for the CODEC in a SETUP message to a network call manager, such as to a gatekeeper 120 of FIG. 1 or a SIP Proxy server 227 of FIG. 2. If a response signal is returned to the master control 342 confirming setup, such as with a SETUP ACKNOWLEDGED, then the particular CODEC may be added to a list of compatible CODECs.
  • Moreover, additional registration messages can be sent to the network call manager to compile lists of compatible and incompatible CODECs for the tested line based on whether returning confirmation signals are received by the master control 342. Accordingly, an actual call using a real-time transport protocol (RTP) stream with a particular CODEC is not required to determine whether the VoIP line is compatible with the particular CODEC.
  • The testing device 300 asks the technician for the IP address and optionally the port number of the switch for a call agent that the technician desires to test. If the call control type is known, then the testing device 300 can display this information.
  • When a telephone company wants to test a VoIP telephone line that they have just delivered or installed in the absence of an expensive video telephone, for example, the testing device 300 can ask for permission by sending a registration signal to a call manager to place a video call, for example, and wait for the call manager to transmit a positive return registration signal, thereby connecting the line. Once connected to the call manager, the call manager will transmit a test pattern page for the technician to observe. Accordingly, even though the testing device 300 might not have a camera or stereo speakers, a technician can place a call and check the provisioning of the line, so that when the video telephone does arrive, the technician would not need to make another service visit to test the line again since she has already tested to the demarcation point of the telephone company.
  • As shown in FIG. 4, a VoIP detective embodied in a telephone is indicated generally by the reference numeral 400. The VoIP detective telephone 400 is similar to the VoIP detective 300 of FIG. 3, and includes a CPU 422 connected to a common bus 426, and a memory 424 connected to the common bus, where the memory includes a Quality of Service (QOS) software program 440. A graphical display 443, a user interface 445, and a coupler 447 are each connected to the common bus 426. A microphone 428 and a speaker 430 are each connected to an audio I/O unit 432, which is connected to the common bus 426. A CODEC circuit 434 is connected to the audio I/O unit 432 and to the common bus 426.
  • In addition, a ping signal generator 436 is connected to the common bus 426. A mixer is connected to each of the CODEC circuit 434, the ping signal generator 436 and the common bus 426. A voice activity detection (VAD) circuit 442 is connected to the mixer 438 and to the common bus 426. A packet converter 444 is connected to the VAD 442 and to the common bus 426. An I/O circuit interface 446 is connected to each of the packet converter 444 and the common bus 426, and is further connected to the coupler 447. A signal detector 450 is connected to the common bus 426, and includes a comparator 452 and a fast Fourier transform (FFT) unit 454.
  • The VoIP detective telephone 400 directly measures the network delay of voice data transmissions using a ping signal. The processor 422 and memory 424 are connected to the common bus 426, and the memory 424 stores the QOS software program 440 that controls the injection and detection of the ping signal and measures the network delay of voice data transmissions through a communications network, such as the network 100 of FIG. 1 or 200 of FIG. 2. The microphone 428 and speaker 430 are connected to the audio I/O chip 432 that amplifies the signal to and from the CODEC circuit 434, which is connected to the bus 426.
  • The VoIP detective telephone 400 of FIG. 4 may be connected to the LAN 160 or 162 of FIG. 1, or to the LAN 260 or 262 of FIG. 2, just like any other IP telephone. In addition, when the VoIP detective telephone 400 is connected to one LAN, such as the LAN 160, a destination telephone may be connected to the same LAN 160, to a different LAN 162 in the same network 100, or to the PSTN 170, for example.
  • The CODEC circuit 434 converts an analog signal from the microphone 428 into a digital signal for transmission to the destination telephone and converts a digital signal representing a voice stream from the destination telephone into an analog signal for reproduction through the speaker 430. Under control of the QOS program 440, the ping signal is generated by the ping signal generator 436. In the embodiment shown, the ping signal is a digital signal. Alternatively, the ping signal can be an analog signal that is input to the CODEC circuit 434 for conversion to a digital signal. The mixer 438, connected to the bus 426 and under control of the QOS program 440, mixes the generated ping signal and the digital voice stream signal output of the CODEC circuit 434.
  • In one method, the ping signal is superimposed on the digital voice stream signal by multiplying or adding the two signals together. Alternatively, the mixer 438 replaces a portion of the digital voice stream signal with the ping signal. In either case, the ping signal is inserted into the voice stream signal.
  • The VAD circuit 442 is connected to the bus 426. The VAD circuit 442 receives and monitors voice activity on the output of the mixer 438. The VAD circuit 442 only generates digital voice stream data when there is voice activity or a ping signal, which is considered to be voice activity. The packet converter 444, connected to the bus 426, converts the digital voice stream from the VAD circuit 442 and formats it into a suitable series of packets according to the packet switch protocol being used. The I/O interface circuit 446 receives the data packets containing voice stream data and transmits them to the coupler 447 to be routed through the packet switched network, such as the network 100 of FIG. 1 or 200 of FIG. 2, and eventually to a destination telephone.
  • In the embodiment shown, the internal circuits of the destination telephone may be substantially the same as those in the VoIP detective telephone 400. The I/O circuit interface 446 receives the digital voice stream from the coupler 447. The received voice stream is then monitored by a signal detector 450 connected to the bus 426 and under control of the QOS program 440 running inside the destination telephone. The signal detector 450 includes a comparator 452 and a transform circuit 454, such as a fast Fourier transform (FFT) circuit that converts a digital voice stream in the time domain into a signal level in the frequency domain, that is, as a function of frequency. The transform circuit 454 can be implemented in dedicated hardware, as a combination of software and hardware such as a DSP IC, or purely in software executed by the processor 422.
  • Turning to FIG. 5, a method of operation of the VoIP detective 300 of FIG. 3 is indicated generally by the reference numeral 500. A Start block 510 passes control to a function block 512. At function block 512, the master control unit 342 of FIG. 3 pings the IP/port combination to check connectivity. For each of the following VoIP protocols, the master control unit 342 performs the tests described thereafter.
  • International Telecommunication Union (ITU) H.323 call-control details are addressed next. At function block 520, regardless of connectivity, the master control unit 342 attempts to register the testing device 300 as an H.323 telephone using a Registration Admission Status (RAS) Gatekeeper Request Message. At decision block 522, if a positive message is returned, the VoIP detective 300 will then continue with a series of H.323 tests.
  • Function block 524 executes an H.323 test sequence. The H.323 tests include checking to see if a password is required to place a telephone call; testing all known CODECs to see which are supported; determining the switch vendor by watching for known information elements in certain messages; checking to see if the switch will allow ENBLOCK or OVERLAP DIALING; checking to see if a backup Call manager is responding, such as by using current call agent IP address+1; attempting to place an outbound call; attempting to answer an incoming call; checking packet stream metrics for jitter, loss and delay; and checking one-way delay metrics such as by using the method of the VoIP detective telephone 400 of FIG. 4. Delay metrics are further discussed in co-pending U.S. patent application Ser. No. 11/372,673, filed Mar. 10, 2006.
  • Session Initiation Protocol (SIP) call-control details are addressed next. At function block 530, the master control unit 342 attempts to register with a SIP Proxy server using well-known port numbers and a SIP registration message. At decision block 532, if a positive message is returned, the VoIP detective 300 will then continue with a series of SIP based tests.
  • Function block 534 executes a SIP test sequence. The SIP tests include checking to see if a password is required to place a telephone call; testing all known CODECs to see which are supported; determining the switch vendor by watching for known information elements in certain messages; checking to see if the switch will allow ENBLOCK or OVERLAP DIALING; attempting to place an outbound call; attempting to answer an incoming call; checking packet stream metrics for jitter, loss and delay; and checking one-way delay metrics such as by using the method of the VoIP detective telephone 400 of FIG. 4.
  • Media Gateway Control Protocol (MGCP) call control details are addressed next. At function block 540, the master control unit 342 attempts to register with a MGCP Call Agent using well-known port numbers and a MGCP registration message. At decision block 542, if a positive message is returned, the VoIP detective 300 will then continue with a series of MGCP based tests.
  • Function block 544 executes an MGCP test sequence. The MGCP tests include testing all CODECs known to the VoIP detective 300 to see which are supported; determining the switch vendor by watching for known information elements in certain messages; checking to see if the switch will allow ENBLOCK or OVERLAP DIALING; attempting to place an outbound call; attempting to answer an incoming call; checking packet stream metrics for jitter, loss and delay; and checking one-way delay metrics such as by using the method of the VoIP detective telephone 400 of FIG. 4.
  • Skinny Client Control Protocol (SCCP) call control details are addressed next. At function block 550, the master control unit 342 attempts to register with a SCCP Call Manager with well-known port numbers and a SCCP registration message. At decision block 552, if a positive message is returned, the VoIP detective 300 will then continue with a series of SCCP based tests.
  • Function block 554 executes an SCCP test sequence. The SCCP tests include testing all known CODECs to see which are supported; determining the switch vendor by watching for known information elements in certain messages; checking to see if the switch will allow ENBLOCK or OVERLAP DIALING; attempting to place an outbound call; attempting to answer an incoming call; checking packet stream metrics for jitter, loss and delay; and checking one-way delay metrics such as by using the method of the VoIP detective telephone 400 of FIG. 4.
  • At output block 560, once the VoIP detective 300 has completed its tests, it generates a report, such as the exemplary report of Table A. Next, control passes to an end block 562.
  • Table A sets forth an exemplary report from the VoIP detective 300 of FIG. 3. The exemplary report of Table A indicates that the call control is H.323, and that CODECs G.711.U and G.729.A are compatible. In addition, the report of Table A indicates that other CODECs, such as G.711A, G.726 and G.723, are not compatible with the VoIP circuit under test.
  • TABLE A
    *hh:mm:ss 12 mm/dd/yyyy
    *12:18:16 PM 01/13/2007
    #=======================================
    # IP Tests
    DHCP Server: 10.1.208.2
    Assigned IP: 10.1.208.44
    Assigned DNS #1: 10.10.1.10
    Assigned DNS #2: None
    DHCP Server: 10.1.208.2
    Lease Length: 120 days
    TFTP Server: 10.1.208.54
    =======================================
    #Call Control Detection
    Call Control: H.323(Fast)
    Vendor: Nortel
    Variant: CS2000
    Sw Rev: SN06.1
    CC Port: 1720
    RAS Port: 1719
    H.245 Tunnel: YES
    Alias: 5551212 OK
    Alias: 5551213 REJECTED
    Alias: 5551214 OK
    #=======================================
    #Codec Report
    Primary Codec: G.711 U law 64k
    Secondary Codec: G.729A
    Failed Codec: G.711 A law 64K
    Failed Codec: G.726 A law 64K
    Failed Codec: G.723 5.3K
    Failed Codec: G.723 6.3K
    Failed Codec: G.729AB
    Failed Codec: GSM (ESF)
    Failed Codec: GSM (FR)
    Failed Codec: G.726 32K
    #=======================================
    #RTP Port Report
    Inbound Port: 5005
    Outbound Port: 500-6000
    #=======================================
    #Call Check
    Outbound Call: PASS
    Inbound Call: FAIL
    #=======================================
    #One Way Delay
    Outbound Call: 25 ms
    Inbound Call: FAIL
    #=======================================
    #Outbound Quality of Service
    Delay: 10 ms PASS
    Jitter: 30 ms PASS
    Loss .01% PASS
    #=======================================
    #Inbound Quality of Service
    Call Failed:
    #=======================================
    #Supplementary Services Check
    Call Hold: PASS
    DND: FAIL
    Call Forward Busy FAIL
    Call Forward No Answer FAIL
    Call Forward Unconditional FAIL
    Malicious Call ID FAIL
  • Turning now to FIG. 6, a VoIP inspector implements a method of automatically inspecting a VoIP line as indicated generally by the reference numeral 600. The VoIP inspector 600 is a configuration tool that can monitor Ethernet traffic to automatically determine the actual and correct setup parameters needed to emulate an existing VoIP connection, and includes an algorithm that interprets the messages monitored. Such Ethernet traffic may be obtained using a live stream, or a pre-captured file, for examples. The discovered configuration parameters may then be used to emulate the existing VoIP connection, such as by passing the discovered parameters to the VoIP detective 300 of FIG. 3, for example. Here, the VoIP inspector 600 may be in signal communication with the VoIP detective 300 of FIG. 3. Alternatively, the VoIP inspector 600 may be a part of the VoIP detective 300 of FIG. 3.
  • The VoIP inspector 600 includes a Start block 610, which passes control to an input block 612. The input block 612 captures Ethernet traffic between the VoIP telephone and its network, and passes control to a function block 614. The function block 614 filters the captured traffic, and passes control to a decision block 616. The decision block 616 determines whether it is call control traffic, such as by filtering the captured traffic based on well-known or user specified IP port and protocol (e.g., TCP/UDP) information, and passes control to a function block 618 if the traffic is call control traffic, or back to the input block 612 if the traffic is not call control traffic. The function block 618 analyzes the call control protocol once the traffic has been identified, and passes control to a function block 620. The function block 620, in turn, extracts the relevant configuration information, and passes control to a decision block 622. The decision blocks 622, 626 and 630 determine which call control protocol is in use (i.e., SIP, H.323, MGCP, SCCP, etc.), based upon the well-known port number, and pass control to function blocks 624, 628 and 632, respectively, to derive the relevant configuration parameters. Function blocks 624, 628 and 632, in turn, pass control to function block 634 for generation of a report. Function block 634 passes control to end block 636.
  • In an exemplary procedure for the call control protocol SIP (RFC 3261), the available configuration parameters and derivation thereof by analyzing the captured packets shall be described. Since SIP is a text based protocol, determining the type of message is done by comparing the first word of the message, such as REGISTER, INVITE or BYE, for example, to identify the type of message. Finding a particular field in a message, such as To, From or Contact, is also done by matching the first word in each line. Thus, the pertinent information is determined as follows:
  • 1. Outbound proxy IP—Determined by extracting the destination IP address of the packet containing a REGISTER message.
  • 2. Outbound proxy port—Determined by extracting the destination IP port number of the packet containing a REGISTER message.
  • 3. Local port number—Determined by extracting the source IP port number of the packet containing a REGISTER message.
  • 4. SIP domain—Determined by extracting the domain from the Request-URI portion of the first line of the REGISTER message.
  • 5. Alias or phone number—Determined by extracting the user portion of the URI located in the “To:” line of the REGISTER message.
  • 6. Username—Determined by extracting the user portion of the URI located in the “From:” line of the REGISTER message.
  • 7. Preferred codec—Determined by extracting the codec item from media description lines of the SDP (RFC 2327) portion of the INVITE message.
  • In operation, the VoIP inspector can monitor the traffic on an existing line, and/or read back a captured trace, and scan the messages to determine what configuration values were used to place a previous call, for example. The system can then print, save and/or directly use such configuration values to connect a test set to the line and emulate the phone in question. The VoIP inspector 600 may operate automatically, or optionally operate interactively. In an interactive embodiment, it is also possible to have a test set, listen to the traffic on the line, analyze the settings, prompt a user to unplug the original device, and then allow the test set to emulate the unplugged device.
  • The VoIP inspector 600 can operate with all variants of call controls, such as H.323, SIP, MGCP, UniStim and SCCP, all CODECs, and all switch vendors. It can reduce the number of calls for technical support to a test set vendor, for example, as many such calls are simply customers asking about how to correctly configure a line to emulate a given phone. Once the VoIP inspector has completed its analysis, it can print a report or transfer the configuration parameters to a test set or VoIP detective that could then mimic the phone and place a test call.
  • Table B sets forth an exemplary report from the VoIP inspector. The VoIP inspector may be embodied within the VoIP detective 300 of FIG. 3, or it may be embodied separately and communicate with the VoIP detective.
  • TABLE B
    *hh:mm:ss 12 mm/dd//yyyy
    *12:18:16 PM 01/13/2001
    #=======================================
    # inspector Results
    Call Control H.323 (Fast)
    Device Alias 555-1212
    Device IP address: 10.1.208.44
    Device RAS port: 1719
    Device CC port: 1720
    Call Manager IP address: 192.168.0.97
    Call Manager RAS port: 1719
    Call Manager CC port: 1720
    Starting RTP port number 5001
    Silence Suppression used YES
    Password required NO
    Codec of connected call G.729A
    RTCP used YES
    Call duration 15 seconds
    Call completed successfully YES
  • Although illustrative embodiments have been described herein with reference to the accompanying drawings, it is to be understood that the present disclosure is not limited to those precise embodiments, and that various other changes and modifications may be effected therein by those of ordinary skill in the pertinent art without departing from the scope or spirit of the present disclosure. All such changes and modifications are intended to be included within the scope of the present disclosure as set forth in the appended claims.

Claims (27)

1. A method of testing a VoIP telephone connection, the method comprising:
a) connecting a VoIP telephone to a network and generating traffic between the VoIP telephone and the network;
b) at least one of monitoring or capturing a stream of data traffic between the VoIP telephone and network;
c) analyzing the stream of data traffic to determine configuration settings of the VoIP telephone; and
d) emulating the VoIP telephone in accordance with the determined configuration settings to conduct tests on the VoIP telephone connection.
2. The method of claim 1, wherein step c) includes automatically determining the configuration settings of the VoIP telephone.
3. The method of claim 1, wherein step c) includes automatically scanning and automatically interpreting the contents of TCP/IP packets.
4. The method of claim 1, wherein step c) includes:
identifying whether traffic is call control traffic; and
if the identified traffic is call control traffic, analyzing the call control protocol.
5. The method of claim 1, wherein step c) includes identifying whether traffic is call control traffic by filtering the monitored or captured traffic based on IP port and protocol information.
6. The method of claim 1, wherein step c) includes:
determining the type of message by comparing a first word of the message; and
finding a particular field in a message by matching the first word in each line.
7. The method of claim 1, wherein step c) includes at least one of:
determining outbound proxy IP by extracting a destination IP address of a packet containing a REGISTER message;
determining outbound proxy port by extracting a destination IP port number of the packet containing the REGISTER message.
determining local port number by extracting a source IP port number of the packet containing the REGISTER message;
determining SIP domain by extracting a domain from a Request-URI portion of a first line of the REGISTER message;
determining alias or phone number by extracting a user portion of a URI located in a “To:” line of the REGISTER message;
determining username by extracting a user portion of a URI located in a “From:” line of the REGISTER message; or
determining a preferred codec by extracting a codec item from media description lines of an SDP portion of an INVITE message.
8. A method of testing a telephone line connected to a VoIP network having a call manager, the method comprising:
a) determining which of a plurality of VoIP call control protocols is compatible with the telephone line; and
b) conducting a series of tests on the telephone line in accordance with results of step a).
9. The method of claim 8, wherein step a) comprises:
generating traffic between a VoIP telephone and a network,
at least one of monitoring or capturing a stream of data traffic between the VoIP telephone and the network, and
analyzing the monitored or captured stream of data traffic to determine the configuration settings of the VoIP telephone without user interaction.
10. The method of claim 8, wherein step b) includes determining which of a plurality of CODECs are compatible with the telephone line.
11. The method of claim 8, wherein step a) includes transmitting a registration message attempting to register with a call manager in the VoIP network with a registration signal compatible with a first VoIP protocol, and receiving a return signal from the call manager indicative of whether the first VoIP protocol is compatible with the telephone line.
12. The method of claim 11, wherein step a) further includes transmitting a registration message attempting to register with a call manager in the VoIP network with a registration signal compatible with a second VoIP protocol, and receiving a return signal from the call manager indicative of whether the second VoIP protocol is compatible with the telephone line.
13. The method of claim 11, wherein step b) includes transmitting a plurality of registration messages including CODEC identifications of a plurality of CODECs therein to a call manager in the VoIP network, and receiving response signals from the call manager indicative of whether the CODEC corresponding to the CODEC identifications are compatible, thereby eliminating a need to place a VoIP telephone call using the CODEC.
14. A portable test device for testing a VoIP telephone line on a VoIP network, the device comprising:
a master control unit;
a graphical display unit in signal communication with the master control unit;
a user interface unit in signal communication with the master control unit;
a CODEC unit in signal communication with the master control unit; and
a coupler in signal communication with the master control unit,
wherein the portable test device is configured to implement a suite of tests that run automatically from the test device, and to provide results responsive to the tests indicative of which call control protocols and CODECs are supported by the VoIP network.
15. The device of claim 14, wherein the coupler is disposed for connecting the portable test device to a network access point;
wherein the master control unit is disposed for running an information gathering software program on the VoIP network requesting information from a user one or more of IP address of call manager, IP address of gatekeeper, line call control, line CODEC, line password, and line port number, and for automatically running a series of test programs using a plurality of different call controls;
wherein the CODEC unit is disposed for automatically making telephone calls on the network using the plurality of different call controls; and
wherein the user interface is disposed for displaying a report on the VoIP network and results of the test programs.
16. The device of claim 14, wherein the number of CODECs detectable by the device is greater than the number of CODECs implemented in the device.
17. The device of claim 14, further comprising a plurality of test programs for detecting different vendor call controls and a plurality of CODECs for making test calls.
18. The device of claim 14, further comprising:
a detector for determining which VoIP protocol is compatible with a VoIP telephone line; and
a test section for conducting a series of tests on the telephone line in accordance with a detected protocol.
19. The device of claim 14, further comprising a CODEC tester for determining which CODECs are compatible with the telephone line.
20. The device of claim 14, wherein the detector comprises a registration unit for issuing a registration message attempting to register with a call manager in the VoIP network with a registration signal compatible with a first VoIP protocol, and receiving a return signal from the call manager indicative of whether the first VoIP protocol is compatible with the telephone line.
21. The device of claim 20, wherein the registration unit is for issuing a second registration message attempting to register with a call manager in the VoIP network with a registration signal compatible with a second VoIP protocol, and receiving a return signal from the call manager indicative of whether the second VoIP protocol is compatible with the telephone line.
22. The device of claim 14, wherein the master control unit comprises a registration portion for sending registration messages, including CODEC identifications for a plurality of CODECs, to a call manager in the VoIP network, and receiving response signals from the call manager indicative of whether the CODECs corresponding to the CODEC identifications are compatible, thereby eliminating a need to place a VoIP telephone call using the CODEC.
23. The device of claim 14, wherein the master control unit comprises a metrics portion for determining at least one of jitter, loss or delay for a voice transmission over the VoIP network.
24. The device of claim 23, wherein the metrics portion comprises:
a ping signal generator;
a mixer operable to mix the generated ping signal and a voice stream signal to produce a mixed voice stream signal for transmission through the network to a destination device;
a signal detector operable to receive a mixed voice stream signal from the destination device and detect a return ping signal contained in the received mixed voice stream signal; and
a processor coupled to the signal detector and operable to determine the voice transmission delay between the test device and the destination device upon detection of the return ping signal by the signal detector based on the time of transmitting the ping signal and the time of detecting the return ping signal.
25. The device of claim 14, wherein the master control unit has registration capabilities for a plurality of call control protocols selected from the group comprising H.323, SIP, MGCP and SCCP.
26. The device of claim 14, wherein the CODEC unit has CODECs for at least one CODEC selected from the group comprising G.711A, G.711U, G.723, G.723.2, G.726, G.729A, GSM, H.261 and H.263.
27. The device of claim 14, further comprising:
communication connector for connecting the portable test device in signal communication with the VoIP network;
traffic generator for generating two-way traffic between a VoIP telephone and the VoIP network;
a capture device for at least one of monitoring or capturing the generated traffic;
an analyzer for analyzing the monitored or captured traffic to determine the configuration settings of the VoIP telephone;
a switch for at least one of disconnecting or disabling the VoIP telephone; and
a tester for emulating the VoIP telephone to conduct tests on the VoIP telephone line.
US12/189,369 2007-08-13 2008-08-11 Voice over internet protocol (VoIP) testing Active 2029-03-12 US7940684B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/189,369 US7940684B2 (en) 2007-08-13 2008-08-11 Voice over internet protocol (VoIP) testing

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US95544907P 2007-08-13 2007-08-13
US97002507P 2007-09-05 2007-09-05
US12/189,369 US7940684B2 (en) 2007-08-13 2008-08-11 Voice over internet protocol (VoIP) testing

Publications (2)

Publication Number Publication Date
US20090046590A1 true US20090046590A1 (en) 2009-02-19
US7940684B2 US7940684B2 (en) 2011-05-10

Family

ID=40362857

Family Applications (1)

Application Number Title Priority Date Filing Date
US12/189,369 Active 2029-03-12 US7940684B2 (en) 2007-08-13 2008-08-11 Voice over internet protocol (VoIP) testing

Country Status (1)

Country Link
US (1) US7940684B2 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080069069A1 (en) * 2006-09-20 2008-03-20 Larry Schessel Method for establishing voice communications using a mobile handset
US20090323555A1 (en) * 2008-06-27 2009-12-31 Affinegy, Inc. System and Method for Controlling and Configuring a Router
US20100268834A1 (en) * 2009-04-17 2010-10-21 Empirix Inc. Method For Embedding Meta-Commands in Normal Network Packets
US20100279681A1 (en) * 2009-04-29 2010-11-04 Verizon Patent And Licensing Inc. Method and apparatus for providing multiservice testing
US20100328458A1 (en) * 2009-06-29 2010-12-30 Holloway Timothy D Handheld Communications Devices and Communications Methods
US20120140763A1 (en) * 2010-12-01 2012-06-07 Kevin Mundt Unified communications ip phone using an information handling system host
US8418000B1 (en) * 2012-03-13 2013-04-09 True Metrics LLC System and methods for automated testing of functionally complex systems
CN103297292A (en) * 2013-05-15 2013-09-11 厦门亿联网络技术股份有限公司 VOIP (voice over internet phone) based automatic call testing method
US20140280904A1 (en) * 2013-03-14 2014-09-18 Centurylink Intellectual Property Llc Session initiation protocol testing control
CN112422956A (en) * 2020-10-30 2021-02-26 西安万像电子科技有限公司 Data testing system and method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100120823A (en) * 2009-05-07 2010-11-17 충남대학교산학협력단 Voip anomaly traffic detection method with flow-level data
US10212206B2 (en) 2016-07-15 2019-02-19 International Business Machines Corporation Adaptive multi-control unit load balancing in a voice-over-IP system
US11165836B2 (en) 2020-03-04 2021-11-02 International Business Machines Corporation Reducing VoIP call disruption

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040208186A1 (en) * 2003-04-16 2004-10-21 Elliot Eichen System and method for IP telephony ping
US20050222815A1 (en) * 2004-03-31 2005-10-06 Kevin Tolly System and method for testing and certifying products
US20070107034A1 (en) * 2003-10-31 2007-05-10 Gotwals Michael D Combination meter for evaluating video delivered via Internet protocol
US7369537B1 (en) * 2001-07-18 2008-05-06 Global Ip Solutions, Inc. Adaptive Voice-over-Internet-Protocol (VoIP) testing and selecting transport including 3-way proxy, client-to-client, UDP, TCP, SSL, and recipient-connect methods
US20090106599A1 (en) * 2004-10-15 2009-04-23 Broadcom Corporation System and method to locate and correct software errors within a protocol stack for wireless devices
US20090327499A1 (en) * 2007-01-08 2009-12-31 Natural Convergence Inc. Method and system for mediated codec negotiation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369537B1 (en) * 2001-07-18 2008-05-06 Global Ip Solutions, Inc. Adaptive Voice-over-Internet-Protocol (VoIP) testing and selecting transport including 3-way proxy, client-to-client, UDP, TCP, SSL, and recipient-connect methods
US20040208186A1 (en) * 2003-04-16 2004-10-21 Elliot Eichen System and method for IP telephony ping
US6940849B2 (en) * 2003-04-16 2005-09-06 Level 3 Communications, Inc. System and method for IP telephony ping
US20070107034A1 (en) * 2003-10-31 2007-05-10 Gotwals Michael D Combination meter for evaluating video delivered via Internet protocol
US20050222815A1 (en) * 2004-03-31 2005-10-06 Kevin Tolly System and method for testing and certifying products
US20090106599A1 (en) * 2004-10-15 2009-04-23 Broadcom Corporation System and method to locate and correct software errors within a protocol stack for wireless devices
US20090327499A1 (en) * 2007-01-08 2009-12-31 Natural Convergence Inc. Method and system for mediated codec negotiation

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080069069A1 (en) * 2006-09-20 2008-03-20 Larry Schessel Method for establishing voice communications using a mobile handset
US7711370B2 (en) * 2006-09-20 2010-05-04 Cisco Technology, Inc. Method for establishing voice communications using a mobile handset
US20090323555A1 (en) * 2008-06-27 2009-12-31 Affinegy, Inc. System and Method for Controlling and Configuring a Router
US8838820B2 (en) * 2009-04-17 2014-09-16 Empirix Inc. Method for embedding meta-commands in normal network packets
US20120259993A1 (en) * 2009-04-17 2012-10-11 Empirix, Inc. Method for Embedding Meta-Commands in Normal Network Packets
US8838819B2 (en) * 2009-04-17 2014-09-16 Empirix Inc. Method for embedding meta-commands in normal network packets
US20100268834A1 (en) * 2009-04-17 2010-10-21 Empirix Inc. Method For Embedding Meta-Commands in Normal Network Packets
US8213926B2 (en) * 2009-04-29 2012-07-03 Verizon Patent And Licensing Inc. Method and apparatus for providing multiservice testing
US20100279681A1 (en) * 2009-04-29 2010-11-04 Verizon Patent And Licensing Inc. Method and apparatus for providing multiservice testing
US20100328458A1 (en) * 2009-06-29 2010-12-30 Holloway Timothy D Handheld Communications Devices and Communications Methods
US10659734B2 (en) 2009-06-29 2020-05-19 Ideal Industries, Inc. Handheld communications devices and communications methods
US20120140763A1 (en) * 2010-12-01 2012-06-07 Kevin Mundt Unified communications ip phone using an information handling system host
US9621697B2 (en) * 2010-12-01 2017-04-11 Dell Products L.P. Unified communications IP phone using an information handling system host
US10621078B2 (en) * 2012-03-13 2020-04-14 Truemetrics Llc System and methods for automated testing of functionally complex systems
US8418000B1 (en) * 2012-03-13 2013-04-09 True Metrics LLC System and methods for automated testing of functionally complex systems
US20140280904A1 (en) * 2013-03-14 2014-09-18 Centurylink Intellectual Property Llc Session initiation protocol testing control
CN103297292A (en) * 2013-05-15 2013-09-11 厦门亿联网络技术股份有限公司 VOIP (voice over internet phone) based automatic call testing method
CN112422956A (en) * 2020-10-30 2021-02-26 西安万像电子科技有限公司 Data testing system and method

Also Published As

Publication number Publication date
US7940684B2 (en) 2011-05-10

Similar Documents

Publication Publication Date Title
US7940684B2 (en) Voice over internet protocol (VoIP) testing
US8027335B2 (en) Multimedia access device and system employing the same
US7570743B2 (en) Method and apparatus for surveillance of voice over internet protocol communications
US6721284B1 (en) Generating service detail records
EP1324608A2 (en) System and method for videoconference initiation
US8885494B2 (en) System and method for monitoring communications in a network
KR100603562B1 (en) Apparatus and method for voice processing of voice over internet protocol
CN102594838B (en) SIP-based intelligent monitoring alarming network system and networking method
US9591468B2 (en) System and method for monitoring communications in a network
US6898188B1 (en) Gatekeeper simulator in a LAN telephony system
US8732316B2 (en) Communication system
CN101018229A (en) A method and firewall for the media service to penetrate the firewall
US7822190B2 (en) Method, system, and apparatus for debugging a live telephone call
US8675853B1 (en) System, method, and computer-readable medium for diagnosing a conference call
US20050018652A1 (en) System and method for proxy gatekeeper in H.323 based IP telephony systems
US20110305238A1 (en) Communication apparatus for hosted-pbx service
JP2007521530A (en) Monitoring in communication networks
US20090016324A1 (en) Method and Gateway for Connecting IP Communication Entities via a Residential Gateway
Cisco Internal Cause Code Consistency Between SIP and H.323
Cisco Interactive Voice Response Version 2.0 on VoIP
Cisco Enhancements to the Session Initiation Protocol for VoIP on Cisco Access Platforms
KR100598351B1 (en) The conference aparatus applied between another networks
EP2119277A1 (en) Test phone using sip
KR100738565B1 (en) Voip system and method for supplying call log therein
Bao et al. Session initiation protocol automatic debugger

Legal Events

Date Code Title Description
AS Assignment

Owner name: ACTERNA LLC, MARYLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BOYES, DAVID JOHN;DAVIS, JASON LEE;WARD, MICHAEL THAD;REEL/FRAME:021708/0068

Effective date: 20080811

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: JDS UNIPHASE CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ACTERNA LLC;REEL/FRAME:030968/0139

Effective date: 20130627

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: VIAVI SOLUTIONS INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:JDS UNIPHASE CORPORATION;REEL/FRAME:037057/0627

Effective date: 20150731

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8

AS Assignment

Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT, COLORADO

Free format text: SECURITY INTEREST;ASSIGNORS:VIAVI SOLUTIONS INC.;3Z TELECOM, INC.;ACTERNA LLC;AND OTHERS;REEL/FRAME:052729/0321

Effective date: 20200519

AS Assignment

Owner name: RPC PHOTONICS, INC., NEW YORK

Free format text: TERMINATIONS OF SECURITY INTEREST AT REEL 052729, FRAME 0321;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT;REEL/FRAME:058666/0639

Effective date: 20211229

Owner name: VIAVI SOLUTIONS INC., CALIFORNIA

Free format text: TERMINATIONS OF SECURITY INTEREST AT REEL 052729, FRAME 0321;ASSIGNOR:WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT;REEL/FRAME:058666/0639

Effective date: 20211229

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 12