freeswitch安装完成后默认的是用静态配置文件的方式加载号码本
这对于动态注册的用户,无法实时同步
需要系统reloadxml后号码才能呼入
对于商业系统来说这是无法接受的
动态加载
动态方式其实很简单,开发一个http接口给fs调用
fs发去http请求传参数,接口返回http相应
这样就OK了
下面给出具体配置:
第一步 找到 modules.conf.conf 文件 去掉注释
<load module="mod_xml_curl"/>
第二步 修改 xml_curl.cong.xml
重点是 http://example1.com:80/fsapi 这个http接口
<configuration name="xml_curl.conf" description="cURL XML Gateway">
<bindings>
<!-- Ask example1.com for a dialplan config, if we get a valid response
then don't continue onto example2.com. However if we don't get a valid
response, then continue onto example2.com
-->
<binding name="dialplan">
<param name="gateway-url" value="http://example1.com:80/fsapi" bindings="dialplan"/>
</binding>
<!-- This will only get called if example1.com returns an invalid or
not found response. If this gateway also fails to return a valid
configuration, then FreeSWITCH will look for the static configuration
file on disk
-->
<binding name="dialplan backup">
<param name="gateway-url" value="http://example2.com:80/fsapi" bindings="dialplan"/>
</binding>
<!-- Ask example1.com for a directory config, if not found then revert
to disk
-->
<binding name="directory">
<param name="gateway-url" value="http://example1:80/fsapi" bindings="directory"/>
</binding>
<!-- Ask example1.com for a configuration config, if not found then revert
to disk
-->
<binding name="configuration">
<param name="gateway-url" value="http://example1:80/fsapi" bindings="configuration"/>
</binding>
<!-- Ask example1.com for a phrases config, if not found then revert
to disk
-->
<binding name="phrases">
<param name="gateway-url" value="http://example1:80/fsapi" bindings="phrases"/>
</binding>
</bindings>
</configuration>
接口的详细规范请参考 http://wiki.freeswitch.org/wiki/Mod_xml_curl
分享到:
相关推荐
本项目“基于freeswitch的电话号码加密demo”提供了一个实例,展示了如何在Freeswitch环境中实现电话号码的加密处理,以确保数据安全。 首先,我们需要了解Freeswitch的基本概念。Freeswitch是一个可编程的通信平台...
通过这种方式,FreeSWITCH可以根据数据库中的实时数据动态调整队列配置,增加了系统的灵活性和可扩展性。同时,这种方法也有助于在不重启FreeSWITCH的情况下实现队列的更新,提高了系统的可用性。
而`mod_ilbc.so`是动态链接库,实际执行时会被FreeSWITCH加载运行。 2. **编译与安装**:在解压文件后,通常需要根据FreeSWITCH的构建系统进行编译和安装。这通常涉及到运行`configure`脚本,配置模块的编译选项,...
6. **可扩展性**:FreeSWITCH的设计允许开发者添加新的模块和功能,以满足不断变化的业务需求。 在"FreeSWITCH简要使用教程V1.1.pdf"中,你可能将学习到以下内容: 1. **安装与配置**:教程会详细介绍在不同操作...
Freeswitch支持通过加载模块来扩展其功能,"mod_xfasr"就是这样一个模块,它允许Freeswitch与讯飞的语音识别服务进行交互。安装和配置该模块是实现对接的第一步。通常,这包括下载源码、编译、安装,并在Freeswitch...
5. **实时转码**:FreeSWITCH能动态地在不同的音频/视频编解码之间转换,确保不同设备和网络之间的兼容性。 **学习FreeSWITCH** 1. **基础概念**:学习FreeSWITCH时,首先要理解软交换、呼叫控制、会话边界控制器...
FreeSWITCH是一个模块化通信平台,支持多种协议,允许开发者和网络管理员构建音频、视频、消息和实时数据通信应用。 本书由Anthony Minessale II和Giovanni Maruzzelli撰写,Anthony Minessale II不仅是FreeSWITCH...
系统启动时,Freeswitch会加载配置文件,这些文件定义了如何处理各种呼叫事件。例如,`拨号计划`(Dialplan)是Freeswitch中的一个重要组件,用于定义电话号码的路由规则。 呼入路由配置主要涉及如何处理来自外部的...
此外,开发者还可以利用freeswitch的API和脚本语言接口,动态生成或加载语音内容,实现更加智能化的语音交互。 总的来说,freeswitch中文语音包是提升国内用户使用freeswitch系统体验的重要组件,它不仅解决了语言...
在FreeSWITCH的CLI中,你可以使用`module_list`命令查看所有已加载的模块,使用`load mod_g729`或`unload mod_g729`来动态加载或卸载模块。 在实际部署中,考虑到版权问题,需要注意G.729编码可能存在专利费用,...
4. **编写脚本**:创建脚本来处理语音数据的上传、接收识别结果或合成的语音,以及在Freeswitch内部的事件触发。 5. **测试与优化**:完成配置后,进行通话测试,检查语音识别和合成的效果,并根据需要调整参数或...
6. **libffi**: 动态调用接口库,用于实现运行时调用函数的功能,例如在Freeswitch中动态加载模块。 7. **glib和gobject**: GNOME库的一部分,提供通用数据结构和程序设计模式,Freeswitch的一些组件可能依赖它们。 ...
通过加载不同的模块,可以实现各种通信功能。中文语音包作为其中的一个模块,负责处理中文语音相关的任务。 2. **中文语音合成(TTS)** 中文语音包通常包含TTS(Text-to-Speech)引擎,将文本转换为自然流畅的语音...
在`opensips.cfg`配置文件中,需要指定监听的IP地址和端口(这里示例为192.168.6.197:5060),并加载必要的模块,如`signaling.so`、`sl.so`和`tm.so`,这些模块分别负责信号处理、状态管理和事务处理。此外,还需要...
FreeSWITCH提供了一个xml_rpc组件,支持用Web的方式管理...需要FreeSWITCH已经加载mod_xml_rpc 然后就可以通过http://<freeswitch-server>:8080/portal打开管理页面。 建议通过官方文档了解mod_xml_rpc的配置方法。
Freeswitch的核心设计是模块化的,允许开发者根据需求添加或移除功能模块,极大地扩展了其功能范围。 **语音合成(TTS)** 语音合成是一种将文本转换为可听见语音的技术。阿里巴巴提供的TTS服务,是基于深度学习的...
在这个条件块的下方,添加一系列设置动作来定义录音文件的元数据,并指定录音的具体操作。具体代码如下: ```xml ${destination_number}${caller_id_number}${strftime(%Y-%m-%d%H:%M)}"/> (c)2011"/> ...
编译时,需要确保这些自定义模块被正确编译并加载到FreeSwitch中。 8. **部署与运行**:最后,将编译好的FreeSwitch部署到生产环境中。根据需求,可能需要配置各种设置,如服务器端口、认证机制、数据库连接等。 ...