学习 Dialplan 5.宏指令

宏指令和 上下文 基本同样,宏指令的定义以下: spa

[macro-voicemail]
exten =>s, 1, Dial(${ARG1}, 10, r)
exten =>s,2, voicemail (u${MACRO_EXTEN}@default)
exten =>s, 102, voicemail (b${MACRO_EXTEN}@default) io

说明: email

一、宏指令名字的定义:macro-name 必需要以 macro- 开头。 变量

二、宏指令中的 extension 只能用 s 表示,这下应该就能明白上篇例子中的s了 mail

既然用到了宏,那么其中的像 分机 等就都须要用变量来表示了,宏中预约义变量: 参数

${MACRO_CONTEXT} ;这个被调用的宏中,初始的上下文
${MACRO_EXTEN} ;这个被调用的宏中,初始的extension
${MACRO_PRIORITY} ;这个被调用的宏中,初始的优先级
${ARGn};传递到宏指令的第n个变量。如第一个变量 ${ARG1}

而后就是在 Dialplan 中调用咱们的宏:

exten =>101,1,Macro(voicemail, ${JOHN})
exten =>102,1, Macro(voicemail, ${JANE})
exten =>103,1, Macro(voicemail, ${JACK})

使用 Macro() 应用 :

一、其中第一个参数就是 宏的名字但不须要macro-前缀,

二、而后后面一个 ${JOHN} 这个参数就是宏中的 ${ARG1} 

三、宏中的 ${MACRO_EXTEN} 那就是 exten =>101,1,Macro(voicemail, ${JOHN}) 这个里面的101

相关文章
相关标签/搜索