星号上下文 - 多个开始和结束

时间:2012-12-06 09:06:19

标签: asterisk

我尝试使用不同的扩展程序拥有自己的挂机agi文件,我已设法让它加载它自己的启动agi文件,但挂机时,它就是&#39 ; s使用第一个初始的。

请帮我纠正我的背景,提前谢谢你!

[check]
exten => _3939X.,1,AGI(start.php)
exten => h,1,AGI(END.php)

exten => _5858X.,1,AGI(58start.php)
exten => h,1,AGI(58end.php)

1 个答案:

答案 0 :(得分:3)

h块只能有一个[..]块。我认为你可以在这里做两件事。您可以为每个扩展程序创建不同的块,以便它们可以拥有自己的h扩展名。也许是这样的:

[check]
exten => _3939X.,1,Goto(3939,s,1)
exten => _5858X.,1,Goto(5858,s,1)

[3939]
exten => s,1,AGI(start.php)
exten => h,1,AGI(39end.php)

[5858]
exten => s,1,AGI(start.php)
exten => h,1,AGI(58end.php)

或者使用单个end.php脚本并传递一个额外的参数来告诉脚本该做什么。这样,您可以捕获脚本中的EXT参数,然后根据变量的内容决定要采取的操作。

[check]
exten => _3939X.,1,Set(EXT=3939)
exten => _3939X.,2,AGI(start.php)

exten => _5858X.,1,Set(EXT=5858)
exten => _5858X.,2,AGI(58start.php)

exten => h,1,AGI(end.php|${EXT})