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 [2002@from-pstn1] Set("Zap/2-1", "FROM_DID=2002") in new stack
    -- Executing [2002@from-pstn2] Gosub("Zap/2-1", "app-blacklist-check|s|1") in new stack
    -- Executing [s@app-blacklist-check1] LookupBlacklist("Zap/2-1", "") in new stack
    -- Executing [s@app-blacklist-check2] GotoIf("Zap/2-1", "0?blacklisted") in new stack
    -- Executing [s@app-blacklist-check3] Return("Zap/2-1", "") in new stack
    -- Executing [2002@from-pstn3] Goto("Zap/2-1", "ivr-12|s|1") in new stack
    -- Goto (ivr-12,s,1)
    -- Executing [s@ivr-121] Set("Zap/2-1", "LOOPCOUNT=0") in new stack
    -- Executing [s@ivr-122] Set("Zap/2-1", "__DIR-CONTEXT=default") in new stack
    -- Executing [s@ivr-123] Set("Zap/2-1", "_IVR_CONTEXT_ivr-12=") in new stack
    -- Executing [s@ivr-124] Set("Zap/2-1", "_IVR_CONTEXT=ivr-12") in new stack
    -- Executing [s@ivr-125] GotoIf("Zap/2-1", "0?begin") in new stack
    -- Executing [s@ivr-126] Answer("Zap/2-1", "") in new stack
    -- Executing [s@ivr-127] Wait("Zap/2-1", "1") in new stack
    -- Executing [s@ivr-128] Set("Zap/2-1", "TIMEOUT(digit)=3") in new stack
    -- Digit timeout set to 3
    -- Executing [s@ivr-129] Set("Zap/2-1", "TIMEOUT(response)=10") in new stack
    -- Response timeout set to 10
    -- Executing [s@ivr-1210] BackGround("Zap/2-1", "custom/ivr") in new stack
    -- <Zap/2-1> Playing 'custom/ivr' (language 'en')
  == CDR updated on Zap/2-1
    -- Executing [4@ivr-121] Set("Zap/2-1", "CALLERID(name)=Chris") in new stack
    -- Executing [4@ivr-122] Set("Zap/2-1", "CALLERID(number)=12345") in new stack
    -- Executing [4@ivr-123] Goto("Zap/2-1", "ext-local|101|1") in new stack
    -- Goto (ext-local,101,1)
    -- Executing [101@ext-local1] Macro("Zap/2-1", "exten-vm|101|101") in new stack
    -- Executing [s@macro-exten-vm1] Macro("Zap/2-1", "user-callerid") in new stack
    -- Executing [s@macro-user-callerid1] NoOp("Zap/2-1", "user-callerid Chris 12345") in new stack
    -- Executing [s@macro-user-callerid2] GotoIf("Zap/2-1", "0?report") in new stack
    -- Executing [s@macro-user-callerid3] GotoIf("Zap/2-1", "0?start") in new stack
    -- Executing [s@macro-user-callerid4] Set("Zap/2-1", "REALCALLERIDNUM=12345") in new stack
    -- Executing [s@macro-user-callerid5] NoOp("Zap/2-1", "REALCALLERIDNUM is 12345") in new stack
    -- Executing [s@macro-user-callerid6] Set("Zap/2-1", "AMPUSER=") in new stack
    -- Executing [s@macro-user-callerid7] Set("Zap/2-1", "AMPUSERCIDNAME=") in new stack
    -- Executing [s@macro-user-callerid8] GotoIf("Zap/2-1", "1?report") in new stack
    -- Goto (macro-user-callerid,s,11)
    -- Executing [s@macro-user-callerid11] NoOp("Zap/2-1", "TTL  ARG1 101") in new stack
    -- Executing [s@macro-user-callerid12] GotoIf("Zap/2-1", "0?continue") in new stack
    -- Executing [s@macro-user-callerid13] Set("Zap/2-1", "_TTL=64") in new stack
    -- Executing [s@macro-user-callerid14] GotoIf("Zap/2-1", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,21)
    -- Executing [s@macro-user-callerid21] NoOp("Zap/2-1", "Using CallerID "Chris" <12345>") in new stack
    -- Executing [s@macro-exten-vm2] Set("Zap/2-1", "FROMCONTEXT=exten-vm") in new stack
    -- Executing [s@macro-exten-vm3] Set("Zap/2-1", "VMBOX=101") in new stack
    -- Executing [s@macro-exten-vm4] Set("Zap/2-1", "EXTTOCALL=101") in new stack
    -- Executing [s@macro-exten-vm5] Set("Zap/2-1", "CFUEXT=") in new stack
    -- Executing [s@macro-exten-vm6] Set("Zap/2-1", "CFBEXT=") in new stack
    -- Executing [s@macro-exten-vm7] Set("Zap/2-1", "RT=20") in new stack
    -- Executing [s@macro-exten-vm8] Macro("Zap/2-1", "record-enable|101|IN") in new stack
    -- Executing [s@macro-record-enable1] GotoIf("Zap/2-1", "0?24") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable4] 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 [s@macro-record-enable999] MixMonitor("Zap/2-1", "20070607-123256-1181215970.48.wav") in new stack
    -- Executing [s@macro-exten-vm9] Macro("Zap/2-1", "dial|20|tr|101") in new stack
    -- Executing [s@macro-dial1] 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 [s@macro-dial10] 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 [h@macro-dial1] Macro("Zap/2-1", "record-cleanup") in new stack
    -- Executing [s@macro-record-cleanup1] System("Zap/2-1", "/bin/mv /var/spool/asterisk/monitor/20070607-123256-1181215970.48.wav /var/spool/asterisk/call_safe/") in new stack
    -- Executing [h@macro-dial2] Macro("Zap/2-1", "hangupcall") in new stack
    -- Executing [s@macro-hangupcall1] ResetCDR("Zap/2-1", "w") in new stack
    -- Executing [s@macro-hangupcall2] NoCDR("Zap/2-1", "") in new stack
    -- Executing [s@macro-hangupcall3] GotoIf("Zap/2-1", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing [s@macro-hangupcall6] GotoIf("Zap/2-1", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s@macro-hangupcall9] 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?