
Marc
04.09.2018
11:43:16

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

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

Marc
04.09.2018
11:46:17
)

Anton
04.09.2018
11:46:32
соответственно у меня вариантов нет
я правда пишу на 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

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

Anton
04.09.2018
13:01:33
выставив hangup hook на legB

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

Marc
04.09.2018
13:06:13

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

Marc
04.09.2018
13:09:51
при вызове playback

Anton
04.09.2018
13:10:45
нет

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

Borik
04.09.2018
13:11:09

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

Google

Marc
04.09.2018
13:12:54

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
так и задумано?

Borik
04.09.2018
13:23:53

Marc
04.09.2018
13:24:21
если да, то сначала нужно сделать pre_answer и только потом плейбек
и это вы видели? Received an unsupported RTCP packet version 3