freeswitch对媒体的处理有三种方式:
freeswitch对媒体的处理有三种方式. freeswitch媒体转发 freeswitch RTP转发
媒体代理方式
a.默认方式
媒体通过freeswitch,
RTP被freeswtich转发,freeswitch控制编码的协商并在协商不一致时提供语音编码转换能力,
支持录音,二次拨号等。
更适合呼叫中心等富功能应用,但性能相比其他两个也是最差的
b.代理模式(Proxy Media)
媒体通过freeswitch转发,但是不处理媒体,
RTP通过freewtich转发(只改动sdp c= ip)
freeswtich不控制 sdp参数,只是转发。
通话的终端必须有一致的语音或者视频编码,因为freeswitch此时不支持转码(适合视频编码)
不支持录音, 二次拨号等功能
更适合处理nat问题,
可以考虑用这种模式做一个session border controlor,也适合于外部MCU配合做为视频会议,性能也明显好于a
c.旁路模式(Bypass Media)
不转发也不处理媒体,FS不会对SDP控制,音视频也不走FS。
此模式下freeswitch更像是一个信令proxy,媒体不会通过freeswitch,sdp消息体不做修改,没有录音,二次拨号等功能
更像是一个信令代理,性能最高,但提供的功能有限
模式配置方式:
Proxy Media Bypass Media
conf\sip_profiles\internal.xml 在 sip_profile 中
设置proxy media 模式,其他模式注释掉,
<param name="inbound-proxy-media" value="true"/>
还要在Dailplan中 ,在打电话bridge 之前
<param name="set" value="proxy_media=true"/>
conf\sip_profiles\internal.xml中在sip_profile 中
设置bypass-media模式,其他模式注释掉,
<param name="inbound-bypass-media" value="true"/>
还要在Dailplan中的default.xml的local-extension中
设置bypass-media=true
参考:https://freeswitch.org/confluence/display/FREESWITCH/Proxy+Media参考:https://freeswitch.org/confluence/display/FREESWITCH/Bypass+Media+Overview
参考https://freeswitch.org/confluence/display/FREESWITCH/Proxy+Media 参考https://freeswitch.org/confluence/display/FREESWITCH/Bypass+Media+Overview