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