zoukankan      html  css  js  c++  java
  • 如何在asterisk中限制呼叫路数

     
    在asterisk中,对于呼叫个数是可以通过call-limit进行限制的。限制办法是通过修改asterisk.conf中maxcalls参数,设置允许的最大呼叫数。这里的最大呼叫数是包括所有的呼叫数,出境、入境、分机间等呼叫。
     
     
    为了分别限制出境/入境/分机间呼叫,可以通过GROUP函数来完成。在asterisk cookbook这本书中提到了如何使用GROUP函数进行呼叫并发数限制。例如:

    点击(此处)折叠或打开

    1. exten => _1NXXNXXXXXX,1,Set(GROUP(outbound)=myprovider)
    2. same => n,Set(COUNT=${GROUP_COUNT(myprovider@outbound)})
    3. same => n,NoOp(There are ${COUNT} calls for myprovider.)
    4. same => n,GotoIf($[${COUNT} > 2]?denied:continue)
    5. same => n(denied),NoOp(There are too many calls up already. Hang up.)
    6. same => n,HangUp()
    7. same => n(continue),GoSub(callmyprovider,${EXTEN},1})
    这里,通过GROUP为每个通道设置了一个group的变量,GROUP_COUNT统计出同一个GROUPID下的通道数目,在拨号方案中通过比较COUNT进行判断进而达到限制的目的。
    为提高可用性,可以将上面的例子中的2,作为一个全局的变量预定义好,需要修改时,直接修改变量就可以了。
    对于出境和入境的呼叫分别按照group进行限制就可以了
  • 相关阅读:
    HTML中visibility:hidden 和 display:none 的区别及实例?
    新手css学习
    关于新手html的认识
    学习前端第一天(上午)
    0528学习笔记
    愉快的一天
    今日份学习的快乐
    javascript(2)
    javascript
    CSS基础(2)
  • 原文地址:https://www.cnblogs.com/noobkey/p/5009204.html
Copyright © 2011-2022 走看看