E1语音板卡+ pri的电信线路。
1)先在asterisk中把e1驱动配置好,配置好后一般要去掉dahdi的CRC校验,在 /etc/dahdi/system.conf 这个配置文件中去掉CRC4的校验,有几个E1模块,就去掉几个CRC4的参数。如下:
把 #span=1,1,0,ccs,hdb3,crc4 改为 #span=1,1,0,ccs,hdb3 ,然后停掉asterisk
,然后重启dahdi,再启动asterisk即可。如果e1模块1有CRC4校验,模块2没有CRC4校验,会出现如下现象:
去掉dahdi中crc校验后,如下:
2)每次重新插入或者拔出板卡的BNC接口,如果通道没有是“Up, Active” 的状态,需要用如下命令:
LangLi251*CLI> dahdi restart
3)正常情况下如果E1线路和移动运营商链接好了的链路状态应该是“Up, Active” ,而且E1板卡应该闪烁绿灯,如果没有连好,就闪烁红灯。
LangLi251*CLI> pri show spans
PRI span 1/0: In Alarm, Down, Active ##没有接好线路
PRI span 2/0: Up, Active
LangLi251*CLI>
4)dahdi可也配置通道组,如下:
[root@LangLi251:~]$more /etc/asterisk/dahdi-channels.conf
; Span 1: TE2/0/1 “T2XXP (PCI) Card 0 Span 1″ (MASTER)
group=0,11
context=from-pstn
switchtype = euroisdn
signalling = pri_cpe
channel => 1-15,17-31 ##这里全部是数据通道,通道从0开始编号,0通道传送信令,16通道用于帧同步。所以这里
15+15=30路数据通道。
context = default
group = 63 ##下面这个group不晓得是毛意思,不管它
; Span 2: TE2/0/2 “T2XXP (PCI) Card 0 Span 2″
group=1,12
context=from-pstn
switchtype = euroisdn
signalling = pri_cpe
channel => 32-46,48-62 ##我总觉得这里应该是
33-47,69-63 ,可能openvox的板卡做的是相反的吧,如果62通道是最后一个通道,通道编号从0开始,这里只有63个通道啊!
context = default
group = 63
配置好后查看结果如下:
LangLi251*CLI> dahdi show channels group
Usage: dahdi show channels [ group <group> | context <context> ]
Shows a list of available channels with optional filtering
<group> must be a number between 0 and 63
LangLi251*CLI>
LangLi251*CLI> dahdi show channels group
0
Chan Extension Context Language MOH Interpret Blocked State
1 from-pstn default In Service
2 from-pstn default In Service
3 from-pstn default In Service
4 from-pstn default In Service
5 from-pstn default In Service
6 from-pstn default In Service
7 from-pstn default In Service
8 from-pstn default In Service
9 from-pstn default In Service
10 from-pstn default In Service
11 from-pstn default In Service
12 from-pstn default In Service
13 from-pstn default In Service
14 from-pstn default In Service
15 from-pstn default In Service
17 from-pstn default In Service
18 from-pstn default In Service
19 from-pstn default In Service
20 from-pstn default In Service
21 from-pstn default In Service
22 from-pstn default In Service
23 from-pstn default In Service
24 from-pstn default In Service
25 from-pstn default In Service
26 from-pstn default In Service
27 from-pstn default In Service
28 from-pstn default In Service
29 from-pstn default In Service
30 from-pstn default In Service
31 from-pstn default In Service
LangLi251*CLI>
5)下面是用dahdi呼叫的时候的拨号计划的情况,如下:
— Executing [s@macro-dialout-trunk:24] ExecIf(“SIP/1022-0000000d”, “1?Set(return=0)”) in new stack
— Executing [s@macro-dialout-trunk:25] Dial(“SIP/1022-0000000d”, “DAHDI/g1/018807194375“)
in new stack
[Nov 5 01:27:26] DEBUG[5889]: sig_pri.c:1016 sig_pri_request: sig_pri_request
32 ##这里不是信令通道,而是语音通道,这里语音走的是第32号通道,很明显用的是第2个e1呼出去的,如果从第1个e1呼出这里为1。
[Nov 5 01:27:26] DEBUG[5889]: sig_pri.c:6603 sig_pri_call: CALLER NAME: NUM:
201 ##主叫ID为201
— Requested transfer capability: 0x00 – SPEECH
— Called DAHDI/g1/018807194375 ##g1说明走的是第2个e1口
— DAHDI/i2/018807194375-1 is
proceeding passing it to SIP/1022-0000000d ## i2说明走的是第2个e1口,后面的”-1″是通道标号。
— Span 2: Channel 0/1 got hangup request, cause 16
— Hungup ‘DAHDI/i2/018807194375-1‘ ##i2说明走的是第2个口
— No one is available to answer at this time (1:0/0/0)
[Nov 5 01:27:26] WARNING[5889]: ast_expr2.fl:468 ast_yyerror:
ast_yyerror(): syntax error: syntax error, unexpected ‘=’, expecting
$end; Input:
=YES
== Begin MixMonitor Recording SIP/1022-00000000
— Executing [s@macro-dialout-trunk:23] ExecIf(“SIP/1022-00000000″, “1?Set(return=0)”) in new stack
— Executing [s@macro-dialout-trunk:24] ExecIf(“SIP/1022-00000000″, “1?Set(return=0)”) in new stack
— Executing [s@macro-dialout-trunk:25] Dial(“SIP/1022-00000000″, “DAHDI/g0/018807194375,300,”) in new stack
[Nov 5 01:08:57] DEBUG[5491]: sig_pri.c:1016 sig_pri_request: sig_pri_request
1 ##信令走的第0时隙,而这里的1是语音通道是第1个e1通道的第1时隙,这里只能看出语音通道,如果第二条通话这里就会变成2,3,4,5……一次类推。
[Nov 5 01:08:57] DEBUG[5491]: sig_pri.c:6603 sig_pri_call: CALLER NAME: NUM: 201
— Requested transfer capability: 0x00 – SPEECH
— Called DAHDI/g0/018807194375
— DAHDI/i1/018807194375-1 is proceeding passing it to SIP/1022-00000000
— Span 1: Channel 0/1 got hangup request, cause 16
— Hungup ‘DAHDI/i1/018807194375-1‘ ##后面的”-1″,只是一个通道号而已,如果有两个通道,那么估计就是”-2″,”-3″等了。
— No one is available to answer at this time (1:0/0/0)
[Nov 5 01:08:57] WARNING[5491]: ast_expr2.fl:468 ast_yyerror:
ast_yyerror(): syntax error: syntax error, unexpected ‘=’, expecting
$end; Input:
=YES
6)如果要查看当前通话采用的是哪个rtp数据通道,那么可以用如下命令: