Methods, apparatus and computer program products for testing a voice over Internet protocol communication system

Methods, apparatus, and computer program products are provided for testing a Voice Over Internet Protocol (VoIP) communication system. A VoIP test phone call is generated through an Internet communication link to a VoIP service provider for a called telephone number. Success of the VoIP test phone call is determined. The success of the VoIP test phone call may be determined based on whether it is established with communication equipment at the called telephone number within a threshold time, based on whether it is established within a threshold number of attempts, and/or based on a measured quality of service in the VoIP test phone call when it is established. Further VoIP test phone calls to test the VoIP communication system can be scheduled.

FIELD OF THE INVENTION

The present invention generally relates to the field of telephony, and more particularly to apparatus, methods, and computer program products for testing Voice Over Internet Protocol communication systems.

BACKGROUND OF THE INVENTION

The Internet has become a mainstream network for communicating not just data, such as email and pictures, but also for providing real-time bi-directional voice communications. Voice Over Internet Protocol (VoIP) is an industry standard that has evolved to enable users to place phone calls through the Internet, instead of through the Public Switched Telephone Network (PSTN). A conventional phone or other Consumer Premises Equipment (CPE) may now be connected to the Internet using an interface device that converts analog phone signals to digital signals that can be communicated through the Internet. A phone call may thereby be communicated through the Internet to a VoIP provider, who converts the call back to an analog signal and places the call through the PSTN that is local to the called phone. A user can thereby dial a telephone number in a conventional manner and have the call routed through the Internet, instead of through the PSTN.

The availability of the PSTN for a user may be tested by determining whether a dial tone is received from the PSTN. However, in a VoIP system the dial tone can be generated by the CPE itself or by an interface device that connects the CPE to the VoIP system. Accordingly, a VoIP system may need to be tested differently than the PSTN system.

SUMMARY OF THE INVENTION

Various embodiments of the present invention provide methods, apparatus, and computer program products for testing a VoIP communication system. A VoIP test phone call is generated through an Internet communication link to a VoIP service provider for a called telephone number. Success of the VoIP test phone call is determined. In some embodiments of the present invention, the success of the call may be determined based on whether it is established with communication equipment at the called telephone number within a threshold time, based on whether it is established within a threshold number of attempts, and/or based on a measured quality of service when the call is established. A notice may be generated that indicates a result of the determination of success of the call.

In some further embodiments of the present invention, the time of day and/or day of week when the call is generated may be used to determine the threshold time and/or threshold number of attempts that are allowed before the call is determined to have failed. The quality of service of an established VoIP test phone call may be determined based on a time delay in communication with the called communication equipment and/or based on quality of communication signal from the called communication equipment. The VoIP test phone calls may be scheduled at a periodic rate, based on the time of day and/or day of week, and/or based on the determined success of one or more previous VoIP test phone calls.

Accordingly, a VoIP communication system can be tested using a VoIP test phone call that is communicated to a VoIP service provider. By determining the success of the phone call, the health and associated operational state of the VoIP communication system can be determined. For example, the phone call may test the collective ability of the components in the VoIP communication system to establish an end-to-end connection between the originating VoIP test apparatus and a called communication device, and/or it may test the quality of the connection if it is the connection is established. Although a VoIP communication system may have an ability to test its individual components, the VoIP test phone call may serve as an independent overall test of the VoIP communication system and may be uniquely able to test the end-to-end call processing health of the system. Such independent testing may include having the VoIP test apparatus be separate from and/or controlled independently of the VoIP communication system that is tested.

DETAILED DESCRIPTION OF THE INVENTION

Like numbers refer to like elements throughout the description. It will be understood that, as used herein, the term “comprising” or “comprises” is open-ended, and includes one or more stated elements, steps and/or functions without precluding one or more unstated elements, steps and/or functions. As used herein the term “and/or” includes any and all combinations of one or more of the associated listed items.

The present invention is described below with reference to block diagrams and/or operational illustrations of methods, apparatus, and computer program products according to embodiments of the invention. It is to be understood that the functions/acts noted in the blocks may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.

FIG. 1is a block diagram of a Voice Over Internet Protocol (VoIP) communication system100that may be tested by a VoIP test apparatus110according to various embodiments of the present invention. The exemplary VoIP communication system100can communicate with PSTN communication equipment190via a Public Switched Telephone Network (PSTN)180and/or can communicate with VoIP communication equipment160. The VoIP communication system100enables phone calls to be initiated and/or received by the VoIP test apparatus110, the VoIP communication equipment160, and/or the PSTN communication equipment190via the Internet130, and such phone calls are referred to as VoIP phone calls. It is to be understood that the Internet130referred to herein may be any packet switched data network.

The VoIP communication system100may include local access internet providers120and150that respectively connect the VoIP test apparatus110and the VoIP communication equipment160with the Internet130. The VoIP communication system100also includes a VoIP service provider140that is connected to the Internet130and is connected to the PSTN180via a trunk gateway170. The local access Internet providers120and/or150may be, for example, a local telephone company that provides access to the Internet130through a dial-up connection and/or through a digital subscriber line (DSL), a cable TV/communications company that provides a cable modem connection to the Internet130, and/or a wireless operator that provides cellular data communications to the Internet130over a wireless interface.

The VoIP communication equipment160may be a computer with a microphone, speaker, and software that is configured to convert voice to/from a digital format that can be routed through the Internet130. Alternatively, the VoIP communication equipment160may be a conventional telephone that is connected through a VoIP interface device that is configured to convert voice to/from a digital format that can be routed through the Internet130.

A subscriber may setup VoIP services by registering with the VoIP service provider140and being assigned one or more VoIP telephone numbers. The VoIP service provider140can then route phone calls from/to the VoIP telephone number(s) assigned to the subscriber based on a called telephone number (i.e., the telephone number to which the phone call is directed). For example, the VoIP service provider140may route and establish a phone call from the VoIP communication equipment160and/or the VoIP test apparatus110through the respective local access internet provider150and120and the Internet130, and through the trunk gateway170and the PSTN180to the PSTN communication equipment190. The PSTN communication equipment190may be a conventional plain old telephone system (POTS) telephone.

The VoIP service provider140can include a VoIP feature server142and a soft switch144. The VoIP feature server142may be, for example, BroadWorks platform by Broadsoft, and can include subscriber information used for routing calls to/from subscribers. The soft switch144may be, for example, a Siemens hiQ 8000 Softswitch, and can provide a bridge between the Internet130and the trunk gateway170and/or equipment in the PSTN180. The VoIP feature server142and/or the soft switch144may perform one or more of the operations for routing and establishing VoIP phone calls.

The VoIP test apparatus110tests the VoIP communication system100by generating VoIP test phone calls through an Internet communication link in the VoIP communication system100and determining their success. In some embodiments of the present invention, the VoIP test apparatus110generates a VoIP test phone call to a called telephone number. The VoIP test phone call can be communicated through the local access internet provider120and the Internet130to the VoIP service provider140. The VoIP service provider140can route the VoIP test phone call based on the called telephone number, which may be, for example, routed to the VoIP communication equipment160and/or the PSTN communication equipment190. The VoIP test apparatus110also determines the success of the VoIP test phone call.

For example, the VoIP test phone call may be lost, corrupted, and/or delayed more than a threshold time by the local access internet provider120, the Internet130, the VoIP service provider140, and/or other communication equipment needed to establish the phone call, such as the local access Internet provider150, the trunk gateway170and/or the PSTN180. The VoIP service provider140may not establish the phone call due to, for example, a partial/complete failure and/or overload of the VoIP feature server142and/or the soft switch144and/or the underlying routers in the Internet network130.

The VoIP test apparatus110may determine the success of the VoIP test phone call by determining whether the VoIP test phone call is established with the called communication equipment within a threshold time. A VoIP test phone call may be determined to have failed when it cannot be established with the called communication equipment within the threshold time. The failure threshold time may be determined based on what time of day and/or day of week the VoIP test phone call is generated. Accordingly, the threshold time may be varied based on an expected loading of the VoIP communication system100. During high loading of the VoIP communication system100, the threshold time may be increased to allow for more time to establish a phone call before a failure is determined, and during low loading of the threshold time may be decreased. Varying the threshold time in this manner may allow the VoIP test apparatus110to more accurately determine the success of a VoIP test phone call and, thereby, the health of the VoIP communication system100.

The VoIP test apparatus110may alternatively or additionally determine the success of the VoIP test phone call by determining whether the VoIP test phone call is established with the called communication equipment within a threshold number of attempts to establish the call. For example, when a VoIP test phone call is not successfully established, the VoIP test apparatus110may reattempt to establish the call a predetermined number of times before determining that the VoIP test phone call has failed. The threshold number of attempts may be determined based on what time of day and/or day of week the VoIP test phone calls are generated.

The VoIP service provider140may generate a busy indication when, for example, the called communication equipment is in use or otherwise unavailable. The VoIP test apparatus110may determine that the VoIP test phone call has failed based on receiving the busy indication from the VoIP service provider140. For example, the called communication equipment may be exclusively used for testing the VoIP communication system100, and therefore it should always be available to receive a call from the VoIP test apparatus110. Accordingly, receipt of a busy tone in response to a VoIP test phone call to such test communication equipment can indicate a communication failure for which corrective action may need to be taken.

When a VoIP test phone call is established through the VoIP service provider140with communication equipment at the called telephone number, the VoIP test apparatus110may also measure the quality of the established VoIP test phone call and determine the success of the phone call based on the measured quality of service. The VoIP test apparatus110may measure the quality of service of the phone call by measuring time delay in communications with the called communication equipment. For example, the VoIP test apparatus110may transmit a signal to the called communication equipment which is repeated back to the VoIP test apparatus110. The delay between transmission and receipt of the signal can be measured to determine the communication delay. When the communication delay exceeds a threshold value, the VoIP test phone call may be determined to have insufficient quality of service and to have failed.

The VoIP test apparatus110may measure the quality of service of the phone call by measuring quality of communication signals from the called communication equipment. For example, the called communication equipment may transmit a known tone or symbol sequence, or may repeat back a tone/sequence received from the VoIP test apparatus110. The VoIP test apparatus110may then compare the communication signals received from the called communication equipment to an expected or known signal (e.g., a quality of service measurement signal) to measure the quality of service of the call. A VoIP test phone call may be determined to have failed when insufficient quality of service is measured for the call.

The VoIP test apparatus110may select the called phone numbers so as to test various different portions of the VoIP communication system100. For example, the VoIP test apparatus110may make VoIP test phone calls to the PSTN communication equipment190to test one communication pathway and make other VoIP test phone calls to the VoIP communication equipment160to test another communication pathway. Similarly, the VoIP test apparatus110may generate phone calls to different regional areas to test different portions of the VoIP communication system100. The VoIP test apparatus110may also schedule the generation of the VoIP test phone calls at a periodic rate, or may schedule the calls based on the time of day and/or day of week to test the VoIP communication system100differently during peak versus low call loading times. The VoIP test phone calls may be scheduled based on the determined success of one or more previous VoIP test phone calls. For example, the VoIP test phone calls may be made more or less frequently based on whether prior phone calls appear to have failed.

The VoIP test apparatus110may generate a notice that can indicate that one or more calls have failed and that corrective action may need to be taken. The notice may be communicated to analysis/repair personnel via, for example, email, pager message, computer generated voice annunciated phone call, and/or wireless short message service. Depending on the severity of the failure recognized, local and/or remote alarm notices can be triggered. The notice may be generated based on the failure of one or more VoIP test phone calls, and/or a filter may be applied to the failures so that the notice is generated when a predetermined relationship is satisfied among the failed VoIP test phones calls and/or completed (non-failed) VoIP test phone calls. For example, completed calls may be counted with weighted values relative to failed calls, and the resulting counted values may be compared to a threshold value to determine when to generate a failure notice.

AlthoughFIG. 1illustrates an exemplary VoIP test apparatus110, a VoIP communication system100, a PSTN180and communication equipment, it will be understood that the present invention is not limited to such a configuration, but is intended instead to encompass any configuration capable of carrying out the operations described herein. For example, although only a single VoIP service provider140, VoIP feature server142, soft switch144, and trunk gateway170have been shown for illustration purposes, it will be understood that the VoIP communication system100would generally route phone calls to/from thousands of VoIP subscribers through numerous servers, switches, and trunk gateways. Moreover, it is to be understood that the VoIP test apparatus110and/or the communication equipment160and190may communicate with a local access Internet provider and/or a VoIP service provider across a wireless interface such as, for example, a cellular interface (e.g., General Packet Radio System (GPRS), Enhanced Data Rates for Global Evolution (EDGE), Global System for Mobile Communications (GSM)), a wireless local area network interface (e.g., WLAN, IEEE 802.11), a Bluetooth interface, another RF communication interface, and/or an optical interface.

With reference now toFIG. 2, a VoIP test apparatus200is shown that may be suitable for use as the VoIP test apparatus110ofFIG. 1according to various embodiments of the present invention. The VoIP test apparatus200may include a controller210that communicates with a memory220and I/O data port(s)230. The VoIP test apparatus200may optionally include (as illustrated by dashed lines) a display240, input device(s)250such as a keyboard or keypad, and a speaker260that also communicate with the controller210. The I/O data port230can be used to transfer information between the VoIP test apparatus200and the Internet, such as through a telephone modem, a cable modem, a DSL modem, a wireless network, and/or another device for communicating data with the Internet. These components may be conventional components such as those used in many conventional data processing systems which may be configured to operate as described herein.

The controller210can be any commercially available or custom microprocessor. The memory220is representative of the overall hierarchy of memory devices containing the software and data used to implement the functionality of the VoIP test apparatus200. The memory220may include several categories of software and data used in the VoIP test apparatus200: an operating system; application programs; input/output (I/O) device drivers; and data. The application programs are illustrative of the programs that implement the various features of the VoIP test apparatus200and include at least one application which supports operations according to embodiments of the present invention.

FIG. 3is a flow chart illustrating operations for testing a VoIP communication system according to various embodiments of the present invention. At Block300, a VoIP test phone call is generated. The success of the VoIP test phone call is determined at Block310. At Block320, further VoIP test phone calls are scheduled. Further embodiments of these operations are now described with reference toFIG. 4.

At Block400, a VoIP test phone call is generated. At Block410, a threshold time is determined, which may be based on the time of day and/or day of week in which the call is made. At Block420, a decision is made as to whether the call has been established with a called communication device within the threshold time. When the decision at Block420is that the call was not established, then further attempts may be made to establish the call. At Block430an attempt threshold is determined, and at Block440a decision is made as to whether the call is established with the called communication device within the number of attempts defined by the attempt threshold. When the decision at Block440is that the call was not established within the number of allowed attempts, a test failure notice is generated at Block450. As described above, the test failure notice may be generated based on a defined relationship between failed calls and/or completed calls, and the test failure notice may be communicated to analysis/repair personnel via, for example, email, pager message, computer generated voice annunciated phone call, and/or wireless short message service. Another VoIP test phone call is scheduled at Block480. As described above, VoIP test phone calls may be scheduled at a periodic rate, based on the time of day and/or day of week, and/or based on the determined success of one or more previous VoIP test phone calls.

When the determination at Block420or Block440is that the call has been established, the Quality of Service of the call is measured at Block460and a determination is made at Block470as to whether the Quality of Service is within a defined threshold. When the Quality of Service is within the threshold, the call is determined to have completed successfully, and another call is scheduled at Block480. When the Quality of Service is not within the threshold, the call is determined to have failed, and a test failure notice may be generated at Block450.