[OpenSIPS-Users] Problem Contact URI

Bogdan-Andrei Iancu bogdan at voice-system.ro
Mon Dec 27 18:28:14 CET 2010


Lionel Sicilia wrote:
>> Hi Lionel,
>>
>> you show here a completely different issue - this new one has nothing to
>> do with the contact URI, but with the CSEQ number - opensips refuses a
>> new registration for that AOR as the (since the last registration done)
>> the callid was reused without increasing the CSEQ number...
>> Check the logs of your opensips server.
>>
>> Regards,
>> Bogdan
>>
>>     
>
> I understand, but I think the error sequence produced by the client retry.
> In this case opensips show the log and the client in the first request
> in this case is not the CSeq error,
> but there comes a warning to the ends of the header:
>
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_msg: SIP Request:
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_msg:  method:  <REGISTER>
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_msg:  uri:
> <sip:aplay.com.ar>
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_msg:  version: <SIP/2.0>
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_headers: flags=2
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_via_param: found
> param type 235, <rport> = <n/a>; state=6
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_via_param: found
> param type 232, <branch> =
> <z9hG4bKPj4bc8a48485044538a2abb7813afe8139>; state=16
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_via: end of
> header reached, state=5
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_headers: via
> found, flags=2
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_headers: this is
> the first via
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:receive_msg: After parse_msg...
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:receive_msg: preparing
> to run routing scripts...
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_headers: flags=100
> Dec 23 18:00:26 jerif opensips[16840]: DBG:maxfwd:is_maxfwd_present: value = 70
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_headers: flags=8
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_to: end of
> header reached, state=10
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_to: display={},
> ruri={sip:7020 at aplay.com.ar}
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:get_hdr_field: <To>
> [25]; uri=[sip:7020 at aplay.com.ar]
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:get_hdr_field: to body
> [<sip:7020 at aplay.com.ar>^M ]
> Dec 23 18:00:26 jerif opensips[16840]: DBG:uri:has_totag: no totag
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_headers: flags=78
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:get_hdr_field: cseq
> <CSeq>: <46090> <REGISTER>
> Dec 23 18:00:26 jerif opensips[16840]: DBG:tm:t_lookup_request: start
> searching: hash=54174, isACK=0
> Dec 23 18:00:26 jerif opensips[16840]: DBG:tm:matching_3261: RFC3261
> transaction matching failed
> Dec 23 18:00:26 jerif opensips[16840]: DBG:tm:t_lookup_request: no
> transaction found
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_headers: flags=200
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:get_hdr_field: content_length=0
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:get_hdr_field: found
> end of header
> Dec 23 18:00:26 jerif opensips[16840]: DBG:rr:find_first_route: No
> Route headers found
> Dec 23 18:00:26 jerif opensips[16840]: DBG:rr:loose_route: There is no Route HF
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:grep_sock_info:
> checking if host==us: 12==12 &&  [aplay.com.ar] == [192.168.2.21]
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:grep_sock_info:
> checking if port 5060 matches port 5060
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_headers:
> flags=ffffffffffffffff
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_headers: flags=8000000
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_headers:
> flags=ffffffffffffffff
> Dec 23 18:00:26 jerif opensips[16840]: DBG:registrar:build_contact:
> created Contact HF: Contact:
> <sip:7020 at 190.178.217.168:18196>;expires=209,
> <sip:7020 at 190.178.217.168:18209>;expires=300^M
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:parse_headers:
> flags=ffffffffffffffff
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:check_ip_address:
> params 190.178.217.168, 190.178.217.168, 0
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:destroy_avp_list:
> destroying list (nil)
> Dec 23 18:00:26 jerif opensips[16840]: DBG:core:receive_msg: cleaning up
>
>
>
> 16:59:20.381   pjsua_core.c TX 383 bytes Request msg
> REGISTER/cseq=46090 (tdta0p49d04c0) to UDP 190.50.96.229:5060:
> REGISTER sip:aplay.com.ar SIP/2.0
>
> Via: SIP/2.0/UDP
> 192.168.2.84:11065;rport;branch=z9hG4bKPj4bc8a48485044538a2abb7813afe8139
>
> Max-Forwards: 70
>
> From: <sip:7020 at aplay.com.ar>;tag=93d3bd7d06a44b08a0b63103b9389b4e
>
> To: <sip:7020 at aplay.com.ar>
>
> Call-ID: f4d1ebca868647aaaaa8cd3ba2c55b8e
>
> CSeq: 46090 REGISTER
>
> Contact: <sip:7020 at 192.168.2.84:11065>
>
> Expires: 300
>
> Content-Length:  0
>
>
>
>
> --end msg--
>  16:59:20.381    pjsua_acc.c Registration sent
>  16:59:20.509 sip_transport. Error processing 663 bytes packet from
> UDP 190.50.96.229:5060 : PJSIP syntax error exception when parsing ''
> header on line 7 col 39:
> SIP/2.0 200 OK
>
> Via: SIP/2.0/UDP
> 192.168.2.84:11065;rport=18209;branch=z9hG4bKPj4bc8a48485044538a2abb7813afe8139
>
> From: <sip:7020 at aplay.com.ar>;tag=93d3bd7d06a44b08a0b63103b9389b4e
>
> To: <sip:7020 at aplay.com.ar>;tag=98b61b12c9f619de75a9db003a772a51.03be
>
> Call-ID: f4d1ebca868647aaaaa8cd3ba2c55b8e
>
> CSeq: 46090 REGISTER
>
> Contact: <sip:7020 at 192.168.2.84:11065:18196>;expires=209,
> <sip:7020 at 190.178.217.168:18209>;expires=300
>
> Server: OpenSIPS (1.6.3-notls (x86_64/linux))
>
> Content-Length: 0
>
> Warning: 392 192.168.2.21:5060 "Noisy feedback tells:  pid=16840
> req_src_ip=190.178.217.168 req_src_port=18209 in_uri=sip:aplay.com.ar
> out_uri=sip:aplay.com.ar via_cnt==1"
>
>
>
>
> -- end of packet.
>
>   

The 'Warning' header does not report an error it just provides debugging 
information from inside opensips - you can turn it on/off with the 
sip_warning core parameter:
    http://www.opensips.org/Resources/DocsCoreFcn16#toc68


Now, about the error in the pjsip stack - it reports line 7 (assuming 
from the entire message), which is:
       Contact: <sip:7020 at 192.168.2.84:11065:18196>;expires=209, 
<sip:7020 at 190.178.217.168:18209>;expires=300  
most probably because of the double port in the first contact entry.

So, you need to look for the part where you are saving contacts in user 
location - save("location") - here, do you do any processing of the SIP 
contact, before the actual "save", like fix_nated_contact() or 
fix_nated_register() ?

Regards,
Bogdan

-- 
Bogdan-Andrei Iancu
OpenSIPS Event - expo, conf, social, bootcamp
2 - 4 February 2011, ITExpo, Miami,  USA
www.voice-system.ro




More information about the Users mailing list