First post here, semi-frequent user of FreePBX (never used SIP trunking before, had always used Google Voice and kinda stopped when that became no-longer-a-thing).
I have successfully setup my HT813 to use the FXO port to receive incoming calls. I primarily followed the youtube video www(dot)youtube(dot)com(slash)watch?v=J6oJSMDJzEI. This config didn’t work perfectly, so I did have to make a few tweaks, but I was able to get inbound calls working. However, I can only make outbound calls if I first dial the trunk I setup for the HT813, which gives me a dialtone, at which I can then dial out to the PSTN. Directly dialing the PSTN number results in an “All circuits are busy” message. Outbound routes are setup to use this trunk for the proper dialing patterns (US). Any time I try to make an outbound call by directly dialing the 10 digit number it results in the circuits busy message, and this appearing in the asterisk -rvvvvv
output:
Note: I have Anonymized the log: 1234567890 represents number I’m trying to call. 9876543210 represents my outbound CID. 1234567 is the trunk name in FreePBX that is used for the HT813. 10.0.1.113 and 10.5.1.40 are the IP addresses of the FreePBX server. 10.5.1.41 is my Cisco SPA303. 3011 is the extension for the SPA303. 10.0.1.222 is the IP of the HT813.
Asterisk 13.19.1, Copyright (C) 1999 - 2014, Digium, Inc. and others.
Created by Mark Spencer <[email protected]>
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 13.19.1 currently running on freepbx (pid = 2086)
== Setting global variable 'SIPDOMAIN' to '10.5.1.40'
== 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 [1234567890@from-internal:1] Macro("PJSIP/3011-00000046", "user-callerid,LIMIT,EXTERNAL,") in new stack
-- Executing [s@macro-user-callerid:1] Set("PJSIP/3011-00000046", "TOUCH_MONITOR=1560276701.124") in new stack
-- Executing [s@macro-user-callerid:2] Set("PJSIP/3011-00000046", "AMPUSER=3011") in new stack
-- Executing [s@macro-user-callerid:3] GotoIf("PJSIP/3011-00000046", "0?report") in new stack
-- Executing [s@macro-user-callerid:4] ExecIf("PJSIP/3011-00000046", "1?Set(REALCALLERIDNUM=3011)") in new stack
-- Executing [s@macro-user-callerid:5] Set("PJSIP/3011-00000046", "AMPUSER=3011") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("PJSIP/3011-00000046", "0?limit") in new stack
-- Executing [s@macro-user-callerid:7] Set("PJSIP/3011-00000046", "AMPUSERCIDNAME=Office Phone") in new stack
-- Executing [s@macro-user-callerid:8] ExecIf("PJSIP/3011-00000046", "0?Set(__CIDMASQUERADING=TRUE)") in new stack
-- Executing [s@macro-user-callerid:9] GotoIf("PJSIP/3011-00000046", "0?report") in new stack
-- Executing [s@macro-user-callerid:10] Set("PJSIP/3011-00000046", "AMPUSERCID=3011") in new stack
-- Executing [s@macro-user-callerid:11] Set("PJSIP/3011-00000046", "__DIAL_OPTIONS=HhTtr") in new stack
-- Executing [s@macro-user-callerid:12] Set("PJSIP/3011-00000046", "CALLERID(all)="Office Phone" <3011>") in new stack
-- Executing [s@macro-user-callerid:13] GotoIf("PJSIP/3011-00000046", "0?limit") in new stack
-- Executing [s@macro-user-callerid:14] ExecIf("PJSIP/3011-00000046", "1?Set(GROUP(concurrency_limit)=3011)") in new stack
-- Executing [s@macro-user-callerid:15] ExecIf("PJSIP/3011-00000046", "0?Set(CHANNEL(language)=)") in new stack
-- Executing [s@macro-user-callerid:16] NoOp("PJSIP/3011-00000046", "Macro Depth is 1") in new stack
-- Executing [s@macro-user-callerid:17] GotoIf("PJSIP/3011-00000046", "1?report2:macroerror") in new stack
-- Goto (macro-user-callerid,s,18)
-- Executing [s@macro-user-callerid:18] GotoIf("PJSIP/3011-00000046", "1?continue") in new stack
-- Goto (macro-user-callerid,s,37)
-- Executing [s@macro-user-callerid:37] Set("PJSIP/3011-00000046", "CALLERID(number)=3011") in new stack
-- Executing [s@macro-user-callerid:38] Set("PJSIP/3011-00000046", "CALLERID(name)=Office Phone") in new stack
-- Executing [s@macro-user-callerid:39] GotoIf("PJSIP/3011-00000046", "0?cnum") in new stack
-- Executing [s@macro-user-callerid:40] Set("PJSIP/3011-00000046", "CDR(cnam)=Office Phone") in new stack
-- Executing [s@macro-user-callerid:41] Set("PJSIP/3011-00000046", "CDR(cnum)=3011") in new stack
-- Executing [s@macro-user-callerid:42] Set("PJSIP/3011-00000046", "CHANNEL(language)=en") in new stack
-- Executing [1234567890@from-internal:2] Gosub("PJSIP/3011-00000046", "sub-record-check,s,1(out,1234567890,dontcare)") in new stack
-- Executing [s@sub-record-check:1] GotoIf("PJSIP/3011-00000046", "0?initialized") in new stack
-- Executing [s@sub-record-check:2] Set("PJSIP/3011-00000046", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s@sub-record-check:3] Set("PJSIP/3011-00000046", "NOW=1560276701") in new stack
-- Executing [s@sub-record-check:4] Set("PJSIP/3011-00000046", "__DAY=11") in new stack
-- Executing [s@sub-record-check:5] Set("PJSIP/3011-00000046", "__MONTH=06") in new stack
-- Executing [s@sub-record-check:6] Set("PJSIP/3011-00000046", "__YEAR=2019") in new stack
-- Executing [s@sub-record-check:7] Set("PJSIP/3011-00000046", "__TIMESTR=20190611-181141") in new stack
-- Executing [s@sub-record-check:8] Set("PJSIP/3011-00000046", "__FROMEXTEN=3011") in new stack
-- Executing [s@sub-record-check:9] Set("PJSIP/3011-00000046", "__MON_FMT=wav") in new stack
-- Executing [s@sub-record-check:10] NoOp("PJSIP/3011-00000046", "Recordings initialized") in new stack
-- Executing [s@sub-record-check:11] ExecIf("PJSIP/3011-00000046", "0?Set(ARG3=dontcare)") in new stack
-- Executing [s@sub-record-check:12] Set("PJSIP/3011-00000046", "REC_POLICY_MODE_SAVE=") in new stack
-- Executing [s@sub-record-check:13] ExecIf("PJSIP/3011-00000046", "0?Set(REC_STATUS=NO)") in new stack
-- Executing [s@sub-record-check:14] GotoIf("PJSIP/3011-00000046", "3?checkaction") in new stack
-- Goto (sub-record-check,s,17)
-- Executing [s@sub-record-check:17] GotoIf("PJSIP/3011-00000046", "1?sub-record-check,out,1") in new stack
-- Goto (sub-record-check,out,1)
-- Executing [out@sub-record-check:1] NoOp("PJSIP/3011-00000046", "Outbound Recording Check from 3011 to 1234567890") in new stack
-- Executing [out@sub-record-check:2] Set("PJSIP/3011-00000046", "RECMODE=dontcare") in new stack
-- Executing [out@sub-record-check:3] ExecIf("PJSIP/3011-00000046", "1?Goto(routewins)") in new stack
-- Goto (sub-record-check,out,7)
-- Executing [out@sub-record-check:7] Gosub("PJSIP/3011-00000046", "recordcheck,1(dontcare,out,1234567890)") in new stack
-- Executing [recordcheck@sub-record-check:1] NoOp("PJSIP/3011-00000046", "Starting recording check against dontcare") in new stack
-- Executing [recordcheck@sub-record-check:2] Goto("PJSIP/3011-00000046", "dontcare") in new stack
-- Goto (sub-record-check,recordcheck,3)
-- Executing [recordcheck@sub-record-check:3] Return("PJSIP/3011-00000046", "") in new stack
-- Executing [out@sub-record-check:8] Return("PJSIP/3011-00000046", "") in new stack
-- Executing [1234567890@from-internal:3] ExecIf("PJSIP/3011-00000046", "0 ?Set(CDR(accountcode)=)") in new stack
-- Executing [1234567890@from-internal:4] Set("PJSIP/3011-00000046", "MOHCLASS=default") in new stack
-- Executing [1234567890@from-internal:5] ExecIf("PJSIP/3011-00000046", "0?Set(TRUNKCIDOVERRIDE=9876543210)") in new stack
-- Executing [1234567890@from-internal:6] Set("PJSIP/3011-00000046", "_NODEST=") in new stack
-- Executing [1234567890@from-internal:7] Macro("PJSIP/3011-00000046", "dialout-trunk,1,1234567890,,off") in new stack
-- Executing [s@macro-dialout-trunk:1] Set("PJSIP/3011-00000046", "DIAL_TRUNK=1") in new stack
-- Executing [s@macro-dialout-trunk:2] GosubIf("PJSIP/3011-00000046", "0?sub-pincheck,s,1()") in new stack
-- Executing [s@macro-dialout-trunk:3] ExecIf("PJSIP/3011-00000046", "0?Set(CALLERID(num)=3011)") in new stack
-- Executing [s@macro-dialout-trunk:4] GotoIf("PJSIP/3011-00000046", "0?disabletrunk,1") in new stack
-- Executing [s@macro-dialout-trunk:5] Set("PJSIP/3011-00000046", "DIAL_NUMBER=1234567890") in new stack
-- Executing [s@macro-dialout-trunk:6] Set("PJSIP/3011-00000046", "DIAL_TRUNK_OPTIONS=HhTtr") in new stack
-- Executing [s@macro-dialout-trunk:7] Set("PJSIP/3011-00000046", "OUTBOUND_GROUP=OUT_1") in new stack
-- Executing [s@macro-dialout-trunk:8] Set("PJSIP/3011-00000046", "DIAL_TRUNK_OPTIONS=T") in new stack
-- Executing [s@macro-dialout-trunk:9] GotoIf("PJSIP/3011-00000046", "0?nomax") in new stack
-- Executing [s@macro-dialout-trunk:10] GotoIf("PJSIP/3011-00000046", "0?chanfull") in new stack
-- Executing [s@macro-dialout-trunk:11] GotoIf("PJSIP/3011-00000046", "0?skipoutcid") in new stack
-- Executing [s@macro-dialout-trunk:12] Macro("PJSIP/3011-00000046", "outbound-callerid,1") in new stack
-- Executing [s@macro-outbound-callerid:1] NoOp("PJSIP/3011-00000046", "3011") in new stack
-- Executing [s@macro-outbound-callerid:2] NoOp("PJSIP/3011-00000046", "") in new stack
-- Executing [s@macro-outbound-callerid:3] NoOp("PJSIP/3011-00000046", "off") in new stack
-- Executing [s@macro-outbound-callerid:4] ExecIf("PJSIP/3011-00000046", "0?Set(CALLERPRES(name-pres)=)") in new stack
-- Executing [s@macro-outbound-callerid:5] ExecIf("PJSIP/3011-00000046", "0?Set(CALLERPRES(num-pres)=)") in new stack
-- Executing [s@macro-outbound-callerid:6] ExecIf("PJSIP/3011-00000046", "0?Set(REALCALLERIDNUM=3011)") in new stack
-- Executing [s@macro-outbound-callerid:7] GotoIf("PJSIP/3011-00000046", "1?normcid") in new stack
-- Goto (macro-outbound-callerid,s,11)
-- Executing [s@macro-outbound-callerid:11] Set("PJSIP/3011-00000046", "USEROUTCID=3011") in new stack
-- Executing [s@macro-outbound-callerid:12] Set("PJSIP/3011-00000046", "EMERGENCYCID=") in new stack
-- Executing [s@macro-outbound-callerid:13] Set("PJSIP/3011-00000046", "TRUNKOUTCID=9876543210") in new stack
-- Executing [s@macro-outbound-callerid:14] GotoIf("PJSIP/3011-00000046", "1?trunkcid") in new stack
-- Goto (macro-outbound-callerid,s,19)
-- Executing [s@macro-outbound-callerid:19] ExecIf("PJSIP/3011-00000046", "1?Set(CALLERID(all)=9876543210)") in new stack
-- Executing [s@macro-outbound-callerid:20] ExecIf("PJSIP/3011-00000046", "1?Set(CALLERID(all)=3011)") in new stack
-- Executing [s@macro-outbound-callerid:21] ExecIf("PJSIP/3011-00000046", "0?Set(CALLERID(all)=)") in new stack
-- Executing [s@macro-outbound-callerid:22] ExecIf("PJSIP/3011-00000046", "0?Set(CALLERPRES(name-pres)=prohib_passed_screen)") in new stack
-- Executing [s@macro-outbound-callerid:23] ExecIf("PJSIP/3011-00000046", "0?Set(CALLERPRES(num-pres)=prohib_passed_screen)") in new stack
-- Executing [s@macro-outbound-callerid:24] Set("PJSIP/3011-00000046", "CDR(outbound_cnum)=3011") in new stack
-- Executing [s@macro-outbound-callerid:25] Set("PJSIP/3011-00000046", "CDR(outbound_cnam)=") in new stack
-- Executing [s@macro-dialout-trunk:13] GosubIf("PJSIP/3011-00000046", "0?sub-flp-1,s,1()") in new stack
-- Executing [s@macro-dialout-trunk:14] Set("PJSIP/3011-00000046", "OUTNUM=1234567890") in new stack
-- Executing [s@macro-dialout-trunk:15] Set("PJSIP/3011-00000046", "custom=SIP/1234567") in new stack
-- Executing [s@macro-dialout-trunk:16] ExecIf("PJSIP/3011-00000046", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)T)") in new stack
-- Executing [s@macro-dialout-trunk:17] ExecIf("PJSIP/3011-00000046", "0?Set(DIAL_TRUNK_OPTIONS=TM(confirm))") in new stack
-- Executing [s@macro-dialout-trunk:18] Macro("PJSIP/3011-00000046", "dialout-trunk-predial-hook,") in new stack
-- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("PJSIP/3011-00000046", "") in new stack
-- Executing [s@macro-dialout-trunk:19] GotoIf("PJSIP/3011-00000046", "0?skipcrm") in new stack
-- Executing [s@macro-dialout-trunk:20] Set("PJSIP/3011-00000046", "__CRM_DIRECTION=OUTBOUND") in new stack
-- Executing [s@macro-dialout-trunk:21] Set("PJSIP/3011-00000046", "__CRM_DESTINATION=1234567890") in new stack
-- Executing [s@macro-dialout-trunk:22] Set("PJSIP/3011-00000046", "__CRM_SOURCE=3011") in new stack
-- Executing [s@macro-dialout-trunk:23] AGI("PJSIP/3011-00000046", "sangomacrm.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/sangomacrm.agi
-- <PJSIP/3011-00000046>AGI Script sangomacrm.agi completed, returning 0
-- Executing [s@macro-dialout-trunk:24] Set("PJSIP/3011-00000046", "CHANNEL(hangup_handler_push)=crm-hangup,s,1") in new stack
-- Executing [s@macro-dialout-trunk:25] NoOp("PJSIP/3011-00000046", "CRM Finished") in new stack
-- Executing [s@macro-dialout-trunk:26] GotoIf("PJSIP/3011-00000046", "0?bypass,1") in new stack
-- Executing [s@macro-dialout-trunk:27] ExecIf("PJSIP/3011-00000046", "1?Set(CONNECTEDLINE(num,i)=1234567890)") in new stack
-- Executing [s@macro-dialout-trunk:28] ExecIf("PJSIP/3011-00000046", "1?Set(CONNECTEDLINE(name,i)=CID:3011)") in new stack
-- Executing [s@macro-dialout-trunk:29] ExecIf("PJSIP/3011-00000046", "0?Set(CONNECTEDLINE(name,i)=CID:(Hidden)3011)") in new stack
-- Executing [s@macro-dialout-trunk:30] GotoIf("PJSIP/3011-00000046", "0?customtrunk") in new stack
-- Executing [s@macro-dialout-trunk:31] Dial("PJSIP/3011-00000046", "SIP/1234567/1234567890,300,Tb(func-apply-sipheaders^s^1)") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- SIP/1234567-00000036 Internal Gosub(func-apply-sipheaders,s,1) start
-- Executing [s@func-apply-sipheaders:1] ExecIf("SIP/1234567-00000036", "0?Set(CHANNEL(hangup_handler_push)=crm-hangup,s,1)") in new stack
-- Executing [s@func-apply-sipheaders:2] NoOp("SIP/1234567-00000036", "Applying SIP Headers to channel") in new stack
-- Executing [s@func-apply-sipheaders:3] Set("SIP/1234567-00000036", "SIPHEADERKEYS=") in new stack
-- Executing [s@func-apply-sipheaders:4] While("SIP/1234567-00000036", "0") in new stack
-- Jumping to priority 8
-- Executing [s@func-apply-sipheaders:9] Return("SIP/1234567-00000036", "") in new stack
== Spawn extension (from-trunk-sip-1234567, 1234567890, 1) exited non-zero on 'SIP/1234567-00000036'
-- SIP/1234567-00000036 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
-- Called SIP/1234567/1234567890
[2019-06-11 18:11:42] WARNING[2159][C-00000044]: chan_sip.c:24015 handle_response_invite: Received response: "Forbidden" from '<sip:[email protected]:5160>;tag=as3acba838'
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [s@macro-dialout-trunk:32] NoOp("PJSIP/3011-00000046", "Dial failed for some reason with DIALSTATUS = CHANUNAVAIL and HANGUPCAUSE = 21") in new stack
-- Executing [s@macro-dialout-trunk:33] GotoIf("PJSIP/3011-00000046", "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/3011-00000046", "RC=21") in new stack
-- Executing [s-CHANUNAVAIL@macro-dialout-trunk:2] Goto("PJSIP/3011-00000046", "21,1") in new stack
-- Goto (macro-dialout-trunk,21,1)
-- Executing [21@macro-dialout-trunk:1] Goto("PJSIP/3011-00000046", "continue,1") in new stack
-- Goto (macro-dialout-trunk,continue,1)
-- Executing [continue@macro-dialout-trunk:1] NoOp("PJSIP/3011-00000046", "TRUNK Dial failed due to CHANUNAVAIL HANGUPCAUSE: 21 - failing through to other trunks") in new stack
-- Executing [continue@macro-dialout-trunk:2] ExecIf("PJSIP/3011-00000046", "1?Set(CALLERID(number)=3011)") in new stack
-- Executing [1234567890@from-internal:8] Macro("PJSIP/3011-00000046", "outisbusy,") in new stack
-- Executing [s@macro-outisbusy:1] Progress("PJSIP/3011-00000046", "") in new stack
-- Executing [s@macro-outisbusy:2] GotoIf("PJSIP/3011-00000046", "0?emergency,1") in new stack
-- Executing [s@macro-outisbusy:3] GotoIf("PJSIP/3011-00000046", "0?intracompany,1") in new stack
-- Executing [s@macro-outisbusy:4] Playback("PJSIP/3011-00000046", "all-circuits-busy-now&please-try-call-later, noanswer") in new stack
-- <PJSIP/3011-00000046> Playing 'all-circuits-busy-now.g722' (language 'en')
> 0x7fc26400da10 -- Strict RTP learning after remote address set to: 10.5.1.41:16494
> 0x7fc26400da10 -- Strict RTP switching to RTP target address 10.5.1.41:16494 as source
-- <PJSIP/3011-00000046> Playing 'please-try-call-later.ulaw' (language 'en')
-- Executing [s@macro-outisbusy:5] Congestion("PJSIP/3011-00000046", "20") in new stack
== Spawn extension (macro-outisbusy, s, 5) exited non-zero on 'PJSIP/3011-00000046' in macro 'outisbusy'
== Spawn extension (from-internal, 1234567890, 8) exited non-zero on 'PJSIP/3011-00000046'
-- Executing [h@from-internal:1] Macro("PJSIP/3011-00000046", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("PJSIP/3011-00000046", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] ExecIf("PJSIP/3011-00000046", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall:4] NoOp("PJSIP/3011-00000046", " monior file= ") in new stack
-- Executing [s@macro-hangupcall:5] AGI("PJSIP/3011-00000046", "attendedtransfer-rec-restart.php,,") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/attendedtransfer-rec-restart.php
-- <PJSIP/3011-00000046>AGI Script attendedtransfer-rec-restart.php completed, returning 0
-- Executing [s@macro-hangupcall:6] Hangup("PJSIP/3011-00000046", "") in new stack
== Spawn extension (macro-hangupcall, s, 6) exited non-zero on 'PJSIP/3011-00000046' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'PJSIP/3011-00000046'
-- PJSIP/3011-00000046 Internal Gosub(crm-hangup,s,1) start
-- Executing [s@crm-hangup:1] NoOp("PJSIP/3011-00000046", "Sending Hangup to CRM") in new stack
-- Executing [s@crm-hangup:2] NoOp("PJSIP/3011-00000046", "HANGUP CAUSE: 34") in new stack
-- Executing [s@crm-hangup:3] ExecIf("PJSIP/3011-00000046", "0?Set(__CRM_VOICEMAIL=)") in new stack
-- Executing [s@crm-hangup:4] NoOp("PJSIP/3011-00000046", "MASTER CHANNEL: 1560276701.124 = 1560276701.124") in new stack
-- Executing [s@crm-hangup:5] GotoIf("PJSIP/3011-00000046", "0?return") in new stack
-- Executing [s@crm-hangup:6] Set("PJSIP/3011-00000046", "__CRM_HANGUP=1") in new stack
-- Executing [s@crm-hangup:7] AGI("PJSIP/3011-00000046", "sangomacrm.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/sangomacrm.agi
-- <PJSIP/3011-00000046>AGI Script sangomacrm.agi completed, returning 0
-- Executing [s@crm-hangup:8] Return("PJSIP/3011-00000046", "") in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on 'PJSIP/3011-00000046'
-- PJSIP/3011-00000046 Internal Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=
The PEER details I’m using are (again, anonymized using the same description as above):
username=1234567
type=peer
secret=correcthorsebatterystaple
qualify=60000
port=5062
insecure=port,invite
host=10.0.1.222
dtmfmode=rfc2833
disallow=all
canreivite=no
allow=ulaw
I have also tried it with type=friend as shown in the video.
Any help is greatly, greatly appreciated. Thanks!