Hi,

when using sip.js websocket client i got this sequence

REGISTER sip:mysip.com SIP/2.0
Via: SIP/2.0/WSS 1pds95dm7slp.invalid;branch=z9hG4bK1393343
Max-Forwards: 70
To: <sip:1096@mysip.com>
From: <sip:1096@mysip.com>;tag=99i9ka9951
Call-ID: 1agj9ujebn5k2006qvosg7
CSeq: 82 REGISTER
Authorization: Digest algorithm=MD5, username="1096", realm="mysip.com", nonce="VHiXFFR4legH+zdoSro9zybQQclvFtcR", uri="sip:mysip.com", response="2d9843d09d94f295d0ebfa323233783c"
Contact: <sip:n7o5lk6u@1pds95dm7slp.invalid;transport=ws>;reg-id=1;+sip.instance="<urn:uuid:d68a53c4-37e7-4f5c-87f2-68d7cca14b93>";expires=600
Allow: ACK,CANCEL,BYE,OPTIONS,INFO,NOTIFY,INVITE,MESSAGE
Supported: path,gruu,100rel,outbound
User-Agent: SIP.js/0.6.3
Content-Length: 0


SIP/2.0 200 OK
Via: SIP/2.0/WSS sg6h3at19h29.invalid;branch=z9hG4bK4876180;rport=65377;received=X.X.X.X
To: <sip:1096@mysip.com>;tag=78e678a5264e254e660865f4df24edf3.e69b
From: <sip:1096@mysip.com>;tag=j39lvle827
Call-ID: c0ofajiui4u2vtem662rdh
CSeq: 86 REGISTER
Contact: <sip:8umlvk34@sg6h3at19h29.invalid;transport=ws>;expires=600;pub-gruu="sip:1096@mysip.com;gr=urn:uuid:876de649-281f-4f7f-9a3e-7b2a7e11f3cc";temp-gruu="sip:uloc-5478bf26-4504-1-7fd4326@mysip.com;gr";+sip.instance="<urn:uuid:876de649-281f-4f7f-9a3e-7b2a7e11f3cc>";reg-id=1
Content-Length: 0


INVITE sip:2134@mysip.com SIP/2.0
Via: SIP/2.0/WSS sg6h3at19h29.invalid;branch=z9hG4bK1752419
Max-Forwards: 70
To: <sip:2134@mysip.com>
From: <sip:1096@mysip.com>;tag=6vii55tc02
Call-ID: i3hndju3tgsge7ctnvo2
CSeq: 4782 INVITE
Contact: <sip:1096@mysip.com;gr=urn:uuid:876de649-281f-4f7f-9a3e-7b2a7e11f3cc>
Allow: ACK,CANCEL,BYE,OPTIONS,INFO,NOTIFY,INVITE,MESSAGE
Content-Type: application/sdp
Supported: gruu,100rel,outbound
User-Agent: SIP.js/0.6.3
Content-Length: 2585


i issued kamctl show to view the registered user
 
       AOR:: 1096@mysip.com
                Contact:: sip:8umlvk34@sg6h3at19h29.invalid;transport=ws Q=
                        Expires:: 177
                        Callid:: c0ofajiui4u2vtem662rdh
                        Cseq:: 86
                        User-agent:: SIP.js/0.6.3
                        Received:: sip:X.X.X.X:65377;transport=WS
                        State:: CS_SYNC
                        Flags:: 0
                        Cflag:: 6
                        Socket:: tls:Y.Y.Y.Y:8443
                        Methods:: 927
                        Ruid:: uloc-5478bf26-4504-1
                        Instance:: <urn:uuid:876de649-281f-4f7f-9a3e-7b2a7e11f3cc>
                        Reg-Id:: 1
                        Last-Keepalive:: 1417200609
                        Last-Modified:: 1417200609

what is the best way to check if the INVITE is from a registered user and how to get usrloc properties for the registered user ?

i tried this

reg_fetch_contacts("location", "$fu", "caller");
$var(i) = 0;
$var(found) = 0;
$var(contact) = $(ct{nameaddr.uri});
while($var(found) == 0 && $var(i) < $(ulc(caller=>count))) 
   {
      xlog("L_INFO", "$ci|log| checking against $(ulc(caller=>addr)[$var(i)])");
      if($var(contact) == $(ulc(caller=>addr)[$var(i)]))
      {
          $var(found) = 1;
          $var(caller_idx) = $var(i);
          $var(userlocid) = $(ulc(caller=>ruid)[$var(i)]);
      }
      else
           $var(i) = $var(i) + 1;
   }


the problem i see is that the INVITE Contact doesn't match the one registered.

is this a problem with sip.js or am i missing something in kamailio.cfg or should kamailio save the contact info as sip.js is sending?

Thank you