我使用 Asterisk 1.8 和 PHP 来编写 AGI 脚本。
EDIT:
我正在努力从 AGI PHP 脚本中设置和获取全局变量的值。我可以设置通道变量,但不能设置全局变量。使用 PHPAGI 库。
Tried:
Set({$varname}={$value},g)
Set({$varname}=\"{$value}\",g)
Set(GLOBAL({$varname})={$value})
这似乎根本不起作用,当从拨号计划中获取值时,它是空的。
有人有在 AGI 脚本中设置和获取全局变量的工作示例吗?
我找到了一个解决方法来使其发挥作用。
首先,全局变量不得在拨号计划中的 [globals] 部分下声明。而且,您似乎无法在 AGI 脚本中设置全局变量。但是,您可以设置通道变量(当前通道的本地变量)。因此,要从 AGI 脚本设置全局变量,首先将值设置为通道变量,当您从脚本返回到拨号计划时,检索通道变量的值并将其分配给全局变量。基本上,您似乎只能从拨号计划中分配全局变量,而不能从 AGI 脚本中分配全局变量。
示例代码:
//in dial plan
exten => _XXXX,n,AGI(myagiscript.php)
exten => _XXXX,n,Set(GLOBAL(someGlobalVariable)=${myLocalVar})
// in myagiscript.php
$agi->set_variable("myLocalVar", "value");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)