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到指定的路径下,例子很简单,用的着的直接用 ...
随机推荐
- 靶场搭建----phpstudy2018安装及注意问题
安装 官网下载: https://www.xp.cn/download.html 新人推荐2018 版本phpstudy 介绍 系统服务------开机自启 非服务模式------开机不自启 搭建好环 ...
- java 计算两个date日期相差天数或者时间差
相差天数计算: /** * 相差天数计算 */ public int differentDaysByMillisecond(Date date1, Date date2) { return Math. ...
- 浅谈JVM整体架构与调优参数
本文分享自华为云社区<[性能优化]JVM整体架构与调优参数说明>,作者: 冰 河. JVM的分类 这里,我们先来说说什么是VM吧,VM的中文含义为:虚拟机,指的是使用软件的方式模拟具有完整 ...
- AtCoder Beginner Contest 240
前言 考场把前六题切了,但是 E 题和 F 题罚时了,所以也写一写. ABC240 E - Ranges on Tree 题目传送门 分析 \(r\) 的最大值就是叶子的个数,如果将叶子按顺序编号, ...
- OpenHarmony系统使用gdb调试init
前言 OpenAtom OpenHarmony(简称"OpenHarmony")适配新的开发板时,启动流程init大概率会出现问题,其为内核直接拉起的第一个用户态进程,问题定位 ...
- 使用pillow制作长图
这是来自一个妹子的需求,需要将多张图片拼接成一张长图 我是使用pillow这个库来实现的,下面的简单的代码,操作比较简单,代码还有优化的空间 def test(dirpath): ims = [Ima ...
- 双向链表的基本实现【数据结构与算法—TypeScript 实现】
笔记整理自 coderwhy 『TypeScript 高阶数据结构与算法』课程 双向链表:拥有两个指针方向的链表 DoublyNode 结构: prev:指向上一个节点 value:节点值 next: ...
- Linux之sudo
[摘要] 生产环境中为了系统的安全性,Linux主机的root权限是只能管理器使用,普通用户不具有root权限,但是可以通过sudo获取root权限执行一些操作. 一.知识要点 wheel组 在Lin ...
- mysql 重新整理——索引优化一个简单的案例 [十一]
前言 经过了前面的一系列理论,那么用一个例子去看一下吧. 正文 EXPLAIN SELECT t3.emp_no,t3.first_name,(select t4.last_name from tem ...
- MVC过滤器简单刨析
前言 简单介绍一下过滤器. 正文 看下过滤器类型: action: 在动作方法之前及之后执行 result: 在action结果被执行前或者之后执行,比如说返回一个视图,再执行视图前执行一个方法,再执 ...