freeswitch对媒体的处理有三种方式:
媒体代理方式 | ||
a.默认方式 |
媒体通过freeswitch, RTP被freeswtich转发,freeswitch控制编码的协商并在协商不一致时提供语音编码转换能力, |
更适合呼叫中心等富功能应用,但性能相比其他两个也是最差的 |
b.代理模式(Proxy Media) |
媒体通过freeswitch转发,但是不处理媒体, RTP通过freewtich转发(只改动sdp c= ip) |
更适合处理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://blog.csdn.net/qq_30065853/article/details/102961012