首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

asterisk dial 下令参数解析(实现自动二次拨号)

2012-10-20 
asterisk dial 命令参数解析(实现自动二次拨号)格式:Dial(type/identifier,?timeout,?options,?URL)?Dial(

asterisk dial 命令参数解析(实现自动二次拨号)

格式:
Dial(type/identifier,?timeout,?options,?URL)?
Dial(type1/identifier1[&type2/identifier2[&type3/identifier3...?]?],?timeout,?options,?URL)?
RetryDial(announce|sleep|loops|Technology/resource[&Technology2/resource2...][|[timeout][|[options][|URL]]])?

????????a)如果呼叫在超时之前被接听,通道就被桥接,拨号方案完成,如果被叫地没????????有应答,Dial(?)?会继续到该extension?的下一个priority。但是,如果被叫通道忙,Dial(?)将转到priority?n+101,如果其存在的话(其中的n?是Dial(?)被调用的priority)

????????b)参数
????????????????t或T:?表示允许被叫通过拍xfer键进行呼叫转移。xfer键的定义在features.conf中
????????????????r:强制产生回铃音,呼叫过程中没有语音直到被叫摘机。没有这个选项,?aserisk会适当地根据情况自动地产生回铃音。强制产生回铃有可能使主叫听不到忙音,彩铃。在呼叫多个被叫时,回铃音不通被透传,这时需要强制一个回铃音。
????????????????R:当被叫在震铃时通知主叫被在震铃,,呼叫过程中没有语音直到被叫摘机。这个选项仅在kapejod's?Bristuff有用。注:BRIstuff?是一个BRI驱动和补丁集
????????????????m:提供Music?on?Hold给主叫直到被叫摘机。注:与r不同的时m可以指定一类Music?on?Hold的音乐
????????????????o:传送主叫ID,默认是送分机的号码(extension's?number)
????????????????j:如果所有通道忙跳到n+101
????????????????M(x):当通道一旦连接执行宏x,比如被叫摘机时。
????????????????h:允许主叫挂机通过*号键
????????????????H:允许被叫挂机通过*号键
????????????????i:asterisk忽略在本次拨号时的任何转发请求。这个在在1.4只有用,当你在震铃一个震铃组时,他们有一个设置了电话转移到voicemail或设置了阻止免打扰,这时你的震铃组就会呼叫失败
????????????????C:重置CDR
????????????????p:使能屏幕模式即不用记忆怎么出理主叫的基本个人隐私模式。
????????????????P(x):?使用隐私管理-PrivacyManager,?x可选,x是数据库。
????????????????g:当被叫挂机时,退出,然后在当前的context中执行更多的命令
????????????????G(context^exten^pri):当呼叫叫建立,转移双方到指定的contex和extension。主叫方转移到优先级pri,被叫方到优先级pri+1
????????????????A(x):拨放一个通知音(x.gsm)给被叫方
????????????????S(x):被叫摘机后x秒后挂机。
????????????????d:这个标志胜过H标标,在等待呼叫应答时截取任何的DTMF,并返回的值。这个允许你已经设置1的(退出)exeten后,然后在呼叫时按1退出当前的呼叫
????????????????D(digits):在被叫摘机后送digits?DTMF流。
????????????????L(x:[y]:[:z]):限制呼叫x毫秒,当y毫秒到达时发出警告,每z秒重复一次。以下这几个通道变量可设置:
????????????????????????LIMIT_PLAYAUDIO_CALLER?-?yes|no?(default?yes)?-?拨放语音给主叫
????????????????????????LIMIT_PLAYAUDIO_CALLEE?-?yes|no?-?拨放语音给被叫.?
????????????????????????LIMIT_TIMEOUT_FILE?-?拨放的文件
????????????????????????LIMIT_CONNECT_FILE?-?当呼叫开始拨放的文件
????????????????????????LIMIT_WARNING_FILE?-?播放的文件当y定义的时侯,如果LIMIT_WARNING_FILE没有定义,默认的行为是播放("You?have?[XX?minutes]?YY?seconds").?
????????????????f:当外呼或重定向呼叫时强制主叫ID设置为line的extensions,有些PSTNs只允许一个主叫ID时,你分配一个给他
????????????????w:允许被叫记录在按*1时,或在features.conf中定义的,需要Set(DYNAMIC_FEATURES=automon)
????????????????W:允许主叫记录在按*1时,或在features.conf中定义的,需要Set(DYNAMIC_FEATURES=automon)
????????????????p:通过定义在features.conf中的dtmf?序列允许被叫方使能呼叫停泊(parking)
????????????????P:通过定义在features.conf中的dtmf?序列允许被主方使能呼叫停泊(parking)?如果要自动实现二次拨号,可以通过在宏里面实现dtmf 的发送。
dial(SIP/83142167@out-trunk,M(senddtmf))[macro-senddtmf]
exten =>s,1,noop(Senddtmf)
exten =>s,n,wait(2)
exten =>s,n,SendDTMF(83142167)等待2秒的原因是由于一般要听到ivr 提示方可以允许用户输入的。可以根据实际调整等待参数。
如果一次要执行多个宏,可以用^ (6字符)来分隔dial(SIP/83142167@out-trunk,M(senddtmf^record-file))
===================================下面附上,在ael中实现二次拨号的方法。


macro sendDTMF( number ){
wait(2);SendDTMF( ${number} );}
在dial函数中调用:
dial(SIP/6688@127.0.0.1:6069,30,M(sendDTMF^${EXTEN}));
注:在M中调用宏时,参数要用^

?

热点排行