asterisk中使用dahdi通道呼出的注意事项

在使用dahdi通道呼出的时候,可以在Dial中对呼出所使用的通道进行指定选择。以下面的例子来说明:

场景说明:数字板卡单E1,使用pri信令,1-31通道分配的group为1,拨号规划使用前缀9呼出。

配置文件:

chan_dahdi.conf

点击(此处)折叠或打开

  1. context=from-insides
  2. group=1
  3. channel=>1-15,17-31

extensions.conf中:

点击(此处)折叠或打开

  1. [from-insides]
  2. exten => _9.,1,Dial(Dahdi/g1/${EXTEN:1},40)
  3. exten => _9.,2,Hangup
  1. 关于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口如下:

点击(此处)折叠或打开

  1. context=fxstest
  2. signalling=fxo_ks
  3. channel=1-2

在extensions.conf中,

点击(此处)折叠或打开

  1. [frominside]
  2. exten => 2001,1,Dial(Dahdi/1,40)
  3. exten => 2001,2,Hangup
  4. exten => 2002,1,Dial(Dahdi/2,40)
  5. exten => 2002,2,Hangup

这里2001,对应的是通道1,2002对应的是通道2.

asterisk中使用dahdi通道呼出的注意事项的更多相关文章

  1. iOS中如何呼出另一个应用

    我们经常会遇到在一个应用里面呼出另一个应用的需求,比如在文档里面点击地址,调用safari来打开网页:比如在文件浏览器里面点击某种文件,自动激活一个应用来打开文件. iOS里面对于这样的需求使用URL ...

  2. 假如现在有一堆长度大于3小于9的电话号码,用座机呼叫,如果出现这样的号码【123和12345】那么12345将永远不会被拨出,因为拨到123的时候电话已经呼出了,试写一个函数输出所有不能被呼出的电话号码(java实现)

    解题: 假如现在有一堆长度大于3小于9的电话号码,用座机呼叫,如果出现这样的号码[123和12345]那么12345将永远不会被拨出,因为拨到123的时候电话已经呼出了,试写一个函数输出所有不能被呼出 ...

  3. 技术解析:锁屏绕过,三星Galaxy系列手机也能“被”呼出电话

    近期,由两位安全研究人员,Roberto Paleari及Aristide Fattori,发布了关于三星Galaxy手机设备安全漏洞的技术细节.据称,Galaxy手机可在锁屏状态下被未授权的第三方人 ...

  4. C#からネイティブDLLを呼び出す場合のVSからのデバッグのジレンマを解決する

    「C#を使う最大のメリットって.やっぱり.Visual Studioですよね!」って自信を持って言いたいですね. という心境ではあるんですが.私の仕事はどっちかというとC++よりなので.どうしても.D ...

  5. gentoo emacs 中文输入法 呼出

    最近在另外一台电脑上面安装 gentoo和 emacs,但是碰到奇怪的问题,在旧电脑上面,可以使用 ctrl + space 呼出输入法,而新电脑只能触发 复制功能. 经过在网上查找和两台电脑之间的对 ...

  6. 去除图像中的alpha通道或透明度

    自从appstore提交app改变后,虽然提交的流程还是和原来一样,但是相比以前还是有很大的改动,本来就不太喜欢 English,改版之后很多东西都变了,开发一个app就已经够他妈的蛋疼啦,上传一个a ...

  7. 如何在asterisk中限制呼叫路数

      在asterisk中,对于呼叫个数是可以通过call-limit进行限制的.限制办法是通过修改asterisk.conf中maxcalls参数,设置允许的最大呼叫数.这里的最大呼叫数是包括所有的呼 ...

  8. win7系统中如何使文件显示出扩展名

    win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择"文件夹及搜索选项"-->> ---- ...

  9. win7系统中如何使文件显示出扩展名或显示文件后缀名

    win7系统中如何使文件显示出扩展名-------------------- 1.点击计算机-->>点击组织,然后选择“文件夹及搜索选项”-->> -------------- ...

随机推荐

  1. Python列表操作——模拟实现栈和队列

    1.实现栈: stack=[] def pushit(): stack.append(raw_input('Enter New String:').strip()) def popit(): if l ...

  2. sql server 创建文件组,文件

    添加文件组:  --ADD FILEGROUP 增加文件组 ALTER DATABASE TestHekaton ADD FILEGROUP [Report] ALTER DATABASE TestH ...

  3. css设置透明度

    使用新的CSS3的"RGBA"声明,不仅仅让我们像通常一样设置RGB颜色,而且还可以设置其透明度. RGBA像RGB一样设置颜色,而这个"A"--RGBA中的最 ...

  4. java_常用数据类型转换基础篇

    一.java基本数据类型 1.java基本数据类型可分四类八中 第一类:整形:byte.short.int.long 第二类:浮点型:float(单精度) .double(双精度) 第三类:逻辑类型: ...

  5. linux工具之putty

    http://blog.csdn.net/qk_zhu/article/details/6272247 对于putty,似乎很多人只知道下载回来之后,双击,输入ip,然后登陆使用.其实putty有很多 ...

  6. linux安全

    http://drops.wooyun.org/ 最专业的安全知识分享平台 http://www.freebuf.com/ 关注黑客与极客 http://book.beifabook.com/prod ...

  7. python3抓取异步百度瀑布流动态图片(一)查找post并伪装头方法

    打开流程: 用火狐打开百度图片-->打开firebug-->输入GIF图-->搜索-->点击网络-->全部 观察页面: 首先要观察的对象是“域”,图片的json一般是放在 ...

  8. 车载凯立德导航地图更新以及DSA数据更新方法

    每年升级每次都去重新摸索,1年时间忘完了,遂决定把他写下来,我这就去实验,实验好了来补 第一步: 找最新的凯立德软件和地图版本号 方法:淘宝搜索, 例如:凯立德 2016,搜索结果会出现比如2016 ...

  9. net上传图片重命名

    string FileName = File.FileName;//获取上传文件的名称 string Str = FileName.Split('.')[1];//获取上传文件的后缀 string N ...

  10. Nginx实现静态资源的缓存

    1.1   需求 1.对静态文件进行缓存:html,js,css,png,gif,jpg,jpeg,bmp,swf. 2.对符合url规则的请求进行缓存. 3.针对某个url进行清除缓存. 1.1   ...