[asterisk-dev] sdpversion handling
Freddi Hansen
fh at danovation.dk
Thu Nov 12 10:43:41 CST 2009
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.
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
More information about the asterisk-dev
mailing list