[asterisk-dev] sdpversion handling
Olle E. Johansson
oej at edvina.net
Fri Nov 13 02:38:13 CST 2009
12 nov 2009 kl. 17.43 skrev Freddi Hansen:
> I have a situation where I think that we are not handling things correct
> with regards to the sdpversion.
>
> outbound INVITE to sip proxy (Siemens SurPass).
> ...
> gets 183 with SDP back.
> ..
> Gets 200 OK with SDP
>
> sends ACK and BYE. (asterisk disconnects the call on B-answer)
>
> what happens is that the sdpversion we receive in the 183 and in the 200
> OK have same version number so we should as I understand it simply
> ignore the SDP with the 200 OK as there is no new info.
> The sdpversioncheck in process_sdp fails and causes the
> SIP_PENDINGBYE to be set so outbound call fails.
> with ignoresdpversion=yes then this works perfect.
Please report this as a bug in the bug tracker. Also note that the SDP version belongs to one early dialog only.
The 200 OK can arrive from another device with different tags/branches and then it's ok to have another SDPversion.
/O
>
> case 200: /* 200 OK on invite - someone's answering our
> call */
> if (!req->ignore && (p->invitestate != INV_CANCELLED) &&
> sip_cancel_destroy(p))
> ast_log(LOG_WARNING, "Unable to cancel SIP
> destruction. Expect bad things.\n");
> p->authtries = 0;
> if (find_sdp(req)) {
> if ((res = process_sdp(p, req, SDP_T38_ACCEPT))
> && !req->ignore) {
> if (!reinvite)
> /* This 200 OK's SDP is not
> acceptable, so we need to ack, then hangup */
> /* For re-invites, we try to
> recover */
> ast_set_flag(&p->flags[0],
> SIP_PENDINGBYE);
> }
> }
> b.r.
> Freddi
>
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-dev
---
* Olle E Johansson - oej at edvina.net
* Cell phone +46 70 593 68 51, Office +46 8 96 40 20, Sweden
More information about the asterisk-dev
mailing list