Opened 11 years ago

Closed 10 years ago

#657 closed enhancement (fixed)

Partial early media forking support

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-1.0.1
Component: pjsip Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported:

Description

Consider this scenario, where pjsip acts as UAC:

  UAC            
  ------- INVITE+SDP ------>
  <------- 100 -------------
  <--- 183+SDP, from UAS1 --
  <--- 200+SDP, from UAS2 --

One scenario where the above happens include the use of ringback tone server which generates the 183 response (with SDP), before the call is answered by the destination UAS.

Currently the scenario above is not supported, since pjsip will ignore the second SDP (in the 200/OK response), as it has marked the SDP negotiation as complete when it received the 183 response. This, among other things, would cause pjsip to transmit RTP packets with wrong payload type, if the second SDP has selected different format than the first SDP.

This ticket adds enhancement where pjsip should detect that the second SDP is coming from different call leg, hence it should renegotiate the SDP and call on_media_update().

Change History (1)

comment:1 Changed 10 years ago by bennylp

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

Implemented in r2362

Note: See TracTickets for help on using tickets.