學習 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

相關文章
相關標籤/搜索