因为要对接一号信令。但是freeiris2目前只支持asterisk1.4.X版本。而我又想用上freeiris2。因为之前在freeiris2基础上拓展了一些ivr动作。
所以考虑在asterisk1.6.2上装上freeiris2。
寻找半天。发现两个方法。
第一:见地址http://www.moythreads.com/astunicall/downloads/ 它提供了几个版本。包含了asterisk等所需要安装的东西。但是安装spandsp-0.0.6的时候提示需要安装libtif组件。服务器不能上网。所以我就没继续尝试这个方法了。
第二:使用asterisk1.6.2。下面就来看看是杂弄的。
首先对于一号信令,目前asterisk1.6.2提供支持一号信令,只不过需要自己安装openr2。下载openr2-1.3.0.tar.gz。
安装步骤差不多如下:
1 - dahdi-linux
# make ; make install
2 - dahdi-tools
# ./configure ; make ; make install ; make config
3 - Libpri
# make ; make install
4 - libopenr2
# ./configure --libdir=/usr/lib ; make ; make install
5 - asterisk
# ./configure ; make ; make install ; make samples
6-asterisk-addons-1.6
#./configure;make cdr;cp cdr/cdr_addon_mysql.so /usr/lib/asterisk/modules/
下面安装freeiris2.我安装的是freeiris2-2.4.335-stable.tar.gz
设置好中继(先设置好中继只是为了在freeiris2的数据库里插入相关的所需的数据)。设置中继的时候会按照pri信令格式修改chan_dahdi_digit.conf文件内容。
为了使用中国一号信令。修改两个文件。
一个是/etc/dahdi/system.conf。修改为如下(我一个E1卡。用一个口):
span=1,1,0,cas,hdb3
# termtype: te
cas=1-15:1101
cas=17-31:1101
dchan=16
#echocanceller=mg2,1-15,17-31
# Global data
loadzone = cn
defaultzone = cn
一个是/etc/asterisk/chan_dahdi_digit.conf。修改为如下:
usecallerid=yes
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
signalling=mfcr2
mfcr2_variant=cn
mfcr2_get_ani_first=no
mfcr2_max_ani=20
mfcr2_max_dnis=7
mfcr2_category=national_subscriber
mfcr2_logdir=span
mfcr2_logging=all
context=from-trunk-dahdi(此为freeiris2使用的context名称)
group=0
acountcode=0
channel => 1-15,17-31
因为在chan_dahdi_digit.conf包含了以上内容。所以再chan_dahdi.conf里的pri配置 就不用管了,当然也可以注释掉。
现在我们的E1信令就是mfcr2了。也就是一号信令。
不过在帖子http://bbs.voip88.com/viewthread.php?tid=6003&page=1里看到james.zhu说
CN China // 支持中国还没有做完整的测试,这是官方的说法。所以也只是说能用,不保证没啥bug之类的。
进行拨号的时候。控制台有warning。内容如下:
Executing [742101@from-trunk-dahdi:8] ExecIf("DAHDI/27-1", "0,Macro,'REASON|NOVALID'") in new stack
[Apr 16 18:04:47] WARNING[13378]: app_exec.c:222 execif_exec: Deprecated syntax found. Please upgrade to using ExecIf(<expr>?Macro('REASON|NOVALID'))
估计是语法问题吧 但是只是warning。所以我没有管了。
我测试了拨入 拨出 Ivr正常。如果有朋友发现什么严重问题之类的,就多交流吧。
另外谁有能实现ss7 tup协议的话,麻烦告知下。
分享到:
相关推荐
根据条件作出是否跳转的决定,通常前面会有一个判断语句,例如: CMP AX,BX JZ XX 上面两条命令意为用AX减BX,它的值如果为0则跳转到XX的标号行. 常用的跳转命令有:
PowerPC汇编手册.chm aixpowerpc ppc手册 PowerPC汇编指令 PowerPC指令
Linux内核是操作系统的核心部分,它负责管理计算机的硬件资源,包括CPU、内存以及各种外设。Linux以其开源、免费的特性,以及对POSIX标准的遵循,使其成为广泛应用于服务器、嵌入式设备和桌面环境的操作系统。自1991...
系统调用是一种特殊的软件中断,通过CPU的特权指令,如ckcore中的MFCR、MTCR等,实现从用户态到内核态的切换。在Linux中,系统调用号(如r1传递的值)指示内核执行相应的服务例程。例如,`exec`系统调用会将可执行...
2. **STM32 SPI1配置**:在STM32上启用SPI1功能,需要配置相应的GPIO引脚为SPI模式,设置时钟源、时钟分频因子以及数据传输顺序。此外,还需要配置SPI的工作模式(主/从)和极性、相位(CPOL和CPHA)。 3. **SPI...
Linux内核通过特定的特权指令,如MFCR、MTCR等,实现从用户态到内核态的转换。这种状态区分主要是为了防止用户程序错误地访问硬件或内存,确保系统的稳定性和安全性。当用户程序需要与硬件设备交互,如通过网卡发送...