Hacker makes international calls through my FreePBX IVR

Hello.

The blind transfer code is #2;
Disallow transfer features for inbound callers is set to YES;
Asterisk Dial Options is set to ‘Ttr’;
Asterisk Outbound Trunk Dial Options is set to ‘T’.
“Core 13.0.72 Stable Sangoma Technologies Corporation GPLv3+ Enabled and up to date” (copy and paste from the ‘Module Admin’)

As requested, below is the full calltrace, but on macro-dial-one:47 you can see that it didn’t set the Dial to ‘trI’, and it is still dialing ‘Ttrb’.

 Executing [PSTN_NUMBER@from-trunk-sip-ISP_Provider:1] Set("SIP/ISP_Provider-000267e0", "GROUP()=OUT_1") in new stack
    -- Executing [PSTN_NUMBER@from-trunk-sip-ISP_Provider:2] Goto("SIP/ISP_Provider-000267e0", "from-trunk,PSTN_NUMBER,1") in new stack
    -- Goto (from-trunk,PSTN_NUMBER,1)
    -- Executing [PSTN_NUMBER@from-trunk:1] Set("SIP/ISP_Provider-000267e0", "__FROM_DID=PSTN_NUMBER") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:2] Set("SIP/ISP_Provider-000267e0", "CDR(no_sentido)=incoming") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:3] Gosub("SIP/ISP_Provider-000267e0", "app-blacklist-check,s,1()") in new stack
    -- Executing [s@app-blacklist-check:1] GotoIf("SIP/ISP_Provider-000267e0", "0?blacklisted") in new stack
    -- Executing [s@app-blacklist-check:2] Set("SIP/ISP_Provider-000267e0", "CALLED_BLACKLIST=1") in new stack
    -- Executing [s@app-blacklist-check:3] Return("SIP/ISP_Provider-000267e0", "") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:4] Set("SIP/ISP_Provider-000267e0", "__FROM_DID=PSTN_NUMBER") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:5] Set("SIP/ISP_Provider-000267e0", "CDR(did)=PSTN_NUMBER") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:6] ExecIf("SIP/ISP_Provider-000267e0", "1 ?Set(CALLERID(name)=INCOMING_NUMBER)") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:7] Set("SIP/ISP_Provider-000267e0", "__MOHCLASS=") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:8] Set("SIP/ISP_Provider-000267e0", "__REVERSAL_REJECT=FALSE") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:9] GotoIf("SIP/ISP_Provider-000267e0", "1?post-reverse-charge") in new stack
    -- Goto (from-trunk,PSTN_NUMBER,11)
    -- Executing [PSTN_NUMBER@from-trunk:11] NoOp("SIP/ISP_Provider-000267e0", "") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:12] Set("SIP/ISP_Provider-000267e0", "__CALLINGNAMEPRES_SV=allowed_not_screened") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:13] Set("SIP/ISP_Provider-000267e0", "__CALLINGNUMPRES_SV=allowed_not_screened") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:14] Set("SIP/ISP_Provider-000267e0", "CALLERID(name-pres)=allowed_not_screened") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:15] Set("SIP/ISP_Provider-000267e0", "CALLERID(num-pres)=allowed_not_screened") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:16] NoOp("SIP/ISP_Provider-000267e0", "CallerID Entry Point") in new stack
    -- Executing [PSTN_NUMBER@from-trunk:17] Goto("SIP/ISP_Provider-000267e0", "from-did-direct,5000,1") in new stack
    -- Goto (from-did-direct,5000,1)
    -- Executing [5000@from-did-direct:1] Set("SIP/ISP_Provider-000267e0", "__RINGTIMER=15") in new stack
    -- Executing [5000@from-did-direct:2] Macro("SIP/ISP_Provider-000267e0", "exten-vm,novm,5000,0,0,0") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("SIP/ISP_Provider-000267e0", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/ISP_Provider-000267e0", "TOUCH_MONITOR=1461328917.177915") in new stack
    -- Executing [s@macro-user-callerid:2] Set("SIP/ISP_Provider-000267e0", "AMPUSER=INCOMING_NUMBER") in new stack
    -- Executing [s@macro-user-callerid:3] GotoIf("SIP/ISP_Provider-000267e0", "0?report") in new stack
    -- Executing [s@macro-user-callerid:4] ExecIf("SIP/ISP_Provider-000267e0", "1?Set(REALCALLERIDNUM=INCOMING_NUMBER)") in new stack
    -- Executing [s@macro-user-callerid:5] Set("SIP/ISP_Provider-000267e0", "AMPUSER=") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("SIP/ISP_Provider-000267e0", "0?limit") in new stack
    -- Executing [s@macro-user-callerid:7] Set("SIP/ISP_Provider-000267e0", "AMPUSERCIDNAME=") in new stack
    -- Executing [s@macro-user-callerid:8] GotoIf("SIP/ISP_Provider-000267e0", "1?report") in new stack
    -- Goto (macro-user-callerid,s,15)
    -- Executing [s@macro-user-callerid:15] GotoIf("SIP/ISP_Provider-000267e0", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:16] ExecIf("SIP/ISP_Provider-000267e0", "1?Set(__CALLEE_ACCOUNCODE=)") in new stack
    -- Executing [s@macro-user-callerid:17] Set("SIP/ISP_Provider-000267e0", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:18] GotoIf("SIP/ISP_Provider-000267e0", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,29)
    -- Executing [s@macro-user-callerid:29] Set("SIP/ISP_Provider-000267e0", "CALLERID(number)=INCOMING_NUMBER") in new stack
    -- Executing [s@macro-user-callerid:30] Set("SIP/ISP_Provider-000267e0", "CALLERID(name)=INCOMING_NUMBER") in new stack
    -- Executing [s@macro-user-callerid:31] Set("SIP/ISP_Provider-000267e0", "CDR(cnum)=INCOMING_NUMBER") in new stack
    -- Executing [s@macro-user-callerid:32] Set("SIP/ISP_Provider-000267e0", "CDR(cnam)=INCOMING_NUMBER") in new stack
    -- Executing [s@macro-user-callerid:33] Set("SIP/ISP_Provider-000267e0", "CHANNEL(language)=pt_BR") in new stack
    -- Executing [s@macro-exten-vm:2] Set("SIP/ISP_Provider-000267e0", "RingGroupMethod=none") in new stack
    -- Executing [s@macro-exten-vm:3] Set("SIP/ISP_Provider-000267e0", "__EXTTOCALL=5000") in new stack
    -- Executing [s@macro-exten-vm:4] Set("SIP/ISP_Provider-000267e0", "__PICKUPMARK=5000") in new stack
    -- Executing [s@macro-exten-vm:5] Set("SIP/ISP_Provider-000267e0", "RT=") in new stack
    -- Executing [s@macro-exten-vm:6] ExecIf("SIP/ISP_Provider-000267e0", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack
    -- Executing [s@macro-exten-vm:7] ExecIf("SIP/ISP_Provider-000267e0", "0?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:8] Gosub("SIP/ISP_Provider-000267e0", "sub-record-check,s,1(exten,5000,dontcare)") in new stack
    -- Executing [s@sub-record-check:1] GotoIf("SIP/ISP_Provider-000267e0", "0?initialized") in new stack
    -- Executing [s@sub-record-check:2] Set("SIP/ISP_Provider-000267e0", "__REC_STATUS=INITIALIZED") in new stack
    -- Executing [s@sub-record-check:3] Set("SIP/ISP_Provider-000267e0", "NOW=1461328917") in new stack
    -- Executing [s@sub-record-check:4] Set("SIP/ISP_Provider-000267e0", "__DAY=22") in new stack
    -- Executing [s@sub-record-check:5] Set("SIP/ISP_Provider-000267e0", "__MONTH=04") in new stack
    -- Executing [s@sub-record-check:6] Set("SIP/ISP_Provider-000267e0", "__YEAR=2016") in new stack
    -- Executing [s@sub-record-check:7] Set("SIP/ISP_Provider-000267e0", "__TIMESTR=20160422-094157") in new stack
    -- Executing [s@sub-record-check:8] Set("SIP/ISP_Provider-000267e0", "__FROMEXTEN=INCOMING_NUMBER") in new stack
    -- Executing [s@sub-record-check:9] Set("SIP/ISP_Provider-000267e0", "__MON_FMT=WAV") in new stack
    -- Executing [s@sub-record-check:10] NoOp("SIP/ISP_Provider-000267e0", "Recordings initialized") in new stack
    -- Executing [s@sub-record-check:11] ExecIf("SIP/ISP_Provider-000267e0", "0?Set(ARG3=dontcare)") in new stack
    -- Executing [s@sub-record-check:12] Set("SIP/ISP_Provider-000267e0", "REC_POLICY_MODE_SAVE=") in new stack
    -- Executing [s@sub-record-check:13] ExecIf("SIP/ISP_Provider-000267e0", "0?Set(REC_STATUS=NO)") in new stack
    -- Executing [s@sub-record-check:14] GotoIf("SIP/ISP_Provider-000267e0", "5?checkaction") in new stack
    -- Goto (sub-record-check,s,17)
    -- Executing [s@sub-record-check:17] GotoIf("SIP/ISP_Provider-000267e0", "1?sub-record-check,exten,1") in new stack
    -- Goto (sub-record-check,exten,1)
    -- Executing [exten@sub-record-check:1] NoOp("SIP/ISP_Provider-000267e0", "Exten Recording Check between INCOMING_NUMBER and 5000") in new stack
    -- Executing [exten@sub-record-check:2] Set("SIP/ISP_Provider-000267e0", "CALLTYPE=external") in new stack
    -- Executing [exten@sub-record-check:3] ExecIf("SIP/ISP_Provider-000267e0", "0?Set(CALLTYPE=)") in new stack
    -- Executing [exten@sub-record-check:4] Set("SIP/ISP_Provider-000267e0", "CALLEE=dontcare") in new stack
    -- Executing [exten@sub-record-check:5] ExecIf("SIP/ISP_Provider-000267e0", "0?Set(CALLEE=dontcare)") in new stack
    -- Executing [exten@sub-record-check:6] GotoIf("SIP/ISP_Provider-000267e0", "1?callee") in new stack
    -- Goto (sub-record-check,exten,11)
    -- Executing [exten@sub-record-check:11] Gosub("SIP/ISP_Provider-000267e0", "recordcheck,1(dontcare,external,5000)") in new stack
    -- Executing [recordcheck@sub-record-check:1] NoOp("SIP/ISP_Provider-000267e0", "Starting recording check against dontcare") in new stack
    -- Executing [recordcheck@sub-record-check:2] Goto("SIP/ISP_Provider-000267e0", "dontcare") in new stack
    -- Goto (sub-record-check,recordcheck,3)
    -- Executing [recordcheck@sub-record-check:3] Return("SIP/ISP_Provider-000267e0", "") in new stack
    -- Executing [exten@sub-record-check:12] Return("SIP/ISP_Provider-000267e0", "") in new stack
    -- Executing [s@macro-exten-vm:9] Macro("SIP/ISP_Provider-000267e0", "dial-one,,Ttr,5000") in new stack
    -- Executing [s@macro-dial-one:1] Set("SIP/ISP_Provider-000267e0", "DEXTEN=5000") in new stack
    -- Executing [s@macro-dial-one:2] Set("SIP/ISP_Provider-000267e0", "DIALSTATUS_CW=") in new stack
    -- Executing [s@macro-dial-one:3] GosubIf("SIP/ISP_Provider-000267e0", "0?screen,1()") in new stack
    -- Executing [s@macro-dial-one:4] GosubIf("SIP/ISP_Provider-000267e0", "0?cf,1()") in new stack
    -- Executing [s@macro-dial-one:5] GotoIf("SIP/ISP_Provider-000267e0", "1?skip1") in new stack
    -- Goto (macro-dial-one,s,8)
    -- Executing [s@macro-dial-one:8] GotoIf("SIP/ISP_Provider-000267e0", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:9] GotoIf("SIP/ISP_Provider-000267e0", "0?continue") in new stack
    -- Executing [s@macro-dial-one:10] Set("SIP/ISP_Provider-000267e0", "EXTHASCW=ENABLED") in new stack
    -- Executing [s@macro-dial-one:11] GotoIf("SIP/ISP_Provider-000267e0", "0?next1:cwinusebusy") in new stack
    -- Goto (macro-dial-one,s,23)
    -- Executing [s@macro-dial-one:23] GotoIf("SIP/ISP_Provider-000267e0", "0?next3:continue") in new stack
    -- Goto (macro-dial-one,s,25)
    -- Executing [s@macro-dial-one:25] GotoIf("SIP/ISP_Provider-000267e0", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:26] GosubIf("SIP/ISP_Provider-000267e0", "1?dstring,1():dlocal,1()") in new stack
    -- Executing [dstring@macro-dial-one:1] Set("SIP/ISP_Provider-000267e0", "DSTRING=") in new stack
    -- Executing [dstring@macro-dial-one:2] Set("SIP/ISP_Provider-000267e0", "DEVICES=5000") in new stack
    -- Executing [dstring@macro-dial-one:3] ExecIf("SIP/ISP_Provider-000267e0", "0?Return()") in new stack
    -- Executing [dstring@macro-dial-one:4] ExecIf("SIP/ISP_Provider-000267e0", "0?Set(DEVICES=000)") in new stack
    -- Executing [dstring@macro-dial-one:5] Set("SIP/ISP_Provider-000267e0", "LOOPCNT=1") in new stack
    -- Executing [dstring@macro-dial-one:6] Set("SIP/ISP_Provider-000267e0", "ITER=1") in new stack
    -- Executing [dstring@macro-dial-one:7] Set("SIP/ISP_Provider-000267e0", "THISDIAL=SIP/5000") in new stack
    -- Executing [dstring@macro-dial-one:8] GosubIf("SIP/ISP_Provider-000267e0", "1?zap2dahdi,1()") in new stack
    -- Executing [zap2dahdi@macro-dial-one:1] ExecIf("SIP/ISP_Provider-000267e0", "0?Return()") in new stack
    -- Executing [zap2dahdi@macro-dial-one:2] Set("SIP/ISP_Provider-000267e0", "NEWDIAL=") in new stack
    -- Executing [zap2dahdi@macro-dial-one:3] Set("SIP/ISP_Provider-000267e0", "LOOPCNT2=1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:4] Set("SIP/ISP_Provider-000267e0", "ITER2=1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:5] Set("SIP/ISP_Provider-000267e0", "THISPART2=SIP/5000") in new stack
    -- Executing [zap2dahdi@macro-dial-one:6] ExecIf("SIP/ISP_Provider-000267e0", "0?Set(THISPART2=DAHDI/5000)") in new stack
    -- Executing [zap2dahdi@macro-dial-one:7] Set("SIP/ISP_Provider-000267e0", "NEWDIAL=SIP/5000&") in new stack
    -- Executing [zap2dahdi@macro-dial-one:8] Set("SIP/ISP_Provider-000267e0", "ITER2=2") in new stack
    -- Executing [zap2dahdi@macro-dial-one:9] GotoIf("SIP/ISP_Provider-000267e0", "0?begin2") in new stack
    -- Executing [zap2dahdi@macro-dial-one:10] Set("SIP/ISP_Provider-000267e0", "THISDIAL=SIP/5000") in new stack
    -- Executing [zap2dahdi@macro-dial-one:11] Return("SIP/ISP_Provider-000267e0", "") in new stack
    -- Executing [dstring@macro-dial-one:9] GotoIf("SIP/ISP_Provider-000267e0", "1?docheck") in new stack
    -- Goto (macro-dial-one,dstring,12)
    -- Executing [dstring@macro-dial-one:12] GotoIf("SIP/ISP_Provider-000267e0", "0?skipset") in new stack
    -- Executing [dstring@macro-dial-one:13] Set("SIP/ISP_Provider-000267e0", "DSTRING=SIP/5000&") in new stack
    -- Executing [dstring@macro-dial-one:14] Set("SIP/ISP_Provider-000267e0", "ITER=2") in new stack
    -- Executing [dstring@macro-dial-one:15] GotoIf("SIP/ISP_Provider-000267e0", "0?begin") in new stack
    -- Executing [dstring@macro-dial-one:16] ExecIf("SIP/ISP_Provider-000267e0", "0?Return()") in new stack
    -- Executing [dstring@macro-dial-one:17] Set("SIP/ISP_Provider-000267e0", "DSTRING=SIP/5000") in new stack
    -- Executing [dstring@macro-dial-one:18] Return("SIP/ISP_Provider-000267e0", "") in new stack
    -- Executing [s@macro-dial-one:27] GotoIf("SIP/ISP_Provider-000267e0", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:28] GotoIf("SIP/ISP_Provider-000267e0", "0?skiptrace") in new stack
    -- Executing [s@macro-dial-one:29] GosubIf("SIP/ISP_Provider-000267e0", "1?ctset,1():ctclear,1()") in new stack
    -- Executing [ctset@macro-dial-one:1] Set("SIP/ISP_Provider-000267e0", "DB(CALLTRACE/5000)=INCOMING_NUMBER") in new stack
    -- Executing [ctset@macro-dial-one:2] Return("SIP/ISP_Provider-000267e0", "") in new stack
    -- Executing [s@macro-dial-one:30] Set("SIP/ISP_Provider-000267e0", "D_OPTIONS=Ttr") in new stack
    -- Executing [s@macro-dial-one:31] NoOp("SIP/ISP_Provider-000267e0", "Blind Transfer: , Attended Transfer: , User: , Alert Info: ") in new stack
    -- Executing [s@macro-dial-one:32] ExecIf("SIP/ISP_Provider-000267e0", "0?Set(ALERT_INFO=)") in new stack
    -- Executing [s@macro-dial-one:33] ExecIf("SIP/ISP_Provider-000267e0", "0?Set(ALERT_INFO=)") in new stack
    -- Executing [s@macro-dial-one:34] ExecIf("SIP/ISP_Provider-000267e0", "0?Set(ALERT_INFO=)") in new stack
    -- Executing [s@macro-dial-one:35] GosubIf("SIP/ISP_Provider-000267e0", "0?func-set-sipheader,s,1(Alert-Info,)") in new stack
    -- Executing [s@macro-dial-one:36] ExecIf("SIP/ISP_Provider-000267e0", "0?Set(CHANNEL(musicclass)=)") in new stack
    -- Executing [s@macro-dial-one:37] GosubIf("SIP/ISP_Provider-000267e0", "0?qwait,1()") in new stack
    -- Executing [s@macro-dial-one:38] Set("SIP/ISP_Provider-000267e0", "__CWIGNORE=") in new stack
    -- Executing [s@macro-dial-one:39] Set("SIP/ISP_Provider-000267e0", "__KEEPCID=TRUE") in new stack
    -- Executing [s@macro-dial-one:40] GotoIf("SIP/ISP_Provider-000267e0", "0?usegoto,1") in new stack
    -- Executing [s@macro-dial-one:41] GotoIf("SIP/ISP_Provider-000267e0", "1?godial") in new stack
    -- Goto (macro-dial-one,s,46)
    -- Executing [s@macro-dial-one:46] Macro("SIP/ISP_Provider-000267e0", "dialout-one-predial-hook,") in new stack
    -- Executing [s@macro-dialout-one-predial-hook:1] MacroExit("SIP/ISP_Provider-000267e0", "") in new stack
    -- Executing [s@macro-dial-one:47] ExecIf("SIP/ISP_Provider-000267e0", "0?Set(D_OPTIONS=trI)") in new stack
    -- Executing [s@macro-dial-one:48] Dial("SIP/ISP_Provider-000267e0", "SIP/5000,,Ttrb(func-apply-sipheaders^s^1)") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- SIP/5000-000267e1 Internal Gosub(func-apply-sipheaders,s,1) start
    -- Executing [s@func-apply-sipheaders:1] NoOp("SIP/5000-000267e1", "Applying SIP Headers to channel") in new stack
    -- Executing [s@func-apply-sipheaders:2] Set("SIP/5000-000267e1", "SIPHEADERKEYS=") in new stack
    -- Executing [s@func-apply-sipheaders:3] While("SIP/5000-000267e1", "0") in new stack
    -- Jumping to priority 7
    -- Executing [s@func-apply-sipheaders:8] Return("SIP/5000-000267e1", "") in new stack
  == Spawn extension (from-internal, 5000, 1) exited non-zero on 'SIP/5000-000267e1'
    -- SIP/5000-000267e1 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
    -- Called SIP/5000
    -- SIP/5000-000267e1 is ringing
    -- SIP/5000-000267e1 answered SIP/ISP_Provider-000267e0
    -- Channel SIP/5000-000267e1 joined 'simple_bridge' basic-bridge <2f39e54b-eec6-4030-9124-b44860d2a281>
    -- Channel SIP/ISP_Provider-000267e0 joined 'simple_bridge' basic-bridge <2f39e54b-eec6-4030-9124-b44860d2a281>
    -- Channel SIP/5000-000267e1 left 'simple_bridge' basic-bridge <2f39e54b-eec6-4030-9124-b44860d2a281>
    -- Channel SIP/ISP_Provider-000267e0 left 'simple_bridge' basic-bridge <2f39e54b-eec6-4030-9124-b44860d2a281>
  == Spawn extension (macro-dial-one, s, 48) exited non-zero on 'SIP/ISP_Provider-000267e0' in macro 'dial-one'
  == Spawn extension (macro-exten-vm, s, 9) exited non-zero on 'SIP/ISP_Provider-000267e0' in macro 'exten-vm'
  == Spawn extension (from-did-direct, 5000, 2) exited non-zero on 'SIP/ISP_Provider-000267e0'
    -- Executing [h@from-did-direct:1] Macro("SIP/ISP_Provider-000267e0", "hangupcall,") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/ISP_Provider-000267e0", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,3)
    -- Executing [s@macro-hangupcall:3] ExecIf("SIP/ISP_Provider-000267e0", "0?Set(CDR(recordingfile)=)") in new stack
    -- Executing [s@macro-hangupcall:4] Hangup("SIP/ISP_Provider-000267e0", "") in new stack
  == Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/ISP_Provider-000267e0' in macro 'hangupcall'
  == Spawn extension (from-did-direct, h, 1) exited non-zero on 'SIP/ISP_Provider-000267e0'

I would really appreciate if you can help me with this one.

Thank you!

You have custom code that is overwriting a critical part of the FreePBX dialplan. In your call trace, you should have a line like this:

-- Executing [<pstn_number>@from-pstn:1] Set("SIP/<trunk name>-00000018", "__DIRECTION=INBOUND") in new stack

It is missing, instead we see this line:

-- Executing [PSTN_NUMBER@from-trunk:2] Set("SIP/ISP_Provider-000267e0", "CDR(no_sentido)=incoming") in new stack

edit - users who have added their own code using context [from-pstn-custom] will probably lose the FreePBX generated line that sets the DIRECTION channel variable.

Thanks a lot.

Solved after ‘fixing’ the custom code.

1 Like

As promised Core v12.0.43 now has this patch as well.

1 Like

Bloody nora what a bomb shell!!! Just tried this on my up to date FreePBX 12.0.76.2 system and it transfers, apparently by design, to my trunk.

If this was an intended feature COULD you please tell me of any other features with such dangerous consequences???

Thanks for that important fix, but it doesn’t address a scenario like ours.
With your patch, transfer is now disallowed on calls coming in on inbound routes, but we don’t have any inbound routes.

Our inbound trunks are actually terminated on our legacy PBX and calls to Asterisk extensions are coming in on normal SIP and H.323 trunks. These trunks connect our FreePBX box to our legacy PBX. So we have no inbound routes on Asterisk.

How do we disallow transfer features for inbound callers on regular trunks with no inbound routes?

Unfortunately there is no way to do this in the GUI without custom code. Sorry. You can of course just remove the dial options in Advanced Settings. It’s deeply detailed in this thread how to do that.

As well as all the Tt stuff, a lot of potential fraud could be prevented by setting up dial patterns on the outbound routes, there is even a NANPA-based wizard available to make the job easier for some. How often is worldwide calling capability needed in most situations?. Or are people still using 9|. to dial out?

The Class of Service module, and the still-relevant Custom Contexts can provide even finer levels of control if required.

3 Likes

Another special case where the patch has no effect when call goes to an extension in another FreePBX through intracompany route:
The blind transfer code is *2,
Disallow transfer features for inbound callers is set to YES,
Asterisk Dial Options is set to ‘Ttr’,
Asterisk Outbound Trunk Dial Options is set to ‘Tt’,
FreePBX 13.0.163

VERBOSE[3442][C-00001112] netsock2.c: Using SIP RTP TOS bits 184
VERBOSE[3442][C-00001112] netsock2.c: Using SIP RTP CoS mark 5
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk-sip-ISP_Provider:1] Set(“SIP/ISP_Provider-00002a7a”, “GROUP()=OUT_11”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk-sip-ISP_Provider:2] Goto(“SIP/ISP_Provider-00002a7a”, “from-trunk,PSTN_NUMBER,1”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (from-trunk,PSTN_NUMBER,1)
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:1] Set(“SIP/ISP_Provider-00002a7a”, “__DIRECTION=INBOUND”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:2] Gosub(“SIP/ISP_Provider-00002a7a”, “sub-record-check,s,1(in,PSTN_NUMBER,dontcare)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:1] GotoIf(“SIP/ISP_Provider-00002a7a”, “0?initialized”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:2] Set(“SIP/ISP_Provider-00002a7a”, “__REC_STATUS=INITIALIZED”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:3] Set(“SIP/ISP_Provider-00002a7a”, “NOW=1470618876”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:4] Set(“SIP/ISP_Provider-00002a7a”, “__DAY=08”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:5] Set(“SIP/ISP_Provider-00002a7a”, “__MONTH=08”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:6] Set(“SIP/ISP_Provider-00002a7a”, “__YEAR=2016”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:7] Set(“SIP/ISP_Provider-00002a7a”, “__TIMESTR=20160808-111436”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:8] Set(“SIP/ISP_Provider-00002a7a”, “__FROMEXTEN=unknown”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:9] Set(“SIP/ISP_Provider-00002a7a”, “__MON_FMT=wav”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:10] NoOp(“SIP/ISP_Provider-00002a7a”, “Recordings initialized”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:11] ExecIf(“SIP/ISP_Provider-00002a7a”, “0?Set(ARG3=dontcare)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:12] Set(“SIP/ISP_Provider-00002a7a”, “REC_POLICY_MODE_SAVE=”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:13] ExecIf(“SIP/ISP_Provider-00002a7a”, “0?Set(REC_STATUS=NO)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:14] GotoIf(“SIP/ISP_Provider-00002a7a”, “2?checkaction”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (sub-record-check,s,17)
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:17] GotoIf(“SIP/ISP_Provider-00002a7a”, “1?sub-record-check,in,1”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (sub-record-check,in,1)
VERBOSE[14692][C-00001112] pbx.c: Executing [in@sub-record-check:1] NoOp(“SIP/ISP_Provider-00002a7a”, “Inbound Recording Check to PSTN_NUMBER”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [in@sub-record-check:2] Set(“SIP/ISP_Provider-00002a7a”, “FROMEXTEN=unknown”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [in@sub-record-check:3] ExecIf(“SIP/ISP_Provider-00002a7a”, “9?Set(FROMEXTEN=anonymous)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [in@sub-record-check:4] Gosub(“SIP/ISP_Provider-00002a7a”, “recordcheck,1(dontcare,in,PSTN_NUMBER)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [recordcheck@sub-record-check:1] NoOp(“SIP/ISP_Provider-00002a7a”, “Starting recording check against dontcare”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [recordcheck@sub-record-check:2] Goto(“SIP/ISP_Provider-00002a7a”, “dontcare”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (sub-record-check,recordcheck,3)
VERBOSE[14692][C-00001112] pbx.c: Executing [recordcheck@sub-record-check:3] Return(“SIP/ISP_Provider-00002a7a”, “”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [in@sub-record-check:5] Return(“SIP/ISP_Provider-00002a7a”, “”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:3] Gosub(“SIP/ISP_Provider-00002a7a”, “app-blacklist-check,s,1()”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@app-blacklist-check:1] GotoIf(“SIP/ISP_Provider-00002a7a”, “0?blacklisted”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@app-blacklist-check:2] Set(“SIP/ISP_Provider-00002a7a”, “CALLED_BLACKLIST=1”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@app-blacklist-check:3] Return(“SIP/ISP_Provider-00002a7a”, “”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:4] Set(“SIP/ISP_Provider-00002a7a”, “__FROM_DID=PSTN_NUMBER”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:5] Set(“SIP/ISP_Provider-00002a7a”, “CDR(did)=PSTN_NUMBER”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:6] ExecIf(“SIP/ISP_Provider-00002a7a”, “0 ?Set(CALLERID(name)=anonymous)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:7] Set(“SIP/ISP_Provider-00002a7a”, “__MOHCLASS=”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:8] Set(“SIP/ISP_Provider-00002a7a”, “__REVERSAL_REJECT=FALSE”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:9] GotoIf(“SIP/ISP_Provider-00002a7a”, “1?post-reverse-charge”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (from-trunk,PSTN_NUMBER,11)
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:11] NoOp(“SIP/ISP_Provider-00002a7a”, “”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:12] Set(“SIP/ISP_Provider-00002a7a”, “__CALLINGNAMEPRES_SV=allowed_not_screened”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:13] Set(“SIP/ISP_Provider-00002a7a”, “__CALLINGNUMPRES_SV=allowed_not_screened”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:14] Set(“SIP/ISP_Provider-00002a7a”, “CALLERID(name-pres)=allowed_not_screened”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:15] Set(“SIP/ISP_Provider-00002a7a”, “CALLERID(num-pres)=allowed_not_screened”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:16] NoOp(“SIP/ISP_Provider-00002a7a”, “CallerID Entry Point”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [PSTN_NUMBER@from-trunk:17] Goto(“SIP/ISP_Provider-00002a7a”, “ext-miscdests,35,1”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (ext-miscdests,35,1)
VERBOSE[14692][C-00001112] pbx.c: Executing [35@ext-miscdests:1] NoOp(“SIP/ISP_Provider-00002a7a”, “MiscDest: stani1889”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [35@ext-miscdests:2] Goto(“SIP/ISP_Provider-00002a7a”, “from-internal,1889,1”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (from-internal,1889,1)
VERBOSE[14692][C-00001112] pbx.c: Executing [1889@from-internal:1] Macro(“SIP/ISP_Provider-00002a7a”, “user-callerid,LIMIT,EXTERNAL,”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:1] Set(“SIP/ISP_Provider-00002a7a”, “TOUCH_MONITOR=1470618876.511958”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:2] Set(“SIP/ISP_Provider-00002a7a”, “AMPUSER=anonymous”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:3] GotoIf(“SIP/ISP_Provider-00002a7a”, “0?report”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:4] ExecIf(“SIP/ISP_Provider-00002a7a”, “1?Set(REALCALLERIDNUM=anonymous)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:5] Set(“SIP/ISP_Provider-00002a7a”, “AMPUSER=”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:6] GotoIf(“SIP/ISP_Provider-00002a7a”, “0?limit”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:7] Set(“SIP/ISP_Provider-00002a7a”, “AMPUSERCIDNAME=”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:8] GotoIf(“SIP/ISP_Provider-00002a7a”, “1?report”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (macro-user-callerid,s,15)
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:15] GotoIf(“SIP/ISP_Provider-00002a7a”, “1?continue”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (macro-user-callerid,s,29)
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:29] Set(“SIP/ISP_Provider-00002a7a”, “CALLERID(number)=anonymous”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:30] Set(“SIP/ISP_Provider-00002a7a”, “CALLERID(name)=Anonymous”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:31] Set(“SIP/ISP_Provider-00002a7a”, “CDR(cnum)=anonymous”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:32] Set(“SIP/ISP_Provider-00002a7a”, “CDR(cnam)=Anonymous”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-user-callerid:33] Set(“SIP/ISP_Provider-00002a7a”, “CHANNEL(language)=en”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [1889@from-internal:2] Gosub(“SIP/ISP_Provider-00002a7a”, “sub-record-check,s,1(out,1889,dontcare)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:1] GotoIf(“SIP/ISP_Provider-00002a7a”, “9?initialized”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (sub-record-check,s,10)
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:10] NoOp(“SIP/ISP_Provider-00002a7a”, “Recordings initialized”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:11] ExecIf(“SIP/ISP_Provider-00002a7a”, “0?Set(ARG3=dontcare)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:12] Set(“SIP/ISP_Provider-00002a7a”, “REC_POLICY_MODE_SAVE=”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:13] ExecIf(“SIP/ISP_Provider-00002a7a”, “0?Set(REC_STATUS=NO)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:14] GotoIf(“SIP/ISP_Provider-00002a7a”, “3?checkaction”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (sub-record-check,s,17)
VERBOSE[14692][C-00001112] pbx.c: Executing [s@sub-record-check:17] GotoIf(“SIP/ISP_Provider-00002a7a”, “1?sub-record-check,out,1”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (sub-record-check,out,1)
VERBOSE[14692][C-00001112] pbx.c: Executing [out@sub-record-check:1] NoOp(“SIP/ISP_Provider-00002a7a”, “Outbound Recording Check from anonymous to 1889”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [out@sub-record-check:2] Set(“SIP/ISP_Provider-00002a7a”, “RECMODE=”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [out@sub-record-check:3] ExecIf(“SIP/ISP_Provider-00002a7a”, “1?Goto(routewins)”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (sub-record-check,out,7)
VERBOSE[14692][C-00001112] pbx.c: Executing [out@sub-record-check:7] Gosub(“SIP/ISP_Provider-00002a7a”, “recordcheck,1(dontcare,out,1889)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [recordcheck@sub-record-check:1] NoOp(“SIP/ISP_Provider-00002a7a”, “Starting recording check against dontcare”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [recordcheck@sub-record-check:2] Goto(“SIP/ISP_Provider-00002a7a”, “dontcare”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (sub-record-check,recordcheck,3)
VERBOSE[14692][C-00001112] pbx.c: Executing [recordcheck@sub-record-check:3] Return(“SIP/ISP_Provider-00002a7a”, “”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [out@sub-record-check:8] Return(“SIP/ISP_Provider-00002a7a”, “”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [1889@from-internal:3] ExecIf(“SIP/ISP_Provider-00002a7a”, “0 ?Set(CDR(accountcode)=)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [1889@from-internal:4] Set(“SIP/ISP_Provider-00002a7a”, “INTRACOMPANYROUTE=YES”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [1889@from-internal:5] Set(“SIP/ISP_Provider-00002a7a”, “MOHCLASS=default”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [1889@from-internal:6] Set(“SIP/ISP_Provider-00002a7a”, “_NODEST=”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [1889@from-internal:7] Macro(“SIP/ISP_Provider-00002a7a”, “dialout-trunk,2,1889,off”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:1] Set(“SIP/ISP_Provider-00002a7a”, “DIAL_TRUNK=2”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:2] GosubIf(“SIP/ISP_Provider-00002a7a”, “0?sub-pincheck,s,1()”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:3] GotoIf(“SIP/ISP_Provider-00002a7a”, “0?disabletrunk,1”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:4] Set(“SIP/ISP_Provider-00002a7a”, “DIAL_NUMBER=1889”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:5] Set(“SIP/ISP_Provider-00002a7a”, “DIAL_TRUNK_OPTIONS=tTr”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:6] Set(“SIP/ISP_Provider-00002a7a”, “OUTBOUND_GROUP=OUT_2”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:7] GotoIf(“SIP/ISP_Provider-00002a7a”, “1?nomax”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (macro-dialout-trunk,s,9)
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:9] GotoIf(“SIP/ISP_Provider-00002a7a”, “1?skipoutcid”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (macro-dialout-trunk,s,12)
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:12] GosubIf(“SIP/ISP_Provider-00002a7a”, “0?sub-flp-2,s,1()”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:13] Set(“SIP/ISP_Provider-00002a7a”, “OUTNUM=1889”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:14] Set(“SIP/ISP_Provider-00002a7a”, “custom=IAX2/Another_FreePBX”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:15] ExecIf(“SIP/ISP_Provider-00002a7a”, “0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)tTr)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:16] ExecIf(“SIP/ISP_Provider-00002a7a”, “0?Set(DIAL_TRUNK_OPTIONS=tTrM(confirm))”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:17] Macro(“SIP/ISP_Provider-00002a7a”, “dialout-trunk-predial-hook,”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit(“SIP/ISP_Provider-00002a7a”, “”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:18] GotoIf(“SIP/ISP_Provider-00002a7a”, “0?bypass,1”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:19] ExecIf(“SIP/ISP_Provider-00002a7a”, “0?Set(CONNECTEDLINE(num,i)=1889)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:20] ExecIf(“SIP/ISP_Provider-00002a7a”, “0?Set(CONNECTEDLINE(name,i)=CID:anonymous)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:21] ExecIf(“SIP/ISP_Provider-00002a7a”, “0?Set(CONNECTEDLINE(name,i)=CID:(Hidden)anonymous)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:22] GotoIf(“SIP/ISP_Provider-00002a7a”, “0?customtrunk”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-dialout-trunk:23] Dial(“SIP/ISP_Provider-00002a7a”, “IAX2/Another_FreePBX/1889,300,tTr”) in new stack
VERBOSE[14692][C-00001112] app_dial.c: Called IAX2/Another_FreePBX/1889
VERBOSE[3423][C-00001112] chan_iax2.c: Call accepted by 192.168.0.183:4569 (format g729)
VERBOSE[3423][C-00001112] chan_iax2.c: Format for call is (g729)
VERBOSE[14692][C-00001112] app_dial.c: IAX2/Another_FreePBX-9460 is ringing
VERBOSE[14692][C-00001112] app_dial.c: IAX2/Another_FreePBX-9460 answered SIP/ISP_Provider-00002a7a
VERBOSE[14730][C-00001112] bridge_channel.c: Channel IAX2/Another_FreePBX-9460 joined ‘simple_bridge’ basic-bridge
VERBOSE[14692][C-00001112] bridge_channel.c: Channel SIP/ISP_Provider-00002a7a joined ‘simple_bridge’ basic-bridge
DTMF[14692][C-00001112] channel.c: DTMF begin ‘’ received on SIP/ISP_Provider-00002a7a
DTMF[14692][C-00001112] channel.c: DTMF begin passthrough '
’ on SIP/ISP_Provider-00002a7a
DTMF[14692][C-00001112] channel.c: DTMF end ‘’ received on SIP/ISP_Provider-00002a7a, duration 226 ms
DTMF[14692][C-00001112] channel.c: DTMF end accepted with begin '
’ on SIP/ISP_Provider-00002a7a
DTMF[14692][C-00001112] channel.c: DTMF end passthrough ‘*’ on SIP/ISP_Provider-00002a7a
DTMF[14692][C-00001112] channel.c: DTMF begin ‘2’ received on SIP/ISP_Provider-00002a7a
DTMF[14692][C-00001112] channel.c: DTMF begin passthrough ‘2’ on SIP/ISP_Provider-00002a7a
DTMF[14692][C-00001112] channel.c: DTMF end ‘2’ received on SIP/ISP_Provider-00002a7a, duration 297 ms
DTMF[14692][C-00001112] channel.c: DTMF end accepted with begin ‘2’ on SIP/ISP_Provider-00002a7a
DTMF[14692][C-00001112] channel.c: DTMF end passthrough ‘2’ on SIP/ISP_Provider-00002a7a
VERBOSE[14730][C-00001112] res_musiconhold.c: Started music on hold, class ‘default’, on channel ‘IAX2/Another_FreePBX-9460’
VERBOSE[14692][C-00001112] file.c: Playing ‘pbx-transfer.ulaw’ (language ‘en’)
VERBOSE[14730][C-00001112] res_musiconhold.c: Stopped music on hold on IAX2/Another_FreePBX-9460
VERBOSE[14730][C-00001112] bridge_channel.c: Channel IAX2/Another_FreePBX-9460 left ‘simple_bridge’ basic-bridge
VERBOSE[14730][C-00001112] chan_iax2.c: Hungup ‘IAX2/Another_FreePBX-9460’
VERBOSE[14692][C-00001112] file.c: Playing ‘pbx-invalid.ulaw’ (language ‘en’)
VERBOSE[14692][C-00001112] bridge_channel.c: Channel SIP/ISP_Provider-00002a7a left ‘simple_bridge’ basic-bridge
VERBOSE[14692][C-00001112] app_macro.c: Spawn extension (macro-dialout-trunk, s, 23) exited non-zero on ‘SIP/ISP_Provider-00002a7a’ in macro ‘dialout-trunk’
VERBOSE[14692][C-00001112] pbx.c: Spawn extension (from-internal, 1889, 7) exited non-zero on ‘SIP/ISP_Provider-00002a7a’
VERBOSE[14692][C-00001112] pbx.c: Executing [h@from-internal:1] Macro(“SIP/ISP_Provider-00002a7a”, “hangupcall”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-hangupcall:1] GotoIf(“SIP/ISP_Provider-00002a7a”, “1?theend”) in new stack
VERBOSE[14692][C-00001112] pbx_builtins.c: Goto (macro-hangupcall,s,3)
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-hangupcall:3] ExecIf(“SIP/ISP_Provider-00002a7a”, “0?Set(CDR(recordingfile)=)”) in new stack
VERBOSE[14692][C-00001112] pbx.c: Executing [s@macro-hangupcall:4] Hangup(“SIP/ISP_Provider-00002a7a”, “”) in new stack
VERBOSE[14692][C-00001112] app_macro.c: Spawn extension (macro-hangupcall, s, 4) exited non-zero on ‘SIP/ISP_Provider-00002a7a’ in macro ‘hangupcall’
VERBOSE[14692][C-00001112] pbx.c: Spawn extension (from-internal, h, 1) exited non-zero on ‘SIP/ISP_Provider-00002a7a’