首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从远程服务器连接到ESL?

如何从远程服务器连接到ESL?
EN

Stack Overflow用户
提问于 2014-05-23 15:50:37
回答 2查看 1.9K关注 0票数 2

我想用PHP做一个web界面来查看FreeSWITCH活动(调用等),可能托管在一个不同的服务器上,而不是运行FS的服务器上。

我已经使用命令行(php single_command.php status)查看了FS服务器上的服务器状态,但现在我想从另一台服务器上查看此状态。

当我尝试将ESL.php文件复制到此远程服务器并尝试检查状态时,我收到以下错误消息:

代码语言:javascript
复制
Fatal error: Call to undefined function new_ESLconnection() in  
/var/www/freeswitch/ESL.php on line 127

这是我的index.php文件:

代码语言:javascript
复制
<?php
ini_set('display_errors', 1);
$password = "ClueCon";
$port = "8021";
$host = "192.168.2.12";

require_once('ESL.php');

set_time_limit(0); // Remove the PHP time limit of 30 seconds for completion due to loop watching events

// Connect to FreeSWITCH
$sock = new ESLconnection($host, $port, $password);
// We want all Events (probably will want to change this depending on your needs)
$sock->sendRecv("status");

// Grab Events until process is killed
while($sock->connected()){
  $event = $sock->recvEvent();
  print_r($event->serialize());
}
?>

我了解到see服务器没有安装FreeSWITCH,所以错误消息很明显,但我不知道如何从此see服务器访问此信息。

谢谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2015-03-25 21:43:09

根据您的需要,您可以使用入站套接字或出站套接字。我对PHP和FS事件套接字了解不多,但是我已经用python尝试了很多。我极力推荐你通过这个link

所以如果你只是想做一些小的任务,比如发起一个呼叫,桥接任何两个给定的数字等等,我认为你应该使用入站套接字(从你的web服务器向freeswitch服务器发出cli命令)或mod_xml_rpc。

如果你想完全控制FS服务器上发生的所有事情,比如显示实时通话状态和修改状态,或者说是一个完整的交互式电话仪表板,那么你应该使用Outbound socket。(你的FS服务器会将所有事件发送到你的web服务器。)

然而,在你的案例中,问题是我认为你没有正确地构建php ESL模块。此链接可能会帮助您installing ESL

票数 2
EN

Stack Overflow用户

发布于 2014-09-19 01:10:35

您可能希望考虑使用XMLRPC,而不是使用ESL。这种联系是非常直接的:

https://wiki.freeswitch.org/wiki/Freeswitch_XML-RPC

XMLRPC的凭据位于autoloads_configs/xml_rpc.conf.xml中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23823778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档