Asterisk 如何防止宏返回到Gosub

Asterisk 如何防止宏返回到Gosub,asterisk,Asterisk,我用的是星号。以下是我的设想: [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) ex

我用的是星号。以下是我的设想:

[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 subfolder,${ARG1})之后,它返回到Gosub(ghesse sub,s,1(1))。如何防止它这样做?

这是GoSub所希望的行为(执行一个子例程,然后在您停止的地方继续)


如果您不希望出现这种行为,则应改用Goto。

请提供调用跟踪和命令“dialplan show ghesse sub”的输出。您可以在星号文档中找到此注释。它说应该使用stackpop()来防止这种行为。我应该如何使用此命令?