操作系统 :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):

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

关注微信公众号(聊聊博文,文末可扫码)后回复 20240429 获取。
运行效果如下:

2、ESL实时解析

这里演示下使用ESL实时获取会议室列表信息,并打印出会议室成员的uuid列表。

python3.9.12版本的ESL编译及使用,可参考这篇文章:

通过ESL接口实时获取会议列表信息并进行解析。
示例代码如下(parseConfRealTime1.py):

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

关注微信公众号(聊聊博文,文末可扫码)后回复 20240429 获取。
运行效果如下:

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):

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

关注微信公众号(聊聊博文,文末可扫码)后回复 20240429 获取。
运行效果如下:

4、运行效果视频

运行效果视频可从如下渠道获取:
关注微信公众号(聊聊博文,文末可扫码)后回复 2024042901 获取。

三、资源下载

本文涉及源码及预编译二进制文件,可以从如下途径获取:

关注微信公众号(聊聊博文,文末可扫码)后回复 20240429 获取。

python3解析FreeSWITCH会议室列表信息的更多相关文章

  1. 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 ...

  2. 【转】python3解析库lxml

    转自:http://www.cnblogs.com/zhangxinqi/p/9210211.html 阅读目录 1.python库lxml的安装 2.XPath常用规则 (1)读取文本解析节点 (2 ...

  3. python3解析库pyquery

    pyquery是一个类似jquery的python库,它实现能够在xml文档中进行jQuery查询,pyquery使用lxml解析器进行快速在xml和html文档上操作,它提供了和jQuery类似的语 ...

  4. Extjs4.2如何实现鼠标点击统计图时弹出窗口来展示统计的具体列表信息

    var pageSize = 20;//初始化每页数据条数 var winTitle = '';//初始化窗口标题 /** *点击统计图时,弹出一个窗口,显示统计的详情列表信息, *该方法为项目中所有 ...

  5. Android 实现用户列表信息的功能,然后选择删除幻灯片删除功能

    在项目开发过程中.经常须要对用户列表的信息进行删除的操作.Android中经常使用的删除操作方式有两种 .一种就是类似微信的滑动出现删除button方式,另一种是通过CheckBox进行选择.然后通过 ...

  6. Windows Server 2016-命令行批量导出AD用户列表信息

    本章节为大家带来如何通过Powershell或ldifde命令行方式导出域用户列表信息,方便大家日常运维工作中使用. Powershell方式导出现有Staff目录下所有用户信息列表: Get-ADU ...

  7. Linux c使用gumbo库解析页面表单信息(三)

    前面说了那么多,终于说到如何解析html表单信息了. 什么是表单信息呢,这里我们先要有一些概念: 如上图,这是一个QQ注册页面,注册页面当中需要我们填的空其实就是一个表单信息. 具体到html代码当中 ...

  8. Python3 解析excel文件

    Python3 解析读取excel文件 一.第三方库 import xlrd 二.代码示例 import xlrd ''' 读取Excel每个sheet的第一列和第二列的值,拼接成json串,写入文件 ...

  9. Python3 解析XML 层序遍历二叉树

    Python3 解析XML 层序遍历二叉树 keyword : python3, xml, xml.dom.minidom, 层序遍历, 层次遍历, 二叉树 part1 问题描述 面对如下 XML 文 ...

  10. DataGrid列表信息保存为EXCEL到指定的路径 ---------继续DataGrid在WPF的数据绑定

    一.许多WPF或者Winform程序在保存数据时,会以EXCEL或者文本的形式展现可视化界面的数据,本文就简单介绍下将DataGrid列表信息保存为EXCEL到指定的路径下,例子很简单,用的着的直接用 ...

随机推荐

  1. 面试官:只知道v-model是:modelValue和@onUpdate语法糖,那你可以走了

    前言 我们每天都在用v-model,并且大家都知道在vue3中v-model是:modelValue和@update:modelValue的语法糖.那你知道v-model指令是如何变成组件上的mode ...

  2. Loto实践干货(9) 示波器测 晶振

    我们用LOTO示波器的多个型号,带宽从20M到100M,分别测无源和有源晶振的情况.分别测试了12M,15M,24M,48M,80M晶振的波形.并分析了为什么我们经常测出晶振波形不是方波?为什么有时候 ...

  3. Java 中文、unicode编码互转 ;汉字、二进制字符串互转

    //中文转unicode编码 public static String gbEncoding(final String gbString) { char[] utfBytes = gbString.t ...

  4. FCOSv2:原作的扩展版本,小修小改,性能高达50.4AP | IEEE T-PAMI 2020

    本文是对FCOS的小修小改,最终性能达到了50.4AP,可谓相当强劲了,大家在工程上可以参考其中的改进以及提升方法   来源:晓飞的算法工程笔记 公众号 论文: FCOS: A Simple and ...

  5. 给你的wordpress添加文章内图片鼠标点击放大浏览的功能吧~

    注:笔者已启用WP Githuber MD插件使用Markdown语法进行文章编辑,启用的主题为generatepress. 1.进入你的宝塔面板首页 点击文件选项: 2.分别找到以下几个文件进行修改 ...

  6. 【WiFi开发全攻略】WIFI常用工具汇总

    [WiFi开发全攻略]WIFI常用工具汇总 本节主要介绍我们开发过程中,WiFi常用的开发工具,内容主要介绍工具种类以及基本的使用方法,更多使用可以见后面章节. 1.iwconfig iwconfig ...

  7. cloudflare认识2(picgo结合使用)

    参考:https://zhuanlan.zhihu.com/p/658058503 https://blog.csdn.net/CCCChris001122/article/details/13585 ...

  8. 【直播回顾】战码先锋第五期:深入理解OpenHarmony系统启动,轻松踏上设备软件开发之旅

    6月14日晚上19点,战"码"先锋第五期直播 <深入理解OpenHarmony系统启动,轻松踏上设备软件开发之旅> ,在OpenHarmony社群内成功举行.   本期 ...

  9. 震撼!这个Python模块竟然能自动修复代码!

    说到Python的强大的地方,那真的是太多了,优雅.简洁.丰富且强大的第三方库.开发速度快,社区活跃度高等,所以才使得Python才会如此的受欢迎. 今天给大家介绍一个特别暴力的Python库: Fu ...

  10. vue-cli4,vue3打包后页面无内容

    这个问题百度了一下,各种各样的的回答都有,试了好多种方法,终于解决这个问题 解决方法: 1.在项目根目录下,新建  vue.config.js, 在文件中输入: module.exports = { ...