IAX 设置详细
两台Asterisk服务器设置步骤如下:
* 设置iax.conf文件,一台设置成为peer模式另外一台设置成为user模式
* 设置user的extensions.conf让他的用户可以从user发送呼叫peer上
* 任意的, 在user上注册peer(当peer是动态IP地址的时候)
* 相反设置以上的步骤, 如果你想实现相互呼叫
===========================================
声明IAX2 user(在peer中)
如果想一个peer能收到呼叫. 必须在peer机器上设置iax.conf识别呼叫来自user.
[username]
type=user
auth=md5
secret=secretword
context=iax2users
context非常重要,他用来设置user新来的呼叫路由如何处理.
这个步骤将允许远程的user设备注册到peer上.如果你想限制请在peer的iax.conf里增加限制和许可的设置.
=================================
声明IAX2 peer(在user中)
从一个user产生呼叫的时候必须在user的iax.conf里设置到peer的验证.
[peername]
type=peer
host=hostname.domain.tld (如果用”dynamic”就要先进行一下register到peer)
auth=md5
secret=secretword ; 如果拨号的时候填写这里就不需要再填写
username=username-at-the-peer ; 如果拨号的时候填写这里就不需要再填写
请注意:
* type=user 表示你将通过这个号码将验证一个进来的呼叫
* type=peer 表示你将通过这个号码发送呼叫给某人
* type=friend 表示两个功能都有
Using type=friend makes life easier, but treat it as a shortcut. If you add both type=friend and host=hostname, domain.ext you limit the hosts your peer can place calls from, which may not be what you want.
现在完成第一步和第二步之后我们只需要考虑设置拨号方案了.读下面的例子看看怎么做吧.
================================
连接到拨号方案
示例1
extensions.conf:
exten => _7XXX,1,Dial(IAX2/myserver:passwordA@IAXserverA/${EXTEN:1},30,r)
exten => _7XXX,2,Dial(SIP/myserver:passwordA@SIPserverA/${EXTEN:1},30,r)
exten => _7XXX,3,Congestion
exten => _8XXX,1,Dial(IAX2/myserver:passwordB@IAXserverB/${EXTEN:1},30,r)
exten => _8XXX,2,Dial(SIP/myserver:passwordB@SIPserverB/${EXTEN:1},30,r)
exten => _8XXX,3,Congestion
记得要在iax.conf和sip.conf设置[IAXserverA]的这些定义.这个示例当出现问题后使用SIP做逃逸系统.注意你的用户名和密码可能会被CDR记录下来(你需要使用第二个示例的方法来实现隐藏).
示例2
这个示例将不会把用户名同密码显示在CDR当中
注意:在1.0.9版这个方法仍然不是Asterisk标准分支,所以仍然需要用户名和密码在dial字符串中
exten => _7XXX,1,Dial(IAX2/username:pass@serverB/${EXTEN:1},30,r)
(serverA)
iax.conf
[general]
register => :
@[serverB]
type=friend
user=
secret=
host=extensions.conf
exten => _7XXX,1,Dial(IAX2/serverB/${EXTEN:1},30,r)
exten => _7XXX,2,Congestion
(serverB)
iax.conf
[serverA]
type=friend
user=
secret=
host= |extensions.conf
exten => _8XXX,1,Dial(IAX2/serverA/${EXTEN:1},30,r)
exten => _8XXX,2,Congestion
在一些时候serverA和serverB就是在对方服务器上的用户
示例3
在extensions.conf使用switch对象你可以连接两台服务器或是其他服务器的连接方案。在这个方案中我们自己的serverC将连接ServerA或serverB:
[default]
exten => _801XXX,1,Goto,srvA|${EXTEN}|1
exten => _802XXX,1,Goto,srvB|${EXTEN}|1
[srvA]
exten => _801XXX,1,StripMSD,3
exten => _XXX,2,Goto,1
switch => IAX/serverA
[srvB]
exten => _802XXX,1,StripMSD,3
exten => _XXX,2,Goto,1
switch => IAX/serverB
注意:你要注意不能建立死循环serverA到serverB并且serverB又到serverA!同样考虑使用iax.conf中设置autokill来杀掉被悬起长时间进程(当远程服务器无法连接)
示例4
extensions.conf: (主服务器)
[outbound]
switch => IAX2/master:secret@iax-gw1.company.net/outbound
iax.conf (主服务器):
[slave]
type=user
auth=plaintext
context=outbound
secret=secret
host=dynamic
callerid=”slave”
trunk=yes
notransfer=yes
[slave]
type=peer
auth=plaintext
context=outbound-nuphone
secret=secret
host=dynamic
trunk=yes
notransfer=yes
extensions.conf (从服务器):
[assigned-dids]
; uncomment a dial mechanism, first one goes to specific extension
; other one goes to dial parameter s.
;exten => 7046446999,1,Dial,IAX2/master@slave/${EXTEN}
;exten => 7046446999,1,Dial,IAX2/master@slave
iax.conf (从服务器):
register => slave:secret@iax-gw1.company.net
[master]
type=peer
host=iax-gw1.company.net
secret=secret
context=outbound
trunk=yes
canreinvite=no
[master]
type=user
secret=secret
context=acontext
trunk=yes
canreinvite=no
===========================
关于register命令
当peer的ip并不明确,用户将不知道如何发送呼叫信息(当一个办公室用户呼叫 在家里工作的peer,因为在家里工作的peer只有一个动态IP或他是在NAT设置) 这个时候peer要注册到user及时的把自己的IP告诉user:
在peer的iax.conf的[general]上怎么写:
register => user:password@hostname.domain.ext
因为不断更新所以user总是知道peer的ip是否改变了.
register命令仅仅被用在动态IP地址的情况下,如果两台服务器都是静态IP地址你不需要做任何设置
分享到:
相关推荐
Asterisk 集群设置,让您的Asterisk提供更好的电话服务,这个集群是基于trixbox的。
asterisk拨号方案的配置
如何把asterisk的配置从配置文件迁移到数据库中 更多内容参考:http://www.voip-info.org
本文讨论了开源项目Asterisk的体系结构及其功能,提出了基于Asterisk的Vole解决方案,并通过案例分析 来说明Asterisk在企业网络中的应用。
融博公司与太公网合作,将Asterisk与融博呼叫中心应用生成器融为一体,向客户提供呼叫中心一体化解决方案。主要解决以下三个方面的问题:提供基于Asterisk软交换的快速应用开发平台;融博CRM与Asterisk软交换紧密...
该电子书提供详细的Asterisk 1.4的介绍、配置和编程,非常适合Asterisk的初学者。
asterisk分机配置
这是我师兄分享给我的asterisk的配置文件,主要是用来更改asterisk服务器配置,用来实现FGcom语音对讲功能。
Asterisk配置
Asterisk 的电话簿解决方案 这是 Aptus Forntend 代码的开发库。 它是公开的,所以我们可以从 Asterisk 社区获得反馈和拉取请求并与他们联系。 此外,在我们正式发布之前,您可以使用此存储库来测试当前 FonB 安装上...
asterisk拨号方案中应用使用详解,有详细的说明和例子
实现asterisk动态用户添加,通过操控表来管理用户。
Asterisk 简介 Asterisk 架构 Asterisk程序框图
asterisk 使用info 触发录音,http告知服务器;带有主叫信息,被叫信息等。
Asterisk服务器搭建和配置文档.docx
Asterisk 在全球范围范围内被呼叫中心采纳是基于其灵活性。呼叫中心和联系中心的开发者基于 Asterisk 构建了整套 ACD 系统。它也同时给现有的呼叫中心注入新鲜血液诸如:远程 IP 代理人功能、基于能力的高级路由、...
Asterisk权威指南(第3版)第05章用户设备配置 Asterisk权威指南(第3版)第06章Dialplan基础 Asterisk权威指南(第3版)第07章外线连接 Asterisk权威指南(第3版)第08章语音邮件 Asterisk权威指南(第3版)第10章深入...
包含:asterisk.18.11.1源码...asterisk-18-current.tar.gz libedit_3.1-20210910.orig.tar.gz openssl-1.1.1.tar.gz jansson-2.11.tar.gz sqlite-autoconf-3380200.tar.gz pjproject-2.10.tar.gz libuuid-1.0.3.tar.gz
Asterisk介绍及配置,开源PBX解决方案
详细写了如何实现asterisk视频通讯功能的 每步都有截图噢!