[asterisk-bugs] [JIRA] (ASTERISK-26491) pjsip: PJSIP is confused by erroneous Contact header. chan_sip handles it fine.

Alexei Gradinari (JIRA) noreply at issues.asterisk.org
Thu Nov 17 08:51:10 CST 2016


    [ https://issues.asterisk.org/jira/browse/ASTERISK-26491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=233806#comment-233806 ] 

Alexei Gradinari commented on ASTERISK-26491:
---------------------------------------------

May be asterisk should add  "x-uid" extension parameter to determine the correct Contact header.

http://www.pjsip.org/pjsip/docs/html/group__PJSIP__CONFIG.htm

{noformat}
#define PJSIP_REGISTER_CLIENT_ADD_XUID_PARAM   0
Specify whether client registration should add "x-uid" extension parameter in all Contact URIs that it registers to assist the matching of Contact URIs in the 200/OK REGISTER response, in case the registrar is unable to return exact Contact URI in the 200/OK response.

This setting can be changed in run-time by setting regc.add_xuid_param field of pjsip_cfg().

Default is 0.
{noformat}

> pjsip: PJSIP is confused by erroneous Contact header. chan_sip handles it fine.
> -------------------------------------------------------------------------------
>
>                 Key: ASTERISK-26491
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26491
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: pjproject/pjsip
>    Affects Versions: 13.11.2
>            Reporter: Daniel Heckl
>            Assignee: Unassigned
>            Severity: Minor
>         Attachments: log.txt, pjsip-debug-log2.txt
>
>
> Our Asterisk is behind an NAT and has an public ip. Sometimes our public ip address changes. Asterisk sends an REGISTER all 480 seconds.
> If our public ip address changes and Asterisk sends an re-REGISTER, our provider sends an OK. But asterisk does not realize it. Instead asterisk sends multiple times a new REGISTER and gets always an OK. After some time it logs "res_pjsip_outbound_registration.c:761 schedule_retry: No response received". Why!? Asterisk received multiple times an OK!
> After some wait time it retries again, gets an 403 Forbidden from our provider and permanently stops outbound registration.
> Chan_sip handle properly this situation.
> Attached a log from the communication between asterisk and tel.t-online.de.
> I think the problem is that the OK from the provider contains following lines:
> Contact: <sip:0123456789 at 192.168.0.10:45060>;expires=480
> Contact: <sip:0123456789 at 192.168.0.10:45060>;expires=10
> Asterisk see the 10 seconds expiring Contact and schedules a new registration. But in reality the first Contact is "the new" one, this one is expiring in 480 seconds.
> Asterisk re-REGISTER till the second Contact is expired.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list