[Freeswitch-users] No NOTIFY MWI when registering via proxy.

mayamatakeshi mayamatakeshi at gmail.com
Fri Sep 4 23:40:01 PDT 2009


On Fri, Sep 4, 2009 at 7:28 PM, mayamatakeshi <mayamatakeshi at gmail.com>wrote:

>
> On Wed, Sep 2, 2009 at 7:59 PM, mayamatakeshi <mayamatakeshi at 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 at test.com <sip%3Auser1 at test.com>
> >;tag=AhFSdiltk3H4mrmGXICgRHFiU59ZuCk5
> To: <sip:user1 at test.com <sip%3Auser1 at test.com>>
> Call-ID: JvQ.apMLiJtfHa7z4ShIfgBPi5jIbtBv
> CSeq: 14872 REGISTER
> Contact: <sip:user1 at 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 at 192.168.2.100 <sip%3Aopensips at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20090905/b759d268/attachment-0002.html 


More information about the FreeSWITCH-users mailing list