Changes between Initial Version and Version 3 of Ticket #1848


Ignore:
Timestamp:
May 15, 2015 6:29:19 AM (8 years ago)
Author:
ming
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1848

    • Property Status changed from new to closed
    • Property Resolution changed from to fixed
    • Property Summary changed from SDP failed to be created which lead to crash caused by rejected HOLD request to SDP failed to be created when creating an offer if provisional media has been cleared
  • Ticket #1848 – Description

    initial v3  
    1 Scenario: 
    2 1. Terminal C receives intial INVITE (incoming call) from server without SDP 
    3 2. Terminal C sends 200 OK with SDP 
    4 3. Terminal C receives ACK with SDP 
    5 4. SDP negotiation succeeds, call is connected 
    6 5. Terminal C sends INVITE (Hold) to server 
    7 6. Server rejects hold request with 488 (server spec). Provisional media was cleared 
    8 7. Terminal C receives INVITE (media update for "transfer") from server without SDP. Because provisional media was cleared, error was returned when creating SDP (PJ_EAFNOTSUP). 
    9 8. Terminal C sends 200 OK with SDP 
    10 9. Terminal C receives ACK with SDP. Because there's no provisional media, Error was raised when updating media. 
     1When a re-INVITE/UPDATE fails, pjsua will clear its provisional medias. This may cause assertion when creating subsequent SDP offers. 
    112 
    12 This ticket will check if the provisional media was cleared (7) and if so, will 
    13 reinitialize media channel. 
     3Example scenario: 
     41. Normal call is established between caller and callee. 
     52. Caller sends INVITE (Hold) to callee. 
     63. Callee rejects hold request with 488. Provisional media was cleared. 
     74. Caller creates another offer (either because it receives an INVITE without SDP, or if it's trying to repeat step 2 above by calling pjsua_call_set_hold()). Because provisional media has been cleared, error was returned when creating SDP (PJ_EAFNOTSUP).  
     8 
     9This ticket will check if the provisional media was cleared and if so, will reinitialize media channel. 
    1410 
    1511Thanks to Marcus Froeschl for the report