Freeswitch管理软件 中通服软件科技申请基于 freeswitch 利用 RTP 消息实现服务端播报回铃音专利,实现在复杂情况下本端语音平台都可以 100%播报本地回铃音

用户投稿 7 0

中通服软件科技申请基于 freeswitch 利用 RTP 消息实现服务端播报回铃音专利,实现在复杂情况下本端语音平台都可以 100%播报本地回铃音

金融界 2025 年 5 月 3 日消息,国家知识产权局信息显示,中通服软件科技有限公司申请一项名为“一种基于 freeswitch 利用 RTP 消息实现服务端播报回铃音的方法、系统、设备及介质”的专利,公开号 CN119906786A,申请日期为 2024 年 12 月。

专利摘要显示,本发明涉及软件设计技术领域,具体地说,涉及一种基于 freeswitch 利用 RTP 消息实现服务端播报回铃音的方法、系统、设备及介质;首先根据从 freeswitch 语音平台获取的记录表,构建表模型;然后呼入 IVR 平台并获取外呼的电话号码,根据 IMS 发起 Bleg 呼叫;最后根据构建的表模型监听 RTP 媒体流,判断是否有合法的 RTP 媒体流返回,若是则将呼入 Aleg 与呼出 Bleg 建立通话,否则根据 Aleg 播报本地回铃音;实现在对端是复杂的 IMS 设备、不同的运营商返回不同 SDP 信息的情况以及没有返回回铃音的情况下,本端语音平台都可以 100%播报本地回铃音。

Freeswitch管理软件 中通服软件科技申请基于 freeswitch 利用 RTP 消息实现服务端播报回铃音专利,实现在复杂情况下本端语音平台都可以 100%播报本地回铃音

天眼查资料显示,中通服软件科技有限公司,成立于2009年,位于北京市,是一家以从事软件和信息技术服务业为主的企业。企业注册资本2500万美元。通过天眼查大数据分析,中通服软件科技有限公司共对外投资了1家企业,参与招投标项目1076次,财产线索方面有商标信息30条,专利信息72条,此外企业还拥有行政许可4个。

本文源自金融界

freeswitch的ACL规则

Freeswitch管理软件 中通服软件科技申请基于 freeswitch 利用 RTP 消息实现服务端播报回铃音专利,实现在复杂情况下本端语音平台都可以 100%播报本地回铃音

概述

freeswitch是一款好用的VOIP开源软交换平台。

VOIP公共网络中的安全问题是最重要的问题,我们必须对网络端口的访问权限做出限制。

ACL全称Access Control List,意为访问控制列表,是一个权限(或规则)列表,列表定义了允许哪些网络实体访问目标对象。

环境

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

freeswitch:v1.8.7

GCC:4.8.5

acl规则配置

acl规则的配置文件${conf_dir}/autoload_configs/acl.conf.xml,默认配置如下。

<configuration name="acl.conf" description="Network Lists">

<network-lists>

<!-- These ACLs are automatically created on startup.

rfc1918.auto - RFC1918 Space

nat.auto - RFC1918 Excluding your local lan.

localnet.auto - ACL for your local lan.

loopback.auto - ACL for your local lan. -->

<list name="lan" default="allow">

<node type="deny" cidr="192.168.42.0/24"/>

<node type="allow" cidr="192.168.42.42/32"/>

</list>

<!-- This will traverse the directory adding all users

with the cidr= tag to this ACL, when this ACL matches

the users variables and params apply as if they

digest authenticated. -->

<list name="domains" default="deny">

<!-- domain= is special it scans the domain from the directory to build the ACL -->

<node type="allow" domain="${domain}"/>

<!-- use cidr= if you wish to allow ip ranges to this domains acl. -->

<!-- <node type="allow" cidr="192.168.0.0/24"/> -->

</list>

</network-lists>

</configuration>

allow表示允许,deny表示拒绝。

acl.conf.xml文件中配置的list名称,可以用于呼叫中的acl鉴权。

该文件有修改时,可以使用命令刷新内存中的acl规则。

reloadacl reloadxml

但是该命令不会刷新新增的acl列表,新增acl列表需要重启fs才能生效。

预设acl规则

fs内置的acl预设规则项(Pre-defined ACLs)。

预设的acl规则项包括如下,可以当作内置变量直接使用。

rfc1918.auto RFC 1918 Space

nat.auto RFC 1918, excluding your local LAN

localnet.auto ACL for your local LAN

loopback.auto ACL for your local LAN

wan.auto 公网地址

sip配置项

