• asterisk dialplan(extension)学习笔记


    列举一些用过的dialplan,记录备忘

    exten => 1004,1,Answer();第1步,监听到外部呼入1004这个号码,接听,对方就会看到电话已经接通

    exten => 1004,n,Dial(SIP/1004,20,tr);第2步,通过SIP通道,拨打1004这个号码,间隔20

    exten => 1004,n,Hangup;挂断

    exten => 5,1,Answer()

    exten => 5,n,Playback(my_welcome);播放my_welcom这个音频文件,文件后缀可以是wav,mp3等,需要安装对应格式的音频插件

    exten => 5,n,Wait(1);wait for 1s

    exten => 5,n,Playback(my_dial_inbond);播放my_dial_inbond这个音频文件,作用是提醒对方拨号的规则,例如加拨*,结尾要加#等

    exten => 5,n,WaitExten(8); 等待对方操作,超时时间是8秒

    exten => 5,n,VoiceMail(home@myvm); 超时后,拨打语言信箱,具体参考voicemail.conf文件中的myvm语言信箱,及对应的账号home中的处理,总之此处已经被voicemail模块接管

    exten => 5,n,Hangup

    exten => _0XXXXXXXXXXX,1,Dial(SIP/1001,20,D(${EXTEN:0}))

    ;如果拨号的号码是0打头的12位号码,那么通过SIP通道的1001用户呼出,把去掉0之后的11位号码,以DTMF的方式传递给1001

    ;这种方式,一般情况下1001是接一个语音网关,网关后面接一个PSTN固话线路,以DTMF方式接收待拨号的号码,并实现外呼

    exten => _X.,1,Dial(Mobile/red/${EXTEN},45)

    _X.  表示一个号码匹配规则,Mobile/red/${EXTEN} 表示调用chan_mobile通道,red是chan_mobile.conf中配置的具体蓝牙设备,${EXTEN}是实际用户拨号的号码,45是超时时间。

    上述dialplan代表一条路由规则,表示所有的号码都路由给red设备处理,类似于路由器中把所有流量转发给某个设备,实际应该不会这么写dialplan,应该是做规则,例如上述0打头的号码才转发。

    [mobile-imcoming]

    exten => 1001,n,Dial(SIP/1001,20,tr)

    exten => 1001,n,Hangup

    ;上述两个拨号计划与普通的拨号没有差异,唯一区别是加了个名称为[mobile-imcoming]的plan,或者说context,可以把具体场景和context结合,例如可以把来自于webrtc的请求关联到[mobile-imcoming]上,进而转发给1001这个SIP分机;也可以把来自于chan_mobile插件的某个蓝牙手机上的来电,转发到1001这个分机上

  • 相关阅读:
    Cobalt Strike(四)
    Linux之ansible(使用角色部署http服务)
    JavaWeb-JavaScript中篇总结
    如何防御网站被攻击?
    MyBatis环境配置及查询操作
    27.gateway的限流实战(springcloud)
    Oracle归档日志暴增排查优化
    【管理运筹学】第 7 章 | 图与网络分析(5,最小费用流问题及最小费用最大流问题)
    基于OpenAPI、freemarker动态生成swagger文档
    Vue进阶(三十三)Content-Security-Policy(CSP)详解
  • 原文地址:https://blog.csdn.net/obana/article/details/134560777