First off, sorry for the long post but I wanted to make sure all the information is available.
I am currently working on a call recording solution that will, in the end, be utilizing a device like a Redfone foneBRIDGE. In an attempt to simulate the end result I am attempting to configure the follwoing:
POTS - |wctdm, *box(1), Analog Phone(x2)| - TDMoE - |*box(2)| - TDMoE - |*box(3)| - SIP Phone
I believe I have the spans connected and somewhat configured (I hope):
** Currently only trying to get *box(2) to pick up an *box(1) call **
*box(1,2,3)
i386 CentOS 5.3
Asterisk 1.6.1.0
DAHDI Version: 2.2.0-rc4
DAHDI Tools Version - 2.2.0-rc2
libpri-1.4.9
Configuration *box(1)
/etc/dahdi/system.conf
Span 1: WCTDM/4 “Wildcard TDM400P REV E/F Board 5” (MASTER)
fxoks=1
echocanceller=mg2,1
fxoks=2
echocanceller=mg2,2
fxsks=3
echocanceller=mg2,3
fxsks=4
echocanceller=mg2,4
TDMoE dynamic span to astrkrec.provell.net
dynamic=eth,eth0/00:50:8B:D9:78:7C/0,24,0
bchan=5-27
dchan=28
echocanceller=mg2,5-27
Global data
loadzone = us
defaultzone = us
/etc/asterisk/chan_dahdi.conf
[trunkgroups]
; define any trunk groups
[channels]
; hardware channels
; default
usecallerid=yes
hidecallerid=no
callwaiting=no
threewaycalling=yes
transfer=yes
adsi=yes
echocancel=yes
echotraining=yes
; Span 1: WCTDM/4 “Wildcard TDM400P REV E/F Board 5” (MASTER)
;;; line="1 WCTDM/4/0 FXOKS (EC: MG2)"
signalling=fxo_ks
callerid=“Channel 1” <1001>
mailbox=1001
group=5
context=phones
channel => 1
callerid=
mailbox=
group=
context=default
;;; line="2 WCTDM/4/1 FXOKS (EC: MG2)"
signalling=fxo_ks
callerid=“Channel 2” <1002>
mailbox=1002
group=5
context=phones
channel => 2
callerid=
mailbox=
group=
context=default
;;; line="3 WCTDM/4/2 FXSKS (EC: MG2)"
signalling=fxs_ks
callerid=asreceived
group=0
context=incoming
channel => 3
callerid=
group=
context=default
;;; line=“4 WCTDM/4/3 FXSKS (EC: MG2)”
;signalling=fxs_ks
;callerid=asreceived
;group=0
;context=from-pstn
;channel => 4
;callerid=
;group=
;context=default
;; TDMoE to PBX
context=from-pstn
switchtype=national
signalling = pri_net
pridialplan=unknown
priindication=outofband
overlapdial=no
resetinterval=86400
group = 2,28
channel => 5-27
/etc/asterisk/extensions.conf
[globals]
FANSTEL1=DAHDI/1
FANSTEL2=DAHDI/2
OUTBOUNDTRUNK=DAHDI/3
TDMTRUNK=DAHDI/g2
[general]
static=yes
writeprotect=no
autofallthrough=yes
[incoming]
exten => s,1,Answer()
exten => s,n,WaitExten(1)
exten => s,n,Playback(hello)
exten => s,n,Playback(you-have-reached-a-test-number)
exten => s,n,Playback(thank-you-for-calling)
exten => s,n,WaitExten(1)
exten => s,n,Hangup()
[employees]
include => outbound-local
include => outbound-long-distance
include => from-pstn
exten => 1001,1,Macro(normal,1001,${FANSTEL1})
exten => 1002,1,Macro(normal,1002,${FANSTEL2})
[phones]
include => employees
[macro-normal]
exten => s,1,Dial(${ARG2},25)
exten => s,2,Voicemail(${ARG1},u)
exten => s,102,Voicemail(${ARG1},b)
[from-pstn]
exten => _555XXXX,1,Answer()
exten => _555XXXX,n,Playback(hello)
exten => _555XXXX,n,Playback(pls-wait-connect-call)
exten => _555XXXX,n,Dial(${TDMTRUNK}/${EXTEN},15,tTr)
exten => _555XXXX,n,Playback(abandon-all-hope)
exten => _555XXXX,n,Playback(goodbye)
exten => _555XXXX,n,Hangup()
[outbound-local]
ignorepat => 9
exten => _9NXXXXXX,1,Dial(${OUTBOUNDTRUNK}/9${EXTEN:1})
exten => _9NXXXXXX,n,Congestion()
exten => _9NXXXXXX,n,Hangup()
exten => _9NXXNXXXXXX,1,Dial(${OUTBOUNDTRUNK}/9${EXTEN:1})
exten => _9NXXNXXXXXX,n,Congestion()
exten => _9NXXNXXXXXX,n,Hangup()
;exten => 911,1,Dial(${OUTBOUNDTRUNK}/911)
;exten => 9911,1,Dial(${OUTBOUNDTRUNK}/911) ; So that folks who dial “9" first will also get through
[outbound-long-distance]
ignorepat => 9
exten => _91NXXNXXXXXX,1,Dial(${OUTBOUNDTRUNK}/9${EXTEN:1})
exten => _91NXXNXXXXXX,n,Playtones(congestion)
exten => _91NXXNXXXXXX,n,Hangup()
[b]Configuration *box(2)
/etc/dahdi/system.conf[/b]
TDMoE dynamic span from voice.provell.net
dynamic=eth,eth0/00:13:D3:FE:F1:40/0,24,1
TDMoE dynamic span from astrk01.provell.net
dynamic=eth,eth1/00:50:8B:AF:4B:B5/1,24,0
#e&m=1-48
bchan=1-23
dchan=24
bchan=25-47
dchan=48
echocanceller=mg2,1-23
echocanceller=mg2,25-47
Global data
loadzone = us
defaultzone = us
/etc/asterisk/chan_dahdi.conf
[trunkgroups]
; define any trunk groups
[channels]
; hardware channels
; default
usecallerid=yes
hidecallerid=no
callwaiting=no
threewaycalling=yes
transfer=yes
echocancel=yes
echotraining=yes
;; TDMoE to PBX
context=from-pstn
switchtype=national
signalling = pri_cpe
pridialplan=unknown
priindication=outofband
overlapdial=no
resetinterval=86400
group = 1,24
channel => 1-23
;; TDMoE to PBX
;context=default
;switchtype=national
;signalling = pri_net
;group = 2
;channel => 25-47
/etc/asterisk/extensions.conf
[globals]
[general]
static=yes
writeprotect=no
autofallthrough=yes
[from-pstn]
exten => 4000,n,Answer()
exten => 4000,n,WaitExten(1)
exten => 4000,n,Playback(hello)
exten => 4000,n(holiday),Playback(you-have-reached-a-test-number)
;exten => 4000,n,Playback(pls-wait-connect-call)
;exten => 4000,n,Dial(${$TOASTRK01}${exten}:1,15,tTr)
;exten => 4000,n(open-hours),Playback(carried-away-by-monkeys)
exten => 4000,n,Playback(goodbye)
exten => 4000,n,Hangup()
/etc/sbin/dahdi_cfg and dahdi_tool show the spans as configured and that they are OK for Alarm Status.
When I call from the analog line to the recording box I get:
*box(1) cli>
Verbosity is at least 3
– Starting simple switch on ‘DAHDI/1-1’
[May 15 15:00:20] NOTICE[15923]: chan_dahdi.c:11013 pri_dchannel: PRI got event: HDLC Abort (6) on Primary D-channel of span 2
– Executing [5554000@phones:1] Answer(“DAHDI/1-1”, “”) in new stack
– Executing [5554000@phones:2] Playback(“DAHDI/1-1”, “hello”) in new stack
– <DAHDI/1-1> Playing ‘hello.ulaw’ (language ‘en’)
– Executing [5554000@phones:3] Playback(“DAHDI/1-1”, “pls-wait-connect-call”) in new stack
– <DAHDI/1-1> Playing ‘pls-wait-connect-call.ulaw’ (language ‘en’)
[May 15 15:00:21] NOTICE[15923]: chan_dahdi.c:11013 pri_dchannel: PRI got event: HDLC Bad FCS (8) on Primary D-channel of span 2
[May 15 15:00:21] NOTICE[15923]: chan_dahdi.c:11013 pri_dchannel: PRI got event: HDLC Abort (6) on Primary D-channel of span 2
== Primary D-Channel on span 2 down
[May 15 15:00:22] WARNING[15923]: chan_dahdi.c:3360 pri_find_dchan: No D-channels available! Using Primary channel 28 as D-channel anyway!
== Primary D-Channel on span 2 up
[May 15 15:00:22] ERROR[15923]: chan_dahdi.c:10721 dahdi_pri_error: !! Got a UA, but i’m in state 7
– Executing [5554000@phones:4] Dial(“DAHDI/1-1”, “DAHDI/g2/5554000,15,tTr”) in new stack
– Requested transfer capability: 0x00 - SPEECH
– Called g2/5554000
== Primary D-Channel on span 2 down
[May 15 15:00:28] WARNING[15923]: chan_dahdi.c:3360 pri_find_dchan: No D-channels available! Using Primary channel 28 as D-channel anyway!
– Hungup ‘DAHDI/10-1’
== Everyone is busy/congested at this time (1:0/0/1)
– Executing [5554000@phones:5] Playback(“DAHDI/1-1”, “abandon-all-hope”) in new stack
– <DAHDI/1-1> Playing ‘abandon-all-hope.ulaw’ (language ‘en’)
[May 15 15:00:30] NOTICE[15923]: chan_dahdi.c:11013 pri_dchannel: PRI got event: HDLC Bad FCS (8) on Primary D-channel of span 2
[May 15 15:00:30] NOTICE[15923]: chan_dahdi.c:11013 pri_dchannel: PRI got event: HDLC Bad FCS (8) on Primary D-channel of span 2
== Primary D-Channel on span 2 up
– Executing [5554000@phones:6] Playback(“DAHDI/1-1”, “goodbye”) in new stack
– <DAHDI/1-1> Playing ‘goodbye.ulaw’ (language ‘en’)
– Executing [5554000@phones:7] Hangup(“DAHDI/1-1”, “”) in new stack
== Spawn extension (phones, 5554000, 7) exited non-zero on ‘DAHDI/1-1’
– Hungup ‘DAHDI/1-1’
[May 15 15:00:41] NOTICE[15923]: chan_dahdi.c:11013 pri_dchannel: PRI got event: HDLC Bad FCS (8) on Primary D-channel of span 2
[May 15 15:00:44] NOTICE[15923]: chan_dahdi.c:11013 pri_dchannel: PRI got event: HDLC Abort (6) on Primary D-channel of span 2
== Primary D-Channel on span 2 down
[May 15 15:00:45] WARNING[15923]: chan_dahdi.c:3360 pri_find_dchan: No D-channels available! Using Primary channel 28 as D-channel anyway!
== Primary D-Channel on span 2 up
[May 15 15:00:45] ERROR[15923]: chan_dahdi.c:10721 dahdi_pri_error: !! Got a UA, but i’m in state 7
*box(2) cli>
Verbosity is at least 3
[May 15 13:55:45] NOTICE[20029]: chan_dahdi.c:11013 pri_dchannel: PRI got event: HDLC Bad FCS (8) on Primary D-channel of span 2
== Primary D-Channel on span 2 down
[May 15 13:55:46] WARNING[20029]: chan_dahdi.c:3360 pri_find_dchan: No D-channels available! Using Primary channel 24 as D-channel anyway!
== Primary D-Channel on span 2 up
[May 15 13:55:57] NOTICE[20029]: chan_dahdi.c:11013 pri_dchannel: PRI got event: HDLC Bad FCS (8) on Primary D-channel of span 2
[May 15 13:55:58] NOTICE[20029]: chan_dahdi.c:11013 pri_dchannel: PRI got event: HDLC Bad FCS (8) on Primary D-channel of span 2
== Primary D-Channel on span 2 down
[May 15 13:56:01] WARNING[20029]: chan_dahdi.c:3360 pri_find_dchan: No D-channels available! Using Primary channel 24 as D-channel anyway!
== Primary D-Channel on span 2 up
[May 15 13:56:12] NOTICE[20029]: chan_dahdi.c:11013 pri_dchannel: PRI got event: HDLC Bad FCS (8) on Primary D-channel of span 2
[May 15 13:56:38] NOTICE[20029]: chan_dahdi.c:11013 pri_dchannel: PRI got event: HDLC Abort (6) on Primary D-channel of span 2
== Primary D-Channel on span 2 down
[May 15 13:56:39] WARNING[20029]: chan_dahdi.c:3360 pri_find_dchan: No D-channels available! Using Primary channel 24 as D-channel anyway!
== Primary D-Channel on span 2 up
[May 15 13:56:39] ERROR[20029]: chan_dahdi.c:10721 dahdi_pri_error: !! Got a UA, but i’m in state 7
Before everyone starts asking why not use IAX (I have seen this on almost every post concerning TDMoE), it is because of the foneBRIDGE and the final setup. This is how the foneBRIDGE talks to Asterisk so I figured I should probably figure that out.
If you need anymore information, post what you are looking for and I will attempt to get it posted.
Thanks in advance.