网页实时音视频通话系统线上视频会议系统EasyRTC通过freeswitch级联功能配置分享

在 EasyRTC 的部分项目中,客户希望能够开启视频级联功能,即将A服务器的视频推送到B服务器中。目前我们对这一功能进行了研究,基于freeswitch实现了EasyRTC的级联功能,下面将和大家分享一下我们的实现方式。

106.png

基本用法如下:
a用户----A服务器(192.168.99.162)------B服务器(192.168.99.147)-----b用户

a用户访问A服务器,A服务器将视频转发到B服务器,b用户访问B服务器的房间,可以看到a的视频。

首先在 A 服务器(192.168.99.162)的配置文件 conf/dialplan/default.xml 中添加以下参数,最好放在文件的前面,防止被覆盖掉,大致如下:

<extension name="meeting">
        <condition field="destination_number" expression="^(.*)$">
             <action application="bridge" data="sofia/external/sip:[email protected]:15080" />
        </condition>
    </extension>

expression 代表所有的会议室,^1(.*)$ 就是以 1 开头的会议室。

data 中 %1 代表会议室名称。将所有的数据转发到 192.168.99.147 中。
在B服务器(192.168.99.147)配置文件 conf/displan/public.xml 中修改 public_extensions 为如下内容,代表接收所有的会议室。

<extension name="public_extensions">
      <condition field="destination_number" expression="^(.*)$">
        <action application="transfer" data="$1 XML default"/>
      </condition>
    </extension>

在a中进入会议室,会将a的视频转发到服务器B中,抓包显示如下:

68.png

以上包数据代表,192.168.99.162通过sip+rtp协议将A的视频转发到192.168.99.147的服务器中。

在147的服务其中能够看到162的服务器的视频,至此该功能就已经完成。

69.png

目前,EasyRTC可以运用到多个项目当中,包括在线教育、企业办公、在线医疗等。如果大家对我们开发的产品比较感兴趣,欢迎关注我们了解更多。

猜你喜欢

转载自blog.csdn.net/TsingSee/article/details/114998485