Я пробую следующий сценарий на фрисвитче:
- Создать звонок (a-leg)
- Создать другой вызов (b-leg)
- Мост потом вместе
Телефон b-leg представляет собой план нумерации в другом бесплатном коммутаторе:
<extension name="EarlyMedia">
<condition field="destination_number" expression="^[+]?[1]?<MY_NUMBER>">
<action application="pre_answer"/>
<action application="playback" data="/home/ubuntu/EARLY_MEDIA.wav"/>
<action application="sleep" data="1000"/>
<action application="answer"/>
<action application="playback" data="/home/ubuntu/CALL_MEDIA.wav"/>
<action application="sleep" data="1000"/>
</condition>
</extension>
Последовательность команд, которые я отправил на freeswitch, следующая:
- нога
bgapi originate {ignore_early_media=true,bridge_early_media=false,origination_caller_id_number=sofia/external/<MY_FROM_NUMBER>@<MY_IP>,origination_channel_name=<MY_CHANNEL>,ringback=\'%(2000,4000,440,480)\'}sofia/external/<A-LEG NUMBER>@<MY_IP> &park()
- б-нога
bgapi originate {ignore_early_media=true,bridge_early_media=false,origination_caller_id_number=sofia/external/<MY_FROM_NUMBER>@<MY_IP>,origination_channel_name=<MY_CHANNEL>,ringback=\'%(2000,4000,440,480)\'}sofia/external/<B-LEG NUMBER>@<MY_IP> &park()
- uuid_bridge
bgapi uuid_bridge <A-LEG UUID> <B-LEG UUID>
Проблема в том, что даже с ignore_early_media=true,bridge_early_media=false я слышу ранние медиа на A-LEG