[asterisk-bugs] [JIRA] (ASTERISK-30396) Improper use of regex in res_pjsip/location.c, Regression from ASTERISK-26151

erebus (JIRA) noreply at issues.asterisk.org
Thu Jan 12 13:25:03 CST 2023


erebus created ASTERISK-30396:
---------------------------------

             Summary: Improper use of regex in res_pjsip/location.c, Regression from ASTERISK-26151
                 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: 16.28.0
         Environment: Debian x64, IPv6 only.
            Reporter: erebus
            Severity: Major


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