Принцип действия
Это приложение, которое пользователь не может использовать напрямую, позвонив по какому-либо номеру. Для инициации приложения следует либо использовать интерфейс XML-RPC , либо использовать специальное правило трансляции CLD при соединении, либо запись A должна быть вставлена непосредственно в таблицу callback_requests .
Основной вариант использования приложения заключается в следующем.
- Запись через тр. правило или другими способами создается в таблице callback_requests .
- Монитор обратного вызова обнаруживает запись и инициирует этап вызова на номер original_cli с заданным идентификатором ( original_cli как CLI, имя пользователя или имя авторизации как имя аутентификации и md5secret ).
- Пользователь берет свой телефон.
- Приложение 2 Way Callback запускается и инициирует вызов фактического номера CLD с заданным идентификатором ( имя пользователя в виде CLI, authname и md5secret ). Каждое из значений идентификатора может быть дополнительно переопределено явным указанием в соответствующих полях twoway_cli , twoway_authname и twoway_md5secret .
- Телефон берут в пункте назначения.
- Происходит разговор.
Используя специальное правило трансляции CLD, вы можете инициировать двусторонний обратный вызов.
Вы можете использовать правило перевода для создания двустороннего запроса обратного вызова.
Настройка маршрутизации звонков
- Добавить связь с поставщиком. Установите хост/порт Asterisk в поле Destination в Vendor Connection (например: 192.168.0.100:5062 ).
- Установите правило трансляции CLD для соединения со значением: s/.*/ani_2way_<actual CLD>/
- Добавьте маршрут к этому соединению.
* Например, если пользователю необходимо перезвонить, а затем подключиться к внутреннему номеру 12345, то правило преобразования CLD должно выглядеть следующим образом: s/.*/ani_2way_12345/
Непосредственное использование таблицы callback_requests
Давайте просмотрим таблицу callback_requests , только значимые поля.
- username , authname и md5secret — это идентификационные данные пользователя, которые следует использовать при создании обеих ветвей вызова. md5secret — это значение HA1 в шестнадцатеричном представлении . HA1 рассчитывается как MD5 строки «<имя пользователя>:<область>:<пароль>» (без кавычек).
- twoway_cli , twoway_authname и twoway_md5secret являются необязательными частями идентификатора, используемыми при создании второй ветви вызова.
- original_cli — CLI пользователя, запросившего обратный вызов.
- original_set_cli — используйте этот CLI при создании ветви обратного вызова.
- original_cld — это поле должно содержать значение в форме «2way_<actual CLD>» .
- next_call — в этом поле отображается время следующей попытки звонка. Это может быть полезно для планирования обратного вызова в будущем.
- call_id — это поле может быть предварительно установлено на некоторое значение, и в этом случае обратный вызов будет использовать этот Call-ID. Если поле содержит NULL, то случайное значение генерируется и помещается в это поле во время вызова.
- twoway_call_id — в этом поле может быть задано некоторое значение, и в этом случае вызов к месту назначения будет использовать этот Call-ID. Если поле содержит NULL, то значение по умолчанию создается на основе call_id и помещается в это поле во время вызова.
- status and result - содержат текущий статус звонка.
Например, если пользователю 801 нужно перезвонить по добавочному номеру 87654321, а затем соединиться с добавочным номером 12345, тогда соответствующий SQL-запрос должен выглядеть следующим образом:
INSERT INTO callback_requests ( username, authname, md5secret, original_cli, original_cld ) VALUES ( '801', '902', '<md5secret>', '87654321', '2way_12345' ) |
NOTE: The authname value can be omitted in which case the username value will be used as