- 作者:james.zhu(james.zhu@hiastar.com) www.hiastar.com 微信公众号:asterisk-cn
- Asterisk课堂-如何通过源代码安装方式安装Asteisk/dahdi
- Asterisk课堂-系统部署环境要求
- Asterisk课堂-Asterisk技术架构
- Asterisk课堂-拨号规则基础
- Asterisk课堂-创建第一个拨号规则
- Asterisk课堂-拨号规则中的Contexts
- Asterisk课堂-拨号规则中变量的使用
- Asterisk课堂-拨号规则中的Extensions用法
- Asterisk课堂-拨号规则中匹配模式
- Asterisk课堂-IAX2 介绍
- Asterisk课堂-IAX2 呼叫流程
- Asterisk课堂-SIP介绍
- Asterisk课堂-SIP呼叫流程
- Asterisk课堂-终端注册
- Asterisk课堂-SIP Trunk
- Asterisk课堂-SIP和NAT
- Asterisk课堂-拨号规则中的Include使用方法
- Asterisk课堂-拨号规则中的语音播放
- Asterisk课堂-DTMF 介绍
- Asterisk课堂-语音IVR基础
- Asterisk课堂-Timeout 超时设置
- Asterisk课堂-CLI 使用方法
- Asterisk课堂-关于Input DTMF介绍

视频中配合实际语法解释了这些用法:
下面,我们具体介绍一下这几个命令的语法,需要注意到对方。
Dial 命令,拨号规则使用Dial来实现对通信接口的呼叫,包括使用通信接口类型(经常使用的包括:SIP,Dahdi),设备名称或中继名称,超时设置,其他相关设置。其他参数选项包括了大约40个参数,包括了呼叫转接,录音等相关的配置。大家可以查看官方文档获得详细的解释。

Answer。呼入以后,用户可以使用answer来应答此呼叫。当然也可以使用其他的应答方式来接通此呼叫。Answer 开启以后,可以标志CDR 时间戳开始计费或计算起始呼叫时间,也可以支持一些必要的应用模块,例如语音等待功能。如果使用音乐等待,则必须先应答。

Hangup 实现呼叫挂机功能。Asterisk对对端发出明确的挂机信号。
其他呼叫控制命令(Busy,Congestion,Transfer,Progress)。Busy()表示对对端发送一个忙状态提示,通知对端本通道现在处于忙状态。这里可以使用一个时间设置来通知对端超时以后挂机。Congestion()表示通道处于拥塞状态,如果设置了时间以后,超时后对对端挂机。Transfer()可以实现对此呼叫进行一个转接功能,参数可以设备通信接口和目的地名称。Progress()要求生成一个带内消息支持(例如, 183消息)呼叫的通道,如生成早期媒体流等等。这里需要注意到是,在SIP环境和使用ISDN环境的设置有所不同,特别要注意Answer()的位置。

本章节介绍了呼叫控制中的几个比较重要的命令方式,另外,再次强调了使用时应该注意到问题。这里,还有提醒大家应该注意的是,因为Asterisk版本不断演进,命令的使用方式可能有所差别。所以,建议用户最好根据自己版本来使用这些命令。对于Busy,transfer,progress 这些命令要特别注意,不断测试保证命令的正确执行。