2012-05-06 8 views
0

私はアスタリスクを使用しています。ここに私のシナリオです:マクロがGosubに戻るのを防ぐ方法

[my-custom-ivr] 
exten => s,1,Background(fa/main_menu) 
exten => 1,1,Gosub(ghesse-sub,s,1(1)) 

[ghesse-sub] 
exten => s,n,Macro(get-subfolder,${ARG1}) 
exten => S,n,Read(digitsDetected,"barg/1-Ghesseh/GhesseMenu/1",1,,2,10) 
exten => s,n,NoOp(${digitsDetected}); 
exten => s,n,Macro(get-storyfilename,${digitsDetected}) 
exten => s,n,Playback(${StoryFileName}) 
exten => s,n,NoOp(${MaxStoryID}) 
exten => s,n,NoOp(${StoryFolderID}) 

マクロ実行した後(取得-サブフォルダ、$ {ARG1を})それはGOSUBに戻り(ghesseサブ、S、1(1))。それを防ぐ方法は?

+0

「dialplan show ghesse-sub」の呼び出しと出力の出力を提供してください – arheops

答えて

0

これは、GoSub(サブルーチンを実行して中断したところから続行する)の望ましい動作です。

この動作をしたくない場合は、代わりにGotoを使用する必要があります。

+0

このメモは、Asteriskのドキュメントにあります。これは、この動作を防ぐためにstackpop()を使用する必要があることを示しています。このコマンドはどのように使うべきですか? – Karadous