Страница 1 из 2

входящий->очередь->узнать время ответа оператора

Добавлено: 04 май 2017, 14:08
whoim
В общем, это надо сделать в основном канале звонящего. Так то мне нужен answeredtime, но он доступен только в канале оператора, и то - когда оператор положит трубку, что может произойти ПОЗЖЕ позвонившего.
Нужно узнать время ответа оператора в очереди в основном канале (в логах этот момент SIP/xxx answered SIP/incominc-channel-000123) и в конце разговора я рассчитаю время беседы.
Есть мысли?
Очереди, правда, realtime. Но это думаю не суть.

Re: входящий->очередь->узнать время ответа оператора

Добавлено: 04 май 2017, 14:27
whoim
Похоже, вот что мне надо:
F([[context^]exten^]priority): When the caller hangs up, transfer
the *called member* to the specified destination and *start* execution
at that location.
NOTE: Any channel variables you want the called channel to inherit
from the caller channel must be prefixed with one or two underbars ('_').
Традиционно, пока не опубликуешь вопрос - решение не находится :D

Re: входящий->очередь->узнать время ответа оператора

Добавлено: 04 май 2017, 15:57
whoim
F([[context^]exten^]priority) решительно не захотел работать, но работает gosub (последний параметр Queue). Ну, а там математика и усе. Спасибо всем )

Re: входящий->очередь->узнать время ответа оператора

Добавлено: 14 фев 2022, 16:25
Ferrum
Еще один дурацкий вопрос, а как достать потом эту переменную с macro или Gosub, наследование переменных не работает, можно через запись в БД, но мне кажется проще должно быть решение ?

Re: входящий->очередь->узнать время ответа оператора

Добавлено: 14 фев 2022, 17:02
ded
наследование переменных работает

Re: входящий->очередь->узнать время ответа оператора

Добавлено: 14 фев 2022, 17:37
Ferrum
К примеру, вы хотите сказать так будет работать ?

Код: Выделить всё

[in}
exten => s,1,Queue(Q1,t,,,10,,test)

exten => h,1,NoOp(${PR})

[macro-test]
exten => s,1,SET(__PR=123)

Re: входящий->очередь->узнать время ответа оператора

Добавлено: 14 фев 2022, 18:01
ded
Скобочку поправьте, у вас там фигурная стоит вместо квадратной.
Я упростил , для наглядности

Код: Выделить всё

[internal]
exten => 999,1,Macro(test)

exten => h,1,NoOp(${PR})

[macro-test]
exten => s,1,SET(__PR=123)
-- Executing [999@internal:1] Macro("SIP/721-00000576", "test") in new stack
-- Executing [s@macro-test:1] Set("SIP/721-00000576", "__PR=123") in new stack
-- Auto fallthrough, channel 'SIP/721-00000576' status is 'UNKNOWN'
-- Executing [h@internal:1] NoOp("SIP/721-00000576", "123") in new stack

Re: входящий->очередь->узнать время ответа оператора

Добавлено: 14 фев 2022, 19:28
Ferrum
Так работает, если макрос прописываем в команде Queue то нет....
Думал без разницы......
Спасибо ))

Re: входящий->очередь->узнать время ответа оператора

Добавлено: 14 фев 2022, 20:48
Ferrum
Хотя стоп, тут вся идея теряется, макрос должен срабатывать при ответе в очереди.....

Re: входящий->очередь->узнать время ответа оператора

Добавлено: 14 фев 2022, 21:16
gosha