[asterisk-bugs] [JIRA] (ASTERISK-25373) Deprecation of CALLERPRES() function requires duplicate dialplan code

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Tue Sep 8 18:06:33 CDT 2015


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

Richard Mudgett commented on ASTERISK-25373:
--------------------------------------------

There is no problem using CALLERID(pres) to set the name and number presentation.  However, if you use CALLERID(pres) to read the setting then Asterisk *has* to generate a combined presentation value from the name and number presentations.  The CALLERID(pres) option was made undocumented when the name and number presentations became independent precicely because Asterisk may have to *lie* to generate the combined read value.

> Deprecation of CALLERPRES() function requires duplicate dialplan code
> ---------------------------------------------------------------------
>
>                 Key: ASTERISK-25373
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25373
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Functions/func_callerid
>    Affects Versions: 11.19.0, 13.5.0
>            Reporter: Walter Doekes
>            Assignee: Unassigned
>            Severity: Minor
>
> If you use:
> {noformat}
> Set(CALLERPRES()=allowed_passed_screen)
> {noformat}
> You get a deprecationwarning:
> {noformat}
>         if (!callerpres_deprecate_notify) {
>                 callerpres_deprecate_notify = 1;
>                 ast_log(LOG_WARNING, "CALLERPRES is deprecated."
>                         "  Use CALLERID(name-pres) or CALLERID(num-pres) instead.\n");
>         }
> {noformat}
> Right now it does this:
> {noformat}
>                 chan->caller.id.name.presentation = pres;
>                 chan->caller.id.number.presentation = pres;
> {noformat}
> Which in dialplan terms would be:
> {noformat}
> Set(CALLERID(name-pres)=allowed_passed_screen)
> Set(CALLERID(num-pres)=allowed_passed_screen)
> {noformat}
> And you need to set both, because chan_sip reads it as a single value -- through {{ast_party_id_presentation()}} -- where value with the most privacy wins.
> So, I don't consider two dialplan statements an improvement over one.
> Suggested fix: add a 'all-pres' item to CALLERID.
> {noformat}
> Set(CALLERID(all-pres)=allowed_passed_screen)
> {noformat}
> Preferably in the release branches so one can get rid of deprecationwarnings sooner.
> Thanks :)



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



More information about the asterisk-bugs mailing list