Size: a a a

2020 March 11

АХ

Алексей Хабуляк in ru_freeswitch
а. явроде еще удаление помогало из БД. каналов
источник

АХ

Алексей Хабуляк in ru_freeswitch
всех
источник

АХ

Алексей Хабуляк in ru_freeswitch
он сам пересоздает нужные
источник

I

Igor in ru_freeswitch
тогда включать дебаг sql запросов и смотреть где троит
источник

IO

Ihor Olkhovskyi in ru_freeswitch
Konstantin Vishnivetsky
Всем привет.
https://github.com/kvishnivetsky/freeswitch-mod_dpevents

Приложение XML dialplan bind_event, позволяет забиндить на канале выполнение dialplan application при возникновении определённого события, указанного по имени на биндинге.
В общем, на 1.10 работает, при, например,  конструкции типа
    <extension name="dpevent" continue="true">
     <condition field="" expression="">
       <action application="bind_event" data="CHANNEL_ANSWER log info TEST 1"/>
       <action application="bind_event" data="CHANNEL_ANSWER sleep 10000"/>
     </condition>
   </extension>

Сначала выполняется sleep() на отвеченной ноге (что блокирует аудио), потом - log()
Кидаться curl можно, если не в середине разговора, потому что канал блокируется
источник

O

Ol Eg in ru_freeswitch
понял, спасибо большое
источник

АХ

Алексей Хабуляк in ru_freeswitch
Алексей Хабуляк
а. явроде еще удаление помогало из БД. каналов
ну или просто с условием по времени можно все дропнуть
источник

IO

Ihor Olkhovskyi in ru_freeswitch
Konstantin Vishnivetsky
Всем привет.
https://github.com/kvishnivetsky/freeswitch-mod_dpevents

Приложение XML dialplan bind_event, позволяет забиндить на канале выполнение dialplan application при возникновении определённого события, указанного по имени на биндинге.
Ну и добавить, если кому интересно, собранная лаба
https://github.com/samael33/freeswitch-host-docker/tree/master-src
источник

KV

Konstantin Vishnivetsky in ru_freeswitch
Ihor Olkhovskyi
В общем, на 1.10 работает, при, например,  конструкции типа
    <extension name="dpevent" continue="true">
     <condition field="" expression="">
       <action application="bind_event" data="CHANNEL_ANSWER log info TEST 1"/>
       <action application="bind_event" data="CHANNEL_ANSWER sleep 10000"/>
     </condition>
   </extension>

Сначала выполняется sleep() на отвеченной ноге (что блокирует аудио), потом - log()
Кидаться curl можно, если не в середине разговора, потому что канал блокируется
Ясно. Вывод: есть две ситуации, которые нужно проработать:
1. синхронное/асинхронное выполнение
2. Чётко разобраться с последовательностью выполнения биндингов для одного события
источник

IO

Ihor Olkhovskyi in ru_freeswitch
Но в целом - вполне ок штука :) Спасибо )
источник

O

Ol Eg in ru_freeswitch
Алексей Хабуляк
ну или просто с условием по времени можно все дропнуть
спасибо большое)))
источник

SA

Say Adm in ru_freeswitch
Ребят а в какой переменной понять кто из enterprise originate ответил на звонок?
источник

KV

Konstantin Vishnivetsky in ru_freeswitch
Say Adm
Ребят а в какой переменной понять кто из enterprise originate ответил на звонок?
У тех, кто "не успел"(тот опоздал) будет в hangup_cause LOSE_RACE в CDR и самом канале тоже тот недолгий период, пока он не помрёт сапсэм
источник

SA

Say Adm in ru_freeswitch
да но по идее export nolocal:execute_on_answer=lua … вызовется только там где надо
источник

SA

Say Adm in ru_freeswitch
я не знаю какую переменную там получить
а тк не нашел возможность показать все доступные переменные, прошу помощи )
источник

KV

Konstantin Vishnivetsky in ru_freeswitch
Say Adm
да но по идее export nolocal:execute_on_answer=lua … вызовется только там где надо
<action application="bridge" data="[execute_on_answer='lua with var1']....[execute_on_answer='lua with var2']"/>
источник

SA

Say Adm in ru_freeswitch
тоесть из session variables понять кто ответил неполучится?
источник

KV

Konstantin Vishnivetsky in ru_freeswitch
Say Adm
тоесть из session variables понять кто ответил неполучится?
А полный сценарий-то какой?
источник

SA

Say Adm in ru_freeswitch
вернуть в aleg значение этой переменной и потом api_hangup_hook все отловить уже из env
источник

KV

Konstantin Vishnivetsky in ru_freeswitch
Вообще, в одну из ног будет установлена переменная с UUID ноги, которая с ним бриджанулась.
источник