Help, FXO cannot make external calls

Please help.

We have an old analogue Panasonic KD-TDA100D with 20x analogue phones in the office. We’re moving some users to a new office. The two building have a good wireless link to share internet and network services like printers, servers, etc. The extensions on the Panasonic PBX run from 101 to 127 (some extensions are inactive). 10 of the staff need to go to the new building.

So I installed FreePBX 14.0.1.24 on a new server in the new building and we’re going to purchase some new SIP phones, and also setup something like Linphone or Zoiper on some of the users’ mobile phones. I have the extensions of the users moving into the new building setup in FreePBX and on their mobile phones (have not decided on SIP phones yet) and this works very well.

Then I have some Grandstream HT503, Grandstream HT802 and HT704 ATA gateways to extend their extensions to the new building via the VPN.

I don’t have access to the Panasonic PBX, nor can we replace it at this stage. I setup FreePBX and the Grandstream HT-503 FXO as per this article

The problem is, when I attempt to dial one of the existing extensions on the Panasonic PBX, using the FXO port, I get an engaged signal - on all the numbers I tried to phone, even though I know the phones are not engaged.

When calling 102, which still remains on the Panasonic PBX, from 112, which is a newly created extension in FreePBX, I get the following on the Asterisk console:

<— SIP read from UDP:192.41.100.31:5062 —>
SIP/2.0 486 Busy Here
Via: SIP/2.0/UDP 197.184.153.199:5160;branch=z9hG4bK4e177ce2;rport=5160;received=192.41.100.240
From: “Mariska” sip:[email protected]:5160;tag=as17d893a0
To: sip:102%[email protected]:5062;tag=270990891
Call-ID: [email protected]:5160
CSeq: 102 INVITE
Supported: replaces, path, timer, eventlist
User-Agent: Grandstream HT-503 V2.0A 1.0.15.5 chip V2.2
Warning: 399 GS “All channels are in use”
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE
Content-Length: 0

<------------->
— (11 headers 0 lines) —
– Got SIP response 486 “Busy Here” back from 192.41.100.31:5062
Transmitting (NAT) to 192.41.100.31:5062:
ACK sip:102%[email protected]:5062 SIP/2.0
Via: SIP/2.0/UDP 197.184.153.199:5160;branch=z9hG4bK4e177ce2;rport
Max-Forwards: 70
From: “Mariska” sip:[email protected]:5160;tag=as17d893a0
To: sip:102%[email protected]:5062;tag=270990891
Contact: sip:[email protected]:5160
Call-ID: [email protected]:5160
CSeq: 102 ACK
User-Agent: FPBX-14.0.1.24(13.19.1)
Content-Length: 0


-- SIP/114-1-00000035 is busy

