@ru_freeswitch

Страница 385 из 430
Anton
04.09.2018
11:43:48
При больших нагрузках бывают пропуски
у меня нет больших нагрузок, асинхронная работа с сокетом

Marc
04.09.2018
11:44:05
в текущем в том что сейчас вызывается из диалплана ? .) точно нет
Вот и получается, что сначала читалка должна всё где то сохранить, а потом туда еще нужно обратиться из скрипта

Или делать всё полностью через есл

Google
Anton
04.09.2018
11:44:27
можно так, а можно убрать текущий скрипт

и сделать да всё в esl

Alex
04.09.2018
11:45:11
на луа можно?

Marc
04.09.2018
11:45:30
можно так, а можно убрать текущий скрипт
Я так понимаю, что до set_zombie_exec у вас дело не доходило? ))

Anton
04.09.2018
11:45:56
все мои проекты по fs на текущий момент это - не дадим ничего менять в диалплане .)

Marc
04.09.2018
11:46:17
)

Anton
04.09.2018
11:46:32
соответственно у меня вариантов нет

на луа можно?
на lua можно работать с esl

я правда пишу на python + asyncio

но это уже на вкус и цвет

Alex
04.09.2018
11:50:24
Сейчас я наверное esl не потяну)

Я подскажите тогда такую штуку, если я из диалплана передам необходимые переменные и в скрипте создам 2 ноги и сбиджую их, то как быть со звонком, он будет рваться или его можно удержать как то?

сессия имеется ввиду

Google
Alex
04.09.2018
11:55:02
раз я могу вытянуть переменную из legA то и из legB должна вытянуться, а не из session

Marc
04.09.2018
11:55:27
mod_dptools: set zombie exec Skip to end of metadata Created by Maximiliano Guerra de Medeiros, last modified on 2014.11.14 Go to start of metadata About Sets the zombie execution flag on the current channel. If the channel is hung up the session will continue executing commands. Useful for additional post call processing (ex: where you would still need access to channel variables).

https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools%3A+set+zombie+exec

Anton
04.09.2018
11:57:38
https://freeswitch.org/confluence/display/FREESWITCH/Lua+API+Reference#LuaAPIReference-SpecialCase:envobject

и hangup hook на нужную ногу

Marc
04.09.2018
12:04:21
https://freeswitch.org/confluence/display/FREESWITCH/Lua+API+Reference#LuaAPIReference-SpecialCase:envobject
А из диалплана так получится сделать для legB? Делать в вызове бриджа?

Anton
04.09.2018
12:04:37
что именно получится ?

выставить переменную на legB ?

Marc
04.09.2018
12:05:55
мне нужно по завершению легБ подвесить легА в воздухе, прочитать hangup_cause из legB и завершить legA с этим кодом

А и Б были сбриджены

Anton
04.09.2018
12:06:56
я то ли чего то не понимаю, то ли речь про конкретный кейс который отличается от этого

не требуется вешать legA

нужно передать за пределы фс содержимое billsec legB

Marc
04.09.2018
12:08:13
я сейчас о своем кейсе, но у нас часть задачи совпадает. мне нужно получить из legB hangup_cause, а коллеге - billsec

я то ли чего то не понимаю, то ли речь про конкретный кейс который отличается от этого
Антон, а при таком вызове все канальные переменные не окажутся в контексте легБ? Управляющий скрипт стартует из легА и скорее всего не сможет получить доступ к env, который будет в легБ

Andrey
04.09.2018
13:02:50
Добрый день, Коллеги. Посоветуйте какое нить ПО (фришное или не сильно дорогое), для детектирования по CDR аномальные вызовы (по сомнительным направлениям или высокой частоте вызовов или длительности).

Anton
04.09.2018
13:06:34
я не понял что не понятно .)

Google
Anton
04.09.2018
13:06:43
можно выставить hangup hook на legB

Marc
04.09.2018
13:06:51
Т.е. какой то скрипт конечно можно стартануть из Б, но у нас Б вроде как создается из А

