Analog card cannot call out

My last project before going live.
Installed the last FreePbx distro a couple weeks ago with Asterisk 14.
My Rhino analog 4 fxo card appears to be recognized and configured, but I cannot call out or received any calls. I am certain I’m using the correct phone jack on the card and my wall jack pstn line works with an old fashioned analog phone.

Below I have the cli trace of a call out. The outbound call flow seems to hang, never get a ring on the phone number I’m calling, eventually I hangup my softphone.
My config files are after the call trace.
Call in shows nothing on the cli.

=========================================================================
Connected to Asterisk 14.7.5 currently running on freepbx (pid = 2302)
freepbxCLI> core set verbose 5
Console verbose was OFF and is now 5.
freepbx
CLI> dahdi show channels
Chan Extension Context Language MOH Interpret Blocked In Service Description
pseudo default default Yes
1 from-analog en default Yes
2 from-analog en default Yes
3 from-analog en default Yes
4 from-analog en default Yes
freepbxCLI> dahdi show status
Description Alarms IRQ bpviol CRC Fra Codi Options LBO
Rhino RCB8FXX/1 OK 0 0 0 CAS Unk 0 db (CSU)/0-133 feet (DSX-1)
freepbx
CLI>

Connected to Asterisk 14.7.5 currently running on freepbx (pid = 2302)
freepbx*CLI> core set verbose 6
Console verbose was OFF and is now 6.
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
> 0x7fbff000acf0 – Strict RTP learning after remote address set to: 192.168.0.147:18684
– Executing [[email protected]:1] Macro(“SIP/103-00000001”, “user-callerid,LIMIT”) in new stack
– Executing [[email protected]:1] Set(“SIP/103-00000001”, “TOUCH_MONITOR=1521816334.2”) in new stack
– Executing [[email protected]:2] Set(“SIP/103-00000001”, “AMPUSER=103”) in new stack
– Executing [[email protected]:3] GotoIf(“SIP/103-00000001”, “0?report”) in new stack
– Executing [[email protected]:4] ExecIf(“SIP/103-00000001”, “1?Set(REALCALLERIDNUM=103)”) in new stack
– Executing [[email protected]:5] Set(“SIP/103-00000001”, “AMPUSER=103”) in new stack
– Executing [[email protected]:6] GotoIf(“SIP/103-00000001”, “0?limit”) in new stack
– Executing [[email protected]:7] Set(“SIP/103-00000001”, “AMPUSERCIDNAME=Front Desk”) in new stack
– Executing [[email protected]:8] ExecIf(“SIP/103-00000001”, “0?Set(__CIDMASQUERADING=TRUE)”) in new stack
– Executing [[email protected]:9] GotoIf(“SIP/103-00000001”, “0?report”) in new stack
– Executing [[email protected]:10] Set(“SIP/103-00000001”, “AMPUSERCID=103”) in new stack
– Executing [[email protected]:11] Set(“SIP/103-00000001”, “__DIAL_OPTIONS=HhTtr”) in new stack
– Executing [[email protected]:12] Set(“SIP/103-00000001”, “CALLERID(all)=“Front Desk” <103>”) in new stack
– Executing [[email protected]:13] GotoIf(“SIP/103-00000001”, “0?limit”) in new stack
– Executing [[email protected]:14] ExecIf(“SIP/103-00000001”, “1?Set(GROUP(concurrency_limit)=103)”) in new stack
– Executing [[email protected]:15] ExecIf(“SIP/103-00000001”, “0?Set(CHANNEL(language)=)”) in new stack
– Executing [[email protected]:16] NoOp(“SIP/103-00000001”, “Macro Depth is 1”) in new stack
– Executing [[email protected]-callerid:17] GotoIf(“SIP/103-00000001”, “1?report2:macroerror”) in new stack
– Goto (macro-user-callerid,s,19)
– Executing [[email protected]:19] GotoIf(“SIP/103-00000001”, “1?continue”) in new stack
– Goto (macro-user-callerid,s,37)
– Executing [[email protected]:37] Set(“SIP/103-00000001”, “CALLERID(number)=103”) in new stack
– Executing [[email protected]:38] Set(“SIP/103-00000001”, “CALLERID(name)=Front Desk”) in new stack
– Executing [[email protected]:39] GotoIf(“SIP/103-00000001”, “0?cnum”) in new stack
– Executing [[email protected]:40] Set(“SIP/103-00000001”, “CDR(cnam)=Front Desk”) in new stack
– Executing [[email protected]:41] Set(“SIP/103-00000001”, “CDR(cnum)=103”) in new stack
– Executing [[email protected]:42] Set(“SIP/103-00000001”, “CHANNEL(language)=en”) in new stack
– Executing [[email protected]:2] Set(“SIP/103-00000001”, “ROUTEUSER=103”) in new stack
– Executing [[email protected]:3] Set(“SIP/103-00000001”, “ROUTEUSER=103”) in new stack
– Executing [[email protected]:4] GotoIf(“SIP/103-00000001”, “1?notblind”) in new stack
– Goto (from-internal,5937584,7)
– Executing [[email protected]:7] GotoIf(“SIP/103-00000001”, “1?restrictedroute-453e406dcee4d18174d4ff623f52dcd8,5937584,2:outbound-allroutes,5937584,2”) in new stack
– Goto (restrictedroute-453e406dcee4d18174d4ff623f52dcd8,5937584,2)
– Executing [[email protected]:2] Gosub(“SIP/103-00000001”, “sub-record-check,s,1(out,5937584,dontcare)”) in new stack
– Executing [[email protected]:1] GotoIf(“SIP/103-00000001”, “0?initialized”) in new stack
– Executing [[email protected]:2] Set(“SIP/103-00000001”, “__REC_STATUS=INITIALIZED”) in new stack
– Executing [[email protected]:3] Set(“SIP/103-00000001”, “NOW=1521816334”) in new stack
– Executing [[email protected]:4] Set(“SIP/103-00000001”, “__DAY=23”) in new stack
– Executing [[email protected]:5] Set(“SIP/103-00000001”, “__MONTH=03”) in new stack
– Executing [[email protected]:6] Set(“SIP/103-00000001”, “__YEAR=2018”) in new stack
– Executing [[email protected]:7] Set(“SIP/103-00000001”, “__TIMESTR=20180323-144534”) in new stack
– Executing [[email protected]:8] Set(“SIP/103-00000001”, “__FROMEXTEN=103”) in new stack
– Executing [[email protected]:9] Set(“SIP/103-00000001”, “__MON_FMT=wav”) in new stack
– Executing [[email protected]:10] NoOp(“SIP/103-00000001”, “Recordings initialized”) in new stack
– Executing [[email protected]:11] ExecIf(“SIP/103-00000001”, “0?Set(ARG3=dontcare)”) in new stack
– Executing [[email protected]:12] Set(“SIP/103-00000001”, “REC_POLICY_MODE_SAVE=”) in new stack
– Executing [[email protected]:13] ExecIf(“SIP/103-00000001”, “0?Set(REC_STATUS=NO)”) in new stack
– Executing [[email protected]:14] GotoIf(“SIP/103-00000001”, “3?checkaction”) in new stack
– Goto (sub-record-check,s,17)
– Executing [[email protected]:17] GotoIf(“SIP/103-00000001”, “1?sub-record-check,out,1”) in new stack
– Goto (sub-record-check,out,1)
– Executing [[email protected]:1] NoOp(“SIP/103-00000001”, “Outbound Recording Check from 103 to 5937584”) in new stack
– Executing [[email protected]:2] Set(“SIP/103-00000001”, “RECMODE=dontcare”) in new stack
– Executing [[email protected]:3] ExecIf(“SIP/103-00000001”, “1?Goto(routewins)”) in new stack
– Goto (sub-record-check,out,7)
– Executing [[email protected]:7] Gosub(“SIP/103-00000001”, “recordcheck,1(dontcare,out,5937584)”) in new stack
– Executing [[email protected]:1] NoOp(“SIP/103-00000001”, “Starting recording check against dontcare”) in new stack
– Executing [[email protected]:2] Goto(“SIP/103-00000001”, “dontcare”) in new stack
– Goto (sub-record-check,recordcheck,3)
– Executing [[email protected]:3] Return(“SIP/103-00000001”, “”) in new stack
– Executing [[email protected]:8] Return(“SIP/103-00000001”, “”) in new stack
– Executing [[email protected]:3] ExecIf(“SIP/103-00000001”, “0 ?Set(CDR(accountcode)=)”) in new stack
– Executing [[email protected]:4] Set(“SIP/103-00000001”, “MOHCLASS=default”) in new stack
– Executing [[email protected]:5] Set(“SIP/103-00000001”, “_NODEST=”) in new stack
– Executing [[email protected]:6] Macro(“SIP/103-00000001”, “dialout-trunk,6,5937584,off”) in new stack
– Executing [[email protected]:1] Set(“SIP/103-00000001”, “DIAL_TRUNK=6”) in new stack
– Executing [[email protected]:2] GosubIf(“SIP/103-00000001”, “0?sub-pincheck,s,1()”) in new stack
– Executing [[email protected]:3] ExecIf(“SIP/103-00000001”, “0?Set(CALLERID(num)=103)”) in new stack
– Executing [[email protected]:4] GotoIf(“SIP/103-00000001”, “0?disabletrunk,1”) in new stack
– Executing [[email protected]:5] Set(“SIP/103-00000001”, “DIAL_NUMBER=5937584”) in new stack
– Executing [[email protected]:6] Set(“SIP/103-00000001”, “DIAL_TRUNK_OPTIONS=HhTtr”) in new stack
– Executing [[email protected]:7] Set(“SIP/103-00000001”, “OUTBOUND_GROUP=OUT_6”) in new stack
– Executing [[email protected]:8] Set(“SIP/103-00000001”, “DIAL_TRUNK_OPTIONS=T”) in new stack
– Executing [[email protected]:9] GotoIf(“SIP/103-00000001”, “0?nomax”) in new stack
– Executing [[email protected]:10] GotoIf(“SIP/103-00000001”, “0?chanfull”) in new stack
– Executing [[email protected]:11] GotoIf(“SIP/103-00000001”, “0?skipoutcid”) in new stack
– Executing [[email protected]:12] Macro(“SIP/103-00000001”, “outbound-callerid,6”) in new stack
– Executing [[email protected]:1] NoOp(“SIP/103-00000001”, “103”) in new stack
– Executing [[email protected]:2] NoOp(“SIP/103-00000001”, “”) in new stack
– Executing [[email protected]:3] NoOp(“SIP/103-00000001”, “off”) in new stack
– Executing [[email protected]:4] ExecIf(“SIP/103-00000001”, “0?Set(CALLERPRES(name-pres)=)”) in new stack
– Executing [[email protected]:5] ExecIf(“SIP/103-00000001”, “0?Set(CALLERPRES(num-pres)=)”) in new stack
– Executing [[email protected]:6] ExecIf(“SIP/103-00000001”, “0?Set(REALCALLERIDNUM=103)”) in new stack
– Executing [[email protected]:7] GotoIf(“SIP/103-00000001”, “1?normcid”) in new stack
– Goto (macro-outbound-callerid,s,11)
– Executing [[email protected]:11] Set(“SIP/103-00000001”, “USEROUTCID=”) in new stack
– Executing [[email protected]:12] Set(“SIP/103-00000001”, “EMERGENCYCID=”) in new stack
– Executing [[email protected]:13] Set(“SIP/103-00000001”, “TRUNKOUTCID=DrsBurkeyHundt<7575648182>”) in new stack
– Executing [[email protected]:14] GotoIf(“SIP/103-00000001”, “1?trunkcid”) in new stack
– Goto (macro-outbound-callerid,s,19)
– Executing [[email protected]:19] ExecIf(“SIP/103-00000001”, “1?Set(CALLERID(all)=DrsBurkeyHundt<7575648182>)”) in new stack
– Executing [[email protected]:20] ExecIf(“SIP/103-00000001”, “0?Set(CALLERID(all)=)”) in new stack
– Executing [[email protected]:21] ExecIf(“SIP/103-00000001”, “0?Set(CALLERID(all)=)”) in new stack
– Executing [[email protected]:22] ExecIf(“SIP/103-00000001”, “0?Set(CALLERPRES(name-pres)=prohib_passed_screen)”) in new stack
– Executing [[email protected]:23] ExecIf(“SIP/103-00000001”, “0?Set(CALLERPRES(num-pres)=prohib_passed_screen)”) in new stack
– Executing [[email protected]:24] Set(“SIP/103-00000001”, “CDR(outbound_cnum)=7575648182”) in new stack
– Executing [[email protected]:25] Set(“SIP/103-00000001”, “CDR(outbound_cnam)=DrsBurkeyHundt”) in new stack
– Executing [[email protected]:13] GosubIf(“SIP/103-00000001”, “0?sub-flp-6,s,1()”) in new stack
– Executing [[email protected]:14] Set(“SIP/103-00000001”, “OUTNUM=5937584”) in new stack
– Executing [[email protected]:15] Set(“SIP/103-00000001”, “custom=DAHDI/2”) in new stack
– Executing [[email protected]:16] ExecIf(“SIP/103-00000001”, “0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^default)T)”) in new stack
– Executing [[email protected]:17] ExecIf(“SIP/103-00000001”, “0?Set(DIAL_TRUNK_OPTIONS=TM(confirm))”) in new stack
– Executing [[email protected]:18] Macro(“SIP/103-00000001”, “dialout-trunk-predial-hook,”) in new stack
– Executing [[email protected]:1] MacroExit(“SIP/103-00000001”, “”) in new stack
– Executing [[email protected]:19] GotoIf(“SIP/103-00000001”, “0?skipcrm”) in new stack
– Executing [[email protected]:20] Set(“SIP/103-00000001”, “__CRM_DIRECTION=OUTBOUND”) in new stack
– Executing [[email protected]:21] Set(“SIP/103-00000001”, “__CRM_DESTINATION=5937584”) in new stack
– Executing [[email protected]:22] Set(“SIP/103-00000001”, “__CRM_SOURCE=103”) in new stack
– Executing [[email protected]:23] AGI(“SIP/103-00000001”, “sangomacrm.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/sangomacrm.agi
– <SIP/103-00000001>AGI Script sangomacrm.agi completed, returning 0
– Executing [[email protected]:24] Set(“SIP/103-00000001”, “CHANNEL(hangup_handler_push)=crm-hangup,s,1”) in new stack
– Executing [[email protected]:25] NoOp(“SIP/103-00000001”, “CRM Finished”) in new stack
– Executing [[email protected]:26] GotoIf(“SIP/103-00000001”, “0?bypass,1”) in new stack
– Executing [[email protected]:27] ExecIf(“SIP/103-00000001”, “1?Set(CONNECTEDLINE(num,i)=5937584)”) in new stack
– Executing [[email protected]:28] ExecIf(“SIP/103-00000001”, “1?Set(CONNECTEDLINE(name,i)=CID:7575648182)”) in new stack
– Executing [[email protected]:29] ExecIf(“SIP/103-00000001”, “0?Set(CONNECTEDLINE(name,i)=CID:(Hidden)7575648182)”) in new stack
– Executing [[email protected]:30] GotoIf(“SIP/103-00000001”, “0?customtrunk”) in new stack
– Executing [[email protected]:31] Dial(“SIP/103-00000001”, “DAHDI/2/5937584,300,Tb(func-apply-sipheaders^s^1)”) in new stack
– DAHDI/2-1 Internal Gosub(func-apply-sipheaders,s,1) start
– Executing [[email protected]:1] ExecIf(“DAHDI/2-1”, “0?Set(CHANNEL(hangup_handler_push)=crm-hangup,s,1)”) in new stack
– Executing [[email protected]:2] NoOp(“DAHDI/2-1”, “Applying SIP Headers to channel”) in new stack
– Executing [[email protected]:3] Set(“DAHDI/2-1”, “SIPHEADERKEYS=”) in new stack
– Executing [[email protected]:4] While(“DAHDI/2-1”, “0”) in new stack
– Jumping to priority 8
– Executing [[email protected]:9] Return(“DAHDI/2-1”, “”) in new stack
== Spawn extension (from-analog, 5937584, 1) exited non-zero on ‘DAHDI/2-1’
– DAHDI/2-1 Internal Gosub(func-apply-sipheaders,s,1) complete GOSUB_RETVAL=
– Called DAHDI/2/5937584
– DAHDI/2-1 answered SIP/103-00000001
– Channel DAHDI/2-1 joined ‘simple_bridge’ basic-bridge <1a92621c-4f45-44d2-acd7-9d13d789be8c>
– Channel SIP/103-00000001 joined ‘simple_bridge’ basic-bridge <1a92621c-4f45-44d2-acd7-9d13d789be8c>
– Channel SIP/103-00000001 left ‘simple_bridge’ basic-bridge <1a92621c-4f45-44d2-acd7-9d13d789be8c>
== Spawn extension (macro-dialout-trunk, s, 31) exited non-zero on ‘SIP/103-00000001’ in macro ‘dialout-trunk’
== Spawn extension (restrictedroute-453e406dcee4d18174d4ff623f52dcd8, 5937584, 6) exited non-zero on ‘SIP/103-00000001’
– Executing [[email protected]:1] Hangup(“SIP/103-00000001”, “”) in new stack
== Spawn extension (restrictedroute-453e406dcee4d18174d4ff623f52dcd8, h, 1) exited non-zero on ‘SIP/103-00000001’
– SIP/103-00000001 Internal Gosub(crm-hangup,s,1) start
– Executing [[email protected]:1] NoOp(“SIP/103-00000001”, “Sending Hangup to CRM”) in new stack
– Executing [[email protected]:2] NoOp(“SIP/103-00000001”, “HANGUP CAUSE: 16”) in new stack
– Executing [[email protected]:3] ExecIf(“SIP/103-00000001”, “0?Set(__CRM_VOICEMAIL=)”) in new stack
– Executing [[email protected]:4] NoOp(“SIP/103-00000001”, “MASTER CHANNEL: 1521816334.2 = 1521816334.2”) in new stack
– Executing [[email protected]:5] GotoIf(“SIP/103-00000001”, “0?return”) in new stack
– Executing [[email protected]:6] Set(“SIP/103-00000001”, “__CRM_HANGUP=1”) in new stack
– Executing [[email protected]:7] AGI(“SIP/103-00000001”, “sangomacrm.agi”) in new stack
– Launched AGI Script /var/lib/asterisk/agi-bin/sangomacrm.agi
– Channel DAHDI/2-1 left ‘simple_bridge’ basic-bridge <1a92621c-4f45-44d2-acd7-9d13d789be8c>
– Hanging up on ‘DAHDI/2-1’
– Hungup ‘DAHDI/2-1’
– <SIP/103-00000001>AGI Script sangomacrm.agi completed, returning 0
– Executing [[email protected]:8] Return(“SIP/103-00000001”, “”) in new stack
== Spawn extension (restrictedroute-453e406dcee4d18174d4ff623f52dcd8, h, 1) exited non-zero on ‘SIP/103-00000001’
– SIP/103-00000001 Internal Gosub(crm-hangup,s,1) complete GOSUB_RETVAL=

Dahdi-chabnnels.conf
; Autogenerated by /usr/sbin/dahdi_genconf on Thu Mar 22 20:24:04 2018
; If you edit this file and execute /usr/sbin/dahdi_genconf again,
; your manual changes will be LOST.
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;

chan_dahdi_groups.conf
;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. ;
;--------------------------------------------------------------------------------;
; For information on adding additional paramaters to this file, please visit the ;
; FreePBX.org wiki page, or ask on IRC. This file was created by the new FreePBX ;
; BMO - Big Module Object. Any similarity in naming with BMO from Adventure Time ;
; is totally deliberate. ;
;--------------------------------------------------------------------------------;

signalling=fxs_ks
context=from-analog
group=0
channel=>1

signalling=fxs_ks
context=from-analog
group=0
channel=>2

signalling=fxs_ks
context=from-analog
group=0
channel=>3

signalling=fxs_ks
context=from-analog
group=0
channel=>4

chan_dahdi_general_custom.conf - is blank

chan_dahdi_general.conf
;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. ;
;--------------------------------------------------------------------------------;
; For information on adding additional paramaters to this file, please visit the ;
; FreePBX.org wiki page, or ask on IRC. This file was created by the new FreePBX ;
; BMO - Big Module Object. Any similarity in naming with BMO from Adventure Time ;
; is totally deliberate. ;
;--------------------------------------------------------------------------------;

chan_dahdi_channels_custom.conf is blank

chan_dahdi_additional.conf
;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. ;
;--------------------------------------------------------------------------------;
; For information on adding additional paramaters to this file, please visit the ;
; FreePBX.org wiki page, or ask on IRC. This file was created by the new FreePBX ;
; BMO - Big Module Object. Any similarity in naming with BMO from Adventure Time ;
; is totally deliberate. ;
;--------------------------------------------------------------------------------;

chan_dahdi.conf
;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. ;
;--------------------------------------------------------------------------------;
; For information on adding additional paramaters to this file, please visit the ;
; FreePBX.org wiki page, or ask on IRC. This file was created by the new FreePBX ;
; BMO - Big Module Object. Any similarity in naming with BMO from Adventure Time ;
; is totally deliberate. ;
;--------------------------------------------------------------------------------;
[general]

; generated by module
#include chan_dahdi_general.conf

; for user additions not provided by module
#include chan_dahdi_general_custom.conf

[channels]
language=en
busydetect=yes
busycount=10
usecallerid=yes
callwaiting=yes
usecallingpres=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
echotraining=no
immediate=no
faxdetect=no
rxgain=0.0
txgain=0.0

; for user additions not provided by module
#include chan_dahdi_channels_custom.conf

; include dahdi groups defined by DAHDI module of FreePBX
#include chan_dahdi_groups.conf

; include dahdi extensions defined in FreePBX
#include chan_dahdi_additional.conf

FreePbx DAHDI CHannel DIDs show
Channel
Description
DID
1 FXO1 7575648182
2 FXO2 7575648182
3 FXO3 7575648182
4 FXO4 7575648182

Trunk Dahdi2 trunk goes out “Analog Channel 2” as selected by available options in FreePbx

You have all 4 ports on the same group, group 0, so unless you have each of all 4 ports connected to a POTS line, the card might be selecting a port that is not actually connected.

In FreePbx, I assign dahdi dids by the channel numbers even though they are in the same group. Then I have/use the trunks defined as indiv channels. So other than the conf file, my dial plans, trunks, dids don’t use group number.

When I call in to the card via the dahdi did, I see nothing in the cli. Inbound call just rings, no pickup or fast busy.

I might be wrong but the DID for dahdi analog channels is not intended for outbound but inbound. In order to get outbound working, you need to set the group correctly, that is if you have all 4 ports in the same group but only one port is actually connected, you will have 3 out of 4 outbound calls not working, if config is default (round-robin)
For incoming, you should at least see a line in the asterisk log that goes something like this: Starting simple switch on DAHDI
If you are not getting that even after correctly configuring the card and the port groups, maybe you don’t have an ANY/ANY inbound route. Start by creating one and re-check.

Thanks, I’ll check both in and out.
I do have an any/any did, which is my only did. I don’t see anything when I call in which is odd…
I’ll double check the dahadi oubound but pretty sure I have each fxo port assigned a channel name separately, even though they are all group zero.
Just wierd nothing in the cli during the inbound call.

Again, dahdi did channel and channel groups have nothing to do one with the other

1 Like

Yes, I do have them configured separately.
I’ll have to keep tinkering.

Ooops.
It seems regardless of where I physically have the two FXO daughter cards mounted onto the analog card, the resulting FXO channels will be labeled 1-4.
Once I find out who put my two FXO modules on the other end of my card, they are gonna get it! :roll_eyes:

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