2012-05-06 62 views
0

我正在使用Asterisk。這是我的情景:如何防止宏返回到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}) 

執行宏之後(GET-子文件夾,$ {ARG1})它可以追溯到GOSUB(ghesse-SUB,S,1(1))。如何防止它做到這一點?

+0

請提供跟蹤命令和輸出命令「dialplan show ghesse-sub」 – arheops

回答

0

這是GoSub的期望行爲(執行一個子程序,然後繼續你離開的地方)。

如果你不想要這種行爲,那麼你應該使用Goto來代替。

+0

您可以在Asterisk文檔中找到此註釋。它表示應該使用stackpop()來防止這種行爲。我應該如何使用這個命令? – Karadous