python3解析FreeSWITCH会议室列表信息
操作系统 :CentOS 7.6_x64
FreeSWITCH版本 :1.10.9
Python版本:3.9.12
进行FreeSWITCH会议室相关功能开发过程中,会遇到需要解析会议室列表信息并进行特定操作的情况,比如设置特定通道变量、发送dtmf、录音等。
今天整理下CentOS7环境下,使用Python3解析FreeSWITCH会议室列表信息然后进行特定操作的笔记,并提供相关示例代码、运行效果视频和配套文件下载。
我将从以下几方面进行展开:
会议室信息格式及字段说明
使用Python3解析会议室列表信息
运行效果截图及视频
- 配套资源下载
一、会议室信息格式及字段说明
1、会议室信息获取
发起会议:
conference test bgdial user/1001
conference test bgdial loopback/6001
conference test bgdial loopback/6002
查看会议列表:
conference list

数据格式如下:
+OK Conference test (3 members rate: 8000 flags: running|answered|enforce_min|dynamic|exit_sound|enter_sound|json_status)
7;loopback/6002-a;baee0b74-4a4d-4df4-97e7-3a072e83fcf5;Outbound Call;6002;hear|speak|talking;0;0;100
6;loopback/6001-a;11be5368-ce8a-41f1-8efd-1ba415122cb2;Outbound Call;6001;hear|speak|talking|floor;0;0;100
5;sofia/internal/1001@192.168.137.1:9800;c7ba756d-1959-4781-a2c8-2f8b291b0553;Outbound Call;1001;hear|speak;0;0;100
2、会议室信息字段解释
conference list命令没有表头,可在FreeSWITCH源码中找到字段解释。
文件:mod/applications/mod_conference/mod_conference.c
函数:conference_list

字段含义列表如下 :
会议室成员id
channel name
成员uuid
caller id name
caller id number
flags
volume_in_level
volume_out_level
energy_level
3、其它格式
1)xml格式
命令:
conference xml_list

2)json格式
命令:
conference json_list

二、使用python3进行会议室信息解析
xml格式和json格式都携带有字段解释信息,这里以conference list返回的结果为例进行解析。
1、文本解析
关键点:
1)解析会议室名称;
2)获取会议室成员信息;
示例代码如下(parseConfTest1.py):

完整代码可从如下渠道获取:

2、ESL实时解析
这里演示下使用ESL实时获取会议室列表信息,并打印出会议室成员的uuid列表。
python3.9.12版本的ESL编译及使用,可参考这篇文章:

完整代码可从如下渠道获取:

3、对会议室成员执行特定操作
这里以设置通道变量为例,演示下如何对会议室成员批量执行操作。
设置通道变量的命令如下:
uuid_setvar c7ba756d-1959-4781-a2c8-2f8b291b0553 my_email mike_zhang@live.com
验证命令如下:
uuid_getvar c7ba756d-1959-4781-a2c8-2f8b291b0553 my_email

示例代码如下(setConfRealTime1.py):

完整代码可从如下渠道获取:

4、运行效果视频
三、资源下载
本文涉及源码及预编译二进制文件,可以从如下途径获取:

