1 | изначальная версия редактировать | |
Добрый день. Задача: 1. Нужно сделать мониторинг за тем сколько времени ожидает клиент на очереди до принятия звонка оператором.
Решение: Нужно сделать macro или gosub на очереди звонка. Я делаю это следующим образом: exten => s,n,Queue(Номер очереди,rtT,,,Длительность звонка в очереди,,link)
Проблема: Макрос link выполняется для канала принимающего оператора, а не для канала входящего звонка, поэтому установленые локальные переменные в макросе link доступны только для этого канала. Например: Входящий звонок с постановкой в очередь: Executing [s@macro-transfer:22] Queue("SIP/Операторсвязи-0009a5df", "1302,rtT,,,14,,link") in new stack Прием звонка appqueue.c: SIP/ОператорКЦ-0009a5e7 answered SIP/Операторсвязи-0009a5df Выполнение макроса: Executing [s@macro-link:1] NoOp("SIP/Оператор_КЦ-0009a5e7", "6271---0-----------2") in new stack
Вопрос: Как сделать так что бы макрос выполнялся на стороне канала входящего звонка, а не на стороне пользователя принявшего звонок? Или если есть у кого идеи как это сделать по другому?
2 | No.2 Revision редактировать |
Добрый день. Задача: 1. Нужно сделать мониторинг за тем сколько времени ожидает клиент на очереди до принятия звонка оператором.
Решение: Нужно сделать macro или gosub на очереди звонка.
Я делаю это следующим образом:
образом:
exten => s,n,Queue(Номер очереди,rtT,,,Длительность звонка в очереди,,link)
Проблема:
Макрос link выполняется для канала принимающего оператора, а не для канала входящего звонка, поэтому установленые локальные переменные в макросе link доступны только для этого канала. Например:
Входящий звонок с постановкой в очередь:
очередь:
Executing [s@macro-transfer:22] Queue("SIP/Операторсвязи-0009a5df", Queue("SIP/Оператор_связи-0009a5df", "1302,rtT,,,14,,link") in new stack
Прием звонка
звонка
appqueue.c: SIP/ОператорКЦ-0009a5e7 answered SIP/Операторсвязи-0009a5df
SIP/Оператор_связи-0009a5df
Выполнение макроса:
макроса:
Executing [s@macro-link:1] NoOp("SIP/Оператор_КЦ-0009a5e7", "6271---0-----------2") in new stack
Вопрос: Как сделать так что бы макрос выполнялся на стороне канала входящего звонка, а не на стороне пользователя принявшего звонок? Или если есть у кого идеи как это сделать по другому?
3 | No.3 Revision редактировать |
Добрый день. Задача: 1. Нужно сделать мониторинг за тем сколько времени ожидает клиент на очереди до принятия звонка оператором.
Решение: Нужно сделать macro или gosub на очереди звонка. Я делаю это следующим образом:
exten => s,n,Queue(Номер очереди,rtT,,,Длительность звонка в очереди,,link)
Проблема: Макрос link выполняется для канала принимающего оператора, а не для канала входящего звонка, поэтому установленые локальные переменные в макросе link доступны только для этого канала. Например: Входящий звонок с постановкой в очередь:
Executing [s@macro-transfer:22] Queue("SIP/Оператор_связи-0009a5df", "1302,rtT,,,14,,link") in new stack
stack
Прием звонка
appqueue.c: SIP/ОператорКЦ-0009a5e7 answered SIP/Оператор_связи-0009a5df
Выполнение макроса:
Executing [s@macro-link:1] NoOp("SIP/Оператор_КЦ-0009a5e7", "6271---0-----------2") in new stack
Вопрос: Как сделать так что бы макрос выполнялся на стороне канала входящего звонка, а не на стороне пользователя принявшего звонок? Или если есть у кого идеи как это сделать по другому?
4 | No.4 Revision редактировать |
Добрый день. Задача: 1. Нужно сделать мониторинг за тем сколько времени ожидает клиент на очереди до принятия звонка оператором.
Решение: Нужно сделать macro или gosub на очереди звонка. Я делаю это следующим образом:
exten => s,n,Queue(Номер очереди,rtT,,,Длительность звонка в очереди,,link)
Проблема:
Макрос link выполняется для канала принимающего оператора, а не для канала входящего звонка, поэтому установленые локальные переменные в макросе link доступны только для этого канала. Например:
Например:
Входящий звонок с постановкой в очередь:
Executing [s@macro-transfer:22] Queue("SIP/Оператор_связи-0009a5df", "1302,rtT,,,14,,link") in new stack
Прием звонка
appqueue.c: SIP/ОператорКЦ-0009a5e7 answered SIP/Оператор_связи-0009a5df
Выполнение макроса:
Executing [s@macro-link:1] NoOp("SIP/Оператор_КЦ-0009a5e7", "6271---0-----------2") in new stack
Вопрос: Как сделать так что бы макрос выполнялся на стороне канала входящего звонка, а не на стороне пользователя принявшего звонок? Или если есть у кого идеи как это сделать по другому?
5 | No.5 Revision редактировать |
Добрый день. Задача: 1. Нужно сделать мониторинг за тем сколько времени ожидает клиент на очереди до принятия звонка оператором.
Решение: Нужно сделать macro или gosub на очереди звонка. Я делаю это следующим образом:
exten => s,n,Queue(Номер очереди,rtT,,,Длительность звонка в Проблема: Макрос link выполняется для канала принимающего оператора, а не для канала входящего звонка, поэтому установленые локальные переменные в макросе link доступны только для этого канала. Например:
Входящий звонок с постановкой в очередь:
Executing [s@macro-transfer:22] Queue("SIP/Оператор_связи-0009a5df", "1302,rtT,,,14,,link") in new Прием звонка
appqueue.c: SIP/ОператорКЦ-0009a5e7
app_queue.c: SIP/Оператор_КЦ-0009a5e7
answered Выполнение макроса:
Executing [s@macro-link:1] NoOp("SIP/Оператор_КЦ-0009a5e7", "6271---0-----------2") in new Вопрос: Как сделать так что бы макрос выполнялся на стороне канала входящего звонка, а не на стороне пользователя принявшего звонок? Или если есть у кого идеи как это сделать по другому?
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.