It appears that the problem with the patch that OEJ submitted is in the new parse_ok_contact function. Basically, the function is parsing the "sip:" qualifier out of the contact before storing it in pvt->okcontacturi. This causes the ACK that is generated to be non-compliant. To fix it, within parse_ok_contact, change:

***************
/* Make sure it's a SIP URL */
if (strncasecmp(c, "sip:", 4)) {
ast_log(LOG_NOTICE, "'%s' is not a valid SIP contact (missing sip:) trying to use anyway\n", c);
} else
c += 4;


strncpy(pvt->okcontacturi, c, sizeof(pvt->okcontacturi) - 1);

***************

to:

***************
strncpy(pvt->okcontacturi, c, sizeof(pvt->okcontacturi) - 1);

/* Make sure it's a SIP URL */
if (strncasecmp(c, "sip:", 4)) {
ast_log(LOG_NOTICE, "'%s' is not a valid SIP contact (missing sip:) trying to use anyway\n", c);
} else
c += 4;
***************


(sorry... I can't provide a unified diff... I back-ported the fix into an older copy of CVS...)

----- Original Message ----- From: "Matt Hess" <[EMAIL PROTECTED]>
To: "Asterisk Developers Mailing List" <[email protected]>
Sent: Monday, December 20, 2004 12:39 AM
Subject: [Asterisk-Dev] stable chan_sip borked



The latest stable version of chan_sip (1.510.2.27) breaks almost all of
our stuff.. cisco ata devices no longer work for audio.. most of our
voip terminators also spit back a lot of errors.. reverted back to cvs
-D2004-12-10 and things were happy again.

just fyi.




--------------------------------------------------------------------------------


_______________________________________________
Asterisk-Dev mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-dev
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev

_______________________________________________ Asterisk-Dev mailing list [email protected] http://lists.digium.com/mailman/listinfo/asterisk-dev To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to