11.2.1. Управление входящими вызовами

Для управления ходом обработки внешнего вызова можно воспользоваться модулем Setup → Inbound Call Control Dynamic Inbound Routing. Этот модуль способен интегрироваться в цепочки входящей маршрутизации. В нем можно создать несколько объектов (аналогично, например, правилам по времени) и использовать их для маршрутизации. Помимо роутинга можно использовать этот модуль для передачи события во внешнюю систему. Основная задача модуля это создание запроса во внешнюю систему, получение переменных от нее и принятие решения на основе значения этих переменных о дальнейшей маршрутизации вызова. Для этого имеется несколько опций:

  • HTTP Request URL: В этом поле указывается URL, который запрашивать у сервера в момент прохождения звонка через этот элемент. URL может быть такого вида:
    http://SERVER_IP/connector.php?did=${EXTEN}&cid=${CALLERID(num)}&id=${UNIQUEID}

    В URL можно использовать стандартные переменные астериска из диалплана, в т.ч. и функции. Этот запрос должен вернуть одну строку, в котором через вертикальную черту может содержаться несколько переменных, которые нужно передать в диалплан:
    VAR=one|CONT=from-internal|EXT=1002|QUEUEPRIO=100

    В ответе на запрос есть несколько обязательных переменных:

    • VAR: содержит значение, по которому принимается решение о дальнейшей маршрутизации;
    • CONT: используется если значение переменной VAR совпало с выбором опции Direct Context Call. В этом случае переменная должна содержать контекст, в который направлять вызов;

    • EXT: должна содержать номер, в которой пускать вызов если значение переменной VAR совпало с выбором опции Direct Context Call.

    1121_1С помощью этих переменных имеется возможность осуществить маршрутизацию в любую точку диалплана системы из внешней программы. Программист должен знать какие контексты для чего служат. Например чтобы направить вызов через внешнюю линию на номер 89177515862 нужно определить переменную VAR и вспомогательные CONT и EXT, например:
    VAR=one|CONT=outbound-routes|EXT=89177515862

    Для дальнейшего использования все переменные передаются как переменная канала дальше в систему.

    При необходимости можно определить множество переменных, которые могут использоваться в дальнейшей обработке, например определить переменную QUEUEPRIO для звонящего и придать приоритет для постановки в очередь. Или применить в дальнейшей маршрутизации с помощью модуля Custom Destination. Например, при звонке внешнего абонента, делается запрос в систему на наличие у клиента активного заказа. Если есть — то система направляет звонок в голосовое меню с вопросом, направить ли вызов сразу на менеджера. Если да, то направляем вызов в Сustom destination, в котором определено направление, к примеру, from-internal,${DynRoute},1. В переменной DynRoute сервер CRM вернет номер менеджера, с которым соединить.

    Для того, чтобы переменные наследовались для дочерних каналов, перед их названием нужно добавить два символа подчеркивания.

  • Destination: приложение FreePBX, на которое направить вызов. Этот элемент управления похож на селектор направления обычных приложений FreePBX, однако вместо радиобокса имеются текстовые поля. В этих полях указывается значение первого параметра, при совпадении с которым направлять на выбранное приложение, т.е. логика работы похожа на оператор switch языка PHP. Например, имеется несколько приложений диалплана, возле первого (пусть это будут конференции) в текстовом поле будет указано conf100. Если на запрос от IP-ATC TBE внешний сервер поместит в переменной VAR значение conf100, то вызов уйдет в конференцию. Помимо всех приложений FreePBX имеется один параметр с текстовым полем, но с названием Direct context call. При совпадении переменной VAR со значением этого текстового поля система перенаправит вызов прямиком в нужный контекст.
  • Failover Destination: обычный селектор выбора приложения, на которой направить вызов в случае если нет совпадения с каким-либо условием.

Comments

So empty here ... leave a comment!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Sidebar



X

Мы перезвоним Вам
за 30 секунд

Бесплатный звонок