「Extension Macro To Gosub」の版間の差分
提供: VoIP-Info.jp
(→MacroからGosubへの移行) |
(→基本的な記述) |
||
20行目: | 20行目: | ||
exten => s,n,Some_app() | exten => s,n,Some_app() | ||
exten => s,n,Retrun | exten => s,n,Retrun | ||
+ | ===引数がある場合=== | ||
+ | extenで以下のように記述している場合 | ||
+ | exten => s,n,Macro(hogehoge,HOG1,HOG2) | ||
+ | この場合Macroは以下のように定義されているはず | ||
+ | [macro-hogehoge] | ||
+ | exten => s,1,NoOp | ||
+ | exten => s,n,NoOp(${ARG1}) | ||
+ | exten => s,n,NoOp(${ARG2}) | ||
+ | exten => s,n,Some_app() | ||
+ | exten => s,n,MacroExit | ||
+ | <BR> | ||
+ | 以下のように書き換えます<BR> | ||
+ | exten側 | ||
+ | exten => s,n,Gosub(macro-hogehoge,s,1(HOG1,HOG2)) | ||
+ | macro側 | ||
+ | [macro-hogehoge] | ||
+ | exten => s,1,NoOp | ||
+ | exten => s,n,NoOp(${ARG1}) | ||
+ | exten => s,n,NoOp(${ARG2}) | ||
+ | exten => s,n,Some_app() | ||
+ | exten => s,n,Retrun | ||
+ | ==参考== |
2018年10月21日 (日) 17:22時点における版
MacroからGosubへの移行
Asterisk 16からMacro()が廃止予定とされ、デフォルトではコンパイルされなくなりました(menuconfigで明示指定すれば使えます)。
このためMacroで実装している場合にはGosubに書き換えることを推奨します。
Asterisk 13でもGosubは使用できますので早めの対策が良いです。
基本的な記述
extenで以下のように記述している場合
exten => s,n,Macro(hogehoge)
この場合Macroは以下のように定義されているはず
[macro-hogehoge] exten => s,1,NoOp exten => s,n,Some_app() exten => s,n,MacroExit
以下のように書き換えます
exten側
exten => s,n,Gosub(macro-hogehoge,s,1)
macro側
[macro-hogehoge] exten => s,1,NoOp exten => s,n,Some_app() exten => s,n,Retrun
引数がある場合
extenで以下のように記述している場合
exten => s,n,Macro(hogehoge,HOG1,HOG2)
この場合Macroは以下のように定義されているはず
[macro-hogehoge] exten => s,1,NoOp exten => s,n,NoOp(${ARG1}) exten => s,n,NoOp(${ARG2}) exten => s,n,Some_app() exten => s,n,MacroExit
以下のように書き換えます
exten側
exten => s,n,Gosub(macro-hogehoge,s,1(HOG1,HOG2))
macro側
[macro-hogehoge] exten => s,1,NoOp exten => s,n,NoOp(${ARG1}) exten => s,n,NoOp(${ARG2}) exten => s,n,Some_app() exten => s,n,Retrun