On Sat, Sep 12, 2009 at 1:45 AM, Michael Jerris <mike@jerris.com> wrote:
Following up, did a bug get created for this issue?
Hello, yes. http://jira.freeswitch.org/browse/MODSOFIA-26
On Sep 5, 2009, at 2:40 AM, mayamatakeshi wrote:
On Fri, Sep 4, 2009 at 7:28 PM, mayamatakeshi <mayamatakeshi@gmail.com>wrote:
On Wed, Sep 2, 2009 at 7:59 PM, mayamatakeshi <mayamatakeshi@gmail.com>wrote:
Hello, I'm testing FS support for the header Path (FS is behind opensips). It pretty much works: I tested calling from one user to the other and calls work perfectly. However, I've noticed that when I register my terminal directly with FS without going thru the proxy, I receive an unsolicited NOTIFY containing Message-Waiting information. But when I register via proxy, FS doesn't send this NOTIFY. What could be causing this difference of behavior? (enabling debug (F8) doesn't show anything for registration handling).
I have enabled Sofia debug and I can see NTA is complaining about invalid URI when building the NOTIFY:
nua: nua_notify: entering nua(0x9b3c1e8): sent signal r_notify nua(0x9b3c1e8): recv signal r_notify nua: nua_stack_set_params: entering nua(0x9b3c1e8): adding notify usage with event message-summary nta_leg_tcreate(0x9b74c68) nta outgoing create: invalid URI nta: outgoing_free(0x9b74928) nua(0x9b3c1e8): event r_notify 900 Internal error at nua_client.c:711 nua(0x9b3c1e8): removing notify usage with event message-summary
My REGISTER relayed by opensips is this:
REGISTER sip:test.com SIP/2.0 Record-Route: < sip:192.168.2.100;lr=on;ftag=AhFSdiltk3H4mrmGXICgRHFiU59ZuCk5> Via: SIP/2.0/UDP 192.168.2.100;branch=z9hG4bKe62c.49e9f6c1.0 Via: SIP/2.0/UDP 192.168.2.121:5060 ;received=192.168.2.121;rport=5060;branch=z9hG4bKPj4uAYgDuRbilYy4lCWcjlDKIDAtf-9RdS Max-Forwards: 69 From: <sip:user1@test.com <sip%3Auser1@test.com>
;tag=AhFSdiltk3H4mrmGXICgRHFiU59ZuCk5 To: <sip:user1@test.com <sip%3Auser1@test.com>> Call-ID: JvQ.apMLiJtfHa7z4ShIfgBPi5jIbtBv CSeq: 14872 REGISTER Contact: <sip:user1@192.168.2.121:5060;nat=yes> Expires: 60 Authorization: Digest username="user1", realm="test.com", nonce="7d911eef-2c16-4deb-99f6-afcff9968a19", uri="sip:192.168.2.100", response="df29caeb78790b4527f1176622cbf192", algorithm=MD5, cnonce="5.EXCbM3RZTx6iOh1cvUzUvEZTs2eheG", qop=auth, nc=00000001 Content-Length: 0 Path: <sip:opensips@192.168.2.100 <sip%3Aopensips@192.168.2.100> ;lr;received=sip:192.168.2.121:5060>
I hope someone can point out a problem. I'm looking at NTA with gdb but I'm slow on this.
The invalid URI nta is complaining about is the route_uri extracted from the Contact stored upon registration. The difference of behavior between INVITE (works) and NOTIFY (doesn't work) via proxy, seems to be because for INVITE, mod_sofia code (function sofia_glue_do_invite in sofia_glue.c) calls sofia_overcome_sip_uri_weakness to adjust the route_uri. But for a NOTIFY, this function is not called (and it cannot be called, as there's no session which is required as a parameter).
In my case I can see that basically what sofia_overcome_sip_uri_weakness does is to remove the "<" , ">" around the route_uri. I messed with the code in sofia_glue_send_notify to just remove "<" and ">" and after that I was able to receive the NOTIFY. So I believe there is some code lacking in FS to properly permit UAs registering via proxy to receive NOTIFY. I might be wrong: if there is anyone using this scenario successfully, please let me know. Otherwise, I'll open a ticket on JIRA.
regards, takeshi
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org