Команда Freeswitch bgapi originate с ignore_early_media=true

Я пробую следующий сценарий на фрисвитче:

  • Создать звонок (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


person Lucas Nunes    schedule 08.10.2015    source источник


Ответы (1)


ignore_early_media не означает, что вы не «слышите» ранние СМИ. Это просто означает, что Freeswitch не будет рассматривать это как ответ.

Из документов ignore_early_media:

Определяет, возвращается ли вызов на раннем носителе или нет. Значение по умолчанию — ложь

Я обнаружил, что даже с установленным ringback=\'%(2000,4000,440,480)\ Freeswitch по-прежнему будет отправлять 183 SIP. ответ. Если это ваш Freeswitch, отправляющий 183, который вам не нужен, удалите ringback=\'%(2000,4000,440,480)\ и посмотрите, работает ли это. Кроме того, вы можете использовать ring_ready, чтобы отправить код 180, который не должен иметь SDP/ранние носители.

person byoungdale    schedule 01.04.2019