Abstract:
A device and method provides a means for monitoring a media segment of a Real-time Transport Protocol (RTP) media stream without interfering with end-to-end monitoring of the RTP media stream. The device includes a media segment monitor to generate segment control messages associated with a selected segment of the RTP media stream transmitted between a source endpoint and a destination endpoint in a packet network. The device further includes an interface to transmit and receive the segment control messages; and a processor to process the segment control messages, the segment control messages including call quality metrics related to the selected segment of the RTP media stream.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The invention relates generally to network monitoring and, more particularly, to a device and method for monitoring a network at selected media segments. 
         [0003]    2. Description of the Related Art 
         [0004]    Real-time Transport Protocol (RTP), defined in Request for Comments (RFC) 3550, is widely used for the transmission of real-time or near-real-time data over packet networks. A Voice over Internet Protocol (VoIP) network may consist of one or more Internet Telephony Administrative Domains (ITADs), which include network components served by the same set of call route servers. An ITAD may be further broken down into geographic Points of Presence (POP), with each POP containing some number of gateways. Thus, an RTP media stream of a VoIP call may traverse multiple gateways to bridge up its calling and called parties. 
         [0005]    RTP Control Protocol (RTCP) is a sister protocol of the RTP and provides out-of-band control information for an RTP media stream. A primary function of RTCP is to provide feedback on the quality of service (QoS) being provided by RTP. RTCP is used to monitor the media connection, collect statistics and information such as bytes sent, packets sent, lost packets, jitter, feedback and round trip delay, and periodically transmit control packets to participants in a streaming multimedia session (i.e., in the forward transmission direction) or as a feedback from a receiver back to a sender. 
         [0006]    To ensure that IP networks meet customer expectations, service providers define Service Level Agreements and manage their networks to meet SLA requirements. Typically, performance measurements are taken from end-to-end (from the customer premise location). RTCP has been the prevailing approach to monitor its associated RTP stream for various voice metrics such as packet loss, inter-arrival jitter, round trip delay, etc. These voice metrics can be used at the endpoints (e.g., IP phones and originating/terminating voice gateways) of an RTP stream to judge the QoS or conformance check against an SLA from the perspective of these endpoints. 
         [0007]    In general, a VoIP network may be composed of VoIP nodes bearing different ownership. Well-known VoIP nodes types include voice gateways, IP-to-IP gateways, and session border controllers (SBC). In a typical scenario, a backhaul VoIP service provider (VSP) sits between customer VoIP customer premise equipment (CPE) to bridge VoIP calls from one customer VoIP network to another. Thus, in many cases, a VSP does not control an entire call connection or session. Further, the backhaul VSP may either not have visibility to or may not be interested in looking into any VoIP node belonging to a customer&#39;s VoIP network. 
         [0008]    Since there is no understanding of how each segment of a media path connecting the endpoints is performing with respect to voice quality, the existing end-to-end per call voice metric does not necessarily favor a VSP for justifying how well an SLA is being followed or locating a particular portion of media path that may be suffering a QoS issue. 
         [0009]    Thus, there is a need to providing a fuller or more detailed picture of the media path QoS at a granular level while continuing to provide an end-to-end view of network performance. 
       SUMMARY OF THE INVENTION 
       [0010]    One aspect of the invention is a method for monitoring a media segment of a network. The method includes transmitting a Real-time Transport Protocol (RTP) media stream from a source endpoint to a destination endpoint in the packet network; monitoring a selected segment of the RTP media stream between the source endpoint and the destination endpoint, wherein monitoring the selected segment does not interfere with monitoring the RTP media stream from the source endpoint to the destination endpoint; and transmitting and receiving control messages associated with the selected RTP media stream segment, the control messages including a set of call quality metrics. 
         [0011]    Another aspect of the invention is a device that includes a media segment monitor to generate segment control messages associated with a selected segment of a Real-time Transport Protocol (RTP) media stream transmitted between a source endpoint and a destination endpoint in a packet network. The device further includes an interface to transmit and receive the segment control messages; and a processor to process the segment control messages, the segment control messages including call quality metrics related to the selected segment of the RTP media stream. 
     
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0012]    The above and other features and advantages of embodiments of the invention will become readily apparent by reference to the following detailed description when considered in conjunction with the accompanying drawings. 
           [0013]      FIG. 1  is a diagram of a Voice over Internet Protocol (VoIP) network in which embodiments of the invention may be implemented. 
           [0014]      FIG. 2  shows a packet format for a sub-RTCP message, according to one embodiment of the invention. 
           [0015]      FIG. 3  illustrates an end-to-end RTCP session and two sub-RTCP sessions at a VoIP node in the VoIP network of  FIG. 1 . 
           [0016]      FIG. 4  is a block diagram of a VoIP node that performs media segment monitoring. 
           [0017]      FIG. 5  is a flowchart illustrating a sub-RTCP session. 
       
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
       [0018]    As will be apparent to those skilled in the art from the following disclosure, the invention as described herein may be embodied in many different forms and should not be construed as limited to the specific embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will fully convey the principles of the invention to those skilled in the art. 
         [0019]      FIG. 1  shows a diagram of a VoIP network  100  wherein embodiments of the invention may be implemented. An RTP media stream may be initiated from an endpoint  1  (EP 1 ) located in a customer network  10  toward an endpoint  2  (EP 2 ) located in a customer network  20  through VoIP nodes VN 1 -VNn located in a service provider network  30 . An end-to-end RTCP session may exist between EP 1  and EP 2 , depending on whether both endpoints are capable of doing RTCP or not. A second control packet mechanism may be initiated to monitor a selected network segment (between selected VoIP nodes) without interfering with an RTCP session, if it exists. In the embodiment described herein, the second control packet mechanism may be another RTCP session (a “sub-RTCP” or a “segment RTCP” session) at each media segment on the associated RTP media path. However, the second control packet mechanism need not necessarily use the RTCP packet format. 
         [0020]    In RTCP, a packet format packet type (PT) field includes a number which identifies the type of packet. RTCP packet types include, for example, Sender Report (SR), Receiver Report (RR), and Source Description (SDES). Values of 200-208 are already allocated and registered with Internet Assigned Numbers Authority (IANA), the organization that oversees IP address allocation and other Internet protocol assignments. A new RTCP message type, for example,  209 , may be defined to identify a sub-RTCP session. The suggested type of packet does not fall under any of the types already defined in RFC 3550 and may be registered with IANA to avoid potential conflict in the future. 
         [0021]    The Sub-RTCP message may be formatted as shown in  FIG. 2 . The sub-RCTP message preferably contains a common RTCP message header plus an optional sub-RTCP header followed by one or more report blocks such as SR, RR, and SDES. These reports contain statistics such as the number of packets sent, number of packets lost, and inter-arrival jitter. The sub-RTCP header in  FIG. 2  is preferably a fixed-length section whose existence may be controlled by a C bit, where 1-existing, 0-not present. In the body of the sub-RTCP message, SR, RR, and other RTCP report blocks are preferably wrapped and carried between VNi and VNi+1. 
         [0022]    Referring now to  FIG. 3 , an RTP media stream may be functionally broken into two legs at a media VoIP node, for example, LEGw and LEGe. When a call&#39;s signaling also traverses the same VoIP node, the call signaling logic may be combined into the LEGw and LEGe. As shown in  FIG. 3 , LEGe(i) and LEGw(i) may be the two media stream legs for the RTP stream on VNi, and LEGe(i+1) and LEGw(i+1) may be the media legs for the RTP stream on VNi+1. 
         [0023]    Refer now to  FIGS. 3 ,  4 , and  5 . In block  200 , a media segment monitoring session, such as a sub-RTCP session, for an RTP stream traversing VNi and VN i+1 can be established between any two selected VoIP node pairs, for example, VNi and VNi+1. Thus, one RTP media presence on a VoIP node can form two segment sub-RTCP sessions toward its east and west peer VoIP nodes, respectively. For example, VNi can have two sub-RTCP sessions: a sub-RTCP session may exist between two peer RTP legs on VNi and VNi+1, e.g. between LEGe(i) and LEGw(i+1); and one sub-RTCP session may exist between two peer RTP legs on VNi and VNi−1, e.g., between LEGe(i−1) and LEGw(i). In other embodiments, the sub-RTCP session can also be established between nodes which are not necessarily adjacent nodes; for example, between VNi and VNi+2. 
         [0024]    When an RTCP message arrives at an interface at a VoIP node  31 , for example at LEGe(i) on VNi, in block  250 , the interface preferably looks into the RTCP message type to decide if the message needs to be forwarded out to its next-hop VoIP node or just digested locally on VNi. In block  260 , if the RTCP message is identified as a sub-RTCP packet, for example, message type  209  for a sub-RTCP session, the sub-RTCP message will be intercepted and processed accordingly to generate the media statistics for its corresponding media segment, for example, between VNi and VNi+1. If the interface does not recognize the message type, i.e., the VoIP node is not RTCP capable, then RTCP message is discarded. Otherwise, in block  270 , all other RTCP messages may be forwarded out to the destination endpoint. 
         [0025]    Through a sub-RTCP session, all of the defined media statistics specified in RFC 3550 such as packet loss, fraction loss, inter-arrival jitter, round trip time, and other statistics defined in RFC 3611, RTP Control Protocol Extended Reports (RTCP XR), as well as RTCP XR-HR (defined in IETF draft) may be generated. Alternatively, other media statistics may be monitored and need not be limited to those typically collected using RTCP. 
         [0026]    The sub-RTCP session does not depend on an endpoint&#39;s RTCP capability or whether an RTCP session is established. However, if the endpoints are capable of establishing RTCP sessions, a sub-RTCP session may be tunneled through an existing end-to-end RTCP session. Thus, no extra RTP/RTCP ports are required. 
         [0027]    RTP and RTCP share a relationship. RTP may be assigned to a port x, and RTCP may be assigned to a port x+1 at the VoIP interface. To calculate delay accurately, for example, it is important that RTCP packets follow the associated RTP packets on the same path. In one embodiment, a sub-RTCP session may also be assigned to the same port x+1 as the RTCP session. Thus, when an end-to-end RTCP session is established and a sub-RTCP session is also established to monitor a media segment between Vn and Vn+1, the end-to-end RTCP packets and the sub-RTCP packets share the channel at the media segment between Vn and Vn+1. However, at any given time, only one of the end-to-end RTCP packets and the sub-RTCP packets can use port x+1. A switch preferably provides for a means for selecting which of the end-to-end RTCP or sub-RTCP has priority to use port x+1. In one embodiment, the end-to-end RTCP packets may be given priority. In another embodiment, the sub-RTCP packets may have priority instead. 
         [0028]    Alternatively, a segment RTCP session between two peer VoIP nodes can be established for collecting the inter-VoIP node segment statistics. In this embodiment, the end-to-end RTCP messages may be relayed through the segment RTCP session to its next hop until its endpoint destination is reached. Similarly, a message type value may be used to indicate a segment RTCP message to relay the end-to-end RTCP messages. A packet type value for relaying RTCP messages may be registered with IANA. 
         [0029]    Having described exemplary embodiments of the invention, it should be apparent that modifications and variations can be made by persons skilled in the art in light of the above teachings. Therefore, it is to be understood that changes may be made to embodiments of the invention disclosed that are nevertheless still within the scope and the spirit of the claims.