首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >星号和Freepbx :多天夜切换?

星号和Freepbx :多天夜切换?
EN

Stack Overflow用户
提问于 2015-02-25 17:36:27
回答 2查看 1.2K关注 0票数 0

在这种情况下,我经常需要更改主动调用流控制(只能是one..right?)。我发现,如果您有4种不同的场景,那么网络调用流控制是非常不方便的。因此,我想要做的是创建一个4种不同的扩展,将适当的呼叫流设置为入站路由目的地。

举个例子:我有

  • 呼叫流程NR 1
  • 呼叫流程NR 2
  • 呼叫流程NR 3
  • 呼叫流程NR 4

我想要创造:

  • 分机*881 ->切换调用流nr 1,并将其设置为入站路由的目的地。
  • 分机*882 ->切换调用流nr 2,并将其设置为入站路由的目的地。
  • 分机*883 ->切换调用流nr 3并将其设置为入站路由的目的地。
  • 分机*884 ->切换调用流nr 4并将其设置为入站路由的目的地。

这样的事有可能吗?如果so...how,你会实现它吗?我的系统基于星号11和freepbx 2.11。提前感谢您的时间和努力。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-26 15:42:48

我想出来了

编辑/etc/asterisk/extensions_custom.com并粘贴以下内容

代码语言:javascript
运行
复制
[from-internal-custom]
include => enable-switch

[check-active-switch]
exten => s,1,NoOp("This context loops through all the switches and checks which one is ON. Than it follows its destination")
exten => s,n,GoSub(sub-get-nr-of-switches,s,1)
exten => s,n,Set(nrofs=${GOSUB_RETVAL})
exten => s,n,Set(i=0)
exten => s,n,Set(default-dest=app-daynight,${switchnr},1)
exten => s,n,Set(switchnr="NULL")
exten => s,n,While($[$[${i} < ${nrofs}] & $[${switchnr} = "NULL"]])
exten => s,n,Set(switchnr=${IF($["${DB(DAYNIGHT/C${i})}" = "NIGHT"]?${i}:"NULL")})
exten => s,n,Set(i=$[${i} + 1])
exten => s,n,EndWhile
exten => s,n,GotoIf($[${switchnr}!="NULL"]?app-daynight,${switchnr},1:${default-dest})
exten => s,n,Hangup()

[sub-get-nr-of-switches]
exten => s,1,Set(nr_of_s=0)
exten => s,n,Set(exten_state="NOT_ACQUIRED")
exten => s,n,While($[${exten_state}!=0])
exten => s,n,Set(exten_state=$[${VALID_EXTEN(app-daynight,${nr_of_s},1)}])
exten => s,n,NoOp(Exten nr ${nr_of_s} of app-daynight is ${exten_state})
exten => s,n,Set(nr_of_s=${IF($[${exten_state}=1]?$[${nr_of_s}+1]:${nr_of_s})})
exten => s,n,EndWhile
exten => s,n,NoOp(${nr_of_s} switches found)
exten => s,n,Return(${nr_of_s})

[enable-switch]
exten =>_*20X,1,NoOp("Abilita Switch selezionato e disabilita altre")
same => n,GoSub(sub-get-nr-of-switches,s,1)
same => n,Set(nrofs=${GOSUB_RETVAL})
same => n,Set(switchtoactivate=${EXTEN:3})
same => n,NoOp(Activated Switch nr ${switchtoactivate})
same => n,Set(i=0)
same => n,While($[${i}<${nrofs}])
same => n,Set(DB(DAYNIGHT/C${i})=DAY)
same => n,Set(i=$[${i}+1])
same => n,EndWhile
same => n,Set(freepbx_toggle_dest=*28${switchtoactivate})
same => n,Goto(app-daynight-toggle,${freepbx_toggle_dest},1)
same => n,Hangup

接下来,转到freepbx,并创建一个自定义目标->检查-活动开关,s,1,并将其设置为入站路由的目的地。

票数 0
EN

Stack Overflow用户

发布于 2015-02-26 13:21:40

您可以根据需要设置尽可能多的时间条件。

您可以使用特殊代码打开/关闭时间条件(用于假日)。您可以在“时间体验”页面上检查确切的代码。

您还可以创建自定义模块,这将改变流量,更多的信息见dev.freepbx.org。作为选项,你可以雇用某人做你的条件模块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28725825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档