No subject


Sun Jul 19 19:54:31 CDT 2009


To:
<sip:10f2a43020db0a2c787fa67c6c4d279b at 192.168.233.250:5060;transport=udp>

The function in ‘find_by_notify_uri_helper’ in file chan_sip.c does a
straight strcmp of the ‘To’ with the URI it sent in the NOTIFY
(cc-ready).

This match then fails because we have added ';transport=udp'

return !strcmp(agent_pvt->notify_uri, uri) ? CMP_MATCH | CMP_STOP : 0;

agent_pvt->notify_uri =
sip:10f2a43020db0a2c787fa67c6c4d279b at 192.168.233.250:5060

uri =
sip:10f2a43020db0a2c787fa67c6c4d279b at 192.168.233.250:5060;transport=udp

The Asterisk server is NOT extracting the URI correctly from the ‘To’
line in the INVITE. So strcmp will always fail.
====================================================================== 

---------------------------------------------------------------------- 
 (0128986) mmichelson (administrator) - 2010-11-19 10:37
 https://issues.asterisk.org/view.php?id=18338#c128986 
---------------------------------------------------------------------- 
Yep, that's problematic. A more robust solution to the issue would be to
use the sip_uri_cmp() function from channels/sip/reqresp_parser.c. It does
an RFC 3261-compliant URI comparison. The addition of a "transport"
parameter to the URI should still result in the URIs being seen as the
same.

I can provide a patch with this shortly. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2010-11-19 10:37 mmichelson     Note Added: 0128986                          
======================================================================




More information about the asterisk-bugs mailing list