FreeSwitch使用mod_format_cdr模块传递json/xml进行HTTP服务接受话单
Song •
4713 次浏览 •
0个评论 •
2018年10月22日
该模块目前是mod_json_cdr
和mod_xml_cdr
的集合, 最终将取代这两个模块。发生这种情况时,这些模块的文档将合并到此页面中。现在,请参阅它们以获取特定输出格式的详细信息。
一、安装配置mod_format_cdr
vim modules.conf
取消mod_format_cdr
的注释
make mod_format_cdr-install
然后进入modules.conf.xml
取消掉mod_format_cdr
的注释即可自动加载。注意 安装好后建议从启freeswitch服务器,因为我使用load mod_format_cdr
发现无用
<load module="mod_format_cdr"/>
二、配置接收地址和传输数据格式
必须至少定义一个配置文件,配置接收地址,数据格式等:
vim autoload_configs/format_cdr.conf.xml
- format参数以指示该特定配置文件的所需输出格式(JSON/XML)。
- 记录发生至少需要
log-dir
或url
中的一个。 - 在
log-dir
(文件)模式下,目标目录中的每次调用都会创建一个文件。 - 在
url
模式下,每个CDR
提交一个POST
。(套接字当前未在CDR
之间重复使用。)cred
字段应包含login:password
以进行身份验证。 - 如果使用
url
提交CDR
失败,则模块将使用每个err-log-dir
回退到文件模式,保证话单不会丢失。
1、format_cdr.conf.xml指向运行PHP代码的Web服务器
<configuration name="format_cdr.conf" description="Multi Format CDR CURL logger">
<profiles>
<profile name="default">
<settings>
<param name="format" value="json"/>
<param name="url" value="http://127.0.0.1:8000/cdr.php"/>
<param name="encode" value="true"/>
<param name="encode-values" value="false"/>
</settings>
</profile>
</profiles>
</configuration>
2、cdr.php配置
<?php
$data = $_POST["cdr"];
$decode_data = urldecode($data);
$obj = json_decode($decode_data);
$sip_user_agent = $obj->variables->sip_user_agent;
$hangup_cause = $obj->variables->hangup_cause;
echo $sip_user_agent;
?>
用户评论
当前暂无评价,快来发表您的观点吧...
更多相关好文
当前暂无更多相关好文推荐...
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
cannot import name 'CUDA_HOME' from 'mmcv.utils' 2021-12-05
-
vgg的loss一轮达到ln(1/n)阈值,如何解决 2021-11-21
-
如何下载使用utils库 2021-10-27
热门文章
-
微信公众号文章/菜单添加小程序时路径如何获取? 2021-12-22
-
如何轻松获取微信小程序路径path? 2021-12-22
-
python/MySQL分页查询方法与性能优化 2021-06-23
-
mitmproxy & python 忽略所有的https/ssl请求 2021-04-19
-
如何使用邮件/邮箱推广微信公众号/小程序? 2021-01-28
栏目最新文章
公告提示
- pytorch中文文档
- pytorch官方文档
提交评论