Freeswitch received audio delayed for 20-30 seconds

freeswitchsipvoip

I manage to make a very simple configuration for basic phone to phone calls using FreeSwitch, When i Calls A -> B (and B answered), A can hear B instantly, but B cannot hear A, after waiting for 20-30 seconds finally B can hear A , is there something missed so when the calls answered B can hear A without waiting for long seconds?

Click here to see picture of more detailed flow of calls

Im using Zoiper for both phone, and using these configuration

Dialplan :

    <context name="dialAndalabs">
        <extension name="666">
            <condition field="destination_number" expression="^666$">
                <action application="set_audio_level" data="read 4" />
                <action application="set_audio_level" data="write 2" />
                <action application="ring_ready"/>
                <action application="set" data="ringback=%(2000, 4000, 440.0, 480.0)"/>
                <action application="sleep" data="1000"/>
                <action application="bridge" data="user/hp-andalabs"/> 
            </condition>
        </extension>
        <extension name="667">
            <condition field="destination_number" expression="^667$">
                <action application="set_audio_level" data="read 4" />
                <action application="set_audio_level" data="write 2" />
                <action application="ring_ready"/>
                <action application="set" data="ringback=%(2000, 4000, 440.0, 480.0)"/>
                <action application="sleep" data="1000"/>
                <action application="bridge" data="user/wira"/> 
            </condition>
        </extension>
        <extension name="777">
            <condition field="destination_number" expression="^777$">
                <!--<action application="bridge" data="user/777"/>-->
                <action application="answer"/>
                <action application="sleep" data="10000"/>
                <action application="bridge" data="loopback/app=voicemail:default ${domain_name} ${dialed_extension}"/>
            </condition>
        </extension>
    </context>

SIP Profile :

    <profile name="exampleTestAndalabs">
        <settings>
            <!--<param name="alias" value="sip:$${local_ip_v4}:5062"/>-->
            <param name="shutdown-on-fail" value="true"/>
            <param name="user-agent-string" value="FreeSWITCH v1.6 Andalabs 2016"/>
            <param name="debug" value="0"/>
            <param name="sip-trace" value="yes"/>
            <param name="context" value="dialAndalabs"/>
            <param name="use-rtp-timer" value="true"/>
            <param name="sip-port" value="5062"/>
            <param name="dialplan" value="XML"/>
            <param name="inbound-codec-prefs" value="$${global_codec_prefs}"/>
            <param name="outbound-codec-prefs" value="$${global_codec_prefs}"/>
            <!--<param name="rtp-ip" value="192.168.7.157"/>-->
            <param name="sip-ip" value="192.168.7.157"/>
            <param name="log-auth-failures" value="true"/>
        </settings>
    </profile>

Directory :

    <domain name="$${domain}">
      <user id="wira">
        <params>
          <param name="password" value="$${default_password}"/>
          <param name="dial-string" value="${sofia_contact(${dialed_user}@${dialed_domain})}"/>
        </params>
      </user>

      <user id="hp-andalabs">
        <params>
          <param name="password" value="$${default_password}"/>
          <param name="dial-string" value="${sofia_contact(${dialed_user}@${dialed_domain})}"/>
        </params>
      </user>
    </domain>

Best Answer

what's the network topology between the phones and FreeSWITCH server? Maybe there's a firewall that is doing NAT or SIP intelligence. Also if you run packet captures, it would help to determine where the delay is occurring.

Related Topic