asterisk中使用dahdi通道呼出的注意事项
在使用dahdi通道呼出的时候,可以在Dial中对呼出所使用的通道进行指定选择。以下面的例子来说明:
场景说明:数字板卡单E1,使用pri信令,1-31通道分配的group为1,拨号规划使用前缀9呼出。
配置文件:
chan_dahdi.conf
点击(此处)折叠或打开
- context=from-insides
 - group=1
 - channel=>1-15,17-31
 
extensions.conf中:
点击(此处)折叠或打开
- [from-insides]
 - exten => _9.,1,Dial(Dahdi/g1/${EXTEN:1},40)
 - exten => _9.,2,Hangup
 
- 关于Dial应用的介绍:
 
在asterisk中Dial应用是最基本也是较为核心的一个应用。主要是为一个通道发起呼叫,并建立呼叫的
2. Dial应用的参数:
Dial(Technology/resource[&Tech2/resource2...][|timeout][|options][|URL])
第一个参数:呼叫目标的信息,信息包括通道类型(例如SIP、Dahdi、ss7、iax等)和对应的资源(一般是号码,也可以是通道号)。从上面的参数举例中可以看出,该参数可以是用&连接起来的多个目标,该功能可以实现同振(同时向多个目标发起呼叫,目标中的任意一个接听后,即与发起者建立通话,其他目标的呼叫会被取消)。
第二个参数:建立呼叫的最大时限,一般意义上理解是被叫振铃的最长时间,单位是秒。
第三个参数,是N多选项的组合,这里介绍几个常用的选项,详细信息可以阅读asterisk的文档,或者代码。
3. Dial应用中的选项解释
A(x) - 向被叫播放提示音,x是提示音文件的名字,包括路径.
g - 如果被叫挂机后,该选项允许主叫对应的通道继续执行拨号规划中下面的extension.
L(x[:y][:z]) - 限制本次通话的时间为x毫秒. 在还剩余y毫秒的时候播放警告信息,每间隔z毫秒的时候重复该警告信息.这个选项比较有用,可以用来实现限制通话时长。
m([class]) - 在主叫等待被叫接通的时候,听到的不是回铃音,而是这里指明的等待音乐,class就是等待音乐的类型。
t - 允许被叫方可以按预定义的转移键将主叫转移(盲转)到对应的拨号规划上
T - 允许主叫方可以按预定义的转移键将被叫转移(盲转)到对应的拨号规划上
w - 允许被叫方可以按预定义的自动录音键对通话进行录音
W - 允许被叫方可以按预定义的自动录音键对通话进行录音
上面四个所说的预定义都是在features.conf中的featuremap部分。
4. 使用dahdi通道呼出
通道的选择
1).使用组进行呼出
如果在chan_dahdi.conf中对dahdi指定了分组,可以使用组的方式进行呼出。如上面的例子中,使用组1 的30个通道进行呼出。那么在使用这个组内的通道进行呼出的时候,是如何选择的?
对于组内的空闲通道可以有很多个,asterisk要按照一定的原则从中选择一个进行呼出。选择的方式有4种:
g:组内通道的分配按照前向搜索的方式,即顺序的查找,每次都是从第一个开始查找,直至最后一个。
G:组内通道的分配按照后向搜索的方式,即倒序的查找,每次都是从最后一个查找,直至第一个。
r:与g一样也是采用前向搜索,不过采用的是轮转,查找的开始不是第一个,而是从上一个。
R:与G一样也是采用后向搜索,不过采用的是轮转,查找的开始不是最后一个,而是上一个。
上面的例子中使用的是Dial(Dahdi/g1/${EXTEN:1},40),
这里每次外呼的时候,使用的是组内顺序查找的方式。
2).使用通道进行呼出
例如,对于fxs的呼出即可采用这样的方式。
在chan_dahdi.conf中,定义了两个fxs口如下:
点击(此处)折叠或打开
- context=fxstest
 - signalling=fxo_ks
 - channel=1-2
 
在extensions.conf中,
点击(此处)折叠或打开
- [frominside]
 - exten => 2001,1,Dial(Dahdi/1,40)
 - exten => 2001,2,Hangup
 - exten => 2002,1,Dial(Dahdi/2,40)
 - exten => 2002,2,Hangup
 
这里2001,对应的是通道1,2002对应的是通道2.
asterisk中使用dahdi通道呼出的注意事项的更多相关文章
- iOS中如何呼出另一个应用
		
