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

Rusty Newton (JIRA) noreply at issues.asterisk.org
Tue Nov 1 09:35:10 CDT 2016


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

Rusty Newton commented on ASTERISK-26491:
-----------------------------------------

Did the ITSP provide a reason or point to an RFC regarding why they are using two Contact headers?

I was told by a SIP developer that using two Contact headers was invalid and that the provider was in error.

> 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