asterisk sip trunk配置步骤

本文介绍如何搭建OpenSIPS作为SIP代理,并与Asterisk PBX系统集成,实现电话呼入、呼出及呼叫转移等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了便于测试,首先搭建一个opensips,作为proxy。

opensips搭建

要首先安装mysql。

 

版本opensips-1.8.0-tls,去掉Makefile.conf中的exclude_modules中的db_mysql,执行命令make all;make install(最好是make prefix=/usr/local/opensips-1.8.0-tls/ all;makeprefix=/usr/local/opensips-1.8.0-tls/ install,以下路径的配置以这个为准)。

修改文件opensipsctlrc,打开配置项:

DBENGINE=MYSQL

DBHOST=localhost

DBNAME=opensips

 

mysql的帐号密码DBRWUSER=root DBRWPW="1234"

还有一些路径修改成/usr/local/opensips-1.8.0-tls/下的路径,默认是/usr/local/。

 

修改配置文件opensips.cfg listen=udp:192.168.0.191:9060,IP不能是127.0.0.1。

其余的使用默认配置即可。

执行命令/usr/local/opensips-1.8.0-tls/sbin/opensipsdbctlcreate,会创建相关的数据库。

/usr/local/opensips-1.8.0-tls/sbin/opensipsctladd 1100@192.168.0.191:9060 1100会增加帐号1100,密码也是1100。

执行命令/usr/local/opensips-1.8.0-tls/sbin/opensipsctlstart会启动opensips。

 

详细的配置步骤请参考http://www.opensips.org/Documentation/Manual-1-8

 

使用命令/usr/local/opensips-1.8.0-tls/sbin/opensipsctlonline查看注册上的帐号,

/usr/local/opensips-1.8.0-tls/sbin/opensipsctlul show 1100@192.168.0.191:9060也可以。

在opensips上创建帐号1100/1100,1101/1101,1102/1102,1103/1103。

域名是eullansh.f3322.org:9060   1110/1110  1111/1111

 

 

 

Asterisk注册到opensips

Asterisk使用帐号1100/1100注册到opensips,在配置文件sip.conf中的[general]中添加:

register =>1100?udp://1100@192.168.0.191:9060:1100:1100@192.168.0.191:9060/1100~300

具体的每个字段含义在sip.conf中有注释。

在sip.conf的最下面增加帐号:

[1100]

type=friend

username=1100

secret=1100

context=opensips_trunk

qualify=yes

;host=192.168.0.191:9060

;fromdomain=192.168.0.191:9060

;fromuser=1100

insecure=invite,port

disallow=all

allow=ulaw

allow=alaw

 

然后增加dialplan:

[opensips_trunk]

exten =>1100,1,Answer()

       same => n,Background(welcome)

       same => n,WaitExten(15) 

 

exten =>_801X,1,Dial(SIP/${EXTEN},30,Ttr)

       same => n,Hangup()

 

重启asterisk。使用命令/usr/local/sbin/opensipsctl ul show 1100@192.168.0.191:9060,可以看到是否注册到opensips:

Contact::<sip:1100@192.168.0.198:5060>;q=;expires=287;flags=0x0;cflags=0x0;socket=<udp:192.168.0.191:9060>;methods=0xFFFFFFFF;user_agent=<AsteriskPBX 11.5.0>

 

测试步骤

1、呼入

使用一个软电话注册到opensips(1101/1101。注意,这里使用的主叫号码不能是asterisk中已有的分机号码,否则asterisk会认为是内部分机呼叫内部分机),然后拨打1100。这时听到放音后拨asterisk上的一个分机号码:8010,这时8010分机振铃,摘机后可以正常通话。

 

2、呼出

在extension.conf中的[from-internal]中增加

exten=>_9.,1,Dial(sip/1100/${EXTEN:1},30,Ttr) #这里定义9是从sip trunk呼出

              same=> n,Congestion()

              same=> n,Hangup()

使用分机8010,拨91101,这样注册在opensips上的1101会振铃,摘机后可以正常通话。

 

3、呼入后进行呼叫转移

首先在配置文件features.conf中打开配置[featuremap]中的blindxfer => #1和atxfer => *2。

l  盲转

使用一个软电话注册到opensips(1101/1101),拨打1100,听到放音后拨asterisk上的一个分机号码:8010,接通后,8010按#1,听到提示音后,拨8012,这时会接通分机8012

 

l  咨询转

使用一个软电话注册到opensips(1101/1101),拨打1100,听到放音后拨asterisk上的一个分机号码:8010,接通后,8010按*2,听到提示音后,拨8012,这时会接通分机8012,8010挂机后,1101和8012可以开始通话。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值