FreeSWITCH+Workerman+PHP 搭建呼叫中心

由于FreeSWITCH官方已经不再维护FreeSWITCH php esl模块了,但是通过mod_event_socket仍然可以使用php连接;我们可以使用 Workerman 作为中间件,进行连接网站与FreeSWITCH,实现在网站拨号、显示当前话机状态(空闲、振铃、通话、来电)等信息。

mod_event_socket是一个基于TCP的接口来控制FreeSWITCH。默认值是绑定到127.0.0.1端口8021,默认密码是ClueCon。

FreeSWITCH+Workerman+PHP 搭建呼叫中心

开发思路:
1、用 Workerman 创建一个 websocket 服务,对自己的网站进行服务;
2、再用 Workerman 创建一个客户端去连接 FreeSWITCH服务器的 mod_event_socket,

代码示例

<?php use WorkermanWorker; require_once __DIR__ . ‘/Workerman/Autoloader.php’; $worker = new Worker ( ‘websocket://0.0.0.0:5678’ ); $worker->onWorkerStart=function($worker){ //链接freeswitich 服务器 默认 tcp 8021 端口 密码:ClueCon $fsconn = new AsyncTcpConnection(‘tcp://127.0.0.1:8021’); //workerman 与freeswitch 在同一服务器,不同时输入正确IP地址 $fsconn->onMessage = function($fsconn, $data) { $array = array(” “,” ”,”t”,”n”,”r”); $content_type= str_replace($array, ”, $data); if ($content_type == “Content-Type:auth/request”) { $re=$fsconn->send(“auth ClueConrnrn”); $re=$fsconn->send(“event json ALLrnrn”); //订阅所有的事件,项目中可以有选择订阅 } }; $fsconn->connect(); }; $worker->onMessage = function ($connection, $data) { //TODO //此处接受网站发来的消息,如外呼、注册等消息 //可参考向指定客户端发送消息案例 http://doc.workerman.net/faq/send-data-to-client.html }; Worker::runAll ();

前端用 WebSocket 连接服务器的 5678端口,参考 https://www.runoob.com/html/html5-websocket.html

原创文章,作者:admin,如若转载,请注明出处:https://ntib.cn/128.html

(0)
adminadmin
上一篇 2018年11月18日 下午10:37
下一篇 2018年11月18日 下午10:40

相关推荐

  • CentOS免密登录

    CentOS免密登录需要配置SSH登录密码与密钥身份验证。以下是一个简单的步骤: 此外,为了方便使用,可以设置别名,将登录命令写入到配置文件中。例如,在配置文件中添加别名alias…

    记事本 2023年12月27日
  • 宝塔面板MySql进程守护脚本

    宝塔面版的服务器里面网站太多,mysql 时不时的就意外停止了,又没找到具体原因,只能来一个定时检查mysql状态,一旦停止就重新启动。最初没想到用 shell ,使用 php +…

    2018年11月18日
  • 时光记忆——防失忆记事本

    互联网是有记忆的,可人的记忆却消失的很快,许多事情在不知不觉中淡忘了。那些曾经耗费很多精力在网上搜到的信息、问题答案、解决方案就这样逐渐的消失了,当再次需要的时候又要去找,浪费时间…

    记事本 2018年11月18日
  • 处理FastAdmin 键值组件(Fieldlist) 不能排序问题

    在使用FastAdmin 键值组件(Fieldlist) 如果键名为纯数字时,保存后排序失败,将变成键名由小到大的排列方式,用起来很不方便 可以自己修改 public/assets…

    2023年11月21日
  • ThinkPHP模型事件

    模型事件是指在进行模型的写入操作的时候触发的操作行为,包括模型的save方法和delete方法。 模型事件包括下面几种,分为新增前后、更新前后、写入前后、和删除前后,暂时称4个分组…

    记事本 2023年11月18日
  • centos下更改自动分区后的根分区大小

    在安装centos的时候,如果选择都是自动分区,在划分分区的时候划给/分区的很少,留给/home的空间很大,接下来教导大家如何重新调整分区大小: 步骤如下: 1.备份/home目录…

    记事本 2023年11月18日
  • 阿里云轻量服务器配置及安装宝塔面板

    为什么选择轻量服务器? 1、轻量服务器比 ECS 同等服务器会便宜很多,如果是新用户还是可以考虑 ECS 的, 2、带宽大,轻量服务器 限峰值带宽30Mbps ,但是每月又流量限制…

    2023年11月18日
  • mysql 将一个表中的数据更新到另一个表中

    update table_a ,table_bset table_a.field = table_b.fieldwhere table_a.id= table_b.aid 将 ta…

    记事本 2023年11月18日
  • CentOS7 安装 FreeSWITCH 配置呼叫中心

    公司前段时间需要开发呼叫系统与内部客户管理系统进行对接,在客户管理系统中直接拨号进行打电话,同时还需要对每通电话进行录音,统计每个员工的通话时长等。在网上查资料最终选择开源系统Fr…

    2018年11月18日
  • wordpress 绑定多个域名方法

    WordPress在安装的时候会默认绑定当前的域名,如安装时域名为 a.com,在访问www.a.com时,会自动跳到a.com,绑定其它域名时也会跳转,给大家分享一下WordPr…

    记事本 2023年11月18日

发表回复

登录后才能评论
WeChat