python3解析FreeSWITCH会议室列表信息的更多相关文章
- python3 三元表达式,列表解析
python3 三元表达式,列表解析 三元表达式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 x=2 y=3 if x > y ...
- 【转】python3解析库lxml
转自:http://www.cnblogs.com/zhangxinqi/p/9210211.html 阅读目录 1.python库lxml的安装 2.XPath常用规则 (1)读取文本解析节点 (2 ...
- python3解析库pyquery
pyquery是一个类似jquery的python库,它实现能够在xml文档中进行jQuery查询,pyquery使用lxml解析器进行快速在xml和html文档上操作,它提供了和jQuery类似的语 ...
- Extjs4.2如何实现鼠标点击统计图时弹出窗口来展示统计的具体列表信息
var pageSize = 20;//初始化每页数据条数 var winTitle = '';//初始化窗口标题 /** *点击统计图时,弹出一个窗口,显示统计的详情列表信息, *该方法为项目中所有 ...
- Android 实现用户列表信息的功能,然后选择删除幻灯片删除功能
在项目开发过程中.经常须要对用户列表的信息进行删除的操作.Android中经常使用的删除操作方式有两种 .一种就是类似微信的滑动出现删除button方式,另一种是通过CheckBox进行选择.然后通过 ...
- Windows Server 2016-命令行批量导出AD用户列表信息
本章节为大家带来如何通过Powershell或ldifde命令行方式导出域用户列表信息,方便大家日常运维工作中使用. Powershell方式导出现有Staff目录下所有用户信息列表: Get-ADU ...
- Linux c使用gumbo库解析页面表单信息(三)
前面说了那么多,终于说到如何解析html表单信息了. 什么是表单信息呢,这里我们先要有一些概念: 如上图,这是一个QQ注册页面,注册页面当中需要我们填的空其实就是一个表单信息. 具体到html代码当中 ...
- Python3 解析excel文件
Python3 解析读取excel文件 一.第三方库 import xlrd 二.代码示例 import xlrd ''' 读取Excel每个sheet的第一列和第二列的值,拼接成json串,写入文件 ...
- Python3 解析XML 层序遍历二叉树
Python3 解析XML 层序遍历二叉树 keyword : python3, xml, xml.dom.minidom, 层序遍历, 层次遍历, 二叉树 part1 问题描述 面对如下 XML 文 ...
- DataGrid列表信息保存为EXCEL到指定的路径 ---------继续DataGrid在WPF的数据绑定
一.许多WPF或者Winform程序在保存数据时,会以EXCEL或者文本的形式展现可视化界面的数据,本文就简单介绍下将DataGrid列表信息保存为EXCEL到指定的路径下,例子很简单,用的着的直接用 ...
随机推荐
- petalinux创建及工程配置
2023-03-19 21:56:47 下载petalinux安装包 petalinux_2022 下载download用于离线编译 downloads_2022 sstate下载 这个部分不容易在线 ...
- AXI自定义IP之UART调试
AXI自定义IP之UART调试 1.实验原理 前面的自定义IP中已经将AXI总线的大部分接口设置都一一验证了.基本掌握了关键接受寄存器slv_reg和发送寄存器data_reg_out,可以基本实现简 ...
- Windows下获取设备管理器列表信息-setupAPI
背景及问题: 在与硬件打交道时,经常需要知道当前设备连接的硬件信息,以便连接正确的硬件,比如串口通讯查询连接的硬件及端口,一般手工的方式就是去设备管理器查看相应的信息,应用程序如何读取这一部分信息呢, ...
- 【已解决】git push send-pack: unexpected disconnect while reading sideband packet
解决办法:修改缓存大小 打开项目所在路径下的git目录 找到config文件,用记事本打开编辑. 添加如下内容并保存即可 [http] postBuffer = 1048576000
- layui框架使用单页面弹出层组件layer
layui实现单页面弹出层 首先需要导入layui的js和css: <link rel="stylesheet" href="layui/css/layui.css ...
- 面试官:Session和JWT有什么区别?
Session 和 JWT(JSON Web Token)都是用于在用户和服务器之间建立认证状态的机制,但它们在工作原理.存储方式和安全性等方面存在着一些差异,下面我们一起来看. 1.什么是JWT? ...
- #贪心#CF1054D Changing Array
题目 给定 \(n\) 个 \(k\) 位二进制数,\(n\leq 2*10^5,k\leq 30\) 可以选择若干数将其所有二进制位取反, 最多可以有多少个区间的异或和不为 0 分析 考虑将区间异或 ...
- OpenHarmony组件复用示例
本文转载自<#2023盲盒+码# OpenHarmony组件复用示例>,作者zhushangyuan_ ● 摘要:在开发应用时,有些场景下的自定义组件具有相同的组件布局结构,仅有状态变 ...
- 带你玩转OpenHarmony AI-基于海思NNIE的AI能力自定义
简介 相信大家从玩转OpenAtom OpenHarmony(简称"OpenHarmony")AI系列专题的其他文章中,已经拓展了OpenHarmony AI在智慧出行.智慧办公等 ...
- 震撼!这个Python模块竟然能自动修复代码!
说到Python的强大的地方,那真的是太多了,优雅.简洁.丰富且强大的第三方库.开发速度快,社区活跃度高等,所以才使得Python才会如此的受欢迎. 今天给大家介绍一个特别暴力的Python库: Fu ...