CN113727464B - 一种满足sip流媒体服务器高并发通话的建立方法和装置 - Google Patents
一种满足sip流媒体服务器高并发通话的建立方法和装置 Download PDFInfo
- Publication number
- CN113727464B CN113727464B CN202111100718.4A CN202111100718A CN113727464B CN 113727464 B CN113727464 B CN 113727464B CN 202111100718 A CN202111100718 A CN 202111100718A CN 113727464 B CN113727464 B CN 113727464B
- Authority
- CN
- China
- Prior art keywords
- sip
- call
- freeswitch
- opensips
- sip terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/12—Setup of transport tunnels
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种满足SIP流媒体服务器高并发通话的建立方法,所述方法包括:接收第一SIP终端向对应的第一Opensips发起创建SIP会话的呼叫请求信息;所述第一Opensips根据所述呼叫请求信息选择当前负载最小的第一Freeswitch节点,建立所述第一SIP终端的流媒体通道;通过所选择的所述第一Freeswitch节点查询数据库中的SIP账号的元数据表,确定第二SIP终端所注册的第二Opensips;通过所述第二Opensips进行处理并转发所述呼叫请求信息至对应的所述第二SIP终端,以建立连接进行之间的通话。能够为用户提供完善可靠的SIP通话服务,以及能够满足用户量日益增长的互联网通话场景,通过Opensips和Freeswitch集群的可拓展性确保服务端的媒体通话并发的能力。
Description
技术领域
本发明涉及音视频通信技术领域,尤其涉及一种满足SIP流媒体服务器高并发通话的建立方法和装置。
背景技术
SIP流媒体服务器是基于标准SIP信令为终端设备之间提供实时音视频通话的能力。常见的SIP流媒体服务器如IPPBX一般用于企业内部电话系统进行小范围使用,而面向互联网VoIP领域却少有成熟的方案,由于互联网通话场景下存在实时高并发、故障容忍度低、全球化部署、各区域网络环境差异大、网络安全等复杂问题,一旦将传统的IPPBX方案从局域网搬到互联网、从少量企业内部用户增长为百万量级用户,问题将暴露无遗,难以满足实际场景。
另外,当前大部分SIP流媒体服务器欠缺对服务高可用的保障,一旦单机SIP服务发生异常,通话服务在短时间就难以自我恢复,且还有数据丢失的风险,可能造成用户在通话过程中发生中断,通话记录无故丢失等问题,如在对讲领域的相关场景下,通话服务的高可用性更是关乎到门禁通行、危险报警等紧急情况。再有,当前大部分SIP流媒体服务器集群未保证各节点间的负载均衡,大多数SIP流媒体服务器集群的搭建是通过在服务器上配置集群中其它节点的IP信息来组建集群,前端并没有一个统一网关来进行实时通话的资源分配。
发明内容
有鉴于此,本发明的目的在于提出一种满足SIP流媒体服务器高并发通话的建立方法和装置以及设备,能够有效解决以上问题。
为实现上述目的,本发明提供一种满足SIP流媒体服务器高并发通话的建立方法,所述方法包括:
接收第一SIP终端向对应的第一Opensips发起创建SIP会话的呼叫请求信息;
所述第一Opensips根据所述呼叫请求信息选择当前负载最小的第一Freeswitch节点,建立所述第一SIP终端的流媒体通道;
通过所选择的所述第一Freeswitch节点查询数据库中的SIP账号的元数据表,确定第二SIP终端所注册的第二Opensips;
通过所述第二Opensips进行处理并转发所述呼叫请求信息至对应的所述第二SIP终端,以建立连接进行之间的通话。
优选的,所述方法还包括:
对所述第一Freeswitch节点的健康状况进行实时检测,若检测到所述第一Freeswitch节点存在故障则自动对所述第一Freeswitch节点进行下线,并将通话转移至第二Freeswitch节点。
优选的,所述第一Opensips根据所述呼叫请求信息选择当前负载最小的第一Freeswitch节点的步骤包括:
所述第一Opensips采用负载均衡策略基于当前的通话资源情况将所述呼叫请求信息对应的invite消息转发至当前负载最小的所述第一Freeswitch节点。
优选的,所述通过所述第二Opensips进行处理并转发所述呼叫请求信息至对应的所述第二SIP终端,以建立连接进行之间的通话的步骤包括:
通过判断所述第二SIP终端是处于本地集群或是异地集群,若处于本地集群则通过所述第二SIP终端的SIP Via Header以确定对应的所述第二SIP终端;若处于异地集群则通过所述第一Freeswitch节点提供的gateway模块将SIP信令发送至对应的所述第二Opensips,并由所述第二Opensips转发至对应的所述第二SIP终端以建立通话。
优选的,所述第二SIP终端是处于异地集群时,所述方法还包括:
通过利用Canal提供的binlog增量解析服务,对订阅的所述元数据表进行数据同步。
优选的,在接收第一SIP终端向对应的第一Opensips发起创建SIP会话的呼叫请求信息之前,还包括:
利用fail2ban对所述第一SIP终端或所述第二SIP终端的Opensips日志中异常的账号注册进行监控,并在预设时间内将对应的账号密码连续错误的外网IP进行拉黑处理。
为实现上述目的,本发明还提供一种满足SIP流媒体服务器高并发通话的建立装置,所述装置包括:
接收单元,用于接收第一SIP终端向对应的第一Opensips发起创建SIP会话的呼叫请求信息;
选择单元,用于所述第一Opensips根据所述呼叫请求信息选择当前负载最小的第一Freeswitch节点,建立所述第一SIP终端的流媒体通道;
确定单元,用于通过所选择的所述第一Freeswitch节点查询数据库中的SIP账号的元数据表,确定第二SIP终端所注册的第二Opensips;
通话单元,用于通过所述第二Opensips进行处理并转发所述呼叫请求信息至对应的所述第二SIP终端,以建立连接进行之间的通话。
优选的,所述装置还包括:
检测单元,用于对所述第一Freeswitch节点的健康状况进行实时检测,若检测到所述第一Freeswitch节点存在故障则自动对所述第一Freeswitch节点进行下线,并将通话转移至第二Freeswitch节点。
优选的,所述装置还包括:
监控单元,用于利用fail2ban对所述第一SIP终端或所述第二SIP终端的Opensips日志中异常的账号注册进行监控,并在预设时间内将对应的账号密码连续错误的外网IP进行拉黑处理。
为实现上述目的,本发明还提供一种电子设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序能够被所述处理器执行以实现如上述实施例所述的一种满足SIP流媒体服务器高并发通话的建立方法。
有益效果:
以上方案,在每一路通话建立时都会先通过Opensips进行实时记录SIP流媒体服务器各Freeswitch节点的资源使用情况,根据负载情况进行均衡分配通话,通过选择的Freeswitch节点正常转发通话到对应被叫方所注册的Opensips上,能够为用户提供完善可靠的SIP通话服务;并且,通过查询数据库中的SIP账号元数据表保证了服务端高并发下数据查询的处理速度和提高准确性;通过以上提出的方案能够满足用户量日益增长的互联网通话场景,确保服务端的媒体通话并发的能力。
以上方案,通过对第一Freeswitch节点的健康状况进行实时检测以及进行故障转移,能够确保通话转到的其他节点是有效可用的,以提高通话的可靠性和稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种满足SIP流媒体服务器高并发通话的建立方法的流程示意图。
图2为一实施例提供的分布式架构系统的架构示意图。
图3为本发明一实施例提供的一种满足SIP流媒体服务器高并发通话的建立装置的结构示意图。
图4为本发明一实施例提供的一种电子设备的结构示意图。
发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以下结合实施例详细阐述本发明的内容。
在现有中,大部分同领域的服务器都仅支持单机部署,不具备随时可拓展的特性,当性能达到瓶颈后,只能通过提升硬件配置等有限的解决方案,后续在云主机上的部署成本上非常昂贵、且总会达到上限,无法支持灵活地无限拓展。另外,少部分同领域的服务器虽然支持集群部署,但是并未对集群节点进行负载均衡和高可用性的保障,大多数方案简单以企业、社区等一个团体为粒度,将其下的所有用户分配到同一个节点,当此节点服务异常宕机后,由于缺乏高可用的保障,这部分的用户将被长时间影响,尽管服务运行正常,也可能存在某些节点负载偏高,而某些节点资源未被充分利用的问题。即使少部分同领域的产品可以提供较完善的集群服务,但也都是基于云服务器处于同一个机房的前提下,当面对全球化部署的业务时,都存在会话数据无法共享或查询延时过大的问题。因此,本方案在传统PBX服务基础上引入集群机制搭建满足云服务场景下的高并发高可用的分布式架构,并结合就近部署、防攻击策略等符合互联网场景下的方式方法,为用户提供完善可靠的SIP通话服务。通过采用分布式架构,各组件均支持集群化部署、可随时拓展,大大提高并发量;尽管发生了突发的异常由于备服务器的存在,用户也能正常使用相关功能。
参照图1所示为本发明实施例提供的一种满足SIP流媒体服务器高并发通话的建立方法的流程示意图。
本实施例中,该方法基于分布式架构系统实现,其中,分布式架构系统可参见图2所示的架构示意图。该方法可应用于常见的互联网即时通讯场景,还可应用于社区云对讲相关的科技领域。通过本方案所提出的方法能够为用户提供完善可靠的SIP通话服务、实现高并发通话,并且能够提高通话的稳定性。
进一步的,该分布式架构系统至少包括接入层、媒体层以及数据层,其中,接入层包括多个Opensips组成的集群、媒体层包括多个Freeswitch组成集群、数据层包括MySQL数据库;在本实施例中,具体包括:
SIP终端:用于创建和管理SIP会话的移动电话、多媒体手持设备、PC、PDA等终端用户设备。
Opensips:本实施例中使用Opensips对外提供SIP注册连接的服务,对内为Freeswitch提供负载均衡。另外,Opensips还用于提供基本的SIP代理及SIP路由功能。
Freeswitch:本实施例中使用Freeswitch作为流媒体服务器为SIP终端转发SIP媒体通话。Freeswitch是一个电话的软交换解决方案,包括一个软电话和软交换机用以提供语音和聊天的产品驱动,Freeswitch可以用作交换机引擎、PBX、多媒体网关以及多媒体服务器等。
MySQL数据库:用来存储用户SIP帐号、注册信息、会话信息等数据。
Canal:本实施例中使用Canal同步各个区域的SIP帐号的元数据表。Canal基于数据库增量日志解析,能够提供增量数据订阅与消费。
在具体实施时,需要将该分布式架构系统安装在Linux环境下,同时安装MySQL等开源组件,并进行一些配置即可。至于Canal等数据库增量同步组件可以根据具体的业务是否需要异地部署来选择安装。该分布式架构系统主要通过采用Opensips、Freeswitch以及MySQL数据库搭建SIP流媒体服务器集群,其中,Freeswitch是一个电话的软交换解决方案,Opensips提供成熟的SIP代理/路由功能。将Opensips集群部署在前端,作为Freeswitch集群的负载均衡器,负责对Freeswitch节点的健康检查及故障转移,Opensips定时对Freeswitch节点进行健康检查,若Freeswitch节点故障后会自动对该节点进行下线,且每次路由通话后都会对其下的Freeswitch节点的通话资源进行变更记录;Freeswitch集群部署在中间,提供通话相关服务;同时在底层部署MySQL数据库提供各节点的注册信息、会话信息的共享。上述接入层(Opensips)、媒体层(Freeswitch)、数据层(MySQL)均支持横向拓展,Opensips的可扩展性保证了服务端对外维持连接的能力,Freeswitch的可扩展性保证了服务端的媒体通话并发的能力,MySQL的可拓展性保证了服务端高并发下数据查询的处理速度,整体分布式的架构使得开发者随时可根据业务情况进行服务器扩展,以支撑百万级别甚至更高的并发。同时,当某台主机发生宕机情况下,通过Opensips及时的故障转移,让系统更加稳定可靠,化解高可用的难题。对于全球化业务引起的通话网络波动问题,也可以在本方案基础架构上进行区域就近部署,仅需要实时订阅少量的增量元数据,大大降低了延时性,为弱网环境的实时音视频通话提供了新的解决思路。
在本实施例中,该方法包括:
S11,接收第一SIP终端向对应的第一Opensips发起创建SIP会话的呼叫请求信息。
S12,所述第一Opensips根据所述呼叫请求信息选择当前负载最小的第一Freeswitch节点,建立所述第一SIP终端的流媒体通道。
其中,所述第一Opensips根据所述呼叫请求信息选择当前负载最小的第一Freeswitch节点的步骤包括:
所述第一Opensips采用负载均衡策略基于当前的通话资源情况将所述呼叫请求信息对应的invite消息转发至当前负载最小的所述第一Freeswitch节点。
S13,通过所选择的所述第一Freeswitch节点查询数据库中的SIP账号的元数据表,确定第二SIP终端所注册的第二Opensips。
S14,通过所述第二Opensips进行处理并转发所述呼叫请求信息至对应的所述第二SIP终端,以建立连接进行之间的通话。
其中,所述通过所述第二Opensips进行处理并转发所述呼叫请求信息至对应的所述第二SIP终端,以建立连接进行之间的通话的步骤包括:
通过判断所述第二SIP终端是处于本地集群或是异地集群,若处于本地集群则通过所述第二SIP终端的SIP Via Header以确定对应的所述第二SIP终端;若处于异地集群则通过所述第一Freeswitch节点提供的gateway模块将SIP信令发送至对应的所述第二Opensips,并由所述第二Opensips转发至对应的所述第二SIP终端以建立通话。
在本实施例中,其工作原理为:主叫方SIP终端向对应的设备接入层(Opensips)发起呼叫请求时,Opensips会根据此刻的通话资源情况将通话INVITE消息转发到健康且负载较轻的流媒体服务器节点(Freeswitch),Freeswitch查询数据库MySQL的SIP帐号元数据表,判断被叫方是在本地集群还是异地集群上,若是在本地集群节点上,则通过被叫方的SIP Via Header可以直接找到被叫方SIP终端;若是在异地集群节点上,则通过Freeswitch提供的gateway方式将SIP信令直接转发至被叫方对应的Opensips节点,再由此Opensips节点进行分配处理,最终转发到实际被叫方SIP终端,完成整路通话的传递。
进一步的,所述第二SIP终端是处于异地集群时,该方法还包括:
通过利用Canal提供的binlog增量解析服务,对订阅的所述元数据表进行数据同步。
在本实施例中,异地集群的数据存储模块(MySQL)之间,通过Canal提供的binlog增量解析服务,对订阅的元数据表进行同步,以支撑上层的业务逻辑查询。
进一步的,在另一实施例中,在接收第一SIP终端向对应的第一Opensips发起创建SIP会话的呼叫请求信息之前,还包括:
S10,利用fail2ban对所述第一SIP终端或所述第二SIP终端的Opensips日志中异常的账号注册进行监控,并在预设时间内将对应的账号密码连续错误的外网IP进行拉黑处理。能够进一步保证互联网环境下的网络安全。
进一步的,在另一实施例中,该方法还包括:
S15,对所述第一Freeswitch节点的健康状况进行实时检测,若检测到所述第一Freeswitch节点存在故障则自动对所述第一Freeswitch节点进行下线,并将通话转移至第二Freeswitch节点。从而能够确保通话转到的节点是有效可用的,大大提高通话的稳定性和可靠性。
参照图3所示为本发明实施例提供的一种满足SIP流媒体服务器高并发通话的建立装置的结构示意图。
本实施例中,该装置30包括:
接收单元31,用于接收第一SIP终端向对应的第一Opensips发起创建SIP会话的呼叫请求信息;
选择单元32,用于所述第一Opensips根据所述呼叫请求信息选择当前负载最小的第一Freeswitch节点,建立所述第一SIP终端的流媒体通道;
确定单元33,用于通过所选择的所述第一Freeswitch节点查询数据库中的SIP账号的元数据表,确定第二SIP终端所注册的第二Opensips;
通话单元34,用于通过所述第二Opensips进行处理并转发所述呼叫请求信息至对应的所述第二SIP终端,以建立连接进行之间的通话。
其中,所述选择单元32,还用于:
所述第一Opensips采用负载均衡策略基于当前的通话资源情况将所述呼叫请求信息对应的invite消息转发至当前负载最小的所述第一Freeswitch节点。
其中,所述通话单元34,还用于:
通过判断所述第二SIP终端是处于本地集群或是异地集群,若处于本地集群则通过所述第二SIP终端的SIP Via Header以确定对应的所述第二SIP终端;若处于异地集群则通过所述第一Freeswitch节点提供的gateway模块将SIP信令发送至对应的所述第二Opensips,并由所述第二Opensips转发至对应的所述第二SIP终端以建立通话。
其中,所述第二SIP终端是处于异地集群时,该装置30还包括:
同步单元,用于通过利用Canal提供的binlog增量解析服务,对订阅的所述元数据表进行数据同步。
进一步的,所述装置30还包括:
检测单元,用于对所述第一Freeswitch节点的健康状况进行实时检测,若检测到所述第一Freeswitch节点存在故障则自动对所述第一Freeswitch节点进行下线,并将通话转移至第二Freeswitch节点。
进一步的,所述装置30还包括:
监控单元,用于利用fail2ban对所述第一SIP终端或所述第二SIP终端的Opensips日志中异常的账号注册进行监控,并在预设时间内将对应的账号密码连续错误的外网IP进行拉黑处理。
该装置30的各个单元模块可分别执行上述方法实施例中对应步骤,故在此不对各单元模块进行赘述,详细请参见以上对应步骤的说明。
本发明实施例还提供一种电子设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序能够被所述处理器执行以实现如上述实施例所述的满足SIP流媒体服务器高并发通话的建立方法。
如图4所示,该电子设备可包括但不仅限于处理器41、存储器42。本领域技术人员可以理解,所述示意图仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述电子设备的各种功能。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述电子设备集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例中的实施方案可以进一步组合或者替换,且实施例仅仅是对本发明的优选实施例进行描述,并非对本发明的构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域中专业技术人员对本发明的技术方案作出的各种变化和改进,均属于本发明的保护范围。
Claims (7)
1.一种满足 SIP 流媒体服务器高并发通话的建立方法,其特征在于,所述方法包括:
接收第一 SIP 终端向对应的第一 Opensips 发起创建 SIP 会话的呼叫请求信息;
所述第一 Opensips 根据所述呼叫请求信息选择当前负载最小的第一Freeswitch 节点,建立所述第一 SIP 终端的流媒体通道;
对所述第一 Freeswitch 节点的健康状况进行实时检测,若检测到所述第一Freeswitch 节点存在故障则自动对所述第一 Freeswitch 节点进行下线,并将通话转移至第二 Freeswitch 节点;
通过所选择的所述第一 Freeswitch 节点查询数据库中的 SIP 账号的元数据表,确定第二 SIP 终端所注册的第二 Opensips;
通过所述第二 Opensips 进行处理并转发所述呼叫请求信息至对应的所述第二 SIP终端,以建立连接进行之间的通话的步骤包括:
通过判断所述第二 SIP 终端是处于本地集群或是异地集群,若处于本地集群则通过所述第二 SIP 终端的 SIP Via Header 以确定对应的所述第二 SIP终端;若处于异地集群则通过所述第一 Freeswitch 节点提供的gateway 模块将 SIP 信令发送至对应的所述第二 Opensips,并由所述第二Opensips 转发至对应的所述第二 SIP 终端以建立通话;
通过所述第二Opensips进行处理并转发所述呼叫请求信息至对应的所述第二 SIP 终端,以建立连接进行之间的通话;
所述第二 SIP 终端是处于异地集群时,所述方法还包括:
异地集群的数据存储模块MySQL之间,通过 Canal提供的 binlog 增量解析服务,对订阅的元数据表进行同步,以支撑上层的业务逻辑查询。
2.根据权利要求 1 所述一种满足 SIP 流媒体服务器高并发通话的建立方法,其特征在于,所述第一 Opensips 根据所述呼叫请求信息选择当前负载最小的第一 Freeswitch节点的步骤包括:
所述第一Opensips采用负载均衡策略基于当前的通话资源情况将所述呼叫请求信息对应的 invite 消息转发至当前负载最小的所述第一Freeswitch 节点。
3.根据权利要求 1 所述一种满足 SIP 流媒体服务器高并发通话的建立方法,其特征在于,在接收第一 SIP 终端向对应的第一 Opensips 发起创建SIP会话的呼叫请求信息之前,还包括:
利用 fail2ban 对所述第一 SIP 终端或所述第二 SIP 终端的 Opensips日志中异常的账号注册进行监控,并在预设时间内将对应的账号密码连续错误的外网 IP 进行拉黑处理。
4.一种满足 SIP 流媒体服务器高并发通话的建立装置,其特征在于,所述装置包括:
接收单元,用于接收第一 SIP 终端向对应的第一 Opensips 发起创建SIP会话的呼叫请求信息;
选择单元,用于所述第一 Opensips 根据所述呼叫请求信息选择当前负载最小的第一Freeswitch 节点,建立所述第一 SIP 终端的流媒体通道;
对所述第一 Freeswitch 节点的健康状况进行实时检测,若检测到所述第一Freeswitch 节点存在故障则自动对所述第一 Freeswitch 节点进行下线,并将通话转移至第二 Freeswitch 节点;
确定单元,用于通过所选择的所述第一 Freeswitch 节点查询数据库中的SIP 账号的元数据表,确定第二 SIP 终端所注册的第二 Opensips;
通过所述第二 Opensips 进行处理并转发所述呼叫请求信息至对应的所述第二 SIP终端,以建立连接进行之间的通话的步骤包括:
通过判断所述第二 SIP 终端是处于本地集群或是异地集群,若处于本地集群则通过所述第二 SIP 终端的 SIP Via Header 以确定对应的所述第二 SIP终端;若处于异地集群则通过所述第一 Freeswitch 节点提供的gateway 模块将 SIP 信令发送至对应的所述第二 Opensips,并由所述第二Opensips 转发至对应的所述第二 SIP 终端以建立通话;
通话单元,用于通过所述第二 Opensips 进行处理并转发所述呼叫请求信息至对应的所述第二 SIP 终端,以建立连接进行之间的通话;
所述第二 SIP 终端是处于异地集群时,所述装置还包括:
异地集群的数据存储模块MySQL之间,通过 Canal提供的 binlog 增量解析服务,对订阅的元数据表进行同步,以支撑上层的业务逻辑查询。
5.根据权利要求 4 所述一种满足 SIP 流媒体服务器高并发通话的建立装置,其特征在于,所述装置还包括:
检测单元,用于对所述第一 Freeswitch 节点的健康状况进行实时检测,若检测到所述第一 Freeswitch 节点存在故障则自动对所述第一Freeswitch 节点进行下线,并将通话转移至第二 Freeswitch 节点。
6.根据权利要求 4 所述一种满足 SIP 流媒体服务器高并发通话的建立装置,其特征在于,所述装置还包括:
监控单元,用于利用 fail2ban 对所述第一 SIP 终端或所述第二 SIP终端的Opensips 日志中异常的账号注册进行监控,并在预设时间内将对应的账号密码连续错误的外网 IP 进行拉黑处理。
7.一种电子设备,其特征在于,所述设备包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序能够被所述处理器执行以实现如权利要求 1 至 3 任意一项所述的一种满足 SIP 流媒体服务器高并发通话的建立方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111100718.4A CN113727464B (zh) | 2021-09-18 | 2021-09-18 | 一种满足sip流媒体服务器高并发通话的建立方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111100718.4A CN113727464B (zh) | 2021-09-18 | 2021-09-18 | 一种满足sip流媒体服务器高并发通话的建立方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113727464A CN113727464A (zh) | 2021-11-30 |
CN113727464B true CN113727464B (zh) | 2023-07-14 |
Family
ID=78684363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111100718.4A Active CN113727464B (zh) | 2021-09-18 | 2021-09-18 | 一种满足sip流媒体服务器高并发通话的建立方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113727464B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037748B (zh) * | 2022-06-06 | 2024-05-10 | 御生活(广州)科技服务有限公司 | 一种基于物联网的通信中转云平台 |
CN115914466B (zh) * | 2023-01-06 | 2023-06-23 | 北京水滴科技集团有限公司 | 一种基于语音流机器人的语音交互方法及装置、存储介质 |
CN117201677A (zh) * | 2023-11-08 | 2023-12-08 | 证通股份有限公司 | 呼入呼出系统和用于呼入呼出系统的调度方法 |
CN117729189A (zh) * | 2024-02-08 | 2024-03-19 | 睿云联(厦门)网络通讯技术有限公司 | 基于云端分布式活跃度的sip注册限流方法及设备介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103746963A (zh) * | 2013-12-16 | 2014-04-23 | 深圳百科信息技术有限公司 | 一种sip服务器集群系统及其业务应用请求处理方法 |
CN111835927A (zh) * | 2020-07-21 | 2020-10-27 | 上海茂声智能科技有限公司 | 提升电话机器人高并发性能和稳定性的系统及方法 |
CN112261235A (zh) * | 2020-10-22 | 2021-01-22 | 中邮科通信技术股份有限公司 | 一种基于FreeSWITCH的云呼叫中心平台 |
CN113162865A (zh) * | 2021-03-18 | 2021-07-23 | 海能达通信股份有限公司 | 负载均衡方法、服务器和计算机存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160294786A1 (en) * | 2015-04-02 | 2016-10-06 | Platcomm Corp. | Telecommunication System and Method Providing Unified Platform For Services Amongst Clients That Execute Browser and Non-Browser Applications |
US10652305B2 (en) * | 2018-08-17 | 2020-05-12 | PrimeVOX Communications, LLC | High availability voice over internet protocol telephony |
-
2021
- 2021-09-18 CN CN202111100718.4A patent/CN113727464B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103746963A (zh) * | 2013-12-16 | 2014-04-23 | 深圳百科信息技术有限公司 | 一种sip服务器集群系统及其业务应用请求处理方法 |
CN111835927A (zh) * | 2020-07-21 | 2020-10-27 | 上海茂声智能科技有限公司 | 提升电话机器人高并发性能和稳定性的系统及方法 |
CN112261235A (zh) * | 2020-10-22 | 2021-01-22 | 中邮科通信技术股份有限公司 | 一种基于FreeSWITCH的云呼叫中心平台 |
CN113162865A (zh) * | 2021-03-18 | 2021-07-23 | 海能达通信股份有限公司 | 负载均衡方法、服务器和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113727464A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113727464B (zh) | 一种满足sip流媒体服务器高并发通话的建立方法和装置 | |
US7742421B2 (en) | Systems, methods, and computer program products for distributing application or higher layer communications network signaling entity operational status information among session initiation protocol (SIP) entities | |
US9591040B2 (en) | Dynamic session monitoring in secure media-based conferencing | |
US8374079B2 (en) | Proxy server, communication system, communication method and program | |
US9319431B2 (en) | Methods, systems, and computer readable media for providing sedation service in a telecommunications network | |
US20080285438A1 (en) | Methods, systems, and computer program products for providing fault-tolerant service interaction and mediation function in a communications network | |
US9954690B2 (en) | Transferring a conference session between conference servers due to failure | |
RU2493665C1 (ru) | Способ и система для реализации услуги подписки в сети ims | |
US9167098B1 (en) | Dynamic conference session re-routing in secure media-based conferencing | |
US9137187B1 (en) | Dynamic conference session state management in secure media-based conferencing | |
CN112532452B (zh) | 通信终端主备服务器的切换方法、装置、设备及存储介质 | |
US10659427B1 (en) | Call processing continuity within a cloud network | |
US11057475B2 (en) | Methods, apparatus and systems for resuming transmission link | |
US11785077B2 (en) | Active-active standby for real-time telephony traffic | |
US9389969B2 (en) | Method for SIP proxy failover | |
US8116237B2 (en) | Clearing house for publish/subscribe of status data from distributed telecommunications systems | |
US8493892B1 (en) | Resolving conflicts in distributed systems | |
US9131112B1 (en) | Dynamic signaling and resource allocation in secure media-based conferencing | |
US20180352009A1 (en) | Apparatus for setting up conference call and method thereof | |
CN108093147B (zh) | 一种分布式多级调度方法和设备 | |
US20150200980A1 (en) | Hybrid Client/Server Online Conference Session Management | |
WO2019161721A1 (zh) | 一种基于互通rcs系统的对应关系处理方法及装置 | |
US11917016B2 (en) | Methods, systems, and computer readable media for processing binding requests in a telecommunications network | |
WO2024017126A1 (en) | Use of binding indication between network functions for sharing resource redundancy information concerning network function service instances | |
US20170111407A1 (en) | Reestablishment of session initiation protocol (sip) dialogs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |