Asterisk Extensions总结

Dialplan是整个Asterisk的核心。

关于Dialplan的配置涉及的配置文件有extensions.conf extension.ael 和 extensions.lua。

extensions.ael和extensions.lua是Dialplan的两个脚本文件,分别用AEL和LUA写的。

extensions.conf是一般Dialplan配置的文件。

Dialplan有4个基本的元素:Context, Extension, Priority, Application

1、Context

Asterisk把Dialplan分割成一个个区域叫作context。context一般以一组extensions命名。

format:

[context]

...

特殊的context

[general]

;Dialplan的一般设置

[globals]

;Global Variables

2、Extensions

extensions通常是一个数字号码,或者是一类数字号码

format:

exten => number,priority,application

exten =>: extensions的固定格式  对于同一个extension 也可以使用same => 后面可以省略number

number:号码,服从正则表达式规则,

              特殊的符号:

            
             _:模式匹配的开头

              X:0-9之间任意一个数字

              Z:1-9之间任意一个数字

              N:2-9之间任意一个数字

              .:匹配0个或多个数字

              []:匹配括号中的任意一个数字

              !:当没有其它可能的匹配存在时,结束匹配过程(不明)

            例如:_9011.   匹配以9011开头的所有号码(包括9011)

                         _9[1-378]XX   匹配91、92、93、97、98开头的四位数号码

3、Priority

priority是以1开始的数字或者n(next).连续的操作,priority必须是连续的。例如

exten => 1234,1,Answer()
exten => 1234,2,Dial(SIP/2345)
exten => 1234,3,Hangup
会依次执行Answer-->Dial-->Hangup

exten => 1234,1,Answer()
exten => 1234,2,Dial(SIP/2345)
exten => 1234,4,Hangup
只会执行 Answer-->Dial

4、Application

Application是asterisk提供的一些接口,例如Answer,Dial,Hangup,详见ast_app.c

Application可以带参数也可以不带参数,多个参数之间用逗号分割。


Note:

Answer是呼叫者与Asterisk之间的Answer

                       Asterisk
                     /2.Answer \3.Dial
                 sip/           \sip
            channel/             \channel
                  /               \
           1.Dial/       5.RTP     \4.Answer
              User1<-------------> User2   
                         RTCP

待续...


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值