[asterisk-bugs] [JIRA] (ASTERISK-30396) res_pjsip: Retrieval of contacts with + at start is problematic.

erebus (JIRA) noreply at issues.asterisk.org
Fri Jan 13 09:46:03 CST 2023


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

erebus commented on ASTERISK-30396:
-----------------------------------

Concerning global config: The config I posted is everything I have in pjsip.conf. Specifically, I don't have a [global] section which is the default on Debian.

Concerning reproduction: Did you remember to comment out the extra AOR (the one with the backslash)? It's the workaround that prevents the issue from happening on my machine.

> res_pjsip: Retrieval of contacts with + at start is problematic.
> ----------------------------------------------------------------
>
>                 Key: ASTERISK-30396
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-30396
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Resources/res_pjsip
>    Affects Versions: 18.16.0
>         Environment: Debian x64, IPv6 only.
>            Reporter: erebus
>            Assignee: erebus
>
> Greetings programs!
> I got the following use case:
> Asterisk server with 2 SIP Clients registered to the same AOR and same endpoint. AOR identifier and extension number match the E123-formatted E164 number of the participant which is why the AOR and the extension begin with a + sign.
> My Asterisk is now suffering from contact amnesia. I. e. pjsip show endpoints will sometimes list either of the two phones and rarely even both will show up. But in most cases, either phone or even both are forgotten by the software. This means that my 2 phones aren't ringing reliably. Sometimes only 1 phone rings, sometimes neither rings.
> I managed to work around this bug by resurrecting an old work-around that I developed for bug ASTERISK-26151:
> For each AOR I want to have in pjsip.conf, I create a second which has the + sign escaped with a backslash.
> [aor_dynamic]\(!)
> type=aor
> max_contacts=15
> qualify_frequency=1
> qualify_timeout=1000
> [+12345](aor_dynamic)
> [\+12345](aor_dynamic) ; <==== WORKAROUND
> This made Asterisk work for me.
> I think that one of the changes that was made to location.c in the past years introduced this issue and that it is again caused by improper use of ast_sorcery_retrieve_by_regex() in lines 887 and/or 1051.



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



More information about the asterisk-bugs mailing list