FreePBX rejects calls starting with +7

Hello everybody!

We confront with next problem during freepbx configuration:

Having the following dial patterns, we can dial russian numbers without “+” sing (for example 73433020102 or 83433020102), but we can’t dial them in the following format: +73433020102.

Dial patterns:

If we trying dial to +73433020102, we get this error message if run “asterisk -rvvvvv”:

[2019-03-04 18:30:13] NOTICE[2657]: res_pjsip_session.c:2140 new_invite: Call from ‘101’ (UDP:192.168.102.101:5060) to exten
sion ‘+73433020102’ rejected because extension not found in context ‘from-internal’.

Who can give some answer how we can configure freepbx from web interface that we can dialing to numbers with “+” ?

FreePBX 14.0.5.25

Thanks!

Setup an outbound route that includes the “+” in the dialed number, and then delete it if that’s what your provider wants you to do. You should be able to do this in another entry in your existing outbound route.

Unfortunately, this solution does not work. FreePBX does not transmit such calls to the trunk.

asterisk -rvvvvv output:

== Setting global variable ‘SIPDOMAIN’ to ‘192.168.133.133’
== Using SIP RTP Audio TOS bits 184
== Using SIP RTP Audio TOS bits 184 in TCLASS field.
== Using SIP RTP Audio CoS mark 5
– Executing [+73433020102@from-internal:1] Macro(“PJSIP/1817-0000005e”, “user-callerid,LIMIT,EXTERNAL,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“PJSIP/1817-0000005e”, “TOUCH_MONITOR=1551784183.94”) in new stack
– Executing [s@macro-user-callerid:2] Set(“PJSIP/1817-0000005e”, “AMPUSER=1817”) in new stack
– Executing [s@macro-user-callerid:3] GotoIf(“PJSIP/1817-0000005e”, “0?report”) in new stack
– Executing [s@macro-user-callerid:4] ExecIf(“PJSIP/1817-0000005e”, “1?Set(REALCALLERIDNUM=1817)”) in new stack
– Executing [s@macro-user-callerid:5] Set(“PJSIP/1817-0000005e”, “AMPUSER=1817”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“PJSIP/1817-0000005e”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:7] Set(“PJSIP/1817-0000005e”, “AMPUSERCIDNAME=operator1”) in new stack
– Executing [s@macro-user-callerid:8] ExecIf(“PJSIP/1817-0000005e”, “0?Set(__CIDMASQUERADING=TRUE)”) in new stack
– Executing [s@macro-user-callerid:9] GotoIf(“PJSIP/1817-0000005e”, “0?report”) in new stack
– Executing [s@macro-user-callerid:10] Set(“PJSIP/1817-0000005e”, “AMPUSERCID=1817”) in new stack
– Executing [s@macro-user-callerid:11] Set(“PJSIP/1817-0000005e”, “__DIAL_OPTIONS=HhTtr”) in new stack
– Executing [s@macro-user-callerid:12] Set(“PJSIP/1817-0000005e”, “CALLERID(all)=“operator1” <1817>”) in new stack
– Executing [s@macro-user-callerid:13] GotoIf(“PJSIP/1817-0000005e”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:14] ExecIf(“PJSIP/1817-0000005e”, “1?Set(GROUP(concurrency_limit)=1817)”) in new stack
– Executing [s@macro-user-callerid:15] ExecIf(“PJSIP/1817-0000005e”, “1?Set(CHANNEL(language)=ru)”) in new stack
– Executing [s@macro-user-callerid:16] NoOp(“PJSIP/1817-0000005e”, “Macro Depth is 1”) in new stack
– Executing [s@macro-user-callerid:17] GotoIf(“PJSIP/1817-0000005e”, “1?report2:macroerror”) in new stack
– Goto (macro-user-callerid,s,18)
– Executing [s@macro-user-callerid:18] GotoIf(“PJSIP/1817-0000005e”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,37)
– Executing [s@macro-user-callerid:37] Set(“PJSIP/1817-0000005e”, “CALLERID(number)=1817”) in new stack
– Executing [s@macro-user-callerid:38] Set(“PJSIP/1817-0000005e”, “CALLERID(name)=operator1”) in new stack
– Executing [s@macro-user-callerid:39] GotoIf(“PJSIP/1817-0000005e”, “0?cnum”) in new stack
– Executing [s@macro-user-callerid:40] Set(“PJSIP/1817-0000005e”, “CDR(cnam)=operator1”) in new stack
– Executing [s@macro-user-callerid:41] Set(“PJSIP/1817-0000005e”, “CDR(cnum)=1817”) in new stack
– Executing [s@macro-user-callerid:42] Set(“PJSIP/1817-0000005e”, “CHANNEL(language)=ru”) in new stack
– Executing [+73433020102@from-internal:2] Gosub(“PJSIP/1817-0000005e”, “sub-record-check,s,1(out,+73433020102,force)”) in new stack
– Executing [s@sub-record-check:1] GotoIf(“PJSIP/1817-0000005e”, “0?initialized”) in new stack
– Executing [s@sub-record-check:2] Set(“PJSIP/1817-0000005e”, “__REC_STATUS=INITIALIZED”) in new stack
– Executing [s@sub-record-check:3] Set(“PJSIP/1817-0000005e”, “NOW=1551784183”) in new stack
– Executing [s@sub-record-check:4] Set(“PJSIP/1817-0000005e”, “__DAY=05”) in new stack
– Executing [s@sub-record-check:5] Set(“PJSIP/1817-0000005e”, “__MONTH=03”) in new stack
– Executing [s@sub-record-check:6] Set(“PJSIP/1817-0000005e”, “__YEAR=2019”) in new stack
– Executing [s@sub-record-check:7] Set(“PJSIP/1817-0000005e”, “__TIMESTR=20190305-160943”) in new stack
– Executing [s@sub-record-check:8] Set(“PJSIP/1817-0000005e”, “__FROMEXTEN=1817”) in new stack
– Executing [s@sub-record-check:9] Set(“PJSIP/1817-0000005e”, “__MON_FMT=wav”) in new stack
– Executing [s@sub-record-check:10] NoOp(“PJSIP/1817-0000005e”, “Recordings initialized”) in new stack
– Executing [s@sub-record-check:11] ExecIf(“PJSIP/1817-0000005e”, “0?Set(ARG3=dontcare)”) in new stack
– Executing [s@sub-record-check:12] Set(“PJSIP/1817-0000005e”, “REC_POLICY_MODE_SAVE=”) in new stack
– Executing [s@sub-record-check:13] ExecIf(“PJSIP/1817-0000005e”, “0?Set(REC_STATUS=NO)”) in new stack
– Executing [s@sub-record-check:14] GotoIf(“PJSIP/1817-0000005e”, “3?checkaction”) in new stack
– Goto (sub-record-check,s,17)
– Executing [s@sub-record-check:17] GotoIf(“PJSIP/1817-0000005e”, “1?sub-record-check,out,1”) in new stack
– Goto (sub-record-check,out,1)
– Executing [out@sub-record-check:1] NoOp(“PJSIP/1817-0000005e”, “Outbound Recording Check from 1817 to +73433020102”) in new stack
– Executing [out@sub-record-check:2] Set(“PJSIP/1817-0000005e”, “RECMODE=dontcare”) in new stack
– Executing [out@sub-record-check:3] ExecIf(“PJSIP/1817-0000005e”, “1?Goto(routewins)”) in new stack
– Goto (sub-record-check,out,7)
– Executing [out@sub-record-check:7] Gosub(“PJSIP/1817-0000005e”, “recordcheck,1(force,out,+73433020102)”) in new stack
– Executing [recordcheck@sub-record-check:1] NoOp(“PJSIP/1817-0000005e”, “Starting recording check against force”) in new stack
– Executing [recordcheck@sub-record-check:2] Goto(“PJSIP/1817-0000005e”, “force”) in new stack
– Goto (sub-record-check,recordcheck,5)
– Executing [recordcheck@sub-record-check:5] Set(“PJSIP/1817-0000005e”, “__REC_POLICY_MODE=FORCE”) in new stack
– Executing [recordcheck@sub-record-check:6] GotoIf(“PJSIP/1817-0000005e”, “1?startrec”) in new stack
– Goto (sub-record-check,recordcheck,16)
– Executing [recordcheck@sub-record-check:16] NoOp(“PJSIP/1817-0000005e”, “Starting recording: out, +73433020102”) in new stack
– Executing [recordcheck@sub-record-check:17] Set(“PJSIP/1817-0000005e”, “__CALLFILENAME=out-+73433020102-1817-20190305-160943-1551784183.94”) in new stack
– Executing [recordcheck@sub-record-check:18] MixMonitor(“PJSIP/1817-0000005e”, “2019/03/05/out-+73433020102-1817-20190305-160943-1551784183.94.wav,abi(LOCAL_MIXMON_ID),”) in new stack
– Executing [recordcheck@sub-record-check:19] Set(“PJSIP/1817-0000005e”, “__MIXMON_ID=0x7ff4900234c0”) in new stack
– Executing [recordcheck@sub-record-check:20] Set(“PJSIP/1817-0000005e”, “__RECORD_ID=PJSIP/1817-0000005e”) in new stack
– Executing [recordcheck@sub-record-check:21] Set(“PJSIP/1817-0000005e”, “__REC_STATUS=RECORDING”) in new stack
– Executing [recordcheck@sub-record-check:22] Set(“PJSIP/1817-0000005e”, “CDR(recordingfile)=out-+73433020102-1817-20190305-160943-1551784183.94.wav”) in new stack
– Executing [recordcheck@sub-record-check:23] Return(“PJSIP/1817-0000005e”, “”) in new stack
– Executing [out@sub-record-check:8] Return(“PJSIP/1817-0000005e”, “”) in new stack
– Executing [+73433020102@from-internal:3] ExecIf(“PJSIP/1817-0000005e”, “0 ?Set(CDR(accountcode)=)”) in new stack
– Executing [+73433020102@from-internal:4] Set(“PJSIP/1817-0000005e”, “MOHCLASS=default”) in new stack
– Executing [+73433020102@from-internal:5] ExecIf(“PJSIP/1817-0000005e”, “0?Set(TRUNKCIDOVERRIDE=79292242519)”) in new stack
– Executing [+73433020102@from-internal:6] Set(“PJSIP/1817-0000005e”, “_NODEST=”) in new stack
– Executing [+73433020102@from-internal:7] Macro(“PJSIP/1817-0000005e”, “dialout-trunk,2,3433020102,off”) in new stack
– Executing [s@macro-dialout-trunk:1] Set(“PJSIP/1817-0000005e”, “DIAL_TRUNK=2”) in new stack
– Executing [s@macro-dialout-trunk:2] ExecIf(“PJSIP/1817-0000005e”, “0?Set(DIAL_OPTIONS=Hhtr)”) in new stack
– Executing [s@macro-dialout-trunk:3] GosubIf(“PJSIP/1817-0000005e”, “0?sub-pincheck,s,1()”) in new stack
– Executing [s@macro-dialout-trunk:4] ExecIf(“PJSIP/1817-0000005e”, “0?Set(CALLERID(num)=1817)”) in new stack
– Executing [s@macro-dialout-trunk:5] GotoIf(“PJSIP/1817-0000005e”, “0?disabletrunk,1”) in new stack
– Executing [s@macro-dialout-trunk:6] Set(“PJSIP/1817-0000005e”, “DIAL_NUMBER=3433020102”) in new stack
– Executing [s@macro-dialout-trunk:7] Set(“PJSIP/1817-0000005e”, “DIAL_TRUNK_OPTIONS=HhTtr”) in new stack
– Executing [s@macro-dialout-trunk:8] Set(“PJSIP/1817-0000005e”, “OUTBOUND_GROUP=OUT_2”) in new stack
– Executing [s@macro-dialout-trunk:9] Set(“PJSIP/1817-0000005e”, “DIAL_TRUNK_OPTIONS=T”) in new stack
– Executing [s@macro-dialout-trunk:10] GotoIf(“PJSIP/1817-0000005e”, “1?nomax”) in new stack
– Goto (macro-dialout-trunk,s,12)
– Executing [s@macro-dialout-trunk:12] GotoIf(“PJSIP/1817-0000005e”, “0?skipoutcid”) in new stack
– Executing [s@macro-dialout-trunk:13] Macro(“PJSIP/1817-0000005e”, “outbound-callerid,2”) in new stack
– Executing [s@macro-outbound-callerid:1] NoOp(“PJSIP/1817-0000005e”, “1817”) in new stack
– Executing [s@macro-outbound-callerid:2] NoOp(“PJSIP/1817-0000005e”, “”) in new stack
– Executing [s@macro-outbound-callerid:3] NoOp(“PJSIP/1817-0000005e”, “off”) in new stack
– Executing [s@macro-outbound-callerid:4] ExecIf(“PJSIP/1817-0000005e”, “0?Set(CALLERPRES(name-pres)=)”) in new stack
– Executing [s@macro-outbound-callerid:5] ExecIf(“PJSIP/1817-0000005e”, “0?Set(CALLERPRES(num-pres)=)”) in new stack
– Executing [s@macro-outbound-callerid:6] ExecIf(“PJSIP/1817-0000005e”, “0?Set(REALCALLERIDNUM=1817)”) in new stack
– Executing [s@macro-outbound-callerid:7] ExecIf(“PJSIP/1817-0000005e”, “0?Set(AMPUSER=1817)”) in new stack
– Executing [s@macro-outbound-callerid:8] GotoIf(“PJSIP/1817-0000005e”, “1?normcid”) in new stack
– Goto (macro-outbound-callerid,s,12)
– Executing [s@macro-outbound-callerid:12] Set(“PJSIP/1817-0000005e”, “USEROUTCID=79292242519”) in new stack
– Executing [s@macro-outbound-callerid:13] Set(“PJSIP/1817-0000005e”, “EMERGENCYCID=”) in new stack
– Executing [s@macro-outbound-callerid:14] Set(“PJSIP/1817-0000005e”, “TRUNKOUTCID=79292209340”) in new stack
– Executing [s@macro-outbound-callerid:15] GotoIf(“PJSIP/1817-0000005e”, “1?trunkcid”) in new stack
– Goto (macro-outbound-callerid,s,20)
– Executing [s@macro-outbound-callerid:20] ExecIf(“PJSIP/1817-0000005e”, “1?Set(CALLERID(all)=79292209340)”) in new stack
– Executing [s@macro-outbound-callerid:21] ExecIf(“PJSIP/1817-0000005e”, “1?Set(CALLERID(all)=79292242519)”) in new stack
– Executing [s@macro-outbound-callerid:22] ExecIf(“PJSIP/1817-0000005e”, “0?Set(CALLERID(all)=)”) in new stack
– Executing [s@macro-outbound-callerid:23] ExecIf(“PJSIP/1817-0000005e”, “0?Set(CALLERPRES(name-pres)=prohib_passed_screen)”) in new stack
– Executing [s@macro-outbound-callerid:24] ExecIf(“PJSIP/1817-0000005e”, “0?Set(CALLERPRES(num-pres)=prohib_passed_screen)”) in new stack
– Executing [s@macro-outbound-callerid:25] Set(“PJSIP/1817-0000005e”, “CDR(outbound_cnum)=79292242519”) in new stack
– Executing [s@macro-outbound-callerid:26] Set(“PJSIP/1817-0000005e”, “CDR(outbound_cnam)=”) in new stack
– Executing [s@macro-dialout-trunk:14] GosubIf(“PJSIP/1817-0000005e”, “1?sub-flp-2,s,1()”) in new stack
– Executing [s@sub-flp-2:1] ExecIf(“PJSIP/1817-0000005e”, “0?Set(TARGET_FLP_2=7433020102)”) in new stack
– Executing [s@sub-flp-2:2] GotoIf(“PJSIP/1817-0000005e”, “0?match”) in new stack
– Executing [s@sub-flp-2:3] ExecIf(“PJSIP/1817-0000005e”, “0?Set(TARGET_FLP_2=733020102)”) in new stack
– Executing [s@sub-flp-2:4] GotoIf(“PJSIP/1817-0000005e”, “0?match”) in new stack
– Executing [s@sub-flp-2:5] Return(“PJSIP/1817-0000005e”, “”) in new stack
– Executing [s@macro-dialout-trunk:15] Set(“PJSIP/1817-0000005e”, “OUTNUM=3433020102”) in new stack
– Executing [s@macro-dialout-trunk:16] Set(“PJSIP/1817-0000005e”, “custom=PJSIP”) in new stack
– Executing [s@macro-dialout-trunk:17] ExecIf(“PJSIP/1817-0000005e”, “0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)T)”) in new stack
– Executing [s@macro-dialout-trunk:18] ExecIf(“PJSIP/1817-0000005e”, “0?Set(DIAL_TRUNK_OPTIONS=TM(confirm))”) in new stack
– Executing [s@macro-dialout-trunk:19] Macro(“PJSIP/1817-0000005e”, “dialout-trunk-predial-hook,”) in new stack
– Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit(“PJSIP/1817-0000005e”, “”) in new stack
– Executing [s@macro-dialout-trunk:20] GotoIf(“PJSIP/1817-0000005e”, “0?skipcrm”) in new stack
– Executing [s@macro-dialout-trunk:21] Set(“PJSIP/1817-0000005e”, “__CRM_DIRECTION=OUTBOUND”) in new stack
– Executing [s@macro-dialout-trunk:22] Set(“PJSIP/1817-0000005e”, “__CRM_DESTINATION=3433020102”) in new stack
– Executing [s@macro-dialout-trunk:23] Set(“PJSIP/1817-0000005e”, “__CRM_SOURCE=1817”) in new stack
– Executing [s@macro-dialout-trunk:24] AGI(“PJSIP/1817-0000005e”, “sangomacrm.agi”) in new stack
== Begin MixMonitor Recording PJSIP/1817-0000005e
– Launched AGI Script /var/lib/asterisk/agi-bin/sangomacrm.agi
– <PJSIP/1817-0000005e>AGI Script sangomacrm.agi completed, returning 0
– Executing [s@macro-dialout-trunk:25] Set(“PJSIP/1817-0000005e”, “CHANNEL(hangup_handler_push)=crm-hangup,s,1”) in new stack
– Executing [s@macro-dialout-trunk:26] NoOp(“PJSIP/1817-0000005e”, “CRM Finished”) in new stack
– Executing [s@macro-dialout-trunk:27] GotoIf(“PJSIP/1817-0000005e”, “0?bypass,1”) in new stack
– Executing [s@macro-dialout-trunk:28] ExecIf(“PJSIP/1817-0000005e”, “1?Set(CONNECTEDLINE(num,i)=3433020102)”) in new stack
– Executing [s@macro-dialout-trunk:29] ExecIf(“PJSIP/1817-0000005e”, “1?Set(CONNECTEDLINE(name,i)=CID:79292242519)”) in new stack
– Executing [s@macro-dialout-trunk:30] ExecIf(“PJSIP/1817-0000005e”, “0?Set(CONNECTEDLINE(name,i)=CID:(Hidden)79292242519)”) in new stack
– Executing [s@macro-dialout-trunk:31] GotoIf(“PJSIP/1817-0000005e”, “0?customtrunk”) in new stack
– Executing [s@macro-dialout-trunk:32] Dial(“PJSIP/1817-0000005e”, “PJSIP/3433020102@provider_pjsip_trunk,300,Tb(func-apply-sipheaders^s^1,(2))”) in new stack
[2019-03-05 16:09:44] ERROR[11963]: res_pjsip.c:3246 ast_sip_create_dialog_uac: Endpoint ‘provider_pjsip_trunk’: Could not create dialog to invalid URI ‘provider_pjsip_trunk’. Is endpoint registered and reachable?
[2019-03-05 16:09:44] ERROR[11963]: chan_pjsip.c:2236 request: Failed to create outgoing session to endpoint ‘provider_pjsip_trunk’
[2019-03-05 16:09:44] WARNING[7181][C-00000040]: app_dial.c:2527 dial_exec_full: Unable to create channel of type ‘PJSIP’ (cause 3 - No route to destination)
== Everyone is busy/congested at this time (1:0/0/1)
– Executing [s@macro-dialout-trunk:33] NoOp(“PJSIP/1817-0000005e”, “Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 3”) in new stack
– Executing [s@macro-dialout-trunk:34] GotoIf(“PJSIP/1817-0000005e”, “0?continue,1:s-CHANUNAVAIL,1”) in new stack
– Goto (macro-dialout-trunk,s-CHANUNAVAIL,1)
– Executing [s-CHANUNAVAIL@macro-dialout-trunk:1] Set(“PJSIP/1817-0000005e”, “RC=3”) in new stack
– Executing [s-CHANUNAVAIL@macro-dialout-trunk:2] Goto(“PJSIP/1817-0000005e”, “3,1”) in new stack
– Goto (macro-dialout-trunk,3,1)
– Executing [3@macro-dialout-trunk:1] Goto(“PJSIP/1817-0000005e”, “continue,1”) in new stack
– Goto (macro-dialout-trunk,continue,1)
– Executing [continue@macro-dialout-trunk:1] NoOp(“PJSIP/1817-0000005e”, “TRUNK Dial failed due to CHANUNAVAIL HANGUPCAUSE: 3 - failing through to other trunks”) in new stack
– Executing [continue@macro-dialout-trunk:2] ExecIf(“PJSIP/1817-0000005e”, “1?Set(CALLERID(number)=1817)”) in new stack
– Executing [+73433020102@from-internal:8] Macro(“PJSIP/1817-0000005e”, “outisbusy,”) in new stack
– Executing [s@macro-outisbusy:1] Progress(“PJSIP/1817-0000005e”, “”) in new stack
– Executing [s@macro-outisbusy:2] GotoIf(“PJSIP/1817-0000005e”, “0?emergency,1”) in new stack
– Executing [s@macro-outisbusy:3] GotoIf(“PJSIP/1817-0000005e”, “0?intracompany,1”) in new stack
– Executing [s@macro-outisbusy:4] Playback(“PJSIP/1817-0000005e”, “all-circuits-busy-now&please-try-call-later, noanswer”) in new stack
– <PJSIP/1817-0000005e> Playing ‘all-circuits-busy-now.g722’ (language ‘ru’)
> 0x7ff494011900 – Strict RTP learning after remote address set to: 192.168.102.101:5062
> 0x7ff494011900 – Strict RTP switching to RTP target address 192.168.102.101:5062 as source
– <PJSIP/1817-0000005e> Playing ‘please-try-call-later.alaw’ (language ‘ru’)
– Executing [s@macro-outisbusy:5] Congestion(“PJSIP/1817-0000005e”, “20”) in new stack
[2019-03-05 16:09:48] WARNING[7181][C-00000040]: translate.c:407 framein: no samples for alawtolin
== Spawn extension (macro-outisbusy, s, 5) exited non-zero on ‘PJSIP/1817-0000005e’ in macro ‘outisbusy’
== Spawn extension (from-internal, +73433020102, 8) exited non-zero on ‘PJSIP/1817-0000005e’
– Executing [h@from-internal:1] Macro(“PJSIP/1817-0000005e”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“PJSIP/1817-0000005e”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] ExecIf(“PJSIP/1817-0000005e”, “0?Set(CDR(recordingfile)=)”) in new stack
– Executing [s@macro-hangupcall:4] NoOp(“PJSIP/1817-0000005e”, " monior file= /var/spool/asterisk/monitor/2019/03/05/out-+73433020102-1817-20190305-160943-1551784183.94.wav") in new stack
– Executing [s@macro-hangupcall:5] AGI(“PJSIP/1817-0000005e”, “attendedtransfer-rec-restart.php,/var/spool/asterisk/monitor/2019/03/05/out-+73433020102-1817-20190305-160943-1551784183.94.wav”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/attendedtransfer-rec-restart.php
– <PJSIP/1817-0000005e>AGI Script attendedtransfer-rec-restart.php completed, returning 0
– Executing [s@macro-hangupcall:6] Hangup(“PJSIP/1817-0000005e”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 6) exited non-zero on ‘PJSIP/1817-0000005e’ in macro ‘hangupcall’
== Spawn extension (from-internal, h, 1) exited non-zero on ‘PJSIP/1817-0000005e’
– PJSIP/1817-0000005e Internal Gosub(crm-hangup,s,1) start
– Executing [s@crm-hangup:1] NoOp(“PJSIP/1817-0000005e”, “Sending Hangup to CRM”) in new stack
– Executing [s@crm-hangup:2] NoOp(“PJSIP/1817-0000005e”, “HANGUP CAUSE: 34”) in new stack
– Executing [s@crm-hangup:3] ExecIf(“PJSIP/1817-0000005e”, “0?Set(__CRM_VOICEMAIL=)”) in new stack
– Executing [s@crm-hangup:4] NoOp(“PJSIP/1817-0000005e”, “MASTER CHANNEL: 1551784183.94 = 1551784183.94”) in new stack
– Executing [s@crm-hangup:5] GotoIf(“PJSIP/1817-0000005e”, “0?return”) in new stack
– Executing [s@crm-hangup:6] Set(“PJSIP/1817-0000005e”, “__CRM_HANGUP=1”) in new stack
– Executing [s@crm-hangup:7] AGI(“PJSIP/1817-0000005e”, “sangomacrm.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/sangomacrm.agi
– <PJSIP/1817-0000005e>AGI Script sangomacrm.agi completed, returning 0
– Executing [s@crm-hangup:8] Return(“PJSIP/1817-0000005e”, “”) in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on ‘PJSIP/1817-0000005e’
– PJSIP/1817-0000005e Internal Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=
== MixMonitor close filestream (mixed)
== End MixMonitor Recording PJSIP/1817-0000005e

in a outbound route we try next solution:

Can you suggest more solutions?
Thanks!

I don’t think this has anything to do with dial patterns, your trunk is offline.

1 Like

Never mind the network error, show us what you’re doing in the Outbound Route. You should be able to modify the route that is (was?) working to include the “+” in the dial pattern settings. Add a new entry in the dial patterns that adds a “+” in the ‘prefix’ field (so that it can be removed) and you should be good to go.

No, this is exactly the issue. The system is trying to use a trunk that is offline. So in order to use that trunk the Outbound Route must call on it. It can’t call on a trunk in an Outbound Route that doesn’t match. So there is a match, it’s trying to use the trunk assigned to it and that trunk is offline. PJSIP is saying “Not Route to destination” which means it can’t send the call anywhere over PJSIP because the object isn’t online.

1 Like

But trunk is online and calls to numbers in format 7XXXXXXXXXX and 8XXXXXXXXXX are transmitted correctly.

As a result, in dial patterns we have next rules:

After transferring dial patterns from trunk to outbound route (with removing it from trunk patterns), we found a strange behavior:

If we have a rule where prepend 7, prefix +7 and match pattern X. freepbx drops +7 but doesn’t prepend 7.

Tomorrow we will provide more information after following tests.

No, you have a rule that prepends 8 after a prefix +7 and matching pattern X. So yes, it drops the +7 but doesn’t prepend 7 it prepends 8.

This doesn’t roll through the routes. You can’t prepend 8 in the first rule and expect the next rule to strip the 8 (prefix 8) and then prepend 7. They match on a rule. The first match wins.

We found a next solution for this problem:
In a trunk dial patterns we wrote next pattern:

8 7 X.

In a outbond route in dial patterns we wrote next pattern:

empty empty X. 1817
8 +7 X. 1817

After we wrote this rules everything became good.

Thanks!

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