Size: a a a

2021 January 28

АХ

Алексей Хабуляк... in ru_freeswitch
если так хочется иметь фс
источник

PZ

Pavel Z in ru_freeswitch
DV G
У нас просто есть "закрытый" контур сети. В открытом будет только FS. Всё остальное хозяйство в закрытом.
ну кама обычно и ставится на границе, в общем, правильный выбор инструментов при правильной постановке задачи уже 50% решения
источник

AM

Alexey Mishagin in ru_freeswitch
где можно прочитать про отличия lua от luarun при использовании в диалплане?
вроде и то и другое lua скрипты запускает
источник

AK

Andrey Kryukov in ru_freeswitch
Alexey Mishagin
где можно прочитать про отличия lua от luarun при использовании в диалплане?
вроде и то и другое lua скрипты запускает
Почитал я Ваши сообщения в этой теме, вы хотите странного , а еще вы хотите чтобы SIP  который везде работает как вы описываете работал по-другому.
Такого не будет и скорее всего даже на луа скрипте вы получите не самый оптимальный вариант.
Давайте так, техническую задачу Вы описали и нашли  даже как Вам кажется пару решений.... А я вот бизнес задачу понять не могу , зачем отправлять каждые 10 секунд в течении 300 секунд инвайты на неработающий сервер ????? Не проще ли отправлять на работающий(фейловер, мониторинг сип транка, схемы HA  кластеров все это вроде сделано чтобы осуществить вызов, а не упереться в неработающий сервер)
источник

AM

Alexey Mishagin in ru_freeswitch
Andrey Kryukov
Почитал я Ваши сообщения в этой теме, вы хотите странного , а еще вы хотите чтобы SIP  который везде работает как вы описываете работал по-другому.
Такого не будет и скорее всего даже на луа скрипте вы получите не самый оптимальный вариант.
Давайте так, техническую задачу Вы описали и нашли  даже как Вам кажется пару решений.... А я вот бизнес задачу понять не могу , зачем отправлять каждые 10 секунд в течении 300 секунд инвайты на неработающий сервер ????? Не проще ли отправлять на работающий(фейловер, мониторинг сип транка, схемы HA  кластеров все это вроде сделано чтобы осуществить вызов, а не упереться в неработающий сервер)
https://t.me/ru_freeswitch/76518
вкратце, используется решение для колцентра с неполноценным резервированием.
В случае если основная нода колцентра упала, а резервная пока не поднялась, вешать звонки в очередь на фрисвитче до основного ПО колцентра.
источник

AK

Andrey Kryukov in ru_freeswitch
Смотрите в случае отказа КЦ оборвутся разом сразу все существующие звонки у операторов и новые не будут поступать ))) вы конечно можете попробовать так по ушам ездить , но это навряд ли долго у Вас получится
источник

AK

Andrey Kryukov in ru_freeswitch
2 а почему бы просто перед тем как вызывать не обращиться к списку активных нод, если не активно, то играть музычку и переодически проверять стало ли активно
источник

AK

Andrey Kryukov in ru_freeswitch
а не засирать сеть миллионом инвайтов от всех вызовов, которые пытаются пробиться
источник

AM

Alexey Mishagin in ru_freeswitch
Andrey Kryukov
Смотрите в случае отказа КЦ оборвутся разом сразу все существующие звонки у операторов и новые не будут поступать ))) вы конечно можете попробовать так по ушам ездить , но это навряд ли долго у Вас получится
1) смотря как случится отказ. Если физически упадет сервер, то разговоры не разорвутся. В этой ситуации можно опять же ловить событие на фрисвитче и отправлять в "подождите, сейчас все будет" по таймеру media_timeout
2) "долго" и не надо, по сути это аварийный сценарий. Время на восстановление порядка 40 секунд, в случае если случился программный краш. 3-4 минуты, если что-то с ключом защиты или экзотичное, и основная нода запустилось, но ПО нет.
3) "проверить список активных нод", мысль интересная, но как ее реализовать я не знаю. Буду очень благодарен, за подсказку. По сути, попыткой отправить вызов, я и "проверяю" не ожила ли нода.
источник

AK

Andrey Kryukov in ru_freeswitch
Alexey Mishagin
1) смотря как случится отказ. Если физически упадет сервер, то разговоры не разорвутся. В этой ситуации можно опять же ловить событие на фрисвитче и отправлять в "подождите, сейчас все будет" по таймеру media_timeout
2) "долго" и не надо, по сути это аварийный сценарий. Время на восстановление порядка 40 секунд, в случае если случился программный краш. 3-4 минуты, если что-то с ключом защиты или экзотичное, и основная нода запустилось, но ПО нет.
3) "проверить список активных нод", мысль интересная, но как ее реализовать я не знаю. Буду очень благодарен, за подсказку. По сути, попыткой отправить вызов, я и "проверяю" не ожила ли нода.
Если в настройках гейтвея включить опцию
 <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
 <!--<param name="ping" value="25"/>-->
