[asterisk-bugs] [JIRA] (ASTERISK-29991) chan_dahdi, callerid: Caller ID does not honor presentation
Friendly Automation (JIRA)
noreply at issues.asterisk.org
Thu Jul 14 07:12:08 CDT 2022
[ https://issues.asterisk.org/jira/browse/ASTERISK-29991?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Friendly Automation closed ASTERISK-29991.
------------------------------------------
Resolution: Fixed
> chan_dahdi, callerid: Caller ID does not honor presentation
> -----------------------------------------------------------
>
> Key: ASTERISK-29991
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-29991
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Channels/chan_dahdi, Core/CallerID
> Affects Versions: 18.6.0
> Environment: Debian
> Reporter: N A
> Severity: Major
>
> There are several problems with the chan_dahdi.c/callerid.c code that cause Caller ID to not work the way it should.
> 1. The simple_switch (built in) *67/*82 simply clear or fill the Caller ID name and number. This is wrong. *67 is supposed to modify the presentation. It should have no impact on the name/number itself.
> 2. CALLERID(pres) is completely ignored for analog Caller ID. Even if if you set CALLERID(pres) to prohib_not_screened, for instance, the analog line *still gets Caller ID!* In contrast, if you were to call an ATA (using PJSIP, for instance, or SIP) the ATA does the correct thing and the phone will see "PRIVATE CALLER" on the screen.
> But with DAHDI, nothing works as expected:
> {noformat}
> [Mar 26 18:52:32] -- Executing [5 at ring:1] NoOp("DAHDI/8-1", "Pres: prohib_not_screened / Num Pres: prohib_not_screened / Name Pres: prohib_not_screened") in new stack
> [Mar 26 18:52:32] DEBUG[1068][C-00000009]: sig_analog.c:995 analog_call: CALLING CID_NAME: InterLinked CID_NUM:: 208
> [Mar 26 18:52:32] -- Called DAHDI/5
> [Mar 26 18:52:34] DEBUG[1068][C-00000009]: sig_analog.c:395 analog_send_callerid: Sending callerid. CID_NAME: 'InterLinked' CID_NUM: '208'
> {noformat}
> (The same thing also happens for the unavailable presentation, as with prohib_*).
> In reality, there is code in callerid.c to do this. However, the current public API does not allow passing in the right information, so the flags or info to do this need to be passed in, which necessitates an API expansion.
> Then, chan_dahdi can pass the presentation in to the caller ID functions, and the correct caller ID should be generated.
> 3. The simple switch *67 and *82 currently only "appear" to work because they simply destroy the Caller ID completely. But even then, they don't actually work properly. *67 should result in "PRIVATE CALLER" on CPE, but instead it results in "UNAVAILABLE". So the current way of doing it is an improper hack, and it is also wrong. None of this is being done to specification.
> I am marking this "major" because Caller ID presentation is completely broken and this could have huge security and privacy compliance issues.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list