Here is the deal, I have FreePBX 2.11.0.9, Asterisk 11.4, dahdi 2.6.2, wanpipe 7.0.3. I am using a Sangoma A200 FXO card and have 7 POTS lines from Verizon (New Jersey).
I have a DAHDI channel setup (g0) and it has the 6 lines in it. The last DAHDI group (g63) is just to segregate an empty channel, and DAHDI group (g62) is a line I want to always keep open for inbound calls in the event the other 5 are in use for outbound.
Everything seems to work, except that I don’t get any inbound CID. I have put the lines in a CID-enabled analog phone outside of FreePBX and have verified CID w/name does work and is displayed on the phones. All of the lines are clear, and plenty loud on both ends.
When I get an inbound call this is what comes across the Asterisk CLI:
[2013-07-17 13:22:59] VERBOSE[22378][C-0000001d] sig_analog.c: – Starting simple switch on ‘DAHDI/6-1’
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@from-analog:1] NoOp(“DAHDI/6-1”, "Entering from-dahdi with DID == ") in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@from-analog:2] Ringing(“DAHDI/6-1”, “”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@from-analog:3] Set(“DAHDI/6-1”, “DID=s”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@from-analog:4] NoOp(“DAHDI/6-1”, “DID is now s”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@from-analog:5] GotoIf(“DAHDI/6-1”, “1?dahdiok:checkzap”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Goto (from-analog,s,9)
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@from-analog:9] NoOp(“DAHDI/6-1”, “Is a DAHDi Channel”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@from-analog:10] Set(“DAHDI/6-1”, “CHAN=6-1”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@from-analog:11] Set(“DAHDI/6-1”, “CHAN=6”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@from-analog:12] Macro(“DAHDI/6-1”, “from-dahdi-6,s,1”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@macro-from-dahdi-6:1] NoOp(“DAHDI/6-1”, “Entering macro-from-dahdi-6 with DID = s and setting to: 7326711073”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@macro-from-dahdi-6:2] Set(“DAHDI/6-1”, “__FROM_DID=7326711073”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@macro-from-dahdi-6:3] Goto(“DAHDI/6-1”, “from-trunk,7326711073,1”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Goto (from-trunk,7326711073,1)
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] app_macro.c: == Channel ‘DAHDI/6-1’ jumping out of macro ‘from-dahdi-6’
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [7326711073@from-trunk:1] NoOp(“DAHDI/6-1”, “Catch-All DID Match - Found 7326711073 - You probably want a DID for this.”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [7326711073@from-trunk:2] Goto(“DAHDI/6-1”, “ext-did,s,1”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Goto (ext-did,s,1)
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ext-did:1] ExecIf(“DAHDI/6-1”, “0?Set(__FROM_DID=s)”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ext-did:2] Gosub(“DAHDI/6-1”, “app-blacklist-check,s,1()”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@app-blacklist-check:1] GotoIf(“DAHDI/6-1”, “0?blacklisted”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@app-blacklist-check:2] Set(“DAHDI/6-1”, “CALLED_BLACKLIST=1”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@app-blacklist-check:3] Return(“DAHDI/6-1”, “”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ext-did:3] Set(“DAHDI/6-1”, “CDR(did)=7326711073”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ext-did:4] ExecIf(“DAHDI/6-1”, “1 ?Set(CALLERID(name)=)”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ext-did:5] Set(“DAHDI/6-1”, “__CALLINGPRES_SV=allowed_not_screened”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ext-did:6] Set(“DAHDI/6-1”, “CALLERPRES()=allowed_not_screened”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ext-did:7] Goto(“DAHDI/6-1”, “timeconditions,1,1”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Goto (timeconditions,1,1)
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [1@timeconditions:1] GotoIfTime(“DAHDI/6-1”, “10:00-19:00,mon-fri,1-31,jan-dec?truestate”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Goto (timeconditions,1,7)
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [1@timeconditions:7] GotoIf(“DAHDI/6-1”, “0?falsegoto”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [1@timeconditions:8] ExecIf(“DAHDI/6-1”, “0?Set(DB(TC/1)=)”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [1@timeconditions:9] GotoIf(“DAHDI/6-1”, “1?ivr-1,s,1”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Goto (ivr-1,s,1)
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:1] Set(“DAHDI/6-1”, “TIMEOUT_LOOPCOUNT=0”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:2] Set(“DAHDI/6-1”, “INVALID_LOOPCOUNT=0”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:3] Set(“DAHDI/6-1”, “_IVR_CONTEXT_ivr-1=”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:4] Set(“DAHDI/6-1”, “_IVR_CONTEXT=ivr-1”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:5] Set(“DAHDI/6-1”, “__IVR_RETVM=”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:6] GotoIf(“DAHDI/6-1”, “0?skip”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:7] Answer(“DAHDI/6-1”, “”) in new stack
[2013-07-17 13:23:01] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:8] Wait(“DAHDI/6-1”, “1”) in new stack
[2013-07-17 13:23:01] WARNING[22378][C-0000001d] sig_analog.c: Ring/Off-hook in strange state 6 on channel 6
[2013-07-17 13:23:02] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:9] Set(“DAHDI/6-1”, “IVR_MSG=custom/PowersportsOpeningGreeting”) in new stack
[2013-07-17 13:23:02] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:10] Set(“DAHDI/6-1”, “TIMEOUT(digit)=3”) in new stack
[2013-07-17 13:23:02] VERBOSE[22378][C-0000001d] func_timeout.c: – Digit timeout set to 3.000
[2013-07-17 13:23:02] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:11] ExecIf(“DAHDI/6-1”, “1?Background(custom/PowersportsOpeningGreeting)”) in new stack
[2013-07-17 13:23:02] VERBOSE[22378][C-0000001d] file.c: – <DAHDI/6-1> Playing ‘custom/PowersportsOpeningGreeting.slin’ (language ‘en’)
[2013-07-17 13:23:15] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:12] WaitExten(“DAHDI/6-1”, “10,”) in new stack
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] pbx.c: – Timeout on DAHDI/6-1, going to ‘t’
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] pbx.c: – Executing [t@ivr-1:1] Set(“DAHDI/6-1”, “TIMEOUT_LOOPCOUNT=1”) in new stack
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] pbx.c: – Executing [t@ivr-1:2] GotoIf(“DAHDI/6-1”, “0?final”) in new stack
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] pbx.c: – Executing [t@ivr-1:3] Set(“DAHDI/6-1”, “IVR_MSG=no-valid-responce-pls-try-again”) in new stack
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] pbx.c: – Executing [t@ivr-1:4] Goto(“DAHDI/6-1”, “s,start”) in new stack
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] pbx.c: – Goto (ivr-1,s,10)
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:10] Set(“DAHDI/6-1”, “TIMEOUT(digit)=3”) in new stack
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] func_timeout.c: – Digit timeout set to 3.000
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] pbx.c: – Executing [s@ivr-1:11] ExecIf(“DAHDI/6-1”, “1?Background(no-valid-responce-pls-try-again)”) in new stack
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] file.c: – <DAHDI/6-1> Playing ‘no-valid-responce-pls-try-again.slin’ (language ‘en’)
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] pbx.c: == Spawn extension (ivr-1, s, 11) exited non-zero on ‘DAHDI/6-1’
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] pbx.c: – Executing [h@ivr-1:1] Hangup(“DAHDI/6-1”, “”) in new stack
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] pbx.c: == Spawn extension (ivr-1, h, 1) exited non-zero on ‘DAHDI/6-1’
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] sig_analog.c: – Hanging up on ‘DAHDI/6-1’
[2013-07-17 13:23:25] VERBOSE[22378][C-0000001d] chan_dahdi.c: – Hungup ‘DAHDI/6-1’
In the CDR all the inbound caller ID show up as ‘UNKNOWN’ and none of the SIP phones show UNKNOWN on inbound calls.
Even though I’m in the United States and these settings are defaults, I have tried putting the following DAHDI settings in:
usecallerid=yes
cidsignalling=bell
cidstart=ring
These have no effect, I still don’t get CID. Occasionally I will see “no start bit found in fsk data” in the CLI, but not very often. Here are my config files:
dahdi-channels.conf:
; Autogenerated by /usr/sbin/dahdi_genconf on Wed Jul 17 08:27:12 2013
; 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
;
; Span 1: WRTDM/0 “wrtdm Board 1” (MASTER)
;;; line="1 WRTDM/0/0 FXSKS (In use) (EC: WANPIPE_HWEC - INACTIVE)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 1
callerid=
group=
context=default
;;; line="2 WRTDM/0/1 FXSKS (In use) (EC: WANPIPE_HWEC - INACTIVE)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 2
callerid=
group=
context=default
;;; line="3 WRTDM/0/2 FXSKS (In use) (EC: WANPIPE_HWEC - INACTIVE)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 3
callerid=
group=
context=default
;;; line="4 WRTDM/0/3 FXSKS (In use) (EC: WANPIPE_HWEC - INACTIVE)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 4
callerid=
group=
context=default
;;; line="5 WRTDM/0/4 FXSKS (In use) (EC: WANPIPE_HWEC - INACTIVE)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 5
callerid=
group=
context=default
;;; line="6 WRTDM/0/5 FXSKS (In use) (EC: WANPIPE_HWEC - INACTIVE)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 6
callerid=
group=
context=default
;;; line="7 WRTDM/0/6 FXSKS (In use) (EC: WANPIPE_HWEC - INACTIVE)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 7
callerid=
group=
context=default
;;; line="8 WRTDM/0/7 FXSKS (In use) (EC: WANPIPE_HWEC - INACTIVE)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 8
callerid=
group=
context=default
chan_dahdi.conf:
;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
; this file must be done via the web gui. There are alternative files to make ;
; custom modifications, details at: http://freepbx.org/configuration_files ;
;--------------------------------------------------------------------------------;
;
[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=5
usecallerid=yes
callwaiting=no
usecallingpres=no
threewaycalling=no
transfer=no
cancallforward=no
callreturn=no
echocancel=yes
echocancelwhenbridged=no
echotraining=no
immediate=no
faxdetect=no
rxgain=0
txgain=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
chan_dahdi_additional.conf:
;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
; this file must be done via the web gui. There are alternative files to make ;
; custom modifications, details at: http://freepbx.org/configuration_files ;
;--------------------------------------------------------------------------------;
;
chan_dahdi_channels_custom.conf:
(it’s blank)
chan_dahdi_general.conf:
;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
; this file must be done via the web gui. There are alternative files to make ;
; custom modifications, details at: http://freepbx.org/configuration_files ;
;--------------------------------------------------------------------------------;
;
chan_dahdi_general_custom.conf
(it’s blank)
chan_dahdi_groups.conf:
;--------------------------------------------------------------------------------;
; Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
; this file must be done via the web gui. There are alternative files to make ;
; custom modifications, details at: http://freepbx.org/configuration_files ;
;--------------------------------------------------------------------------------;
;
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
signalling=fxs_ks
context=from-analog
group=0
channel=>5
signalling=fxs_ks
context=from-analog
group=0
channel=>6
signalling=fxs_ks
context=from-analog
group=62
channel=>7
signalling=fxs_ks
context=from-analog
group=63
channel=>8
/etc/dahdi/system.conf:
#--------------------------------------------------------------------------------;
Do NOT edit this file as it is auto-generated by FreePBX. All modifications to ;
this file must be done via the web gui. There are alternative files to make ;
custom modifications, details at: http://freepbx.org/configuration_files ;
#--------------------------------------------------------------------------------;
fxsks=1-8
loadzone=us
defaultzone=us
I can only assume that the default cistart & cidsignalling are correct since I’m using Verizon in the United States, but I have spent days on hold with Verizon and nobody has a clue what I’m talking about. Like I said, I have tried changing these settings but it doesn’t help.
I’m not sure where to turn, I’ve been ripping my hair out over this, someone PLEASE help!