Difference between revisions of "M2 Bypass Media"

From Kolmisoft Wiki
Jump to navigationJump to search
Line 38: Line 38:


  fs_cli -x 'reloadxml'
  fs_cli -x 'reloadxml'
NOTE: if codecs do not match between the end-points, calls will not work.

Revision as of 19:09, 16 May 2016

"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'

NOTE: if codecs do not match between the end-points, calls will not work.