多方通话拨号方案设计参考

[confserv]
exten => _XXXX,1,Set(DYNAMIC_FEATURES=nway-start)
exten => _XXXX,n,Dial(SIP/${EXTEN})

[dynamic-nway]

exten => _1199,1,noop(dynamic-nway)
exten => _1199,n,Answer()
exten => _1199,n,Set(MEETME_EXIT_CONTEXT=dynamic-nway-invite)
exten => _1199,n,Set(DYNAMIC_FEATURES=)
exten => _1199,n,Playback(conf-getconfno)
exten => _1199,n,Read(CONF,dial,,i)
exten => _1199,n,Set(GLOBAL(CONFNO)=${CONF})
exten => _1199,n,noop(${CONFNO})
exten => _1199,n,Playback(conf-getpin)
exten => _1199,n,Read(PIN,dial,,i)
exten => _1199,n,Set(GLOBAL(CONFPIN)=${PIN})
exten => _1199,n,noop(${CONFPIN})
exten => _1199,n,MeetMe(${CONF},pMX,${PIN})
exten => _1199,n,Hangup()


exten => 1995,1,Answer()
;exten => 1995,n,meetme(3456,pdMX)
exten => 1995,n,meetme()
exten => 1995,n,Hangup()

[dynamic-nway-nopin]
exten => _1199,1,noop(dynamic-nway-nopin)
exten => _1199,n,Answer()
exten => _1199,n,GotoIf($[LEN(${CONFNO})=0]?OUT:IN)
exten => _1199,n(IN),MeetMe(${CONFNO},pMX,${CONFPIN})
exten => _1199,n,Hangup()
exten => _1199,n(OUT),Playback(conf-has-not-started)
exten => _1199,n,Hangup()

[dynamic-nway-invite]
exten => 0,1,noop(dynamic-nway-invite)
exten => 0,n,Read(DEST,dial,,i)
exten => 0,n,Set(DYNAMIC_FEATURES=nway-inv#nway-noinv)
exten => 0,n,Dial(SIP/${DEST},,g)
exten => 0,n,Set(DYNAMIC_FEATURES=)
exten => 0,n,Goto(dynamic-nway-nopin,1199,1)
exten => i,1,Goto(dynamic-nway-nopin,1199,1)

[dynamic-nway-dest]
exten => _XXXX,1,noop(dynamic-nway-dest)
exten => _XXXX,n,Dial(SIP/${EXTEN},20) ; Ring the interface, 20 seconds

[macro-nway-start]
exten => s,1,noop(macro-nway-start)
exten => s,n,ChannelRedirect(${BRIDGEPEER},dynamic-nway-nopin,1199,1)

exten => s,n(INPUT),Playback(conf-invite-participant)
exten => s,n,Read(OR,dial,1,i)
exten => s,n,GotoIf($[${OR}=1]?OK:NO)
exten => s,n(OK),Read(DEST,dial,,i)
exten => s,n,noop(Read${DEST})
exten => s,n,Set(DYNAMIC_FEATURES=nway-inv#nway-noinv)
exten => s,n,Dial(SIP/${DEST},,gtT)
exten => s,n,Goto(INPUT)
exten => s,n(NO),Hangup();
;exten => s,n,Set(DYNAMIC_FEATURES=)
;exten => s,n,Goto(dynamic-nway,1199,1)

[macro-nway-ok]
exten => s,1,noop(macro-nway-ok)
exten => s,n,noop(${BRIDGEPEER})
exten => s,n,ChannelRedirect(${BRIDGEPEER},dynamic-nway-nopin,1199,1)
;exten => s,n,ChannelRedirect(${BRIDGEPEER},dynamic-nway,8600,1)

[macro-nway-notok]
exten => s,1,noop(macro-nway-notok)
exten => s,n,SoftHangup(${BRIDGEPEER})

[macro-stdexten]
;

;Standard extension macro
; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
; ${ARG2} - Device(s) to ring
;

exten => s,1,noop(macro-stdexten)
exten => s,n,Set(DYNAMIC_FEATURES=nway-start)
exten => s,n,noop(Dialling...)
;exten => s,n,Dial(SIP/${EXTEN})

exten => s,n,Dial(${ARG2},20,tT) ; Ring the interface, 20 seconds maximum
exten => s,n,noop(Check status = ${DIALSTATUS})
exten => s,n,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
exten => s-NOANSWER,1,Voicemail(${ARG1},u) ; If unavailable, send to voicemail w/ unavail announce
exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start
exten => s-BUSY,1,Voicemail(${ARG1},b) ; If busy, send to voicemail w/ busy announce
exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start
exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer
exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值