`

Asterisk多方通话,会议邀请拨号方案设计参考

 
阅读更多

[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 
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics