Мне удалось сделать очень простую конфигурацию для базовых телефонных звонков с помощью FreeSwitch: когда я звоню A -> B (и B отвечает), A сразу слышит B, но B не может слышать A, подождав 20-30 секунд, наконец, B может услышать A , что-то упущено, чтобы при ответе на вызовы B мог слышать A, не дожидаясь долгих секунд?
Нажмите здесь, чтобы увидеть более подробную картину потока звонков
Я использую Zoiper для обоих телефонов и использую эту конфигурацию
План набора:
<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 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>
Каталог:
<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>
Какая топология сети между телефонами и сервером FreeSWITCH? Может быть, есть межсетевой экран, который выполняет NAT или SIP-интеллект. Кроме того, если вы запустите захват пакетов, это поможет определить, где происходит задержка.