首页 » Web前端 » phpxmlrpc编译技巧_freeswitch xml_rpc模块

phpxmlrpc编译技巧_freeswitch xml_rpc模块

访客 2024-12-03 0

扫一扫用手机浏览

文章目录 [+]

概述

freeswitch有非常多的周边模块,给我们供应各种各样的功能,有些功能在适当的场景下可以极大的方便我们的开拓和运用。

本日我们先容一个不常用的模块mod_xml_rpc。

phpxmlrpc编译技巧_freeswitch xml_rpc模块

freeswitch自身内置有http做事器模块,而mod_xml_rpc模块供应了一种非常方便的访问fs内部API接口的办法:通过webapi办法访问,并且可以做到和fs命令行一样的效果。

phpxmlrpc编译技巧_freeswitch xml_rpc模块
(图片来自网络侵删)

我们只须要在freeswitch的配置文件中打开一些默认配置,就可以很方便的利用该功能。

环境

centos:CentOS release 7.0 (Final)或以上版本

freeswitch:v1.8.7

GCC:4.8.5

安装mod_xml_rpc模块

freeswitch的源码安装支配请参照之前的文章。

mod_xml_rpc模块在fs编译安装过程中,默认是有编译安装的,不须要额外的操作步骤。

cd /usr/local/freeswitch/modll-rwxr-xr-x. 1 root root 1642704 8月 17 09:59 mod_xml_rpc.so-rwxr-xr-x. 1 root root 1347 8月 17 09:59 mod_xml_rpc.la

配置启动

mod_xml_rpc模块默认安装,但是在默认配置中是没有启动的,我想该当是出于安全的考虑,毕竟大多数利用fs的职员在不清楚mod_xml_rpc的功能的情形下,是有安全风险的。

修正freeswitch模块加载文件,启动加载mod_xml_rpc模块

cd /usr/local/freeswitch/conf/autoload_configsvi modules.conf.xml<!-- XML Interfaces --><load module="mod_xml_rpc"/>

查看xml_rpc模块配置文件,个中有http端口配置,默认是8080,其余有fs的鉴权信息,如果不做修端正接打开了公网的端口,有很大的安全风险。

[root@localhost autoload_configs]# cat xml_rpc.conf.xml<configuration name="xml_rpc.conf" description="XML RPC"><settings><!-- The port where you want to run the http service (default 8080) --><param name="http-port" value="8080"/><!-- if all 3 of the following params exist all http traffic will require auth --><param name="auth-realm" value="freeswitch"/><param name="auth-user" value="freeswitch"/><param name="auth-pass" value="works"/><!-- regex pattern to match against commands called against this service.If a command with arguments matches, it will be logged at INFO level --><!--<param name="commands-to-log" value=""/> --></settings></configuration>

测试

利用浏览器打开http://192.168.0.152:8080/,用户名密码利用xml_rpc.conf.xml文件中的配置,查看如图

利用浏览器打开http://192.168.0.152:8080/webapi/status,查看如图,和直接在命令行中利用status命令返复书息同等

利用curl办法调用fs的webapi接口

[root@localhost ~]# curl --user freeswitch:works http://192.168.0.152:8080/webapi/status<h1>FreeSWITCH Status</h1>2021-09-22 13:47:12<br>UP 0 years, 0 days, 2 hours, 15 minutes, 55 seconds, 38 milliseconds, 425 microseconds<br>FreeSWITCH (Version 1.8.7 64bit) is ready<br>0 session(s) since startup<br>0 session(s) - peak 0, last 5min 0 <br>0 session(s) per Sec out of max 30, peak 0, last 5min 0 <br>1000 session(s) max<br>min idle cpu 0.00/99.87<br>Current Stack Size/Max 240K/8192K

利用curl办法调用fs的自定义接口task,并附带参数test1 1234,mod_task模块代码见之前的文章

[root@localhost ~]# curl --user freeswitch:works http://192.168.0.152:8080/webapi/task?test1%201234task api test1, cmd:test1 1234, session:(nil)

总结

freeswitch的mod_xml_prc模块在某些场景中有大用途,通过webapi办法调用fs内部api很方便,同时也要考虑到安全方面的风险。

freeswitch内部的API供应给外部调用的办法还是挺多的,后续我们再逐步先容。

末了,freeswitch通过webapi办法访问自定义API合营访问自定义模块的代码逻辑,可以深入研究一下。

fs官方文档:

https://freeswitch.org/confluence/display/FREESWITCH/mod_xml_rpc

空空如常

求真得真

相关文章

C语言编程,构建未来的基石

C语言,作为计算机编程领域的基石,自诞生以来便以其高效、简洁、易于移植等特性受到广大程序员的喜爱。本文将围绕C语言的特点、应用及发...

Web前端 2024-12-26 阅读0 评论0

C语言编码,介绍计算机世界的语言密码

随着科技的飞速发展,计算机已成为我们生活中不可或缺的一部分。在众多编程语言中,C语言因其高效、灵活、强大的功能而备受青睐。本文将带...

Web前端 2024-12-26 阅读0 评论0

C语言第四版,编程领域的基石与创新

C语言作为计算机编程领域的基石,自诞生以来便以其简洁、高效的特点赢得了无数编程爱好者和专业人士的青睐。经过数十年的发展,C语言不断...

Web前端 2024-12-26 阅读0 评论0

C语言源码中的智慧之光,介绍编程之美

C语言,作为一门历史悠久、应用广泛的编程语言,自诞生以来便以其简洁、高效的特点深受广大程序员的喜爱。今天,让我们走进C语言源码的世...

Web前端 2024-12-26 阅读0 评论0

C语言求解极限,技术进步与数学美学的交融

极限是数学中的一个重要概念,它在自然科学、工程技术、经济学等领域都有广泛的应用。随着计算机技术的不断发展,C语言作为一门高效、实用...

Web前端 2024-12-26 阅读0 评论0