Asterisk AGI:如何获取或设置全局变量的值?

2024-04-10

我使用 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(使用前将#替换为@)

Asterisk AGI:如何获取或设置全局变量的值? 的相关文章

  • 使用 file_get_content 发布数据

    我已经做了一些关于如何使用的研究file get content与帖子 我也读过this one https stackoverflow com questions 2445276 how to post data in php using
  • 通过身份验证保护 CodeIgniter 2 应用程序的正确方法是什么?

    I have Ion Auth http benedmunds com ion auth 正确安装并在我的服务器上运行 我也有默认的代码点火器2 新闻 教程在同一个 CI 安装中工作 我只是在玩 并对使用身份验证系统 封闭 或保护整个应用程
  • if/else 简写来定义变量

    我很难理解 if else 的 php 简写是如何描述的here https stackoverflow com questions 20233207 php if shorthand and echo in one line possib
  • PHP条件,如果当前页面,则链接突出显示[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个带
  • 所有 PHP 相等比较都是对称的吗?

    Is a b总是等价于 b a 我认为在 JavaScript 中 由于强制转换 有一些奇怪的情况并非如此 I think ide https stackoverflow com questions 4752579 are all php
  • 如何隐藏 URL 中的锚标记

    如何隐藏地址栏中以下链接 href 的哈希值 a href index php dev name 所以它会将我重定向到index php dev name 但我希望地址栏只显示index php 您可以使用 Javascript oncli
  • CodeIgniter 控制器 - JSON - AJAX

    我正在尝试通过 AJAX 使用 CodeIgniter 发送表单构建 并尝试使用 JSON 获取响应 但是 我只在打开开发人员选项卡时看到响应 我什至不确定这是否实际上是响应 因为它显示了两个 json 数据 它所显示的只是加载旋转器 然后
  • Google Cloud SQL 上的故障转移如何运作?

    我打算将 PHP 应用程序 从 Google Cloud Platform 外部的服务器 连接到 Google Cloud SQL 我想知道如何设计应用程序以正确地对其数据库进行故障转移 根据manual https cloud googl
  • Mysqli 更新抛出 Call to a member function bind_param() 错误[重复]

    这个问题在这里已经有答案了 我有一个 70 80 字段表单 需要插入到表中 因此我首先根据表单中的输入名称在数据库中创建了一个表 而不是手动创建一个巨大的插入语句 这是我使用的代码创建 更改表 function createTable ar
  • 如何在 Zend MVC 中实现 SSL

    我之前已经通过使用特定的安全文件夹 例如服务器上的 https 文件夹与 http 文件夹 实现了安全页面 我已经开始使用 Zend Framework 并希望应用程序的某些部分 例如登录 使用 https 我在谷歌上搜索过 甚至在这里搜索
  • 如何通过php获取网页的Open Graph协议?

    PHP 有一个简单的命令来获取网页的元标记 get meta tags 但这仅适用于具有名称属性的元标记 然而 开放图谱协议如今变得越来越流行 从网页获取 opg 值的最简单方法是什么 例如 我看到的基本方法是通过 cURL 获取页面并使用
  • 使用 json_encode() 函数在 PHP 数组中生成 JSON 键值对

    我正在尝试以特定语法获取 JSON 输出 这是我的代码 ss array 1 jpg 2 jpg dates array eu gt 59 99 us gt 39 99 array1 array name gt game1 publishe
  • Codeigniter - 出现 404 Not Found 错误

    我们在 godaddy 有两个托管套餐 我们的实时网站使用以下 htaccess 文件运行良好 无需在 url 中使用 index php 即可访问网站 RewriteEngine On RewriteCond REQUEST FILENA
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 反向引用在 PHP 中不起作用

    最近我一直在研究 更多的是在实践中说实话 正则表达式 我注意到他的力量 我提出的这个要求 link https stackoverflow com questions 30380397 take the text up to a speci
  • Stream_context_set_params 不适用于 ssh2.sftp 包装器

    我想使用类似的功能here http www php net manual en function stream notification callback php 请检查以下代码 function notify notification
  • 从字符串中获取数字

    我有一个字符串 例如 lorem 110 ipusm 我想获取 110 我已经尝试过这个 preg match all 0 9 string ret 但这正在返回 Array 0 gt 1 1 gt 1 2 gt 0 我想要这样的东西 Ar
  • 如何清除 APC 缓存而不使 Apache 崩溃?

    如果 APC 存储大量条目 清除它们会导致 httpd 崩溃 如果 apc clear cache user 花费的时间超过 phps max execution time 调用 apc clear cache 的脚本 将在之前被 php
  • 如何使用 php 将 *.xlsb 转换为数组或 *.csv

    我正在尝试转换 xlsb文件到php array or csv文件 或至少 xls 我尝试使用PHPExcel 但看起来它无法识别该文件中的内容 我注意到 你可以重命名 xlsb文件到 zip文件 然后使用命令行解压缩unzip zip 之
  • 如果产品重量超过1000克,如何以公斤为单位显示

    在 Storefront 主题中 我使用下面的代码将格式化重量从 1000g 更改为 1kg add action woocommerce after shop loop item title show weight 10 function

随机推荐

  • UWP 从任务更新 UI

    我有一个应用程序 它正在检查本地网络中的网络范围 用于运行http服务 所以这意味着我正在检查 f e 从 10 0 0 1 到 10 0 0 255 问题来了 在PC上运行时 速度足够 但在Lumia 950上运行时 速度不够 所以我想在
  • 如何使用 JOINED 继承策略和 Hibernate 创建现有超级对象的子对象

    如何使用 Hibernate 创建持久化超级对象的子对象的正确方法是什么 考虑以下示例 在数据库中被持久化UserID 为 1 名字为 Kevin 激光名字为 Smith 到时候新Entity的数据库模型扩展了Auditor这是哪个子类Us
  • 从外部类访问私有变量 - iOS

    我在类中有一个私有变量 我试图从外部类访问该变量 我有办法做到这一点吗 根据定义 私有实例变量是私有的 您无法从外部访问它们 如果您是该类的作者 则应该为变量提供访问器方法 如果不是 则应避免访问该变量 但是 有一些方法可以规避该限制 您可
  • 在应用程序启动时清除所有会话

    我注意到 当我重新启动 ASP Net 应用程序时 会记住已登录用户的凭据 并且他们可能会发现自己已自动登录 只要不保留在登录时设置的用户会话变量 这种行为就是不需要的 那么 我怎样才能 忘记 应用程序启动时的所有会话呢 我发现我无法使用S
  • Spring WebApp中使用Elasticsearch客户端时出现链接错误

    我在尝试将 Elasticsearch java 客户端包含在我的 Web 应用程序中时遇到问题 我有所需的依赖项 并且我正在初始化 销毁 Spring bean 中创建客户端 作为一个简单的测试 如下所示 Override public
  • 找不到 gem Railties (>= 0.a) (Gem::GemNotFoundException)

    我已经看到了一些其他问题 尝试了他们的建议 但没有一个对我有用 我已经使用 Rails 大约一年了 刚刚开始一个新的 Rails 项目 突然遇到了问题 我卸载并尝试重新安装所有 Ruby 和 Rails Ruby 很好 但 Rails 不行
  • Rails 4 中的 autoload_paths 与 eager_load_paths 令人困惑

    我读了一篇关于 Rails load paths 的文章 这里是link http hakunin com rails3 load paths 但是 我仍然对两者之间的区别感到困惑autoload paths and eager load
  • Spring不接受POST参数,除非@RequestParam“required = false”

    我正在运行 Spring 3 1 2 应用程序 我有一个带有多种方法的 RESTful servlet GET 方法运行得非常好 PathVariables匹配 响应根据 Accept 标头正确编组为 JSON 或 XML 等等 100 成
  • WPF:如何以任意角度旋转 BitmapSource

    好的 我尝试过这个 TransformedBitmap tbm new TransformedBitmap myBitmapSource new RotateTransform angle return tbm 但这不适用于 90 度倍数以
  • 为暂停的订阅纠正 paypal IPN 变量

    如果按月付费订阅者的信用卡已过期 而 PayPal 尝试获取资金失败 3 次 则该用户将被 PayPal 暂停 我正在尝试更新我的 PHP 脚本 以便在这种情况下数据库中发生正确的更改 我研究了 PayPal 文档 但无法找到关于一旦用户帐
  • 放弃所有本地更改并返回到最后拉取的版本

    我如何在 git 中放弃所有本地更改 提交并返回到最后拉取的版本 命令必须位于一个字符串 字段 中 You can reset https git scm com book en v2 Git Tools Reset Demystified
  • 在 Spring Boot 中转义 Yaml 中的 Map 键中的点

    我有以下 yml 配置 foo bar com a b baz com a c 通过以下类 Spring 尝试使用键 bar 和 baz 注入映射 将点视为分隔符 public class JavaBean private Map
  • 如何在 log4j2 中生成标题行

    在 log4j 中 我们有时会创建第二个记录器并向其输出 CSV 数据 作为应用程序的指标监视 与我们用于调试等的普通日志相反 这些数据很容易导入和绘制图表 在旧的 log4j 中 我们通过子类化 PatternLayout 覆盖 head
  • 如何找到“无法加载‘xxx.dll’导入的过程”的来源。例外?

    过去一周我一直在追求这个例外 情况是 我有一个用 C 编写并在 Visual Studio 2010 中构建的应用程序 该应用程序包含一个 DLL 它是非托管代码库的包装器 非托管代码是用 C 编写的 并在 Visual Studio 20
  • 如何将系统变量值传递给执行 SQL 任务中的 SQL 语句?

    SSIS 2008 非常简单的任务 我想检索系统变量并在 SQL INSERT 中使用它 我想检索的值System MachineName并在插入语句中使用它 使用声明INSERT INTO MYLOG COL1 SELECT System
  • C++ - 在文本文件中查找和替换(标准系统库)

    我正在寻找一些建议 我的情况 应用程序适用于文本本地文件 文件中的某处有这样的标签 correct TEXT 不幸的是 之间可以有无限的空格correct and TEXT 获得的文本正在功能测试中 可能会被替换 更改必须存储在文件中 co
  • 更改列表视图中文本视图的可见性

    我有一个列表视图 它由来自单独布局文件的两个文本视图组成 我用一个BaseAdapter从 JSON 文件构建列表 我希望第一个文本视图 标题 可单击 如果单击它会显示第二个文本视图 文本 如果再次单击它会隐藏它 当我使用onClick a
  • kibana server.basePath 结果为 404

    我在 RHEL 7 2 上运行 kibana 4 4 1 当 kibana yml 文件不包含设置时一切正常server basePath Kibana 成功启动并吐出消息 info listening Server running at
  • 在哪里可以找到 PHP 的错误日志文件?

    在哪里可以找到错误日志文件 我需要检查它们以解决安装后显示的内部服务器错误suPHP https wiki archlinux org title SuPHP 您可以使用lsof https en wikipedia org wiki Ls
  • Asterisk AGI:如何获取或设置全局变量的值?

    我使用 Asterisk 1 8 和 PHP 来编写 AGI 脚本 EDIT 我正在努力从 AGI PHP 脚本中设置和获取全局变量的值 我可以设置通道变量 但不能设置全局变量 使用 PHPAGI 库 Tried Set varname v