
Anton
21.08.2018
07:10:41
channel variable duration
не ?

Igor
21.08.2018
07:17:21

енот
21.08.2018
07:18:03
а как в кондишене указать "больше либо равно", я чет не въезжаю

Google

Anton
21.08.2018
07:18:40
cond

Igor
21.08.2018
07:18:56
Нахрена? Я тебе написал регулярку которая отработает до 59999мс

енот
21.08.2018
07:19:21
спасибо

Anton
21.08.2018
07:19:47
https://freeswitch.org/confluence/display/FREESWITCH/Function+cond

енот
21.08.2018
07:19:49
а если я хочу длинну звонка задавать не регуляркой?

Igor
21.08.2018
07:20:44

енот
21.08.2018
07:21:00
<condition field="${cond(${my_var} > 12 ? YES : NO)}" expression="^YES$">
<action application="log" data="INFO ${my_var} is indeed greater than 12"/>
</condition>
Во
следующий тупой вопрос
https://freeswitch.org/confluence/display/FREESWITCH/Channel+Variables
тут нет duration

Anton
21.08.2018
07:22:30
ну всё... .) значит её нет...
https://freeswitch.org/confluence/display/FREESWITCH/Channel+Variables+Catalog

Google

енот
21.08.2018
07:23:25
хм, просто duration? спасибо

Anton
21.08.2018
07:25:53
сейчас не скажу точно - я через esl обычно работаю, под руками нет возможности проверить, но я точно получаю из channel variable duration

енот
21.08.2018
07:26:07
https://pastebin.com/0c2sna4y
Примерно так оно должно выглядеть?

Anton
21.08.2018
07:27:51
variable_duration
это же channel variable

енот
21.08.2018
07:30:22
слажна))
у меня вечная проблема - отсутствие испытательного стенда под рукой
щас мне надо либо поднять чистую виртуалку, либо задействовать одну из имеющихся на компе чтобы поставить фс, ещё одну такую же чтобы куда-то парковать звонки и всё такое
и почему я всё время забываю сделать шаблон из свежеустановленного
есть у меня идея, но надо current timestamp получить
и вычитание сделать

Serge
21.08.2018
08:36:36
Billsec смотри

Igor
21.08.2018
08:36:38

енот
21.08.2018
08:36:46
звонок ещё не завершен, нету там duration и, тем более, billsec

Igor
21.08.2018
08:37:12
тогда created time и hangup тайм

енот
21.08.2018
08:37:14
это, в целом, лгично
хэнгапа тоже нету

Google

енот
21.08.2018
08:37:33
потому мне нужно получить куррент тайм и вычесть из ансвер тайм
точнее наоборот, но не суть)
как-то же просто это делалось

Anton
21.08.2018
08:38:15
вопрос того что duration есть но он видимо на lega не выставляется
на legb которая уже hangup_complete получила он будет

енот
21.08.2018
08:39:36
strftime только не пойму как таймстамп получить

Serge
21.08.2018
08:39:38
Billsec время бриджа и оно на б наверное, а duration может быть и без б - на ивр или трубу не взяли

енот
21.08.2018
08:41:49
http://www.cplusplus.com/reference/ctime/strftime/
нетути таймстампа
однако

Anton
21.08.2018
08:42:49
хз есть ли он на других событиях

Serge
21.08.2018
08:44:33
Вопрос когда этот эвент генерируется - на хангапе а или б или обоих - по идее должно их два же быть?

Yuriy
21.08.2018
08:44:34

енот
21.08.2018
08:45:10

Yuriy
21.08.2018
08:46:28
Я писал с hangup
без hangup хз. Не задавался вопросом )
Но вообще можно попробовать навесить ан како нить событие handler
по нему вызвать lua скрипт и оттуда взять timestamp

енот
21.08.2018
08:46:56
это прнграфия))
но видимо придется что-то подобное

Anton
21.08.2018
08:47:51
ставить на lega переменную содержащую timestamp
в момент начала
тебе же нужно время на lega ?

Google

Anton
21.08.2018
08:48:18
и затем вычитать из текущего значение той переменной

енот
21.08.2018
08:48:18
мне нужно текущее время, чтобы вычесть из ансверстампа
как его получить?
текущее
я думаю придется шел-скриптом

Denis 災 nobody
21.08.2018
09:27:38

Виталий
21.08.2018
09:33:36

енот
21.08.2018
09:33:58

Виталий
21.08.2018
09:37:27
а что - у многих песочницы есть

Anton
21.08.2018
09:58:10
strftime(%Y%m%d%H%M%S) не ?
и затем вычесть его из другого strftime(%Y%m%d%H%M%S)
получишь значение в секундах между вызовами strftime

енот
21.08.2018
10:02:05

Anton
21.08.2018
10:02:30
толи это сарказм .) толи я не понимаю вопроса и удивления .)

енот
21.08.2018
10:03:13
ну я не представлял что в си и, соответственно, фс можно вычитать время из времени
вах вах

Anton
21.08.2018
10:03:20
eval ${global_setvar(time1=${strftime(%Y%m%d%H%M%S)})}
eval ${global_setvar(time2=${strftime(%Y%m%d%H%M%S)})}
eval ${expr(${time2}-${time1})}
ты вычитаешь не время из времени
а число из числа

Google

енот
21.08.2018
10:03:38
ну логично
простите, я температурю
удобно кстати
затупил, сказал что температуришь, и вроде и не идиот

Anton
21.08.2018
10:04:35
это как посмотреть - можно решить что идиот с температурой

енот
21.08.2018
10:04:49
ну под температурой никто не блещет

Anton
21.08.2018
10:05:35
блистать понятие такое... я вот третий день под ней .) ничё... хотя тоже хуже чем обычно .)

енот
21.08.2018
10:06:22
куда ни кинь, всюду клин
блин, а как мне засечь когда ансвер был?

Yuriy
21.08.2018
10:10:41
@Voiddancer повесить хендлер он ансвер?

енот
21.08.2018
10:10:42
ну то есть с одной стороны у меня есть таймстамп, с другой strtime
как мне в рамках одного экстеншена их скрестить то
блин, надо луа учить наверное

Yuriy
21.08.2018
10:11:07
ты имеешь ввиду в рамках 1 лега?

енот
21.08.2018
10:11:27
я не уверен

Yuriy
21.08.2018
10:11:36
ну смотри
просто on answer на сколкьо я помню отработает на legb
но ты же можешь эти данные расшарить между leg
способов то много

Serge
21.08.2018
10:19:36
братцы, что-то я туплю: как зажать кодеки для конкретного шлюза на входе?

енот
21.08.2018
10:20:51
я не могу такое найти