Opened 17 years ago
Closed 17 years ago
#513 closed enhancement (fixed)
Support for RTCP XR
Reported by: | bennylp | Owned by: | nanang |
---|---|---|---|
Priority: | normal | Milestone: | release-0.9.0 |
Component: | pjmedia | Version: | trunk |
Keywords: | Cc: | Phil Torre | |
Backport to 1.x milestone: | Backported: |
Description (last modified by bennylp)
Some specs:
- The following RTCP XR block types shall be supported:
- Receiver Reference Time Report Block
- DLRR Report Block
- Statistics Summary Report Block
- VoIP Metrics Report Block
- XR packet source and destination (source -> destination):
- Receiver Reference Time Report Block: RTP receiver -> RTP transmitter
- DLRR Report Block: RTP transmitter -> RTP receiver
- Statistics Summary Report Block: RTP receiver -> RTP transmitter or network management server
- VoIP Metrics Report Block: RTP receiver -> RTP transmitter or network management server
- In order to reduce XR traffic, Statistics Summary Report Block and VoIP Metrics Report Block shall always be stacked together and sent out in one RTCP XR packet.
- The period for sending Statistics Summary Report and VoIP Metrics Report shall be configurable.
- In addition to periodical reports, at the end of a call or PTT, the RTP receiver shall send out one XR packet containing the final Statistics Summary Report and VoIP Metrics Report.
- In order to allow enough time to measure round trip delay, the sending of Receiver Reference Time Report Block shall be scheduled to occur at least 500 msec before "each" periodical sending of Statistics Summary Report and VoIP Metrics Report.
- The destination where Statistics Summary Report and VoIP Metrics Report are sent shall be configurable:
- either the RTP transmitter or network management server.
- It shall be configurable to use either a fixed assigned number or a randomly generated number for the 32-bit RTP Synchronization Source (SSRC) used to identify each RTP end point.
- In a closed system (such as P25 and OpenSky), it is preferred to assign each device with a unique SSRC (a combination of device type and device ID). The advantages with assigned SSRC are that SSRC alone can be used to identify RTP end points and no two end points will use the same SSRC.
- With randomly generated SSRC, network management server will not know the end points of XR reports unless it also receives other info such as RTCP SDES packets.
- The following fields in the Statistics Summary Report Block shall be supported:
- begin_seq
- end_seq
- lost_packets (in the above sequence number interval)
- dup_packets (in the above sequence number interval)
- min_jitter (in the above sequence number interval)
- max_jitter (in the above sequence number interval)
- mean_jitter (in the above sequence number interval)
- dev_jitter (in the above sequence number interval)
- The following fields in the VoIP Metrics Report Block shall be supported:
- loss rate (accumulated since the beginning of a call)
- discard rate (accumulated since the beginning of a call)
- burst density (accumulated since the beginning of a call)
- gap density (accumulated since the beginning of a call)
- burst duration (accumulated since the beginning of a call)
- gap duration (accumulated since the beginning of a call)
- round trip delay (the most recently measured)
- end system delay (= JB nominal delay + 2 * audio frame size per RTP packet)
- Gmin (= 16)
- RX config (= PLC + adaptive or fixed jitter buffer)
- JB nominal (= initial jitter buffer delay if fixed jitter buffer is used)
Attachments (3)
Change History (10)
comment:1 Changed 17 years ago by bennylp
- Description modified (diff)
Changed 17 years ago by nanang
comment:2 Changed 17 years ago by bennylp
comment:3 Changed 17 years ago by nanang
Attachment 'xr.2.patch':
- Added RTCP XR reports to streamutil.
- Added new API to stream, pjmedia_stream_get_stat_xr(), to get the RTCP XR statistic
- Swapped the wrong RTCP XR statistic storage (encoding direction should be stored in TX, decoding direction in RX, it was the opposite)
Changed 17 years ago by nanang
comment:4 Changed 17 years ago by nanang
Committed xr.2.patch in r1943
comment:5 Changed 17 years ago by nanang
Attachment xr.3.patch:
- Added new API pjmedia_transport_send_rtcp2() to enable sending RTCP to remote address other than specified in pjmedia_transport_attach().
- Added RTCP XR features on stream: configurable RTCP XR sending interval, third-party destination for RTCP XR, and sending last RTCP XR packet when stream destroyed.
- Updated end system delay of RTCP XR: sound device latency estimated based on sound device implementation.
Changed 17 years ago by nanang
comment:6 Changed 17 years ago by nanang
comment:7 Changed 17 years ago by bennylp
- Resolution set to fixed
- Status changed from new to closed
Done, closing the ticket.
Note: See
TracTickets for help on using
tickets.
Committed xr.patch in r1942