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

相关推荐

  • 宝塔面板一键迁移网站及数据库

    广东网页设计公司两个服务器间迁移数据太麻烦了,宝塔面板中有宝塔一键迁移插件安装上,注意是在要迁出数据的服务器上安装,安装完成后,在一键迁移插件设置中输入 新服务器的面板地址及面板API密钥。按照提…

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

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

    2023年11月21日
  • 阿里云composer镜像

    广东网页设计公司阿里云composer镜像与 Packagist 官方实时同步,推荐使用最新的 Composer 版本。所有项目都会使用该镜像地址: 取消配置还原到默认的地址:

    记事本 2023年11月18日
  • git放弃本地修改代码全部使用远程

    广东网页设计公司git强制覆盖:    git fetch –all    git reset –hard origin/master    git pull  git强制覆盖本地命令(单条执行)…

    记事本 2023年11月18日
  • WordPress 配置WP SMTP 插件发送邮件

    广东网页设计公司WordPress 如果由发送邮件的需求时可以使用 WP SMTP 插件,发送邮件的场景有,注册验证、找回密码、客户下单、留言等等。WP SMTP 插件的配置也比较简单,下面以QQ…

    2023年11月18日
  • Mac虚拟机Parallels Desktop

    广东网页设计公司Parallels Desktop 18(PD18)是一种在Mac上同时运行macOS和Windows的虚拟机,支持Intel和M芯片,并在Mac和Windows之间无缝复制和粘贴…

    2024年3月16日
  • laravel、thinkphp 打印getLastSql

    广东网页设计公司laravel打印最后执行sql语句 ThinkPHP 输出最后执行sql,可以在语句后面直接输出

    记事本 2025年1月24日
  • 时光记忆——防失忆记事本

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

    记事本 2018年11月18日
  • windows 系统安装 PHP的redis扩展

    广东网页设计公司因为用windows系统开发PHP网站或应用,有一些需要用到redis,所有需要安装redis,默认是已经安装好了 PHP,首先需要下载redis,下载地址:https://git…

    2023年11月18日
  • 鼎信通达 FXS模拟网关 配置(FreeSwitch)

    广东网页设计公司DAG2000-32S是一款多功能语音网关,用于提供模拟话机、传真或者模拟程控交换机PBX到IP语音网关无缝连接。它同时提供RJ11和RJ21接口,满足用户不同场景的布线需求。 而…

    2018年11月18日

发表回复

登录后才能评论
WeChat