Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#2126 closed enhancement (fixed)

Implement RTCP Feedback — at Version 3

Reported by: nanang Owned by: nanang
Priority: normal Milestone: release-2.8
Component: pjmedia Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported: no

Description (last modified by nanang)

This ticket is an initial implementation of RFC 4585:

  1. PJMEDIA
    • Interworking and coexistence of AVP & AVPF: modify SDP negotiation, transport proto checks in media transports, stream info, etc
    • Implement RTCP-FB packets (generic NACK, NACK-PLI, SLI, RPSI) generation APIs.
    • RTCP-FB support in SDP (https://tools.ietf.org/html/rfc4585#section-4).
    • Parse RTCP-FB info from SDP and add the info into pjmedia_stream_info for RTCP-FB operational in the stream.
    • Implement RTCP-FB functionality in audio stream, only generic NACK will be implemented.
  1. PJSUA/PJSUA2
    • Add RTCP-FB setting structure into account config.

Monitoring RTCP-FB event in application

Application can monitor RTCP Feedback events by implementing PJSUA callback on_call_media_event or PJSUA2 callback Call::onCallMediaEvent(). Sample code for PJSUA:

static void on_call_media_event(pjsua_call_id call_id,
                                unsigned med_idx,
                                pjmedia_event *event)
{
  if (event->type == PJMEDIA_EVENT_RX_RTCP_FB) {
    /* Incoming RTCP-FB event */
    pjmedia_event_rx_rtcp_fb_data *fb_data = (pjmedia_event_rx_rtcp_fb_data*)
                                             event.data.ptr;
    if (fb_data->cap.type == PJMEDIA_RTCP_FB_NACK && fb_data->cap.param.slen == 0)
    {
      /* Generic NACK */
      /* NACK message can be accessed via 'fb_data->msg.nack' */
      ...
    }
  }
}

Change History (3)

comment:1 Changed 6 years ago by nanang

  • Resolution set to fixed
  • Status changed from new to closed

In 5820:

Close #2126: Initial implementation of RTCP Feedback.

comment:2 Changed 6 years ago by nanang

In 5825:

Re #2126: Implemented incoming RTCP-FB handling, i.e: parse and notify application via PJMEDIA event framework.

comment:3 Changed 6 years ago by nanang

  • Description modified (diff)
Note: See TracTickets for help on using tickets.