首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
python3解析FreeSWITCH会议室列表信息
返回列表
发新帖
python3解析FreeSWITCH会议室列表信息
[复制链接]
发表于 2024-5-18 19:40:01
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
操作系统 :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/
[email protected]
: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编译及利用,可参考这篇文章:
https://www.cnblogs.com/MikeZhang/p/py39esl-20230424.html
通过ESL接口及时获取会议列表信息并进行解析。示例代码如下(parseConfRealTime1.py):
完整代码可从如下渠道获取:
3、对会议室成员执行特定操作
这里以设置通道变量为例,演示下如何对会议室成员批量执行操作。
设置通道变量的命令如下:
uuid_setvar c7ba756d-1959-4781-a2c8-2f8b291b0553 my_email
[email protected]
复制代码
验证命令如下:
uuid_getvar c7ba756d-1959-4781-a2c8-2f8b291b0553 my_email
复制代码
示例代码如下(setConfRealTime1.py):
完整代码可从如下渠道获取:
4、运行效果视频
本文涉及源码及预编译二进制文件,可以从如下途径获取:
回复
使用道具
举报
返回列表
浏览过的版块
运维.售后
Oracle
云原生
公有云
开源技术
张裕
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表