我想通过 ISDN PRI 连接(仅用于学习,没什么大不了的)两个星号服务器。第一个服务器将充当“电信公司”,因此是 pri_net,第二个服务器是 cpe,因此我将使用 pri_cpe。
这些卡片是
pbx1-net:Digium TE205P pbx2-cpe:Openvox D210P
两个服务器/pbx 均使用 Debian 11 和 dahdi 2.11 驱动程序
在 pbx-net 上,这是 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
# channel 3, WCTDM/4/2, no module.
fxsks=4
echocanceller=mg2,4
# Span 2: TE2/0/1 "T2XXP (PCI) Card 0 Span 1"
span=2,0,0,ccs,hdb3,crc4
# termtype: te
bchan=5-19,21-35
dchan=20
echocanceller=mg2,5-19,21-35
# Span 3: TE2/0/2 "T2XXP (PCI) Card 0 Span 2"
span=3,0,0,ccs,hdb3,crc4
# termtype: te
bchan=36-50,52-66
dchan=51
echocanceller=mg2,36-50,52-66
# Global data
loadzone = it
defaultzone = it
这是 pbx-net 上的 /etc/asterisk/chan_dahdi.conf
[trunkgroups]
[channels]
language=it
context=local
switchtype=euroisdn
signalling=pri_net
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes ;se usi nt ptmp metti no
canpark=yes
cancallforward=yes
callreturn=yes
context=local
echocancel=yes
channel => 1-15,17-31
echocancelwhenbridged=yes
group=1
callgroup=1
pickupgroup=1
immediate=no
#include /etc/asterisk/dahdi-channels.conf
这是 pbx-net 上的 /etc/asterisk/dahdi-channels.conf
; Span 1: WCTDM/4 "Wildcard TDM400P REV E/F Board 5" (MASTER)
;;; line="1 WCTDM/4/0"
signalling=fxo_ks
callerid="Channel 1" <4001>
mailbox=4001
group=5
context=from-dahdi
channel => 1
;;; line="2 WCTDM/4/1"
signalling=fxo_ks
callerid="Channel 2" <4002>
mailbox=4002
group=5
context=from-dahdi
channel => 2
;;; line="4 WCTDM/4/3"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-dahdi
channel => 4
; Span 2: TE2/0/1 "T2XXP (PCI) Card 0 Span 1"
group=0,12
context=from-dahdi
switchtype = euroisdn
signalling = pri_net
channel => 5-19,21-35
; Span 3: TE2/0/2 "T2XXP (PCI) Card 0 Span 2"
group=0,13
context=from-dahdi
switchtype = euroisdn
signalling = pri_net
channel => 36-50,52-66
在 pbx-cpe 端,除 /etc/dahdi/system.conf 外,文件相同(1,1,0 为 1:跨度 1:从 pri_net 端获取时序,0:电缆为 0-133 英尺)
# Span 1: TE2/0/1 "T2XXP (PCI) Card 0 Span 1" (MASTER)
span=1,1,0,ccs,hdb3
# termtype: te
bchan=1-15,17-31
dchan=16
echocanceller=mg2,1-15,17-31
# Span 2: TE2/0/2 "T2XXP (PCI) Card 0 Span 2"
span=2,2,0,ccs,hdb3
# termtype: te
bchan=32-46,48-62
dchan=47
echocanceller=mg2,32-46,48-62
# Global data
loadzone = it
defaultzone = it
除了 pri_net 变成了 pri_cpe 之外,其余两个文件完全相同。
现在的问题是:
在 pri_cpe bpx 上,cli 报告正常
dahdi show status
Description Alarms IRQ bpviol CRC Fra Codi Options LBO
T2XXP (PCI) Card 0 Span 1 OK 0 0 0 CCS HDB3 0 db (CSU)/0-133 feet (DSX-1)
在 pri_net bpx 上,cli 报告正常
dahdi show status
Description Alarms IRQ bpviol CRC Fra Codi Options LBO
Wildcard TDM400P REV E/F Board 5 OK 0 0 0 CAS Unk 0 db (CSU)/0-133 feet (DSX-1)
T2XXP (PCI) Card 0 Span 1 OK 0 0 0 CCS HDB3 CRC4 0 db (CSU)/0-133 feet (DSX-1)
T2XXP (PCI) Card 0 Span 2 OK 0 0 0 CCS HDB3 CRC4 0 db (CSU)/0-133 feet (DSX-1)
双方的 pri span 报告也都正常
网络侧
pri show spans
PRI span 2/0: Up, Active
cpe_side
pri show spans
PRI span 1/0: Up, Active
我配置了 extensions.conf 以通过双方的 pri 进行呼叫
[uscita]
exten => _X.,1,Dial(dahdi/g12/${EXTEN})
exten => _X.,n,Hangup
当我尝试在两个控制台上拨打电话时,都出现这些错误消息
在 pri_net 端 [5 月 1 日 18:57:50] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: 收到 DAHDI 事件:跨度 2 的 D 信道上的 HDLC 错误 FCS (8)
在 pri_cpe 端
[May 1 18:58:07] NOTICE[1489]: chan_dahdi.c:2777 my_handle_dchan_exception: Got DAHDI event: HDLC Abort (6) on D-channel of span 1
[May 1 18:58:07] NOTICE[1489]: chan_dahdi.c:2777 my_handle_dchan_exception: Got DAHDI event: HDLC Abort (6) on D-channel of span 1
[May 1 18:58:07] NOTICE[1489]: chan_dahdi.c:2777 my_handle_dchan_exception: Got DAHDI event: HDLC Abort (6) on D-channel of span 1
再次在 pri_net 端
== Primary D-Channel on span 2 down
[May 1 18:59:32] WARNING[2541]: sig_pri.c:1212 pri_find_dchan: Span 2: D-channel is down!
[May 1 18:59:33] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Abort (6) on D-channel of span 2
[May 1 18:59:40] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Bad FCS (8) on D-channel of span 2
[May 1 18:59:42] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Bad FCS (8) on D-channel of span 2
[May 1 18:59:43] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Abort (6) on D-channel of span 2
[May 1 18:59:43] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Bad FCS (8) on D-channel of span 2
[May 1 18:59:45] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Bad FCS (8) on D-channel of span 2
== Primary D-Channel on span 2 up
[May 1 18:59:58] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Bad FCS (8) on D-channel of span 2
[May 1 18:59:58] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Abort (6) on D-channel of span 2
[May 1 18:59:59] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Bad FCS (8) on D-channel of span 2
-- Registered SIP 'telefono3' at 192.168.0.2:59897
== Using SIP RTP CoS mark 5
-- Executing [511@local:1] Dial("SIP/telefono3-00000000", "dahdi/g12/511") in new stack
-- Requested transfer capability: 0x00 - SPEECH
-- Called dahdi/g12/511
[May 1 19:00:09] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Abort (6) on D-channel of span 2
== Primary D-Channel on span 2 down
[May 1 19:00:10] WARNING[2541]: sig_pri.c:1212 pri_find_dchan: Span 2: D-channel is down!
[May 1 19:00:11] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Abort (6) on D-channel of span 2
== Primary D-Channel on span 2 up
-- Span 2: Channel 0/1 got hangup, cause 18
-- Hungup 'DAHDI/i2/511-1'
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [511@local:2] Hangup("SIP/telefono3-00000000", "") in new stack
== Spawn extension (local, 511, 2) exited non-zero on 'SIP/telefono3-00000000'
[May 1 19:00:18] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Bad FCS (8) on D-channel of span 2
[May 1 19:00:21] NOTICE[2541]: chan_dahdi.c:2780 my_handle_dchan_exception: Got DAHDI event: HDLC Abort (6) on D-channel of span 2
我尝试这些解决方案
Solution number 1: the card is broken, I bought another PRI card = FAIL
Solution number 2: change the pci slot of card pri_net side, and / or pri_cpe side = FAIL
Solution number 3: use a different dahdi version = FAIL
Solution number 4: use pridiallocalplan=unknown and pridialplan=unknown = FAIL
Solution number 5: revert pri_net pri_cpe roles = FAIL
Solution number 6: try another crossover cable = FAIL(I try 3 cables, two bought, one made by me, and all tested with network tester)
Solution number 7: reboot = FAIL
Solution number 8: remove the analog card from pci_net server = FAIL
有人有什么建议吗?谢谢
答案1
找到解决方案。电缆坏了吗?我明白了本指南在 youtube 上制作 pri 电缆并使其完美运行,我只需要重新启动 pri_net 机器。