⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extensions_dialplan.conf

📁 Astercon2 开源软交换 2.2.0
💻 CONF
字号:
; ---------------------------; Follow planning income ; ---------------------------[default]include = app-trunk[from-siptrunk]include = app-trunk[from-iaxtrunk]include = app-trunk[from-sipexten]include = app-exten[from-iaxexten]include = app-exten; ---------------------------; applications; ---------------------------; the call come from outside trunk [app-trunk]; the call back number is 500 now its callback testexten => 500,1,Answerexten => 500,n,AGI(authaccount.agi)exten => 500,n,GotoIF($["${ASTERCON_CHECKUSER}" = 0]?cbh)exten => 500,n,NoOp('Continue to Call back do')exten => 500,n(cbh),Hangup; local callinclude => app-tolocal; the call come from local extensions device[app-exten]include => app-outboundinclude => app-tolocal; make call to local number[app-tolocal]exten => _X.,1,NoOp('')exten => _X.,n,ResetCDR()exten => _X.,n,Dial(SIP/${EXTEN},${RINGTIME},${CALL_ARGS})exten => _X.,n,ResetCDR()exten => _X.,n,Dial(IAX2/${EXTEN},${RINGTIME},${CALL_ARGS})exten => _X.,n,Hangup()[macro-DialOutBound]exten => s,1,NoOp(${ARG1}); frist timeexten => s,n,Set(ASTERCON_CALLEE=${ARG1})exten => s,n,Set(ASTERCON_DEVICE=${ARG2})exten => s,n,AGI(outboundlcr.agi)exten => s,n,NoOp("ASTERCON_VALIDSTATUS=${ASTERCON_VALIDSTATUS}")exten => s,n,GotoIF($["${ASTERCON_VALIDSTATUS}" != "0"]?eoh)exten => s,n,ExecIf($[${ASTERCON_PLAYFREE} = '1'],AGI,balance.agi)exten => s,n,Goto(todial); retry timeexten => s,n(retry),NoOp('LCR Retry...')exten => s,n,Set(ASTERCON_RETRY=$[ ${ASTERCON_RETRY} + 1 ])exten => s,n,AGI(outboundlcr.agi,lcr); diallingexten => s,n(todial),NoOp('Dialing...')exten => s,n,GotoIF($["${"ASTERCON_LCRSTATUS}" = "2"]?eoh)exten => s,n,Set(GROUP(${ASTERCON_DEVICE})=OUTBOUND_GROUP)exten => s,n,GotoIf($["${ASTERCON_MAXON}" = "yes" & ${GROUP_COUNT(OUTBOUND_GROUP@${ASTERCON_DEVICE})} > ${ASTERCON_MAXCURRENT}]?retry)exten => s,n,ResetCDR()exten => s,n,ExecIf($[${EXISTS(${ASTERCON_LCRTRUNK_NAME})} != 0],Set,CDR(userfield)=${ASTERCON_LCRTRUNK_NAME})exten => s,n,SetAMAFlags(billing)exten => s,n,Dial(${ASTERCON_DEVICE}/${ASTERCON_CALLEE},${RINGTIME},L(${ASTERCON_DIALTIMEOUT})${OUTBOUND_ARGS})exten => s,n,GotoIF($["${ASTERCON_FAILEDON}" = "yes" & "${DIALSTATUS}" = "CONGESTION"]?retry)exten => s,n(eoh),Hangup;[macro-DialOutBound];exten => s,1,NoOp(${ARG1});; frist time;exten => s,n,AGI(outboundlcr.agi,${ARG1});exten => s,n,NoOp("ASTERCON_VALIDSTATUS=${ASTERCON_VALIDSTATUS}");exten => s,n,GotoIF($["${ASTERCON_VALIDSTATUS}" != "0"]?eoh);exten => s,n,ExecIf($[${ASTERCON_PLAYFREE} = '1'],AGI,balance.agi);exten => s,n,Goto(todial);; retry time;exten => s,n(retry),NoOp('LCR Retry...');exten => s,n,Set(ASTERCON_RETRY=$[ ${ASTERCON_RETRY} + 1 ]);exten => s,n,AGI(outboundlcr.agi,lcr,${ARG1},${ASTERCON_OUTGROUP},${ASTERCON_SKIPTRUNK});; dialling;exten => s,n(todial),NoOp('Dialing...');exten => s,n,GotoIF($["${"ASTERCON_LCRSTATUS}" = "2"]?eoh);exten => s,n,Set(GROUP(${ARG2})=OUTBOUND_GROUP);exten => s,n,GotoIf($["${ASTERCON_MAXON}" = "yes" & ${GROUP_COUNT(OUTBOUND_GROUP@${ARG2})} > ${ASTERCON_MAXCURRENT}]?retry);exten => s,n,ResetCDR();exten => s,n,ExecIf($[${EXISTS(${ASTERCON_LCRTRUNK_NAME})} != 0],Set,CDR(userfield)=${ASTERCON_LCRTRUNK_NAME});exten => s,n,SetAMAFlags(billing);exten => s,n,Dial(${ARG2}/${ARG1},${RINGTIME},L(${ASTERCON_DIALTIMEOUT})${OUTBOUND_ARGS});exten => s,n,GotoIF($["${ASTERCON_FAILEDON}" = "yes" & "${DIALSTATUS}" = "CONGESTION"]?retry);exten => s,n(eoh),Hangup;[macro-DialOutBound];exten => s,n,AGI(dialoutbound.agi,${ARG1});exten => s,n,NoOp("ASTERCON_VALIDSTATUS=${ASTERCON_VALIDSTATUS}");exten => s,n,GotoIF($["${ASTERCON_VALIDSTATUS}" != "0"]?eoh);exten => s,n,ExecIf($[${ASTERCON_PLAYFREE} = '1'],AGI,balance.agi);;exten => s,n,Set(ASTERCON_SKIPTRUNK='');exten => s,n,Set(ASTERCON_FAILEDON='no');exten => s,n,Set(ASTERCON_MAXON='no');exten => s,n,Set(ASTERCON_MAXCURRENT=9999);exten => s,n,GotoIF($[${EXISTS(${ARG2})} != 0]?todial);;exten => s,n(tolcr),NoOp('LCR Routing...');exten => s,n,AGI(astconlcr.agi,${ARG1},${ASTERCON_OUTGROUP},${ASTERCON_SKIPTRUNK});exten => s,n,NoOp("ASTERCON_LCRSTATUS=${ASTERCON_LCRSTATUS}");exten => s,n,GotoIF($["${"ASTERCON_LCRSTATUS}" = "2"]?eoh);;exten => s,n(todial),NoOp('Dialing...');exten => s,n,Set(GROUP(${ARG2})=OUTBOUND_GROUP);exten => s,n,GotoIf($["${ASTERCON_MAXON}" = "yes" & ${GROUP_COUNT(OUTBOUND_GROUP@${ARG2})} > ${ASTERCON_MAXCURRENT}]?tolcr);exten => s,n,ResetCDR();exten => s,n,ExecIf($[${EXISTS(${ASTERCON_LCRTRUNK_NAME})} != 0],Set,CDR(userfield)=${ASTERCON_LCRTRUNK_NAME});exten => s,n,SetAMAFlags(billing);exten => s,n,Dial(${ARG2}/${ARG1},${RINGTIME},L(${ASTERCON_DIALTIMEOUT})${OUTBOUND_ARGS});;exten => s,n,GotoIF($["${ASTERCON_FAILEDON}" = "yes" & "${DIALSTATUS}" = "CONGESTION"]?tolcr);exten => s,n(eoh),Hangup[ext-meetme]exten => STARTMEETME,1,MeetMe(${MEETME_ROOMNUM},${MEETME_OPTS},${PIN})exten => STARTMEETME,n,Playback(vm-goodbye)exten => STARTMEETME,n,Hangup exten => h,1,Hangupexten => 28001,1,Set(MEETME_ROOMNUM=28001)exten => 28001,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?READPIN)exten => 28001,n,Answerexten => 28001,n,Wait(1)exten => 28001,n,Set(PINCOUNT=0)exten => 28001,n(READPIN),Read(PIN,enter-conf-pin-number,,,,)exten => 28001,n,GotoIf($[x${PIN} = x123]?USER)exten => 28001,n,GotoIf($[x${PIN} = x456]?ADMIN)exten => 28001,n,Set(PINCOUNT=$[${PINCOUNT}+1])exten => 28001,n,GotoIf($[${PINCOUNT}>3]?h)exten => 28001,n,Playback(conf-invalidpin)exten => 28001,n,Goto(READPIN)exten => 28001,n(ADMIN),Set(MEETME_OPTS=aAciM)exten => 28001,n,Goto(STARTMEETME,1)exten => 28001,n(USER),Set(MEETME_OPTS=ciM)exten => 28001,n,Goto(STARTMEETME,1)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -