DISA and DISA-DIAL NOT setting/propagating CALLERID(RDID) or other CALLERID(<values>)

DISA 2.6.0.RC
DISA 2.5.x.x
(not version specific)

DISA, as a function, and the [disa] and [disa-dial] contexts are NOT setting, nor propagating when set manually, any of the extra CALLERID(values) other then CALLERID(num).

We need CALLERID(DNID) and CALLERID(RDNIS) to be properly set so as to be testable downstream in the freePBX dial plans and macros – in particular, the

On site, we permit a NX*|NXXNXXXXXX and NX*1|NXXNXXXXXX dial pattern, where the “NX*” chooses (sets) the outbound call’s CALLERID(num) to one of the PBX’s legitimate inbound DIDs. We hook in at [macro-dialout-trunk-predial-hook] and rely on the CALLERID(DNID), which would look like, e.g., 99*4165551212, but is presently unset (i.e. NULL).

We’d like a DISA user to be able to choose the CALLERID they present in exactly by exactly the same dial technique.

Is there a in dial plan fix? Or do I need to open a bug/feature ticket?

With thanks,


exten => s,2,ExecIf(${REGEX("(4160000000$)|(6470000000$)"${ARG2})}|Set|CALLERID(num)="0${ARG2}")
exten => s,3,ExecIf($["${CALLERID(dnid):2:1}" != "*"],MacroExit)
exten => s,4,Set(CIDPrefix=${CALLERID(DNID):0:2})
exten => s,5,Set(tmpCID=${DB(ORTR\/${CIDPrefix})})
exten => s,6,ExecIf(${ISNULL(${tmpCID})}|MacroExit)
exten => s,7,Playtones(!0/120,!350+440/120,!0/120,!350+440/120,!0/120,!350+440/120,!0/120)
exten => s,8,Wait(1)
exten => s,9,StopPlaytones
exten => s,10,Set(CALLERID(all)=${tmpCID})
exten => s,11,Set(CALLERID(dnid)=${CALLERID(DNID):3})
exten => s,12,SetCallerPres(allowed)
exten => s,13,ExecIf($["${CIDPrefix}" != "67"],MacroExit)   ; per-call block 67* instead of *67.
exten => s,14,SetCallerPres(prohib_passed_screen)
exten => s,15,SIPAddHeader(P-Asserted-Identity: Private <sip:[email protected]>\;privacy=full\;screen=yes)
exten => s,16,SIPAddHeader(Privacy: id)
exten => s,17,SIPAddHeader(P-Preferred-Identity: Private <sip:[email protected]>\;privacy=full\;screen=yes)
exten => s,18(Done),MacroExit
exten => h,1,Hangup(41)
exten => h,2,MacroExit