Skip to content

Instantly share code, notes, and snippets.

@hamidrhashmi
Last active October 30, 2024 08:10
Show Gist options
  • Save hamidrhashmi/95137db01b2b2bf54ce8c595e115df92 to your computer and use it in GitHub Desktop.
Save hamidrhashmi/95137db01b2b2bf54ce8c595e115df92 to your computer and use it in GitHub Desktop.
Freeswitch Dial plan to test Different Call Scenario

Answer Call starting with 00 or +

    <extension name="echo_DZ">
            <condition field="${destination_number}" expression="^(?:\+|00)(\d+)$">
                <action application="log" data="Call Received with Call-ID: ${sip_call_id}"/>
                <action application="log" data="Call Received with Call-ID: <${sip_call_id}>"/>
                <action application="answer"/>
                <action application="echo" data=""/>
            </condition>
    </extension>

Answer call with digitl lengh from 9-20

    <extension name="echo_INTR">
            <condition field="${destination_number}" expression="(^\d{9,20}$)">
                <action application="log" data="Call Received with Call-ID: ${sip_call_id}"/>
                <action application="log" data="Call Received with Call-ID: <${sip_call_id}>"/>
                <action application="answer"/>
                <action application="echo" data=""/>
            </condition>
    </extension>

Recive and dial the extension

   <extension name="SIPCALL1">
            <condition field="${destination_number}" expression="1001">
                <action application="set" data="sip_h_XCallId=${sip_call_id}"/>
                <action application="set" data="sip_h_XCID=${sip_call_id}"/>
                <action application="bridge" data="user/1001"/>
            </condition>
    </extension>

Dialed number starting with prefix 999

    <extension name="GoAutoDial">
            <condition field="${destination_number}" expression="^999(\d+)$">
                <action application="answer"/>
                <action application="echo" data=""/>
            </condition>
    </extension>

Dial specific Number to SIP Trunk with Codec G729

   <extension name="FaisalMovers">
            <condition field="${destination_number}" expression="111224488">
                <action application="set" value="proxy_media=true"/>
                <action application="set" data="absolute_codec_string=G729"/>
                <action application="set" data="sip_h_XCallId=${sip_call_id}"/>
                <action application="set" data="sip_h_XCID=${sip_call_id}"/>
                <action application="bridge" data="${destination_number}@192.168.0.106:5070"/>
            </condition>
    </extension>

Playback and set Ringing

<extension name="SIPCALL2">
            <condition field="${destination_number}" expression="1002">
                <action application="playback" data="/home/hrhashmi/moh.wav"/>
                <!-- <action application="answer"/> -->
                <action application="log" data="Call Received with Call-ID: ${sip_call_id}"/>
                <action application="set" data="absolute_codec_string=G729,PCMU,PCMA"/>
                <action application="log" data="Call Received with Call-ID: <${sip_call_id}>"/>
                <action application="set" data="sip_h_XCallId=${sip_call_id}"/>
                <action application="set" data="sip_h_XCID=${sip_call_id}"/>
                <action application="displace_session" data="tone_stream://%(100,15000,800);loops=-1 mux" />
                <!-- <action application="sleep" data="3000"/> -->
                <action application="set" data="hold_music=/home/hrhashmi/moh.wav"/>
                <action application="bridge" data="user/1002"/>
            </condition>
    </extension>

Dialplan for Fax

    <extension name="fax_receive">
      <condition field="destination_number" expression="^9178$">
        <action application="answer" />
        <action application="playback" data="silence_stream://2000"/>
        <action application="set" data="fax_enable_t38_request=true"/>
        <action application="set" data="fax_enable_t38=true"/>
        <action application="rxfax" data="/opt/fax/fax-${uuid}.tif"/>
        <action application="hangup"/>
      </condition>
    </extension>

   <extension name="fax_transmit">
      <condition field="destination_number" expression="^9179$">
        <action application="txfax" data="/tmp/txfax.tif"/>
        <action application="hangup"/>
      </condition>
    </extension>

Hangup Call with Specified Reason

<extension name="SIPCALL0">
            <condition field="${destination_number}" expression="^(?:\+|00)923001111111">
                <action application="hangup" data="NORMAL_CIRCUIT_CONGESTION"/>
            </condition>
    </extension>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment