The present disclosure relates to the field of voice communications over a data network using the Internet Protocol (IP).
Voice quality problems are commonly encountered in voice over IP (VoIP) calls placed between IP phones connected over a low bandwidth connection such as a wide-area network (WAN). In contrast, voice quality issues generally do not arise in a network connection with sufficient bandwidth such as a local-area network (LAN). The voice quality problems that occur in IP-based connections include echo from endpoint device to endpoint device (e.g., IP phones), voice chopping or breaking, and distorted, incomplete, or delayed voice transmissions. Voice quality assessments are usually manually or automatically done between IP packet transmitters, such as IP phones and network routers for troubleshooting call quality issues. However, voice quality assessments in networks without bandwidth issues (e.g., a LAN) are usually unnecessary.
Various tools exist to detect poor voice quality calls and/or to report poor voice quality statistics. By way of example, users of Cisco® Call Manager IP phones who are experiencing echo or other voice quality problem may activate a Quality Report Tool (QRT) that allows for the measurement and reporting of voice-quality and network characteristics in order to optimize performance. Cisco's Call Manager is a software-based call processing component that extends enterprise telephony features and functions to packet telephony network devices such as IP phones, media processing devices, voice-over-IP (VoIP) gateways, and multimedia applications. One drawback with this approach is that the tests and measurements tend to be very complicated. Another drawback with the QRT approach is that voice quality problems are only detected and addressed after they actually occur.
The present invention will be understood more fully from the detailed description that follows and from the accompanying drawings, which however, should not be taken to limit the invention to the specific embodiments shown, but are for explanation and understanding only.
In the following description specific details are set forth, such as device types, configurations, specific methods, etc., in order to provide a thorough understanding of the present invention. However, persons having ordinary skill in the relevant arts will appreciate that these specific details may not be needed to practice the present invention.
In the context of the present disclosure, an IP-PBX is a private branch exchange (telephone switching system within an enterprise) that switches calls between VoIP (voice over Internet Protocol or IP) users on local lines while allowing users to share a certain number of external phone lines. An IP-PBX may also switch calls between a VoIP user and a traditional telephone user, or between two traditional telephone users in the same way that a traditional PBX does. In the context of the present application, an endpoint may comprise a telephone device (such as an end-user IP phone), a personal digital assistant (PDA), a laptop or notebook computer, or any other device (including a gateway device), network node, component, element, or object capable of initiating or participating in voice or packet-data exchanges via a communication network in accordance with the protocols and methods described herein.
In one embodiment, a call processing component or entity utilizes information stored in one or more administrative databases, such as a database associated with an IP-PBX system of an enterprise, to place test calls from user endpoint devices in order to maximize the chance of proactively discovering voice quality problems for calls placed over IP-based connections between different enterprise branch sites. The administrative information is selected to correlate highly to a geographic configuration (i.e., locations or regions) of end-user telephone devices connected via a network connection that is susceptible to voice quality problems (e.g., a low bandwidth link). This information may comprise call-admission-control related information, codec-filter related information, or information based on site names, sub-networks, or a topology of the network.
In a specific embodiment, a site specific test call pattern is automatically and periodically executed over links with voice quality concerns (e.g., low bandwidth WAN links) by a call processing component running on a network node under IP-PBX system control. These limited test calls placed between end-user phones provide precise voice quality assessment of what end-users would experience on a real call over the same network links. A reporting tool provides automatic notification to an administrator who may then take proactive actions to ensure a high quality of voice communications over the network.
In one implementation, the automated tools, routines and methods of operation described herein are embodied in software or hardware (firmware) installed in an IP communications system comprising a version of Cisco System's Call Manager call processing product. Alternative embodiments of the present invention may be implemented in PBX, telephony, telephone, and other telecommunications systems. Similarly, the signaling path utilized for transmission of commands, messages, and signals for establishing, moderating, managing, and controlling the conference session may be across any network resources. Practitioners in the art will understood that the software or firmware installed in the systems and components mentioned above may be adapted or modified to implement the functions and capabilities described herein.
It is appreciated that the IP-PBX components shown in
For instance, included in database 22 may be information that determines which codec to use when calls are placed within or between a pair of different geographically located branches. Voice gateway configurations may also be stored in database 22 along with a listing of other resources of the IP-PBX system of the enterprise. Practitioners in the art will appreciate that the information stored in database 22 can be collected from a variety of sources or configured in different ways. For example, information for storage in database 22 may be collected from ordinary network topology discovery, e.g., via Cisco Discovery Protocol (CDP) and/or Simple Network Management Protocol (SNMP) topology discovery routines. Database information may also be obtained from call statistics history data or via manually configuration by a network manager or administrator.
In accordance with the embodiment of
Additionally, test calls are placed on real end-user phone devices (e.g., IP phones and (e.g., VoIP gateways) to observe voice quality on actual network conditions. Test calls may be conducted for a fully meshed test coverage (e.g., each possible pairing of endpoints connected over WAN 11) call scenario. In the context of the present disclosure, a full mesh is defined as a mesh that connects endpoint phone devices connected via one or more low bandwidth links (e.g., a WAN) or any other network connection susceptible to voice quality problems. In other words, any end-user phone located in a particular sub-network may represent that sub-network for test calling purposes across the voice quality susceptible network links. For example, a fully meshed test call scenario for the configuration of
It is appreciated that server 21 does not place the actual phone calls of the test pattern; rather, server 21 generates the test call pattern and then instructs IP-PBX 32, 34 and 36 to set up and execute the calls between the appropriate or designated endpoints.
In a specific embodiment, two interfaces of each LAN may be leveraged for test call generation: a CTI interface for test calls placed against end-user phones, and an IP Service Level Agreement (IPSLA) interface. A CTI interface is a telephony resource that creates a portal through which interoperable telephony components communicate with one another. A CTI interface operates by generating, sending, receiving, and interpreting messages containing status information and requests for services to be performed. An IPSLA probe, for example, is typically utilized to monitor specific network devices for packet transmissions between any two IPSLA-enabled points (e.g., gateways) across a network.
After intelligent analysis of IP-PBX system configuration information, test calls are conducted using real endpoint devices (e.g., end-user phones). This is shown occurring in block 42. VoIP gateways may also be included in the test coverage. In one embodiment, a fully meshed test coverage is implemented. Testing load may be adjusted dynamically so that test calls do not interfere with or impact existing call processing functions. In a specific embodiment, the volume (i.e., number) of test calls being placed may be automatically increased or decreased depending on current IP-PBX load and/or calculated already-consumed bandwidth between endpoint devices to be tested. In another embodiment, test calls may also be scheduled to take place with in certain frequency and/or within a particular time slot.
During testing, voice quality information is acquired in real-time (block 43). For example, voice quality information may be obtained from phone devices' call statistics access interface, call managerial/call processing components, and/or VoIP gateway internal/external program interfaces. Mean opinion scores (MOS) e.g., K-factor MOS, generated on the IP phones, VoIP gateways, and/or other nodes may also be used in voice quality assessment. K-factor is an endpoint MOS estimation algorithm defined in International Telecommunications Union (ITU) standard P.VTQ that represents a weighted estimate of average user annoyance due to distortions caused by effective packet loss such as dropouts and warbles. MOS relates to the output of a listening experiment that uses a five point perceptual evaluation of speech quality (PESQ) scale as defined in ITU standard P.862.1 for end-to-end speech quality assessment of narrow band telephone networks and speech codecs. It is a general estimator and is used to estimate the mean value of a PESQ population for a specific impairment pattern to comply with the P.VTQ standard. ITU standard P.VTQ is a standard model for the assessment of voice transmission quality from protocol analysis information in IP networks.
Once voice quality information and statistics have been collected from the test calls, notifications and/or call traces for preventative actions may be automatically generated for poor voice quality calls (block 44). For instance, a notification in response to a poor voice quality call may be sent automatically to the system administrator. A poor voice quality call may be defined as one which fails to meet an acceptable speech quality assessment level (e.g., a minimum K-factor MOS). Notification may be sent via any appropriate transmission medium/channel (e.g., email, instant messaging, paging, IVR calls, alert, etc.) In embodiments where it is available, call trace information may be collected automatically by the system and included in a detailed report sent to the system administrator. The voice quality information and statistics may also be stored in a database for archival purposes and later retrieval. After receiving and analyzing this information, the system administrator may initiate preventative action as early as possible in order to avoid voice quality problems in later-placed calls between actual end-users.
It is appreciated that any call management or call processing component utilized by node 56 may comprise separate hardware devices coupled to the system bus 53, or, alternatively, implemented as software programs or modules 50 that run on one or more processors of subsystem 51. In other words, the methods and functions described above may be implemented as separate hardware devices, memory locations (storing executable code), firmware devices, software modules, or other machine-readable devices. (In the context of the present application, therefore, the term “module” is to be understood as being synonymous with both hardware devices and computer-executable software code, programs or routines.)
It should be understood that elements of the present invention may also be provided as a computer program product which may include a machine-readable medium having stored thereon instructions which may be used to program a computer (e.g., a processor or other electronic device) to perform a sequence of operations. Alternatively, the operations may be performed by a combination of hardware and software. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, propagation media or other type of media/machine-readable medium suitable for storing electronic instructions. For example, elements of the present invention may be downloaded as a computer program product, wherein the program may be transferred from a remote computer or telephonic device to a requesting process by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
Additionally, although the present invention has been described in conjunction with specific embodiments, numerous modifications and alterations are well within the scope of the present invention. For instance, practitioners in the telephony arts will appreciate that proactive testing operations described above are not limited to any specific network configuration or the use of certain network devices. For example, alternative embodiments may rely upon a centralized system in which there may be only one IP-PBX server hosting the entire communications network. In still other implementations, ordinary routers may be utilized rather than voice-enabled routers. In other words, the methods described above are applicable to any telephony network configuration that involves endpoint devices connected via low bandwidth links (e.g., a WAN) or any other network connections susceptible to voice quality problems. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.