Struggling with dial plans and outbound CID - HELP!

I think I have a combination problem.

Goal: I want all phone calls from specific extensions (ex. 101 and 102) to use the outbound CID 4441234567 whereas all other extensions (103+) use the default outbound CID 5551234567

Problem: I see a difference in outbound CID when the number dialed from extension 101 has a + symbol in front versus not. I.e. dialing +12221234567 is received on my phone as 4441234567, but if dialing 2221234567, it’s received using 5551234567.

My SIP phone shows incoming calls and dialed calls in the history with a + symbol, so I need for my dialplan to handle this. ’

Here’s my dialplan export at the moment:

prepend,prefix,"match pattern",callerid
,,+1NXXNXXXXXX,
011,,+X.,
,,011,
,,1NXXNXXXXXX,
,,911,
,,933,
,,N11,
,,NXXNXXXXXX,
,,NXXXXXX,

I have one trunk with default CID of 5551234567 and “Allow Any CID”, and one default outbound route with no phone number associated (and using the dial plan form above). The two extensions have an Outbound CID of 4441234567.

Also, I do have a custom dialplan in /etc/asterisk/extensions_custom.conf containing:

[from-internal-custom]
; This gets included in from-internal by FreePBX
exten => _X.,1,NoOp(Zoho CRM: Outbound call from ${CALLERID(all)} to ${EXTEN})
exten => _X.,n,AGI(asterisk_zoho_plugin.py,start)
exten => _X.,n,Set(MIXMON_FILENAME=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => _X.,n,MixMonitor(/var/spool/asterisk/monitor/${MIXMON_FILENAME}.wav)
;exten => _X.,n,Set(__HANGUP_HANDLER=zoho-hangup-handler,s,1)

Although I don’t believe that’s affecting it.

Presenting a 10-digit CallerID number can result in the receiving carrier (especially mobile carriers) to prefix a + before it when presenting to their users. So 404NXXXXXX looks like +404NXXXXXX which indicates an International CallerID number. So to the callee it looks like their getting a call from another country. You should present 11-digit callerid numbers to avoid this.

,,+1NXXNXXXXXX, << this will only match if the phone sends the + with the digits.
011,,+X., << this will end up sending 011+XXXXXXXXXX which is improper.
,,1NXXNXXXXXX,  << fine
,,911, << fine but should be an emergency route
,,933, << fine but same as 911
,,N11, << fine but most providers don't support NXX or only support certain NXX's.
,,NXXNXXXXXX, << fine but some providers won't accept 10 digit destinations.
,,NXXXXXX, << not allowed. 7 digit dialling is no longer allowed.

Thanks. I dug into my dialplan more and got it tightened up. But, I still cannot get the outbound CID from these two extensions to be forced to 14441234567 (desired).

Did you set it as the outbound callerid of the extension? Is the outbound route set to override the extension?

I have one trunk with default CID of 15551234567 and “Allow Any CID”, and one default outbound route with no phone number associated (and using the dial plan form above). The two extensions have an Outbound CID of 14441234567. The outbound route has “Override Extension = No”

We’ll need to see a call log of the call that gets the wrong callerid. There’s numerous places this is checked/set and could be overridden at any point.

It might be difficult to copy the long call log and replace the sensitive data with my example data.

Can you share the numerous places where the outbound CID is checked? I know of the following in this order:

  • SIP provider enforcement
  • Trunk configuration
  • Outbound Route configuration
  • Custom Dialplan configuration (/etc/asterisk/extensions_custom.conf)
  • Extension configuration

Where else?

That’s not what I’m referring to. I’m referring to the actual dialplan that controls the call flow and uses those settings. Clearly the trunk CID is overriding the extension’s outbound callerid and honestly, using the trunk CID is last ditch effort. You shouldn’t be relying on the trunk CID for anything, it’s the everything else failed solution.

So there is something set or not being set that makes the logic believe that the trunk CID must be used. In order to determine that we need to be able to see what those conditions were at the time of the call. It could be because the user callerid isn’t set or it is set but the system is told to ignore it for some reason. Or it was set then got cleared based on conditional logic.

Generally, in a forum like this where the responders are providing a free service. the onus is on the requestor to do the leg work. Most other people don’t have too much difficulty providing redacted logs. Actually getting a large redacted log, if done properly, by accessing the log file, should be easy. I imagine most people then use global edits to to remove the sensitive data.

It’s a lot easier for people, here, to have a quick skim though a log, than for them to write up a procedure for exactly what lines to look for, and what to look for on those lines I’d probably start by looking for lines which contain the wrong value (which is why logs should be given a plain text, not images).

1 Like

Here ya go.

[2025-06-26 07:39:31] VERBOSE[27731] netsock2.c: Using SIP RTP Audio TOS bits 184
[2025-06-26 07:39:31] VERBOSE[27731] netsock2.c: Using SIP RTP Audio TOS bits 184 in TCLASS field.
[2025-06-26 07:39:31] VERBOSE[27731] netsock2.c: Using SIP RTP Audio CoS mark 5
[2025-06-26 07:39:31] VERBOSE[15691][C-000002cd] pbx.c: Executing [12221234567@from-internal:2] AGI("PJSIP/101-000002fb", "asterisk_zoho_plugin.py,start") in new stack
[2025-06-26 07:39:31] VERBOSE[15691][C-000002cd] res_agi.c: Launched AGI Script /var/lib/asterisk/agi-bin/asterisk_zoho_plugin.py
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] res_agi.c: <PJSIP/101-000002fb>AGI Script asterisk_zoho_plugin.py completed, returning 0
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [12221234567@from-internal:3] Set("PJSIP/101-000002fb", "MIXMON_FILENAME=20250626-073933-1750937971.781") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [12221234567@from-internal:4] MixMonitor("PJSIP/101-000002fb", "/var/spool/asterisk/monitor/20250626-073933-1750937971.781.wav") in new stack
[2025-06-26 07:39:33] VERBOSE[15694][C-000002cd] app_mixmonitor.c: Begin MixMonitor Recording PJSIP/101-000002fb
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [12221234567@from-internal:5] Set("PJSIP/101-000002fb", "_ROUTENAME=Default Outbound Route") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [12221234567@from-internal:6] Set("PJSIP/101-000002fb", "MOHCLASS=default") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [12221234567@from-internal:7] ExecIf("PJSIP/101-000002fb", "1?Set(TRUNKCIDOVERRIDE=15551234567)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [12221234567@from-internal:9] Set("PJSIP/101-000002fb", "_CALLERIDNUMINTERNAL=101") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [12221234567@from-internal:10] Set("PJSIP/101-000002fb", "_EMAILNOTIFICATION=FALSE") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [12221234567@from-internal:11] Set("PJSIP/101-000002fb", "_NODEST=") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [12221234567@from-internal:12] Macro("PJSIP/101-000002fb", "dialout-trunk,1,12221234567,,off") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:1] Set("PJSIP/101-000002fb", "DIAL_TRUNK=1") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:2] ExecIf("PJSIP/101-000002fb", "0?Set(DIAL_OPTIONS=tr)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:3] ExecIf("PJSIP/101-000002fb", "0?Set(DIAL_OPTIONS=Tr)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:4] ExecIf("PJSIP/101-000002fb", "0?Set(DIAL_OPTIONS=tr)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:5] GosubIf("PJSIP/101-000002fb", "0?sub-pincheck,s,1()") in new stack[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:6] ExecIf("PJSIP/101-000002fb", "0?Set(CALLERID(num)=)") in new stack[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:7] GotoIf("PJSIP/101-000002fb", "0?disabletrunk,1") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:8] Set("PJSIP/101-000002fb", "DIAL_NUMBER=12221234567") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:9] Set("PJSIP/101-000002fb", "DIAL_TRUNK_OPTIONS=Ttr") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:10] Set("PJSIP/101-000002fb", "OUTBOUND_GROUP=OUT_1") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:11] Set("PJSIP/101-000002fb", "DIAL_TRUNK_OPTIONS=T") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:12] ExecIf("PJSIP/101-000002fb", "0?Set(DIAL_TRUNK_OPTIONS=)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:13] GotoIf("PJSIP/101-000002fb", "1?nomax") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx_builtins.c: Goto (macro-dialout-trunk,s,15)
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:15] GotoIf("PJSIP/101-000002fb", "0?skipoutcid") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:16] Macro("PJSIP/101-000002fb", "outbound-callerid,1") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:1] NoOp("PJSIP/101-000002fb", "") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:2] NoOp("PJSIP/101-000002fb", "") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:3] NoOp("PJSIP/101-000002fb", "on") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:4] ExecIf("PJSIP/101-000002fb", "0?Set(CALLERPRES(name-pres)=)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:5] ExecIf("PJSIP/101-000002fb", "0?Set(CALLERPRES(num-pres)=)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:6] Set("PJSIP/101-000002fb", "HOTDESCKCHAN=101-000002fb") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:7] Set("PJSIP/101-000002fb", "HOTDESKEXTEN=101") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:8] Set("PJSIP/101-000002fb", "HOTDESKCALL=0") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:9] ExecIf("PJSIP/101-000002fb", "0?Set(HOTDESKCALL=1)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:10] ExecIf("PJSIP/101-000002fb", "0?Set(CALLERID(name)=)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:11] Set("PJSIP/101-000002fb", "ALLOWTHISROUTE=NO") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:12] ExecIf("PJSIP/101-000002fb", "0?Set(ALLOWTHISROUTE=YES)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:13] ExecIf("PJSIP/101-000002fb", "0?Hangup()") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:14] ExecIf("PJSIP/101-000002fb", "1?Set(REALCALLERIDNUM=101)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:15] ExecIf("PJSIP/101-000002fb", "0?Set(AMPUSER=)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:16] GotoIf("PJSIP/101-000002fb", "1?normcid") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx_builtins.c: Goto (macro-outbound-callerid,s,20)
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:20] Set("PJSIP/101-000002fb", "USEROUTCID=") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:21] Set("PJSIP/101-000002fb", "EMERGENCYCID=") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:22] ExecIf("PJSIP/101-000002fb", "0?Set(EMERGENCYCID=)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:23] Set("PJSIP/101-000002fb", "TRUNKOUTCID=") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:24] GotoIf("PJSIP/101-000002fb", "1?trunkcid") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx_builtins.c: Goto (macro-outbound-callerid,s,30)
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:30] ExecIf("PJSIP/101-000002fb", "0?Set(CALLERID(all)=)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:31] ExecIf("PJSIP/101-000002fb", "0?Set(CALLERID(all)=)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:32] ExecIf("PJSIP/101-000002fb", "1?Set(CALLERID(all)=15551234567)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:33] ExecIf("PJSIP/101-000002fb", "0?Set(CALLERID(all)=101)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:34] ExecIf("PJSIP/101-000002fb", "0?Set(CALLERID(all)=101)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:35] Set("PJSIP/101-000002fb", "TIOHIDE=no") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:36] ExecIf("PJSIP/101-000002fb", "0?Set(CALLERPRES(name-pres)=prohib_passed_screen)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:37] ExecIf("PJSIP/101-000002fb", "0?Set(CALLERPRES(num-pres)=prohib_passed_screen)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:38] ExecIf("PJSIP/101-000002fb", "0?Set(CALLERPRES(name-pres)=prohib_passed_screen)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:39] ExecIf("PJSIP/101-000002fb", "0?Set(CALLERPRES(num-pres)=prohib_passed_screen)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:40] Set("PJSIP/101-000002fb", "CDR(outbound_cnum)=15551234567") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-outbound-callerid:41] Set("PJSIP/101-000002fb", "CDR(outbound_cnam)=") in new stack[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:17] GosubIf("PJSIP/101-000002fb", "1?sub-flp-1,s,1()") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@sub-flp-1:1] ExecIf("PJSIP/101-000002fb", "1?Return()") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:18] Set("PJSIP/101-000002fb", "OUTNUM=12221234567") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:19] Set("PJSIP/101-000002fb", "custom=PJSIP") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:20] ExecIf("PJSIP/101-000002fb", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)T)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:21] ExecIf("PJSIP/101-000002fb", "0?Set(DIAL_TRUNK_OPTIONS=TM(confirm))") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:22] Macro("PJSIP/101-000002fb", "dialout-trunk-predial-hook,") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("PJSIP/101-000002fb", "") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:23] GotoIf("PJSIP/101-000002fb", "0?bypass,1") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:24] ExecIf("PJSIP/101-000002fb", "0?Set(CONNECTEDLINE(num,i)=12221234567)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:25] ExecIf("PJSIP/101-000002fb", "0?Set(CONNECTEDLINE(name,i)=CID:15551234567)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:26] ExecIf("PJSIP/101-000002fb", "0?Set(CONNECTEDLINE(name,i)=CID:(Hidden)15551234567)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:27] GotoIf("PJSIP/101-000002fb", "0?customtrunk") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:28] ExecIf("PJSIP/101-000002fb", "0?Set(DIAL_TRUNK_OPTIONS=)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:29] Set("PJSIP/101-000002fb", "HASH(__SIPHEADERS,Alert-Info)=unset") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@macro-dialout-trunk:30] Dial("PJSIP/101-000002fb", "PJSIP/12221234567@flowroute,300,Tb(func-apply-sipheaders^s^1,(1))U(sub-send-obroute-email^12221234567^12221234567^1^^^15551234567)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] app_stack.c: PJSIP/flowroute-000002fc Internal Gosub(func-apply-sipheaders,s,1(1)) start
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@func-apply-sipheaders:1] NoOp("PJSIP/flowroute-000002fc", "Applying SIP Headers to channel PJSIP/flowroute-000002fc") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@func-apply-sipheaders:2] Set("PJSIP/flowroute-000002fc", "TECH=PJSIP") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@func-apply-sipheaders:3] Set("PJSIP/flowroute-000002fc", "SIPHEADERKEYS=Alert-Info") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@func-apply-sipheaders:4] While("PJSIP/flowroute-000002fc", "1") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@func-apply-sipheaders:5] Set("PJSIP/flowroute-000002fc", "sipheader=unset") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@func-apply-sipheaders:6] ExecIf("PJSIP/flowroute-000002fc", "1?Set(PJSIP_HEADER(remove,Alert-Info)=)") in new stack
[2025-06-26 07:39:33] ERROR[5479] res_pjsip_header_funcs.c: No headers had been previously added to this session.
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@func-apply-sipheaders:7] ExecIf("PJSIP/flowroute-000002fc", "0?Set(sipheader=<http://127.0.0.1>;info=unset)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@func-apply-sipheaders:8] ExecIf("PJSIP/flowroute-000002fc", "0?Set(sipheader=<http://127.0.0.1>unset)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@func-apply-sipheaders:9] ExecIf("PJSIP/flowroute-000002fc", "0?Set(PJSIP_HEADER(add,Alert-Info)=unset)") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@func-apply-sipheaders:10] EndWhile("PJSIP/flowroute-000002fc", "") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@func-apply-sipheaders:4] While("PJSIP/flowroute-000002fc", "0") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] pbx.c: Executing [s@func-apply-sipheaders:11] Return("PJSIP/flowroute-000002fc", "") in new stack
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] app_stack.c: Spawn extension (from-pstn, 12221234567, 1) exited non-zero on 'PJSIP/flowroute-000002fc'
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] app_stack.c: PJSIP/flowroute-000002fc Internal Gosub(func-apply-sipheaders,s,1(1)) complete GOSUB_RETVAL=
[2025-06-26 07:39:33] VERBOSE[15691][C-000002cd] app_dial.c: Called PJSIP/12221234567@flowroute

Fixed. It was the [from-internal-custom] dialplan I was using in /etc/asterisk/extensions_custom.conf sadly. It didn’t appear to be conflicting, but low and behold, removing it resolved the issue. I’ll investigate more.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.