FreeSWITCH Explained / Configuration / Proxy Media
FreeSWITCH has 3 media handling modes:
Default: media flows through FS, full processing options
- RTP proxied by FreeSWITCH
- FreeSWITCH controls codec negotiation
- If endpoints agree on same codec, no transcoding is performed
- All features enabled - recording, DTMF interception, etc, etc
Proxy: media flows through FS, no media processing options
- RTP proxied by FreeSWITCH (c= modified, that's it)
- FreeSWITCH has no control or even understanding of other SDP parameters (pass through)
- Endpoints *MUST* agree on same codec because FreeSWITCH can't help them
- Virtually no features available
Bypass: media flows around FS directly between endpoints, no media processing options
- RTP *NOT* proxied by FreeSWITCH
- FreeSWITCH has no control over anything SDP related - it's completely pass through from one leg to next (including c=)
- Endpoints must agree on same codec because FreeSWITCH doesn't even see the media or SDP
- Virtually no features available
Usually if you want to send media through FS so the endpoints don't talk to each other directly (topology hiding) you want the Default mode which accomplishes this but still gives you all the media processing abilities.
How to enable it
Set proxy_media=true before the bridge.vi /usr/local/freeswitch/conf/dialplan/default.xml
265 + shift + g
<
action
application
=
"set"
data
=
"proxy_media=true"
/>
Alternatively, configure the SIP profile to use proxy media by default:
vi /usr/local/freeswitch/conf/sip_profiles/internal.xml
236 + shift + g
vi /usr/local/freeswitch/conf/sip_profiles/internal.xml
236 + shift + g
<
param
name
=
"inbound-proxy-media"
value
=
"true"
/>
(see example in conf/sip_profiles/internal.xml)
Copy From