Anton
04.09.2018
13:07:27
нам нужно дёрнуть переменную которая доступна в legB

она будет доступна в том что мы стартанём по hook из legB

Marc
04.09.2018
13:08:06
угу

и вот этот самый env - он где будет виден?

Borik
04.09.2018
13:09:08
Там выше я спрашивал, почему может не работать playback с определенным форматом файла и сэмплрейтом. расширю вопрос: а почему он может вообще не работать с даже заведомо корректным файлом???

Marc
04.09.2018
13:09:18
не внутри скрипта который сработал по хенгап хук?

Borik
04.09.2018
13:09:23
при этом голос ездит без проблем.

Anton
04.09.2018
13:09:37
не внутри скрипта который сработал по хенгап хук?
внутри скрипта который сработал по хенгап хук

Anton
04.09.2018
13:10:45
нет

Marc
04.09.2018
13:10:54
откуда мы и создали легВ

разве?

Borik
04.09.2018
13:11:09
при вызове playback
нет: https://pastebin.com/1PrhACHV

Anton
04.09.2018
13:11:41
я честно говоря потерялся в описании, у @halt7 была проблема - как получить значение billsec с legB

внутри скрипта

какой управляющий скрипт, какая блоха...

Google
Anton
04.09.2018
13:13:07
ок, hangup hook на legB

Marc
04.09.2018
13:13:14
в его задаче все начинается с входящего звонка

откуда запускается управляющий скрипт

этот скрипт создает легБ

Anton
04.09.2018
13:14:14
ок .) создаёт, я этого правда не уловил но не суть

Marc
04.09.2018
13:14:24
к которому можно приаттачить другой скрипт, который создаст env по окончании легБ

пока всё правильно?

Anton
04.09.2018
13:14:37
не к скрипту

другой скрипт вызовет не этот скрипт

а fs

ты просто выставишь переменную на legB

fs по событию обработает значение этой переменной

Marc
04.09.2018
13:15:24
ну смотрите, основной скрипт1 (который в А) создает легБ

Anton
04.09.2018
13:15:33
хорошо

Marc
04.09.2018
13:15:47
в легеБ есть хенгапхук со скриптом2

Anton
04.09.2018
13:16:20
ок

Marc
04.09.2018
13:16:34
далее в скрипте1 делается бридж легА и легБ

Anton
04.09.2018
13:16:50
хенгапхук для скрипта который создаёт bridge это просто установленная переменная

это необходимо понимать

Google
Marc
04.09.2018
13:17:03
да, всё верно

Anton
04.09.2018
13:17:22
ок

Marc
04.09.2018
13:17:43
ньюанс в том где в итоге окажется объект env, который будет создан в отключенном легБ

и будет ли он виден из скрипта1

Anton
04.09.2018
13:18:02
не будет

Marc
04.09.2018
13:18:38
а какой тогда смысл? ))

нам в скрипте1 нужно прочитать биллсек из легБ же?

Anton
04.09.2018
13:19:07
нет

нам нужно прочитать биллсек из легБ

Marc
04.09.2018
13:19:27
тогда объясните плз)

Anton
04.09.2018
13:19:50
дальше можно скриптом запускаемым из легБ сделать всё необходимое по обработке биллсек

Marc
04.09.2018
13:20:51
посчитать тариф и сделать запись в базу?

Anton
04.09.2018
13:21:37
я не знаю что именно ему нужно делать с billsec

можно выставить в этом скрипте переменную на legA например

со значением billsec

на legB

Marc
04.09.2018
13:23:10
нет: https://pastebin.com/1PrhACHV
у вас там после плейбека сразу начинается early media

так и задумано?

Borik
04.09.2018
13:23:53
Marc
04.09.2018
13:24:21
у вас там после плейбека сразу начинается early media
погодите, вы хотите играть файл вместо гудков?

если да, то сначала нужно сделать pre_answer и только потом плейбек

и это вы видели? Received an unsupported RTCP packet version 3

Страница 385 из 430