场景描述

IM软件与办公相结合,发起人选择多人建立电话会议。

实现思路

获取参会人的电话号码后,通过ESL将每个电话号码呼入会议。

核心命令

originate sofia/gateway/gatewayName/telNumber &conference(conferenceName)

核心代码

// 初始化一个handle,用于标识到FreeSWITCH的Socket连接
esl_handle_t handle = {{ 0 }};// ip = ...
// port = ...
// password = ...// 连接服务器
esl_status_t status = esl_connect(&handle, ip, port, NULL, password);// 错误处理
// ...std::string conferenceName = getUuid();  // 创建一个 UUID 以唯一标识会议名称
std::vector<std::string> collTel;  // collection of telephone numbers
// collTel = ...
// std::string gatewayName = ...
// 遍历电话号码,将每一个电话号码呼入会议
for (auto iter = collTel.begin(); iter != collTel.end(); ++iter)
{std::ostringstream oss;oss << "api originate sofia/gateway/" << gatewayName << "/" << *iter<< " &conference(" << conferenceName << ")\n\n";esl_send(&handle, oss.str().c_str());
}// 断开连接
esl_disconnect(&handle);

其他实现方式

亦可利用自定义消息实现:在客户端发送自定义消息,在服务器端监听该消息并做相应处理。
这种方式没仔细研究,待有时间再将其补充完整。

FreeSWITCH 电话会议(ESL实现)相关推荐

  1. FreeSWITCH调用接口 监听 多方通话 强转 抢接等,FreeSWITCH电话会议(动态库和restful接口)...

    为什么80%的码农都做不了架构师?>>>    #更多参考: http://freeswitch.net.cn/86.html 中间件下载地址,含windows,linux 旧版本下 ...

  2. freeswitch 用ESL originate实现回拨

    在voip电话中,如果主叫不在线的话就要用回拨方式实现voip通话了 回拨就要用到originate命令了 Java代码   originate  user/1000 &bridge(user ...

  3. [转载]freeSwitch基本操作(转载)

    什么是 FreeSWITCH ? FreeSWITCH 是一个开源的电话交换平台,它具有很强的可伸缩性--从一个简单的软电话客户端到运营商级的软交换设备几乎无所不能.能原生地运行于Windows. M ...

  4. Freeswitch总结大全

    版权声明:本文为CSDN博主「Magician~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog.csdn.net/qq_166 ...

  5. Freeswitch Event Socket IVR外呼方案

    一.项目应用解决方案 1.内呼方案流程: 客户拨号 <--> 运营商/网关 <--> FreeSWITCH(MRCP +ASR/TTS/NLP) <-->Lua(嵌 ...

  6. FreeSWITCH初识

    读到本章,你应该对 FreeSWITCH 有了一个比较全面的了解,迫切地想实验它强大的功能了.让我们从最初的运行开始,一步一步进入 FreeSWITCH 的神秘世界. 命令行参数 一般来说,FreeS ...

  7. 使用Opensips和FreeSwitch搭建万级别的高可用软交换架构

    最近因为项目的原因,需要提供一个支持万级别以上,支持多应用的软交换服务端架构,对以前的架构做了一个调整,写一篇文章总结下. 新的架构主要解决了一下几个问题: 单套要支持1w左右并发的呼叫 完全的高可用 ...

  8. 流媒体服务器FreeSWITCH的安装、配置与启动

    在 CentOS7 下安装启动 FreeSWITCH 1.6 1. 下载源码 cd /usr/local/src git clone -b v1.6 https://freeswitch.org/st ...

  9. FreeSWITCH使用说明

    第二章 FreeSWITCH 初步 什么是 FreeSWITCH ? FreeSWITCH 是一个开源的电话交换平台,它具有很强的可伸缩性--从一个简单的软电话客户端到运营商级的软交换设备几乎无所不能 ...

最新文章

  1. 基于数组的无锁队列(译)
  2. mysql数据库批量编码_MySQL批量修改数据库的编码类型
  3. 动态添加 ajax,ajax动态的添加内容【原创】
  4. eureka源码:EurekaTransport类用于client与server进行交互
  5. 深度学习-机器学习(5.2支持向量机SVM)
  6. html 源码_HTML从零开始——简单介绍
  7. 关于Apache2.4版本的phpMyAdmin的配置
  8. 说说看:如何把自己的导师培养成杰青?
  9. 在本地测试一次成功的AJAX请求
  10. 使用w3m访问页面执行函数
  11. c语言从入门到精通真垃圾,从入门到精通的C语言(吐血量)
  12. win10右键英特尔显卡控制面板不见了(如何打开英特尔® 显卡的控制面板 )
  13. 菜鸟阿鑫的常用类(上)总结
  14. 关于计算机的知识和发明家,计算机历史发展历程中国历史上最牛的三大发明家是谁?...
  15. K8s9(2-1) k8s中的通信机制, kube-proxy的ipvs模式 ,无头服务,LoadBalancer,ExternalName,外部公有 ip(externalIPs)
  16. springcloud和分布式微服务学习笔记
  17. PE文件格式详解(7)
  18. 指南解读:急性心力衰竭中国急诊管理指南(2022)
  19. java calendar getactualmaximum_Java Calendar
  20. Lua脚本的基本使用

热门文章

  1. java JNI调用C++代码(给出一个简单java application示例和实际java web项目过程及错误解决)(一)
  2. instance retrieval
  3. 知云翻译选中不连续内容
  4. MyBatis 中的trim标签
  5. 用Windows Server 2008搭建时钟同步服务器
  6. 终于在pycharm下(Python3.6.1版本)安装完成机器学习相关库文件(sklearn scikit-learn gensim xgboost tensorflow nltk )
  7. 互联网人才格局、35岁真的会失业吗、揭秘什么样的人是真正的it资深技术专家!
  8. TF密码卡中的SKF_EncryptUpdate如何在C代码中使用?
  9. 数据量不断增大的几种简单的优化方案
  10. 网络工程行业介绍,认证介绍(一)(2018年1月12日 17:20:32)