, то тогда

${sofia(profile <profilename> gwlist down)}

покажет список неактивных нод
источник

AM

Alexey Mishagin in ru_freeswitch
Andrey Kryukov
Если в настройках гейтвея включить опцию
 <!--send an options ping every x seconds, failure will unregister and/or mark it down-->
 <!--<param name="ping" value="25"/>-->
, то тогда

${sofia(profile <profilename> gwlist down)}

покажет список неактивных нод
спасибо!
а можете подсказать еще, примерную конструкцию в диалплане, как "достать" вызовы из очереди (проигрывания файла), после того, как гейтвей оживет?
источник

AK

Andrey Kryukov in ru_freeswitch
Есть еще параметр <param name="ping-max" value="3" />
источник

AK

Andrey Kryukov in ru_freeswitch
число пингов после которых гейтвей будет считаться окончательно отъехавшим
источник

AK

Andrey Kryukov in ru_freeswitch
Вот тут к сожалению Вам наверное только луа скрипт только и поможет, который будет запущен параллельно
Вот пример простого скрипта, который во время нахождения абонента в очереди оповещает его о позиции
https://freeswitch.org/confluence/display/FREESWITCH/mod_callcenter#mod_callcenter-Lua
Почитайте и посмотрите примеры и описание, кое чего должно стать понятно
источник

AM

Alexey Mishagin in ru_freeswitch
Andrey Kryukov
Вот тут к сожалению Вам наверное только луа скрипт только и поможет, который будет запущен параллельно
Вот пример простого скрипта, который во время нахождения абонента в очереди оповещает его о позиции
https://freeswitch.org/confluence/display/FREESWITCH/mod_callcenter#mod_callcenter-Lua
Почитайте и посмотрите примеры и описание, кое чего должно стать понятно
спасибо.
попробую пойти по этому пути
источник

AK

Andrey Kryukov in ru_freeswitch
ну, просто сначала рассмотрите разные варианты, потому что скрипт на луа который долбится  в одно  и то же место до посинения выглядит так себе, хотя не исключаю может быть самой правильной затеей (Я просто не до конца представляю архитектуру Вашего решения и какие резервные опции Вам доступны)
источник

AM

Alexey Mishagin in ru_freeswitch
Andrey Kryukov
ну, просто сначала рассмотрите разные варианты, потому что скрипт на луа который долбится  в одно  и то же место до посинения выглядит так себе, хотя не исключаю может быть самой правильной затеей (Я просто не до конца представляю архитектуру Вашего решения и какие резервные опции Вам доступны)
ну у меня в планах было не до посинения, планировалось 5 минут.
После 5 минут кладу трубку. Резервных опций можно сказать что нет. Резервирование колцентра очень, очень плохо реализовано, без возможности что-то поменять, без вложений в новое ПО и кучи трудочасов на перенос существующих процессов в него.
источник

AK

Andrey Kryukov in ru_freeswitch
Возвращаясь к Вашему вопросу - на счет разницы между lua и luarun

CLI Usage: lua and luarun
You can issue a "luarun /path/to/script.lua" and launch a thread which your lua script will run in. The "lua" command is for inline lua like from the dialplan i.e. ${lua(codehere)}. "luarun" will spawn a thread while "lua" will block until the code is complete. A "~" in front of the argument will run a single line lua command. Note that lua scripts executed with luarun cannot write to the console through stream:write API as there is no stream.

https://freeswitch.org/confluence/display/FREESWITCH/mod_lua
источник

AM

Alexey Mishagin in ru_freeswitch
Andrey Kryukov
Возвращаясь к Вашему вопросу - на счет разницы между lua и luarun

CLI Usage: lua and luarun
You can issue a "luarun /path/to/script.lua" and launch a thread which your lua script will run in. The "lua" command is for inline lua like from the dialplan i.e. ${lua(codehere)}. "luarun" will spawn a thread while "lua" will block until the code is complete. A "~" in front of the argument will run a single line lua command. Note that lua scripts executed with luarun cannot write to the console through stream:write API as there is no stream.

https://freeswitch.org/confluence/display/FREESWITCH/mod_lua
за это отдельное спасибо!
сегодня в первый раз пробовал самостоятельно написать скрипт, не понимал почему он не работал. Попытки отдебажить проводил как раз через freeswitch.consoleLog и сломал себе мозг в попытках понять, что я делаю не так, глядя на ошибки в консоли
источник

VE

Vladimir Elizarov in ru_freeswitch
Тут каким pastebin нужно пользоваться чтобы сообщение не удалялось?
источник