Постоянство переменной канала Asterisk при переводе звонков - PullRequest
0 голосов
/ 07 апреля 2020

Использование Asterisk в качестве УАТС для клиента, и у них есть ситуация, которую я не могу запрограммировать.

Они взяли кучу DDI, чтобы выступить в качестве агента для ряда компании - почти как секретарские ситуации.

То, что хочет клиент, - это простой способ передать его предполагаемой компании (они понимают, что будут платить за исходящую часть вызова). Им не нужна огромная пауза, пока кто-то ищет номер в онлайн-каталоге и т. Д. c. Это огромный пример использования click-to-call, но я не могу найти способ легко установить ie расширение на рабочую станцию ​​пользователя (которое клиент на самом деле реализует) (заметьте, я не могу заставить их также использовать очереди и кольцевую стратегию, при которой 34 надомных работника не слышат звонок телефона сразу, поэтому давайте не будем вступать в эту дискуссию).

Я подумал об этом и решил, что смог создайте добавочное расширение, подобное 5678, которое могло бы сделать это, и получатель вызова просто отложил бы вызов, перешел на добавочное расширение, и некоторые логики c превратили бы это в исходящий вызов

Так что я пошел чтобы написать некоторое расширение logi c для хранения

вызов поступает через DDI 1, я могу получить номер, который был вызван (обратите внимание, а не идентификатор вызывающего абонента) через ${CALLERID(dnid)} просто отлично.

Я сохранил это в переменной.

Сделал вызов DDI, получил его, слепо передал его и bam - я вижу значение в переменной в принимающих расширениях lo gi c .....

Но !!!!

Сделал вызов в тот же DDI, получил его, посетил передачу и переменная была стерта.

После того, как логарифм расширения c сможет увидеть номер вызываемой линии, я могу легко превратить его в фактический номер с помощью быстрого поиска в базе данных.

Может кто-нибудь сказать мне, почему это происходит между присутствующим и слепая передача?

Может ли кто-нибудь предложить способ сохранить эту информацию для этого вызова во время передачи, чтобы вновь созданный канал мог видеть исходную информацию?

Я пробовал использовать одно подчеркивание и двойное Подчеркните методы, но это, похоже, не работает.

В данный момент я использую Asterisk 13.25 - осознайте, что я немного отстал от коробки этого конкретного человека, но это сложная установка. В соответствии с документами 1.6 реализованы имена переменных подчеркивания.

1 Ответ

0 голосов
/ 07 апреля 2020

Скорее всего слепая передача была сделана вашим телефоном, а не звездочкой.

Другой вариант - переименование канала или маскарад. Никто не может сказать, что именно происходит на вашей стороне.

Наиболее совместимым способом является проверка связанного канала и проверка его переменных с помощью функции CHANNEL ().

...