fs支持的sip配置项主要在sip_profile下的配置文件中使用,作用于该端口的所有呼叫控制acl。

apply-inbound-acl,呼入acl规则。

apply-register-acl,注册acl规则。

apply-proxy-acl,代理acl规则。

apply-candidate-acl,webrtc的ice框架下可选媒体地址acl规则。

auth-calls,账户鉴权acl规则,包括inbound和register。

示例如下。

配置conf/sip_profile/external.xml如下,则从5080端口呼入的呼叫来源IP都要符合“inbound-acl”规则。

<param name="apply-inbound-acl" value="inbound-acl"/>

配置conf/sip_profile/internal.xml如下,则从5060端口注册的消息来源IP都要符合“register-acl”规则。

<param name="apply-register-acl" value="register-acl"/>

配置conf/directory/default/10011.xml如下,则10011账户的注册/呼叫消息来源IP都要符合“auth-calls-acl”规则。

<param name="auth-acl" value="auth-calls-acl"/>

呼叫acl配置示例

如果我们希望对呼叫进行acl控制,有俩种常用方案。

方案一,配置conf/sip_profile/external.xml如下,则5080端口呼入的呼叫来源IP都要符合“inbound-acl-001”规则。

<param name="apply-inbound-acl" value="inbound-acl-001"/>

方案二,配置conf/dialplan/test001.xml如下,则所有进入拨号计划“foo-hosts-calls”的呼叫来源IP都要符合“list_foo”规则。

<extension name="foo-hosts-calls">

<condition field="${acl(${network_addr} list_foo)}" expression="true"/>

<condition field="destination_number" expression="(.*)">

<action application="bridge" data="sofia/switchbox/$1@myapp.signalwire.com:5060"/>

</condition>

</extension>

配置“${acl(${network_addr} list_foo)}”中的acl为fs的app接口,acl接口的作用是测试ip是否符合“list_foo”规则。

总结

对于公共网络中的VOIP服务,不管如何强调安全性都不为过,linux服务器本身的防护墙和fs服务的acl规则都要正确配置,尽可能的预防和减少sip扫描的威胁。

空空如常

求真得真

相关问答

freeswitch常用功能?

FreeSWITCH是一种开源的电话系统和语音应用程序平台,它提供了许多常用功能,包括呼叫转移、呼叫等待、呼叫保持、会议、语音信箱、自动语音应答、呼叫中心、IVR...

freeswitch能做什么?

FreeSwitch是一个开源的电话软交换平台,它可以用于构建各种类型的电话系统,包括企业电话系统、呼叫中心、语音邮件系统等。FreeSwitch提供了一个灵活的、...

OSC第52期高手问答-----解读FreeSWITCH-OSCHINA-中文...

(杜金房)为大家解答关于FreeSWITCH方面的问题。@SevenDu杜金房:FreeSWITCH中文站(www.freeswitch.org.cn)创始人,FreeSWITCH代码贡献...

freeswitch可以开发啥系统?

Freeswitch是一款开源的软交换平台,可以用于开发多种系统,包括但不限于以下几种:1.电话交换系统:可以开发类似传统电话交换机的功能,如呼叫转接、电话会议...

FreeSWITCH都需要什么样的硬件支持?-OSCHINA-中文开源技...

就是想了解装了FreeSWITCH后是通过什么样的板卡把电话线或电话机接到机器上的?就是想了解装了FreeSWITCH后是通过什么样的板卡把电话线或电话机接到机器上的...

freeswitch在电话会议中有什么功能?

开源的软交换机的意思,主要用于会议电话系统的开发。开源的软交换机的意思,主要用于会议电话系统的开发。

如何让FreeSwitch实现外部mediaproxy?

mediaproxy有两个部分,一个是dispatch一个是relay在其他机器上启动relay就可以,配置他的dispatch指向你的本机的dispatch服务,本机需要把dispatch启动...

freeswitch如何自测websocket端口?

要测试FreeSWITCHWebSocket端口是否正常工作,可以使用telnet或nc(netcat)命令。首先打开终端窗口并输入以下命令:telnetyour_freeswitch_ip5...

switch游戏怎么下载最便宜?

会员免费游戏在Eshop商店的【NintendoswitchOnline】界面能下载《Tetris99》和《FamilyComputer》,其他的大部分免费游戏则需要会员才能进行联机,可以在搜...

WebRTC是一项什么技术架构?

WebRTC是一个支持网络浏览器进行实时语音对话或视频对话的软件架构。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被包括进万维网联盟的W3C推荐标准...

抱歉,评论功能暂时关闭!