我们经常会遇到在一个应用里面呼出另一个应用的需求,比如在文档里面点击地址,调用safari来打开网页:比如在文件浏览器里面点击某种文件,自动激活一个应用来打开文件. iOS里面对于这样的需求使用URL ...
 - 假如现在有一堆长度大于3小于9的电话号码,用座机呼叫,如果出现这样的号码【123和12345】那么12345将永远不会被拨出,因为拨到123的时候电话已经呼出了,试写一个函数输出所有不能被呼出的电话号码(java实现)
		
解题: 假如现在有一堆长度大于3小于9的电话号码,用座机呼叫,如果出现这样的号码[123和12345]那么12345将永远不会被拨出,因为拨到123的时候电话已经呼出了,试写一个函数输出所有不能被呼出 ...
 - 技术解析:锁屏绕过,三星Galaxy系列手机也能“被”呼出电话
		
近期,由两位安全研究人员,Roberto Paleari及Aristide Fattori,发布了关于三星Galaxy手机设备安全漏洞的技术细节.据称,Galaxy手机可在锁屏状态下被未授权的第三方人 ...
 - C#からネイティブDLLを呼び出す場合のVSからのデバッグのジレンマを解決する
		
「C#を使う最大のメリットって.やっぱり.Visual Studioですよね!」って自信を持って言いたいですね. という心境ではあるんですが.私の仕事はどっちかというとC++よりなので.どうしても.D ...
 - gentoo emacs 中文输入法 呼出
		
最近在另外一台电脑上面安装 gentoo和 emacs,但是碰到奇怪的问题,在旧电脑上面,可以使用 ctrl + space 呼出输入法,而新电脑只能触发 复制功能. 经过在网上查找和两台电脑之间的对 ...
 - 去除图像中的alpha通道或透明度
		
自从appstore提交app改变后,虽然提交的流程还是和原来一样,但是相比以前还是有很大的改动,本来就不太喜欢 English,改版之后很多东西都变了,开发一个app就已经够他妈的蛋疼啦,上传一个a ...
 - 如何在asterisk中限制呼叫路数
		
在asterisk中,对于呼叫个数是可以通过call-limit进行限制的.限制办法是通过修改asterisk.conf中maxcalls参数,设置允许的最大呼叫数.这里的最大呼叫数是包括所有的呼 ...
 - win7系统中如何使文件显示出扩展名
		
win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择"文件夹及搜索选项"-->> ---- ...
 - win7系统中如何使文件显示出扩展名或显示文件后缀名
		
win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择“文件夹及搜索选项”-->> -------------- ...
 
随机推荐
- js定义变量需赋予初始值
			
这是console.log打印出来的日志,就是多了一个undefined 日志: hitTableObjectID:undefinedbfa4be7b-32fc-459a-9092-ecde316b3 ...
 - Android学习笔记进阶之在图片上涂鸦(能清屏)
			
Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...
 - linux包之iproute之ss命令
			
概述 [root@localhost ~]# rpm -qa|grep iprouteiproute-2.6.32-31.el6.x86_64 当服务器的socket连接数量变得非常大时,无论是使用n ...
 - 通过命令行安装Android app
			
手动安装安卓app的命令为:adb install -r C:\Users\Lihao\workspace\Appium_Demo\apps\app_F_1.3.0.apk
 - placeholder兼容方法(兼容IE8以上浏览器)
			
//placeholder兼容方法(兼容IE8以上浏览器) var JPlaceHolder = { //检测 _check: function () { return 'placeholder' i ...
 - 【Reporting Services 报表开发】— 级联式参数设置
			
级联式参数设置 再清楚的菜单,只要遇到选择项目一多的时候,难免会让人眼花缭乱,而找不到该选的选项.举例来说,像是零售业动辄万种商品品类,如果希望快速的选择到希望查看的产品品类时,就需要更有效率的搜索方 ...
 - Hive(一):架构及知识体系
			
Hive是一个基于Hadoop的数据仓库,最初由Facebook提供,使用HQL作为查询接口.HDFS作为存储底层.mapReduce作为执行层,设计目的是让SQL技能良好,但Java技能较弱的分析师 ...
 - 【linux】CentOS安装mysql*.rpm提示conflicts with file from package的解决办法
			
使用以下命令安装: rpm -ivh MySQL-server-5.6.19-1.linux_glibc2.5.x86_64.rpm 错误提示如下: Preparing... ...
 - 使用UpdatePanel 页面脚本不起作用
			
在后台中这样注册js方法 ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "", " ...
 - vs2012 遇到 “此操作要求使用 IIS 集成管线模式。”
			
这个项目是VS2013开发的,我用2012打开想调试,但报这个错误. 最后安装2013,然后调试则正常.