M2 Bypass Media
"No media" (direct media) mode is an SDP Passthrough feature that permits two endpoints that can see each other to connect their media sessions directly while FreeSWITCH maintains control of the SIP signaling. This is useful if you have two end-points that need to use a codec that is currently not supported in FreeSWITCH or if you are using FreeSWITCH in a high performance network and want to minimize the RTP handling FreeSWITCH is doing to maximize call traffic.
When set, the media (RTP) from the originating endpoint is sent directly to the destination endpoint and vice versa. The signaling (SIP) for both endpoints still goes through FreeSWITCH, but the media is point-to-point.
+------------+ | | ____| FreeSWITCH |___ / | | \ SIP / +------------+ \ SIP / 192.168.1.105 \ / \ +----------+ +----------+ | | | | | endpoint | <---- RTP ----> | endpoint | | A | Audio | B | +----------+ +----------+ 192.168.1.100 192.168.1.110
How to enable globally
Open file /usr/local/freeswitch/conf/dialplan/m2.xml and add line <action application="set" data="bypass_media=true"/>. File should look like this:
<?xml version="1.0" encoding="utf-8"?> <include> <context name="m2"> <extension name="m2_default"> <condition> <action application="m2_radius_auth"/> <action application="set" data="bypass_media=true"/> <action application="lua" data="m2_process_response.lua"/> <action application="hangup"/> </condition> </extension> </context> </include>
Reload Freeswitch after modifying file:
fs_cli -x 'reloadxml'