asterisk+dahdi+chan_ss7搭建E1呼叫小型测试环境(二)



4.配置说明:
  
   环境说明:主机两台(A:192.168.1.25    B:192.168.1.61),都安装了E1板卡,使用RJ48交叉线连接
         目标:在两台主机各注册了一个SIP终端(A1:9901,B2:9802),能够使得两个终端中间使用E1连接,能够通话
         SIP终端:A1:PC上安装软电话,注册在主机A上,号码9901
                       B2:使用WIFI连接,在手机上使用linphone,注册在主机B上,号码9802

   主机A配置:
   1.配置SIP内线呼叫:(SIP号码9901、9902)
     /etc/asterisk/sip.conf    ——  列出的是需要修改的配置或者是需要注意的配置,未列出的配置项保持默认即可
     [general]
     allowguest=yes
     allowoverlap=yes
     udpbindaddr=0.0.0.0       默认监听所有地址,端口为5060,如若指定端口,则udpbindaddr=0.0.0.0:5000
     tcpenable=no                  不使用TCP
     disallow=all                     先禁止所有编码
     allow=ulaw
     allow=alaw

     [sip-phone](!)
     allow=ulaw
     allow=alaw
     type=friend
     host=dynamic
     nat=yes
     canreinvite=no
     context=sip-internal

     [9901](sip-phone)
     username=9901
     secret=123456
     [9902](sip-phone)
     username=9902
     secret=123456

     /etc/asterisk/extensions.conf
     [general]
     autofallthrough=no
     [sip-internal]
     exten => _99.,1,Dial(SIP/${EXTEN},20,r)

至此,内线号码9901、9902可以互相呼叫并且通话。
同样的配置,设置主机B,并且两个号码:9801、9802能够互相通话,详细配置略

    2.配置ss7呼叫
     主机A设置:
     /etc/dahdi/system.conf
# Span 1: WCT1/0 "Digium Wildcard TE110P T1/E1 Card 0" (MASTER)
span=1,1,0,ccs,hdb3        ——   crc4校验不需要,实际环境是否需要,要看对端的设置
# termtype: te
bchan=1-31                    ——   这是专门为Chan_SS7而设置的
#dchan=16                     ——   Chan_SS7需要注释掉该行
#echocanceller=mg2,1-15,17-31   ——  注释掉


     /etc/asterisk/ss7.conf
[linkset-test]
enabled => yes                        ; The linkset is enabled
enable_st => yes                      ; The end-of-pulsing (ST) is not used to determine when incoming address is complete
use_connect => yes                 ; Reply incoming call with CON rather than ACM and ANM
recently used                           ; The CIC hunting policy (even_mru, odd_lru, seq_lth, seq_htl) is even CIC numbers, most
hunting_policy => even_mru    ; The CIC hunting policy (even_mru, odd_lru, seq_lth, seq_htl) is even CIC numbers, most recently used
context => ss7                  ; Incoming calls are placed in the ss7 context in the asterisk dialplan
language => en                ; The language for this context is da
;t35 => 15000,timeout       ; The value and action for t35. Value is in msec, action is either st or timeout
                                         ; If you use overlapped dialling dial plan, you might choose: t35 => 4000,st
subservice => auto            ; The subservice field: national (8), international (0), auto or decimal/hex value
                                         ; The auto means that the subservice is obtained from first received SLTM
;mtp3server => localhost   ; The host running the mtp3 service
 variant => CHINA             ; SS7 variant, either ITU or CHINA

 [link-l1]
 linkset => test
 channels => 1-15,17-31
 schannel => 16
 firstcic => 1
enabled => yes

 echocancel => no
 echocan_train => 350
 echocan_taps => 128
;stp => 0x3ff0

[host-shihz-G41MT-S2PT]
enabled => yes
opc => 0x8e0               ; The point code for this SS7 signalling point is 0x8e0
dpc => test:0x3fff         ; The destination point (peer) code is 0x3fff for linkset test
links => l1:1
globaltitle => 0x00, 0x04, 0x01, 4546931411
ssn => 7

/etc/asterisk/extensions.conf
[ss7]   // 对应 ss7.conf 文件里面的context
exten => _99.,1,Dial(SIP/${EXTEN},20,r)
exten => _99.,2,Hangup

[sip-internal]
exten => _98.,1,Dial(ss7/${EXTEN})  // 呼出号码

注释掉/etc/asterisk/chan_dahdi.conf中关于通道部分内容,注释掉dahdi-channels.conf中的所有内容

      主机B设置:(参考A设置)
      注意:在ss7.conf的设置中,有关opc、dpc的内容,需要与主机A相互对应
      拨号计划设置如下:

/etc/asterisk/extensions.conf
[ss7]   // 对应 ss7.conf 文件里面的context
exten => _98.,1,Dial(SIP/${EXTEN},20,r)
exten => _98.,2,Hangup

[sip-internal]
exten => _99.,1,Dial(ss7/${EXTEN})  // 呼出号码

关于拨号计划的设置,一点经验:
ss7.conf中需要的拨号计划(ss7),是指从E1口进来的呼叫信令,是呼叫本地内线的,因此需要Dial的目标为SIP终端
sip.conf中对应的拨号计划(sip-internal),是指sip内线呼叫外线,因此目标为E1路线,即Dial的目标为ss7链路

源码程序、驱动等编译安装最后都是使用sudo(root权限),因此在执行asterisk时,最好使用sudo执行,否则可能会出现程序启动报错,不能执行的问题

5.使用场景:
   主机A上注册SIP终端号码9901
   主机B上注册SIP终端号码9802

   9901呼叫9802,成功
   9802呼叫9901,成功


至此,完整搭建过程完毕。在搭建过程中,参考并借鉴了大量网上大牛的经验,在此表示感谢。


阅读更多
文章标签: asterisk chan_ss7 E1
个人分类: 经验
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