sip.ua | Request-URI does not point to us

170 views
Skip to first unread message

SD

unread,
May 12, 2014, 8:43:50 AM5/12/14
to sip...@googlegroups.com
Hi
I am attempting to use the SIP.js to make a basic call between two users.  My setup is :

SIP.js (chrome) --> Oversip Proxy --> SIPXecs --> Oversip Proxy --> SIP.js (chrome)

I am able to register and able to initiate call from user1 to user2.   However, the call setup does not complete properly and although both sides seem to go into the answered state, user2 gives up on the call a few seconds into the session, while user1 still thinks he is in call.

Upon inspecting the console logs I can see that the SIP call flow as follows

USER1 SERVER USER2
==============================================
INVITE ------->
<-------100 Trying
<-------407 Proxy Auth Req
ACK ------->
INVITE ------------------------------->
<-------------------------------SIP/2.0 100 Trying
<-------------------------------SIP/2.0 180 Ringing
<-------------------------------SIP/2.0 200 OK
ACK -------------------------------->
<-------------------------------SIP/2.0 200 OK
ACK -------------------------------->
  <-------------------------------SIP/2.0 200 OK
ACK -------------------------------->
<-------------------------------SIP/2.0 200 OK
ACK -------------------------------->
<-------------------------------SIP/2.0 200 OK
ACK -------------------------------->
  <-------------------------------SIP/2.0 200 OK
ACK -------------------------------->
<-------------------------------SIP/2.0 200 OK
ACK -------------------------------->
<--------------------------------BYE
404 Not Found --------------------------------> 


Every time the ACK message is received by user2 , I see the message:
sip.ua | Request-URI does not point to us sip-0.5.0.js:168

However, the request URI is the same as the 'contact' address advertised in the OK message.

Any input on this issue would be greatly appreciated.
thank you!
 


Eric Tamme

unread,
May 12, 2014, 8:56:03 AM5/12/14
to sip...@googlegroups.com
Do you have the actual console log including the sip trace?

This signalling you are showing looks like a classic loose routing issue where the ACK is not reaching, or being "accepted" by, the UAS, and thus the UAS continues to retransmit the 200 OK until the UAC INVITE final response timeout triggers and terminates the call.

-Eric

SD

unread,
May 12, 2014, 9:13:31 AM5/12/14
to sip...@googlegroups.com
Thanks Eric!!
The console logs for user1 and user2 are in the attached zip file.
Thanks in advance for your help!
Request-URI-does-not-point-to-us.zip

Will Mitchell

unread,
May 12, 2014, 10:00:37 AM5/12/14
to sip...@googlegroups.com
Hi,

It looks like the UA isn't detecting that the GRUU is pointing to it.  The GRUU should be set as part of the contact (`ua.contact.pub_gruu`), but the UA only checks the non-GRUU'd contact when receiving requests.

I've opened an issue on GitHub to track the problem as we fix it: https://github.com/onsip/SIP.js/issues/14

SD

unread,
May 12, 2014, 10:22:06 AM5/12/14
to sip...@googlegroups.com
Thanks Will!!
Really appreciate your help

Joseph Frazier

unread,
May 19, 2014, 5:46:52 PM5/19/14
to sip...@googlegroups.com
Hi SD,

I think I have a fix for your issue, but I don't have a good way to test it. If you'd like to give it a shot, you can find the code here.

Let me know how it goes,
Joseph

SD

unread,
May 19, 2014, 8:51:53 PM5/19/14
to sip...@googlegroups.com
Thanks so much!

I tried it, and it does allow the call to go through.. however, the same message ( Request-URI does not point to us) is shown on the receiving of the BYE now.  So when one side disconnects, the other side stays in session. 

I have found by commenting out the whole code block, that it does work properly...but I am not sure about other implications.

/***************************************
  if(request.ruri.user !== this.configuration.uri.user && request.ruri.user !== this.contact.uri.user) {  
    this.logger.warn('Request-URI does not point to us');
    if (request.method !== SIP.C.ACK) {
      request.reply_sl(404);
    }
    return;
  }
****************************************/

Joseph Frazier

unread,
May 19, 2014, 9:23:03 PM5/19/14
to sip...@googlegroups.com
> however, the same message ( Request-URI does not point to us) is shown on the receiving of the BYE now

Hmm, could you provide console logs as before? It sounds like my change may not have covered enough cases. If yo

> I have found by commenting out the whole code block, that it does work properly...but I am not sure about other implications.

Doing that could cause other problems if your application were somehow sent messages that were not intended for it.

SD

unread,
May 19, 2014, 9:43:39 PM5/19/14
to sip...@googlegroups.com
Thanks!  further testing is as follows

1. User 400 calls user 401 and user 400 (The calling party) ends the call ..OK
2. User 401 calls user 400 and user 401 (The calling party) ends the call ..OK
3. BUT if user 401 calls user 400 and user 400 (The called party) ends the call ..FAIL {401 reject msg and stay in call}
4. BUT if user 400 calls user 401 and user 401 (The called party) ends the call ..FAIL {400 reject msg and stay in call}
[this is the scenario in attached log]
sip-js-request-uri-does-not-point-to-us-on-BYE.zip

Joseph Frazier

unread,
May 20, 2014, 10:11:25 AM5/20/14
to sip...@googlegroups.com
Thanks for the logs. As I expected, my change wasn't capable of correctly handling the BYE message. I've updated my SIP.js branch with code that I believe should work, if you'd like to try again.

Joseph

SD

unread,
May 20, 2014, 12:36:09 PM5/20/14
to sip...@googlegroups.com
Thanks Joe
That seems to work well!
Reply all
Reply to author
Forward
0 new messages