Voice over Internet Protocol (VoIP) is the technology of using digital signal transmission techniques to transmit voice communications in real-time and at least partially over the Internet. VoIP enables an audio or video call over Internet Protocol (IP) networks as a cost-effective alternative of voice transmission that exclusively uses traditional public switched telephone networks (PSTNs) by long distance exchange carriers. Due to the digital nature of the transmission, VoIP provides increased signal processing, encryption and call set-up and operating capabilities.
Typically, VoIP messages are transmitted using the Real-time Transport Protocol (RTP), the RTP Control Protocol (RTCP), and the Session Initiation Protocol (SIP). Accordingly, a VoIP system includes RTP server(s) and SIP server(s). The RTP defines a standardized packet format and carries the media streams (e.g., audio and video data), while the RTCP is used to monitor transmission statistics and Quality of Service (QoS) and aid synchronization of multiple streams. The Session Initiation Protocol (SIP) assists in setting up and ending connections of various system components across the network.
FIG. 1 illustrates a VoIP system 100 according to the prior art. The system 100 includes user endpoints 101 and 102, the RTP server 103, the SIP server 104, which are all coupled to the Internet 110. For instance, the user endpoints include a wired phone 101 (or a consumer premises equipment (CPE)) as the caller device and a mobile phone 102 as the receiver device (or callee device). Once a VoIP call request is generated at the caller device 101 and sent to the SIP server 104, the SIP server 104 selects an RTP server (the RTP server 103 in this example) and signals the selected RTP server 103 to start routing the call between user endpoints over the Internet 110. During the VoIP call session, voice/image signals are converted into RTP packets for transmission via the RTP server 103.
QoS is a major issue in VoIP implementations. The issue is how to guarantee that packet traffic for a voice or other media connection will not be delayed or dropped due to interference from other lower priority traffic. Conventionally, only one RTP server is selected for routing a VoIP call between the user endpoints. Usually, an RTP server that is geographically close to the caller endpoint is selected to achieve short transmission latency between the RTP server and the caller device. However, the selection is made without referring to the transmission performance between the RTP server and the receiver endpoint, which can be less than satisfactory. The imbalance of the transmission performance can still cause packet loss, jitter, packet re-sequencing, packet duplications, etc., and consequently cause noticeable low quality of call service. Moreover, a conventional VoIP system generally lacks any mechanism of selecting an optimal Internet path for routing a call.