Missing CallerID on IVR option

I have an IVR setup, 4 options.

3 of these options go to the same person/group so i need to assign a callerID on them so they know how to answer the phone, for example “hello sales…”, “hello accounts”… etc.
exten => 4,1,Set(CALLERID(name)=Chris)
exten => 4,2,Set(CALLERID(number)=12345)
exten => 4,n,Goto(ext-group,904,1)

This code works fine, it dials group 904 when option 4 is pressed.


Verbosity is at least 3
    -- Accepting overlap call from '' to '2002' on channel 0/2, span 1
    -- Starting simple switch on 'Zap/2-1'
    -- Executing [[email protected]] Set("Zap/2-1", "FROM_DID=2002") in new stack
    -- Executing [[email protected]] Gosub("Zap/2-1", "app-blacklist-check|s|1") in new stack
    -- Executing [[email protected]] LookupBlacklist("Zap/2-1", "") in new stack
    -- Executing [[email protected]] GotoIf("Zap/2-1", "0?blacklisted") in new stack
    -- Executing [[email protected]] Return("Zap/2-1", "") in new stack
    -- Executing [[email protected]] Goto("Zap/2-1", "ivr-12|s|1") in new stack
    -- Goto (ivr-12,s,1)
    -- Executing [[email protected]] Set("Zap/2-1", "LOOPCOUNT=0") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "__DIR-CONTEXT=default") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "_IVR_CONTEXT_ivr-12=") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "_IVR_CONTEXT=ivr-12") in new stack
    -- Executing [[email protected]] GotoIf("Zap/2-1", "0?begin") in new stack
    -- Executing [[email protected]] Answer("Zap/2-1", "") in new stack
    -- Executing [[email protected]] Wait("Zap/2-1", "1") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "TIMEOUT(digit)=3") in new stack
    -- Digit timeout set to 3
    -- Executing [[email protected]] Set("Zap/2-1", "TIMEOUT(response)=10") in new stack
    -- Response timeout set to 10
    -- Executing [[email protected]] BackGround("Zap/2-1", "custom/ivr") in new stack
    -- <Zap/2-1> Playing 'custom/ivr' (language 'en')
  == CDR updated on Zap/2-1
    -- Executing [[email protected]] Set("Zap/2-1", "CALLERID(name)=Chris") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "CALLERID(number)=12345") in new stack
    -- Executing [[email protected]] Goto("Zap/2-1", "ext-local|101|1") in new stack
    -- Goto (ext-local,101,1)
    -- Executing [[email protected]] Macro("Zap/2-1", "exten-vm|101|101") in new stack
    -- Executing [[email protected]] Macro("Zap/2-1", "user-callerid") in new stack
    -- Executing [[email protected]] NoOp("Zap/2-1", "user-callerid Chris 12345") in new stack
    -- Executing [[email protected]] GotoIf("Zap/2-1", "0?report") in new stack
    -- Executing [[email protected]] GotoIf("Zap/2-1", "0?start") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "REALCALLERIDNUM=12345") in new stack
    -- Executing [[email protected]] NoOp("Zap/2-1", "REALCALLERIDNUM is 12345") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "AMPUSER=") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "AMPUSERCIDNAME=") in new stack
    -- Executing [[email protected]] GotoIf("Zap/2-1", "1?report") in new stack
    -- Goto (macro-user-callerid,s,11)
    -- Executing [[email protected]] NoOp("Zap/2-1", "TTL  ARG1 101") in new stack
    -- Executing [[email protected]] GotoIf("Zap/2-1", "0?continue") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "_TTL=64") in new stack
    -- Executing [[email protected]] GotoIf("Zap/2-1", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,21)
    -- Executing [[email protected]] NoOp("Zap/2-1", "Using CallerID "Chris" <12345>") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "FROMCONTEXT=exten-vm") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "VMBOX=101") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "EXTTOCALL=101") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "CFUEXT=") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "CFBEXT=") in new stack
    -- Executing [[email protected]] Set("Zap/2-1", "RT=20") in new stack
    -- Executing [[email protected]] Macro("Zap/2-1", "record-enable|101|IN") in new stack
    -- Executing [[email protected]] GotoIf("Zap/2-1", "0?24") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [[email protected]] DeadAGI("Zap/2-1", "recordingcheck||1181215970.48") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
  recordingcheck||1181215970.48 Inbound recording enabled.
  recordingcheck||1181215970.48 CALLFILENAME=20070607-123256-1181215970.48
    -- AGI Script recordingcheck completed, returning 0
    -- Executing [[email protected]] MixMonitor("Zap/2-1", "20070607-123256-1181215970.48.wav") in new stack
    -- Executing [[email protected]] Macro("Zap/2-1", "dial|20|tr|101") in new stack
    -- Executing [[email protected]] DeadAGI("Zap/2-1", "dialparties.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
  == Begin MixMonitor Recording Zap/2-1
  dialparties.agi Starting New Dialparties.agi
  dialparties.agi priority is 1
  dialparties.agi Caller ID name is 'Chris' number is '12345'
  dialparties.agi Methodology of ring is  'none'
    --  dialparties.agi Added extension 101 to extension map
    --  dialparties.agi Extension 101 cf is disabled
    --  dialparties.agi Extension 101 do not disturb is disabled
    --  dialparties.agi dbset CALLTRACE/101 to 12345
    -- AGI Script dialparties.agi completed, returning 0
    -- Executing [[email protected]] Dial("Zap/2-1", "SIP/101|20|tr") in new stack
    -- Called 101
    -- SIP/101-088007f0 is ringing
    -- SIP/101-088007f0 is ringing
    -- Channel 0/2, span 1 got hangup request
  == Spawn extension (macro-dial, s, 10) exited non-zero on 'Zap/2-1' in macro 'dial'
  == Spawn extension (macro-dial, s, 10) exited non-zero on 'Zap/2-1' in macro 'exten-vm'
  == Spawn extension (macro-dial, s, 10) exited non-zero on 'Zap/2-1'
    -- Executing [[email protected]] Macro("Zap/2-1", "record-cleanup") in new stack
    -- Executing [[email protected]] System("Zap/2-1", "/bin/mv /var/spool/asterisk/monitor/20070607-123256-1181215970.48.wav /var/spool/asterisk/call_safe/") in new stack
    -- Executing [[email protected]] Macro("Zap/2-1", "hangupcall") in new stack
    -- Executing [[email protected]] ResetCDR("Zap/2-1", "w") in new stack
    -- Executing [[email protected]] NoCDR("Zap/2-1", "") in new stack
    -- Executing [[email protected]] GotoIf("Zap/2-1", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing [[email protected]] GotoIf("Zap/2-1", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [[email protected]] Wait("Zap/2-1", "5") in new stack
  == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'Zap/2-1' in macro 'hangupcall'
  == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'Zap/2-1'
  == End MixMonitor Recording Zap/2-1
    -- Hungup 'Zap/2-1'

What I don’t understand is, EVEN though ALL the way through callerID is shown as

dialparties.agi Caller ID name is ‘Chris’ number is ‘12345’

It returns to my soft or hardphone as UNKNOWN.

Any ideas guys, i’m ripping my hair out!

Anyone have any ideas as to what could be causing the IVR to strip the callerID?