Asterisk自动外拨(auto-dial out)功能介绍

本文详细介绍了Asterisk自动拨号系统的运作原理及配置方法。通过特定格式的.call文件,用户可以轻松设定拨打任务,包括重试次数、等待时间等参数。文章还提供了多个示例场景,帮助读者快速上手。

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

Asterisk的Call文件
Asterisk的call文件是以.call为后缀的结构化文件,只要符合其规定的结构并放到指定的目录内,Asterisk就会根据文件自动执行外乎动作。

Asterisk call文件是如何工作的
将call文件移至spooling目录(默认在/var/spool/asterisk/outgoing)内,该路径定义在asterisk.conf中astspooldir => /var/spool/asterisk,可以修改。必须确保加载了pbx_spool.so,因为该功能主要依靠此模块实现;可以查看modules.conf文件,将autoload设为yes。若call文件的修改日期是在将来的某个时间,那么Asterisk将会等到系统时间和文件修改时间一致时执行call文件。Asterisk会时刻监视spooling目录内的文件。一旦执行完毕(成功或呼叫完规定的次数后)会立刻将call文件从spooling目录内移除;

Call文件中使用的一些键值
* Channel: <channel>: 呼叫使用的channel;
* CallerID: "name" <number> Caller ID, 必须遵循的格式是CallerID: "Some Name" <1234>
* MaxRetries: <number> 失败前重试的次数,默认值是0,即只呼叫一次,不尝试重试;
* RetryTime: <number> 重试时间间隔, Don't hammer an unavailable phone. 默认值是300秒;
* WaitTime: <number> 等待响应的时间, 默认值是45秒;
* Context: <context-name> 使用的context;
* Extension: <ext> 分机号;
* Priority: <priority> 优先级;
* Set: 设置分机逻辑使用的变量(如: FILE_CALL=custom/601/welcome);
* Application: Asterisk应用(Application);
* Data: 传给应用的选项。
我们记形如Channel: <channel>的表达式为冒号分开的键值对。在call文件中,每个键值对占一行,注释以#开头。

创建Call文件
call文件不要直接在/var/spool/asterisk/outgoing目录内创建,应该这样
* 在/var/spool/asterisk/tmp(或/tmp)目录内创建call文件;
* chown该文件的属主和权限组,使之与Asterisk的相同;
* mv call文件至/var/spool/asterisk/outgoing目录;

举例
例1:将分机601邀请进入会议室,会议室号码为9000
Channel: SIP/601
MaxRetries: 1
RetryTime: 60
WaitTime: 30
Context: ext-meetme
Extension: 9000
Priority: 1


例2:让两个分机进行通话。
现象:分机601振铃 --> 601摘机 --> 分机602振铃 --> 602摘机 --> 两者通话。(两分机都在线)
Channel: SIP/601
MaxRetries: 1
RetryTime: 60
WaitTime: 30
Context: from-internal
Extension: 602
Priority: 1


例3:手机号13800138000与分机601进行通话。其中DAHDI/r0是选中的trunk。
Channel: DAHDI/r0/13800138000
CallerID: "loveyou" <1234>
MaxRetries: 1
RetryTime: 60
WaitTime: 30
Context: from-internal
Extension: 601
Priority: 1

注意,外拨手机或固话要有PSTN线路(电话线)连接。

当然也可以利用此方法,将Extension设置一个IVR,当手机/固话接通后,给机主播放小广告 :-)

参考

http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值