#1045 closed defect (fixed)
Handle incomplete SDP offer-answer in re-INVITE/UPDATE
Reported by: | bennylp | Owned by: | bennylp |
---|---|---|---|
Priority: | normal | Milestone: | release-1.7 |
Component: | pjsip | Version: | trunk |
Keywords: | Cc: | ||
Backport to 1.x milestone: | Backported: |
Description (last modified by nanang)
Cases:
- Receive no SDP answer in 200 reponse after sending re-INVITE or UPDATE with offer.
- Receive no SDP answer in ACK after sending 200 response with offer (incoming re-INVITE does not contain offer). Note that there is possibility that ACK uses same branch as the re-INVITE.
For such cases, the SDP negotiator state should be resetted to STATE_DONE, otherwise it could cause problems, e.g. assertion in sip_timer.c at line 370:
pj_assert(pjmedia_sdp_neg_get_state(inv->neg) == PJMEDIA_SDP_NEG_STATE_DONE);
Change History (3)
comment:1 Changed 14 years ago by nanang
- Description modified (diff)
- Summary changed from 200/OK without SDP should cause call to be disconnected to Handle incomplete SDP offer-answer in re-INVITE/UPDATE
comment:2 Changed 14 years ago by nanang
- Resolution set to fixed
- Status changed from new to closed
comment:3 Changed 14 years ago by bennylp
In r3217: Another unterminated SDP offer/answer negotiation fix:
- fixed unterminated negotiation if our media transport rejects incoming offer (e.g. due to mismatch SRTP transport) with 488.
- to fix the above, modified the SDP negotiator (sdp_neg.[hc])'s pjmedia_sdp_neg_cancel_offer() to also be able to cancel in remote offer state
- also fixed the bug introduced previous Session Timer fix (Re: #1047), which cause SDP negotiator's state to be cleared after failed UAC UPDATE transaction is terminated, which means UPDATE can only be sent 5 seconds after the last UPDATE if the last UPDATE failed.
Note: See
TracTickets for help on using
tickets.
(In [3208]) Fix #1045: