php - FreeSWITCH 中是否有与 Asterisk AMI 和 AGI 相似的地方?

标签 php voip asterisk freeswitch

Asterisk 有 Asterisk Manager Interface (AMI)Asterisk Gateway Interface (AGI) , 使用它可以在 Asterisk 的某些事件中触发 PHP 脚本。使用相同的 PHP 脚本还可以指示 Asterisk 在电话/ session 之后做什么。 FreeSWITCH 中是否有与 AMI 和 AGI 相似的地方?

最佳答案

这些都是很好的问题。我只是想对@dkwiebe 所说的内容添加一些内容(顺便说一句,这是正确的)。

FreeSWITCH 中的 AMI 等价物是事件套接字。 (从技术上讲,它不是“事件套接字库”或 ESL,它是编写使用事件套接字的程序的抽象层。我只是想做出这种区分。)事实上,“asterisk -r”的 FreeSWITCH 等价物实际上是一个名为“fs_cli”的基于 ESL 的程序 - FreeSWITCH 命令行界面的缩写。 fs_cli 程序是一个很好的例子,说明您可以使用 ESL 完成什么。

此外,您没有理由不能使用 ESL 程序来完成许多可以使用 AGI 脚本完成的事情。 ESL“连接对象”可以“锁定”到单个调用段并对其进行控制。 wiki 上有一些例子,即将出版的 FreeSWITCH Cookbook 将有一些关于这个主题的食谱。 (全面披露:我是 FreeSWITCH Cookbook 的合著者。)

另一种与 ESL 相关的控制调用(如 AGI)的方法是使用 fs_ivrd 守护进程。它不像 ESL 那样常用,但对于类似 AGI 的脚本来说是一个不错的选择。参见 this wiki page了解更多详情。

最后,我想提一下,Lua 是执行脚本/逻辑/等的绝佳选择。在调用控制中。它简单、轻便且易于学习。在实验室中,我们已经在 8 核机器上看到了数千个并发的 Lua 控制调用。 Lua 甚至可以在一些非常苛刻的环境中工作。

欢迎加入 irc.freenode.net 上的#freeswitch,与 FreeSWITCH 社区讨论您的问题。

关于php - FreeSWITCH 中是否有与 Asterisk AMI 和 AGI 相似的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8662846/

相关文章:

macos - 在 AUHAL 上设置采样率

java - Android SIP call.startAudio() 不工作

linux - 二进制文件权限被拒绝

php - 显示每个卧室数量的图标(酒店网站)php

sdk - 需要关于 Ozeki(IP 语音)VoIP SIP SDK 的反馈

numbers - 用于不同语言的 Asterisk 的 SayNumber() 函数

python - PJSUA 使用 c 进行 sip 注册时出错

php - Symfony2 有条件验证

php - 意外警报打开 : {Alert text : } laravel dusk

php - 我可以使用哪些编程语言来编写 Bonjour 软件?