Dialplan 中。。(笔记备忘)

    技术2022-06-26  60

    1: TIMEOUT(absolute)     设置整个从电话呼入开始的时长

     

          exten => _x.,1,Answer() exten => _x.,n,Set(TIMEOUT(absolute)=6000) ;设置整个通话时长不超过6000秒 exten => _x.,n,Dial(SIP/8001,10) exten => _x.,n,Hangup()  

     

    2:Authenticate()  的应用         // 在拨号规则中加入输入密码才能执行下面的流程

     

         exten => 8100,1,Answer() exten => 8100,n,Authenticate(1111) ;设置密码为1111,将会提示请输入密码== exten => 8100,n,Playback(11) ;密码输入正确才能执行这一步 

     

    3:ringing()   有微鸣的振铃声

     

      exten => 8100,1,Answer() exten => 8100,n,ringing() //这一步,产生主机分机有振铃声 exten => 8100,n,Dial(SIP/8100) exten => 8100,n,Hangup() 

     

    4:ZapBarge(channel)    //监听某一通道通话,如ZapBarge(1)  不带参数将有提示监听哪个通道

     

    exten => 8888,1,Answer() exten => 8888,n,ZapBarge() //这里会有语音提示监听哪个通道, exten => 8888,n,Hangup()    

     

     5:busy(5)     发送5秒忙音,忙音后的动作将不执行

     

    6:SayNumber(123)  说出完整的数字,如:一百二十三

     

    7:SayAlpha(string)

     

      说出字符,或数字  

     

    如:  SayAlpha (abc)  则是 a b c

            SayAlpha (123)  则是 一 二 三

     

     

    8:ChanSpy()   //监听函数。 如:下面将监听8001的电话

     

      exten => _x.,1,Answer() exten => _x.,n,ChanSpy(SIP/8001) exten => _x.,n,ChanSpy(SIP/8001,w) //和8001强制通话 

     

    9:宏macro

     

      个人理解是 像类中封装  ,写好,然后调用 

     

    语法:[macro-MACRONAME]

              exten => s,1,action          exten => s,n,action          exten => s,n,action

     

            例:[macro-jh] 

                  exten => s,1,DIAL        ;宏指令只能用"s"extension。

     

    Macro()程序也定义了几种特别的变量来为我们使用。它们包括:   ${MACRO_CONTEXT}       这个被调用宏中,初始的context   ${MACRO_EXTEN}     这个被调用宏中,初始的extension   ${MACRO_PRIORITY}    这个被调用宏中,初始的priority   ${MACRO_OFFSET}     宏返回后从${MACRO_OFFSET}+n+1的priority处执行   ${ARGn}         传递到宏指令的第n个变量。例如第一个自变量是${ARG1},第二个是${ARG2}

     

     

        例子:

     

         [macro-jh] ;定义一个宏jh exten => s,1,Answer() exten => s,n,Dial(SIP/${MACRO_EXTEN}) exten => s,n,Hangup() [aaa] exten => s,1,Macro(jh) ;直接调用宏jh 


    www.asterisk-help.com

     


    最新回复(0)