== Everyone is busy/congested at this time (1:1/0/0)
– Executing [s@macro-dialout-trunk:32] NoOp(“PJSIP/114-00000161”, “Dial failed for some reason with DIALSTATUS = BUSY and HANGUPCAUSE = 17”) in new stack
– Executing [s@macro-dialout-trunk:33] GotoIf(“PJSIP/114-00000161”, “0?continue,1:s-BUSY,1”) in new stack
– Goto (macro-dialout-trunk,s-BUSY,1)
– Executing [s-BUSY@macro-dialout-trunk:1] NoOp(“PJSIP/114-00000161”, “Dial failed due to trunk reporting BUSY - giving up”) in new stack
– Executing [s-BUSY@macro-dialout-trunk:2] PlayTones(“PJSIP/114-00000161”, “busy”) in new stack
– Executing [s-BUSY@macro-dialout-trunk:3] Busy(“PJSIP/114-00000161”, “20”) in new stack
== Spawn extension (macro-dialout-trunk, s-BUSY, 3) exited non-zero on ‘PJSIP/114-00000161’ in macro ‘dialout-trunk’
== Spawn extension (from-internal, 102, 7) exited non-zero on ‘PJSIP/114-00000161’
– Executing [h@from-internal:1] Macro(“PJSIP/114-00000161”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“PJSIP/114-00000161”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] ExecIf(“PJSIP/114-00000161”, “0?Set(CDR(recordingfile)=)”) in new stack
– Executing [s@macro-hangupcall:4] NoOp(“PJSIP/114-00000161”, " monior file= ") in new stack
– Executing [s@macro-hangupcall:5] AGI(“PJSIP/114-00000161”, “attendedtransfer-rec-restart.php,”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/attendedtransfer-rec-restart.php
– <PJSIP/114-00000161>AGI Script attendedtransfer-rec-restart.php completed, returning 0
– Executing [s@macro-hangupcall:6] Hangup(“PJSIP/114-00000161”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 6) exited non-zero on ‘PJSIP/114-00000161’ in macro ‘hangupcall’
== Spawn extension (from-internal, h, 1) exited non-zero on ‘PJSIP/114-00000161’
– PJSIP/114-00000161 Internal Gosub(crm-hangup,s,1) start
– Executing [s@crm-hangup:1] NoOp(“PJSIP/114-00000161”, “Sending Hangup to CRM”) in new stack
– Executing [s@crm-hangup:2] NoOp(“PJSIP/114-00000161”, “HANGUP CAUSE: 17”) in new stack
– Executing [s@crm-hangup:3] ExecIf(“PJSIP/114-00000161”, “0?Set(__CRM_VOICEMAIL=)”) in new stack
– Executing [s@crm-hangup:4] NoOp(“PJSIP/114-00000161”, “MASTER CHANNEL: 1523829540.407 = 1523829540.407”) in new stack
– Executing [s@crm-hangup:5] GotoIf(“PJSIP/114-00000161”, “0?return”) in new stack
– Executing [s@crm-hangup:6] Set(“PJSIP/114-00000161”, “__CRM_HANGUP=1”) in new stack
– Executing [s@crm-hangup:7] AGI(“PJSIP/114-00000161”, “sangomacrm.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/sangomacrm.agi
– <PJSIP/114-00000161>AGI Script sangomacrm.agi completed, returning 0
– Executing [s@crm-hangup:8] Return(“PJSIP/114-00000161”, “”) in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on ‘PJSIP/114-00000161’
– PJSIP/114-00000161 Internal Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=
Really destroying SIP dialog ‘[email protected]:5160’ Method: INVITE
[2018-04-15 23:59:12] NOTICE[20338]: res_pjsip/pjsip_distributor.c:649 log_failed_request: Request ‘REGISTER’ from ‘“Server Room” sip:[email protected]’ failed for ‘192.41.100.160:5060’ (callid: [email protected]) - No matching endpoint found
[2018-04-15 23:59:12] NOTICE[8340]: res_pjsip/pjsip_distributor.c:649 log_failed_request: Request ‘REGISTER’ from ‘“Server Room” sip:[email protected]’ failed for ‘192.41.100.160:5060’ (callid: [email protected]) - No matching endpoint found
[2018-04-15 23:59:12] NOTICE[8340]: res_pjsip/pjsip_distributor.c:649 log_failed_request: Request ‘REGISTER’ from ‘“Server Room” sip:[email protected]’ failed for ‘192.41.100.160:5060’ (callid: [email protected]) - Failed to authenticate

The FreePBX Server IP is 192.41.100.240. The Grandstream FXO is on 192.41.100.31


The PBX is somehow treating the HT503 as NATed, even though it’s not. (Your public IP address should not be appearing in any SIP sent to the HT. Also, the log should show “Transmitting (no NAT) …” for such requests.

Your IP addresses are strange. I assume that the PBX is in South Africa, the router has public IP 197.184.153.199 and your LAN uses 192.41.100.0/24 as ‘private’ addresses, even though those are not RFC1918 addresses. If that’s correct, in Asterisk SIP settings, NAT Settings, Local Networks confirm that you have 192.41.100.0 / 24. If you change this, after Submit and Apply Config, also restart Asterisk (or reboot the server).

However, I doubt that this is causing the busy response. Log into the HT503 and confirm that the status page shows the FXO port shows Hook as idle and DND as no. Temporarily unplug the cord from the Line jack of the HT503 and connect it (the cord from the Panasonic) to a standard analog phone for testing. Confirm that you get a dial tone and can successfully call ext 102.

Finally, I don’t understand why the @112-1 is appearing in the To header (and presumably in the SIP URI). This might explain the busy response. Do you have some trunk settings not shown?

If you still have trouble, please post the log for the call setup including SIP trace with the INVITE. Also, all trunk settings and all non-default settings in the HT503.

Hi,

That 197.184.153.199 IP address you see, is that of my laptop’s ISP. My laptop connects into the LAN via VPN and has Linphone installed.

But on the inside on the LAN, the FXO’s IP address is 192.41.100.31 and FreePBX on 192.41.100.240. There is no firewall between those two. And, my laptop can call one of the Polycom SIP phones on 192.41.100.160, without a problem.

The HT503 shows Busy

When I plug a phone into that line, I get a dial tone and I can phone 102, though the dial tone isn’t exactly the same as a normal POTS line’s dial tone. I’m not sure if that plays a role?

Here’s the debug log while making a call to 102:

== Setting global variable ‘SIPDOMAIN’ to ‘192.41.100.240’
== Setting global variable ‘SIPDOMAIN’ to ‘192.41.100.240’
== Setting global variable ‘SIPDOMAIN’ to ‘192.41.100.240’
– Executing [102@from-internal:1] Macro(“PJSIP/114-0000016e”, “user-callerid,LIMIT,EXTERNAL,”) in new stack
– Executing [s@macro-user-callerid:1] Set(“PJSIP/114-0000016e”, “TOUCH_MONITOR=1523853069.431”) in new stack
– Executing [s@macro-user-callerid:2] Set(“PJSIP/114-0000016e”, “AMPUSER=114”) in new stack
– Executing [s@macro-user-callerid:3] GotoIf(“PJSIP/114-0000016e”, “0?report”) in new stack
– Executing [s@macro-user-callerid:4] ExecIf(“PJSIP/114-0000016e”, “1?Set(REALCALLERIDNUM=114)”) in new stack
– Executing [s@macro-user-callerid:5] Set(“PJSIP/114-0000016e”, “AMPUSER=114”) in new stack
– Executing [s@macro-user-callerid:6] GotoIf(“PJSIP/114-0000016e”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:7] Set(“PJSIP/114-0000016e”, “AMPUSERCIDNAME=Mariska”) in new stack
– Executing [s@macro-user-callerid:8] ExecIf(“PJSIP/114-0000016e”, “0?Set(__CIDMASQUERADING=TRUE)”) in new stack
– Executing [s@macro-user-callerid:9] GotoIf(“PJSIP/114-0000016e”, “0?report”) in new stack
– Executing [s@macro-user-callerid:10] Set(“PJSIP/114-0000016e”, “AMPUSERCID=114”) in new stack
– Executing [s@macro-user-callerid:11] Set(“PJSIP/114-0000016e”, “__DIAL_OPTIONS=HhTtr”) in new stack
– Executing [s@macro-user-callerid:12] Set(“PJSIP/114-0000016e”, “CALLERID(all)=“Mariska” <114>”) in new stack
– Executing [s@macro-user-callerid:13] GotoIf(“PJSIP/114-0000016e”, “0?limit”) in new stack
– Executing [s@macro-user-callerid:14] ExecIf(“PJSIP/114-0000016e”, “1?Set(GROUP(concurrency_limit)=114)”) in new stack
– Executing [s@macro-user-callerid:15] ExecIf(“PJSIP/114-0000016e”, “0?Set(CHANNEL(language)=)”) in new stack
– Executing [s@macro-user-callerid:16] NoOp(“PJSIP/114-0000016e”, “Macro Depth is 1”) in new stack
– Executing [s@macro-user-callerid:17] GotoIf(“PJSIP/114-0000016e”, “1?report2:macroerror”) in new stack
– Goto (macro-user-callerid,s,19)
– Executing [s@macro-user-callerid:19] GotoIf(“PJSIP/114-0000016e”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,37)
– Executing [s@macro-user-callerid:37] Set(“PJSIP/114-0000016e”, “CALLERID(number)=114”) in new stack
– Executing [s@macro-user-callerid:38] Set(“PJSIP/114-0000016e”, “CALLERID(name)=Mariska”) in new stack
– Executing [s@macro-user-callerid:39] GotoIf(“PJSIP/114-0000016e”, “0?cnum”) in new stack
– Executing [s@macro-user-callerid:40] Set(“PJSIP/114-0000016e”, “CDR(cnam)=Mariska”) in new stack
– Executing [s@macro-user-callerid:41] Set(“PJSIP/114-0000016e”, “CDR(cnum)=114”) in new stack
– Executing [s@macro-user-callerid:42] Set(“PJSIP/114-0000016e”, “CHANNEL(language)=en”) in new stack
– Executing [102@from-internal:2] Gosub(“PJSIP/114-0000016e”, “sub-record-check,s,1(out,102,dontcare)”) in new stack
– Executing [s@sub-record-check:1] GotoIf(“PJSIP/114-0000016e”, “0?initialized”) in new stack
– Executing [s@sub-record-check:2] Set(“PJSIP/114-0000016e”, “__REC_STATUS=INITIALIZED”) in new stack
– Executing [s@sub-record-check:3] Set(“PJSIP/114-0000016e”, “NOW=1523853069”) in new stack
– Executing [s@sub-record-check:4] Set(“PJSIP/114-0000016e”, “__DAY=16”) in new stack
– Executing [s@sub-record-check:5] Set(“PJSIP/114-0000016e”, “__MONTH=04”) in new stack
– Executing [s@sub-record-check:6] Set(“PJSIP/114-0000016e”, “__YEAR=2018”) in new stack
– Executing [s@sub-record-check:7] Set(“PJSIP/114-0000016e”, “__TIMESTR=20180416-063109”) in new stack
– Executing [s@sub-record-check:8] Set(“PJSIP/114-0000016e”, “__FROMEXTEN=114”) in new stack
– Executing [s@sub-record-check:9] Set(“PJSIP/114-0000016e”, “__MON_FMT=wav”) in new stack
– Executing [s@sub-record-check:10] NoOp(“PJSIP/114-0000016e”, “Recordings initialized”) in new stack
– Executing [s@sub-record-check:11] ExecIf(“PJSIP/114-0000016e”, “0?Set(ARG3=dontcare)”) in new stack
– Executing [s@sub-record-check:12] Set(“PJSIP/114-0000016e”, “REC_POLICY_MODE_SAVE=”) in new stack
– Executing [s@sub-record-check:13] ExecIf(“PJSIP/114-0000016e”, “0?Set(REC_STATUS=NO)”) in new stack
– Executing [s@sub-record-check:14] GotoIf(“PJSIP/114-0000016e”, “3?checkaction”) in new stack
– Goto (sub-record-check,s,17)
– Executing [s@sub-record-check:17] GotoIf(“PJSIP/114-0000016e”, “1?sub-record-check,out,1”) in new stack
– Goto (sub-record-check,out,1)
– Executing [out@sub-record-check:1] NoOp(“PJSIP/114-0000016e”, “Outbound Recording Check from 114 to 102”) in new stack
– Executing [out@sub-record-check:2] Set(“PJSIP/114-0000016e”, “RECMODE=dontcare”) in new stack
– Executing [out@sub-record-check:3] ExecIf(“PJSIP/114-0000016e”, “1?Goto(routewins)”) in new stack
– Goto (sub-record-check,out,7)
– Executing [out@sub-record-check:7] Gosub(“PJSIP/114-0000016e”, “recordcheck,1(dontcare,out,102)”) in new stack
– Executing [recordcheck@sub-record-check:1] NoOp(“PJSIP/114-0000016e”, “Starting recording check against dontcare”) in new stack
– Executing [recordcheck@sub-record-check:2] Goto(“PJSIP/114-0000016e”, “dontcare”) in new stack
– Goto (sub-record-check,recordcheck,3)
– Executing [recordcheck@sub-record-check:3] Return(“PJSIP/114-0000016e”, “”) in new stack
– Executing [out@sub-record-check:8] Return(“PJSIP/114-0000016e”, “”) in new stack
– Executing [102@from-internal:3] ExecIf(“PJSIP/114-0000016e”, “0 ?Set(CDR(accountcode)=)”) in new stack
– Executing [102@from-internal:4] Set(“PJSIP/114-0000016e”, “MOHCLASS=default”) in new stack
– Executing [102@from-internal:5] ExecIf(“PJSIP/114-0000016e”, “0?Set(TRUNKCIDOVERRIDE=114)”) in new stack
– Executing [102@from-internal:6] Set(“PJSIP/114-0000016e”, “_NODEST=”) in new stack
– Executing [102@from-internal:7] Macro(“PJSIP/114-0000016e”, “dialout-trunk,1,102,off”) in new stack
– Executing [s@macro-dialout-trunk:1] Set(“PJSIP/114-0000016e”, “DIAL_TRUNK=1”) in new stack
– Executing [s@macro-dialout-trunk:2] GosubIf(“PJSIP/114-0000016e”, “0?sub-pincheck,s,1()”) in new stack
– Executing [s@macro-dialout-trunk:3] ExecIf(“PJSIP/114-0000016e”, “0?Set(CALLERID(num)=114)”) in new stack
– Executing [s@macro-dialout-trunk:4] GotoIf(“PJSIP/114-0000016e”, “0?disabletrunk,1”) in new stack
– Executing [s@macro-dialout-trunk:5] Set(“PJSIP/114-0000016e”, “DIAL_NUMBER=102”) in new stack
– Executing [s@macro-dialout-trunk:6] Set(“PJSIP/114-0000016e”, “DIAL_TRUNK_OPTIONS=HhTtr”) in new stack
– Executing [s@macro-dialout-trunk:7] Set(“PJSIP/114-0000016e”, “OUTBOUND_GROUP=OUT_1”) in new stack
– Executing [s@macro-dialout-trunk:8] Set(“PJSIP/114-0000016e”, “DIAL_TRUNK_OPTIONS=T”) in new stack
– Executing [s@macro-dialout-trunk:9] GotoIf(“PJSIP/114-0000016e”, “1?nomax”) in new stack
– Goto (macro-dialout-trunk,s,11)
– Executing [s@macro-dialout-trunk:11] GotoIf(“PJSIP/114-0000016e”, “0?skipoutcid”) in new stack
– Executing [s@macro-dialout-trunk:12] Macro(“PJSIP/114-0000016e”, “outbound-callerid,1”) in new stack
– Executing [s@macro-outbound-callerid:1] NoOp(“PJSIP/114-0000016e”, “114”) in new stack
– Executing [s@macro-outbound-callerid:2] NoOp(“PJSIP/114-0000016e”, “”) in new stack
– Executing [s@macro-outbound-callerid:3] NoOp(“PJSIP/114-0000016e”, “off”) in new stack
– Executing [s@macro-outbound-callerid:4] ExecIf(“PJSIP/114-0000016e”, “0?Set(CALLERPRES(name-pres)=)”) in new stack
– Executing [s@macro-outbound-callerid:5] ExecIf(“PJSIP/114-0000016e”, “0?Set(CALLERPRES(num-pres)=)”) in new stack
– Executing [s@macro-outbound-callerid:6] ExecIf(“PJSIP/114-0000016e”, “0?Set(REALCALLERIDNUM=114)”) in new stack
– Executing [s@macro-outbound-callerid:7] GotoIf(“PJSIP/114-0000016e”, “1?normcid”) in new stack
– Goto (macro-outbound-callerid,s,11)
– Executing [s@macro-outbound-callerid:11] Set(“PJSIP/114-0000016e”, “USEROUTCID=“Mariska” <114>”) in new stack
– Executing [s@macro-outbound-callerid:12] Set(“PJSIP/114-0000016e”, “EMERGENCYCID=”) in new stack
– Executing [s@macro-outbound-callerid:13] Set(“PJSIP/114-0000016e”, “TRUNKOUTCID=114”) in new stack
– Executing [s@macro-outbound-callerid:14] GotoIf(“PJSIP/114-0000016e”, “1?trunkcid”) in new stack
– Goto (macro-outbound-callerid,s,19)
– Executing [s@macro-outbound-callerid:19] ExecIf(“PJSIP/114-0000016e”, “1?Set(CALLERID(all)=114)”) in new stack
– Executing [s@macro-outbound-callerid:20] ExecIf(“PJSIP/114-0000016e”, “1?Set(CALLERID(all)=“Mariska” <114>)”) in new stack
– Executing [s@macro-outbound-callerid:21] ExecIf(“PJSIP/114-0000016e”, “0?Set(CALLERID(all)=)”) in new stack
– Executing [s@macro-outbound-callerid:22] ExecIf(“PJSIP/114-0000016e”, “0?Set(CALLERPRES(name-pres)=prohib_passed_screen)”) in new stack
– Executing [s@macro-outbound-callerid:23] ExecIf(“PJSIP/114-0000016e”, “0?Set(CALLERPRES(num-pres)=prohib_passed_screen)”) in new stack
– Executing [s@macro-outbound-callerid:24] Set(“PJSIP/114-0000016e”, “CDR(outbound_cnum)=114”) in new stack
– Executing [s@macro-outbound-callerid:25] Set(“PJSIP/114-0000016e”, “CDR(outbound_cnam)=Mariska”) in new stack
– Executing [s@macro-dialout-trunk:13] GosubIf(“PJSIP/114-0000016e”, “1?sub-flp-1,s,1()”) in new stack
– Executing [s@sub-flp-1:1] ExecIf(“PJSIP/114-0000016e”, “1?Return()”) in new stack
– Executing [s@macro-dialout-trunk:14] Set(“PJSIP/114-0000016e”, “OUTNUM=102”) in new stack
– Executing [s@macro-dialout-trunk:15] Set(“PJSIP/114-0000016e”, “custom=SIP/114-1”) in new stack
– Executing [s@macro-dialout-trunk:16] ExecIf(“PJSIP/114-0000016e”, “0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)T)”) in new stack
– Executing [s@macro-dialout-trunk:17] ExecIf(“PJSIP/114-0000016e”, “0?Set(DIAL_TRUNK_OPTIONS=TM(confirm))”) in new stack
– Executing [s@macro-dialout-trunk:18] Macro(“PJSIP/114-0000016e”, “dialout-trunk-predial-hook,”) in new stack
– Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit(“PJSIP/114-0000016e”, “”) in new stack
– Executing [s@macro-dialout-trunk:19] GotoIf(“PJSIP/114-0000016e”, “0?skipcrm”) in new stack
– Executing [s@macro-dialout-trunk:20] Set(“PJSIP/114-0000016e”, “__CRM_DIRECTION=OUTBOUND”) in new stack
– Executing [s@macro-dialout-trunk:21] Set(“PJSIP/114-0000016e”, “__CRM_DESTINATION=102”) in new stack
– Executing [s@macro-dialout-trunk:22] Set(“PJSIP/114-0000016e”, “__CRM_SOURCE=114”) in new stack
– Executing [s@macro-dialout-trunk:23] AGI(“PJSIP/114-0000016e”, “sangomacrm.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/sangomacrm.agi
– <PJSIP/114-0000016e>AGI Script sangomacrm.agi completed, returning 0
– Executing [s@macro-dialout-trunk:24] Set(“PJSIP/114-0000016e”, “CHANNEL(hangup_handler_push)=crm-hangup,s,1”) in new stack
– Executing [s@macro-dialout-trunk:25] NoOp(“PJSIP/114-0000016e”, “CRM Finished”) in new stack
– Executing [s@macro-dialout-trunk:26] GotoIf(“PJSIP/114-0000016e”, “0?bypass,1”) in new stack
– Executing [s@macro-dialout-trunk:27] ExecIf(“PJSIP/114-0000016e”, “1?Set(CONNECTEDLINE(num,i)=102)”) in new stack
– Executing [s@macro-dialout-trunk:28] ExecIf(“PJSIP/114-0000016e”, “1?Set(CONNECTEDLINE(name,i)=CID:114)”) in new stack
– Executing [s@macro-dialout-trunk:29] ExecIf(“PJSIP/114-0000016e”, “0?Set(CONNECTEDLINE(name,i)=CID:(Hidden)114)”) in new stack
– Executing [s@macro-dialout-trunk:30] GotoIf(“PJSIP/114-0000016e”, “0?customtrunk”) in new stack
– Executing [s@macro-dialout-trunk:31] Dial(“PJSIP/114-0000016e”, “SIP/114-1/102@112-1,300,T”) in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
– Called SIP/114-1/102@112-1
– Got SIP response 486 “Busy Here” back from 192.41.100.31:5062
– SIP/114-1-00000040 is busy
== Everyone is busy/congested at this time (1:1/0/0)
– Executing [s@macro-dialout-trunk:32] NoOp(“PJSIP/114-0000016e”, “Dial failed for some reason with DIALSTATUS = BUSY and HANGUPCAUSE = 17”) in new stack
– Executing [s@macro-dialout-trunk:33] GotoIf(“PJSIP/114-0000016e”, “0?continue,1:s-BUSY,1”) in new stack
– Goto (macro-dialout-trunk,s-BUSY,1)
– Executing [s-BUSY@macro-dialout-trunk:1] NoOp(“PJSIP/114-0000016e”, “Dial failed due to trunk reporting BUSY - giving up”) in new stack
– Executing [s-BUSY@macro-dialout-trunk:2] PlayTones(“PJSIP/114-0000016e”, “busy”) in new stack
– Executing [s-BUSY@macro-dialout-trunk:3] Busy(“PJSIP/114-0000016e”, “20”) in new stack
== Spawn extension (macro-dialout-trunk, s-BUSY, 3) exited non-zero on ‘PJSIP/114-0000016e’ in macro ‘dialout-trunk’
== Spawn extension (from-internal, 102, 7) exited non-zero on ‘PJSIP/114-0000016e’
– Executing [h@from-internal:1] Macro(“PJSIP/114-0000016e”, “hangupcall”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“PJSIP/114-0000016e”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)
– Executing [s@macro-hangupcall:3] ExecIf(“PJSIP/114-0000016e”, “0?Set(CDR(recordingfile)=)”) in new stack
– Executing [s@macro-hangupcall:4] NoOp(“PJSIP/114-0000016e”, " monior file= ") in new stack
– Executing [s@macro-hangupcall:5] AGI(“PJSIP/114-0000016e”, “attendedtransfer-rec-restart.php,”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/attendedtransfer-rec-restart.php
– <PJSIP/114-0000016e>AGI Script attendedtransfer-rec-restart.php completed, returning 0
– Executing [s@macro-hangupcall:6] Hangup(“PJSIP/114-0000016e”, “”) in new stack
== Spawn extension (macro-hangupcall, s, 6) exited non-zero on ‘PJSIP/114-0000016e’ in macro ‘hangupcall’
== Spawn extension (from-internal, h, 1) exited non-zero on ‘PJSIP/114-0000016e’
– PJSIP/114-0000016e Internal Gosub(crm-hangup,s,1) start
– Executing [s@crm-hangup:1] NoOp(“PJSIP/114-0000016e”, “Sending Hangup to CRM”) in new stack
– Executing [s@crm-hangup:2] NoOp(“PJSIP/114-0000016e”, “HANGUP CAUSE: 17”) in new stack
– Executing [s@crm-hangup:3] ExecIf(“PJSIP/114-0000016e”, “0?Set(__CRM_VOICEMAIL=)”) in new stack
– Executing [s@crm-hangup:4] NoOp(“PJSIP/114-0000016e”, “MASTER CHANNEL: 1523853069.431 = 1523853069.431”) in new stack
– Executing [s@crm-hangup:5] GotoIf(“PJSIP/114-0000016e”, “0?return”) in new stack
– Executing [s@crm-hangup:6] Set(“PJSIP/114-0000016e”, “__CRM_HANGUP=1”) in new stack
– Executing [s@crm-hangup:7] AGI(“PJSIP/114-0000016e”, “sangomacrm.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/sangomacrm.agi
– <PJSIP/114-0000016e>AGI Script sangomacrm.agi completed, returning 0
– Executing [s@crm-hangup:8] Return(“PJSIP/114-0000016e”, “”) in new stack
== Spawn extension (from-internal, h, 1) exited non-zero on ‘PJSIP/114-0000016e’
– PJSIP/114-0000016e Internal Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=

I will attempt to upload the screenshots again, seems all of them didn’t upload.

The non-standard dial tone should not be a problem.

I’m guessing that because you don’t have the FXS port configured, the lack of registration is kicking the device into ‘life line’ mode and disconnecting the FXO port. In the HT Advanced Settings, try setting Life Line Mode to Always Disconnected and see whether the FXO port now shows idle (and if so, whether you can call). If not, try setting up an extension and registering the FXS port.

Hi Steward,

I don’t need to use the FXS ports on these devices, since the phones will be in another building, some on Grandstream HT802 FXS devices, and some new Yealink SIP phones will be added.

I did try the suggestion for the Life Line, but that didn’t seem to help.
The FXO is in idle mode, but still cannot call 102 or 127.

So, I created a new extension in Asterisk, 412 (since 112 is already being used in the new building for this person), it’s registered on the FXS, but even that didn’t help

After fixing the Life Line setting, did the error change from 486 to something else?

I don’t understand why the number in the dial command had @112-1 appended. Is 112 mentioned anywhere in the phone, extension, route or trunk config?

Ok, so it seems that the particular extension on the Panasonic PBX that we tried to dial out on, is a “digital line” and not an analogue line, and I guess the Gandstream FXO isn’t compatible with it. We’re having the lines swapped around today and will see how it goes.

But in my first post in this thread, suspecting such a problem, I asked you to connect a standard analog phone to the cord feeding the HT503 and confirm that you get dial tone and can call 102. You replied:

Can you explain the apparent discrepancy? I would assume that a “digital line” would not work with a regular analog phone and if it did, it should work with the HT503 also.

Hi Steward,

Yes, sorry about the confusing part. By “phone”, I meant an analogue switchboard phone - which turned out to be a “digital switchboard” phone. This is an ancient Analogue switchboard with 2 wire PSTN phones, and 4-wire digital PSTN phones to operate the switchboard.

But, what this mean, is that as soon as I used on of the 2-wire analogue ports, I could dial out :wink:

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