Соединение двух серверов Oktell с регистрацией
Содержание
В данной статье описывается соединение двух серверов Oktell с регистрацией. Пользуясь данной статьей, вы сможете также соединить Oktell с любой другой АТС, использующей SIP-протокол.
Настройка соединения достаточно проста: один сервер (назовем его сервер А), выступая в роли провайдера связи, выдает учетные данные. Другой сервер (назовем его сервер Б), используя выданную учетную запись, регистрирует свои линии на первом сервере. В результате такой настройки, любой пользователь может позвонить на другой сервер и свободно поговорить с абонентом.
При настройке такого соединения важно помнить одно простое правило:
- Сервер А, который выдал учетную запись может вызывать сервер Б только по имени учетной записи.
- Сервер Б, который регистрируется на сервере Б может вызывать его по любому имени.
В связи с этим на сервере А возникает задача передачи не только имени учетной записи, но и набранного номера. Задача решается путем настройки модуля "Администрирование/Параметры аппаратуры".
Рекомендуется обратить внимание на передачу CallerId при совершении звонков. Представьте, что секретарю сервера А постоянно звонят операторы сервера Б. Если не передавать CallerId, то секретарь не сможет определить звонящего. В данной статье также рассматривается и эта проблема.
Настройка шлюза на сервере А
На данном шаге на сервере А создается шлюз с "регистрацией на стороне сервера" и заводится учетная запись для подключения. Выполните следующие действия:
- Перейдите в Администрирование/Карта сети.
- Добавьте SIP-шлюз и укажите следующие настройки:
- Название и Описание - Любые. В примере "На второй сервер".
- Тип регистрации - На стороне сервера
- Название потока - Любое. В примере, Oktell_Link
- Имя пользователя, Логин и Пароль - введите параметры учетной записи. В примере, имя пользователя и логин Oktell_Link, пароль сгенерирован.
- Режим набора номеров - Сразу номер
- Количество транков - укажите необходимое количество линий (фактически, это максимальное количество одновременных разговоров). В примере, 10
- Перейдите на вкладку "Сохранение". Нажмите "Проверить", затем "Сохранить".
Настройка шлюза на сервере Б
На сервере Б необходимо создать шлюз с "регистрацией на стороне шлюза" и внести созданную ранее учетную запись.
- Перейдите в Администрирование/Карта сети.
- Добавьте SIP-шлюз и укажите следующие настройки:
- Название и Описание - Любые. В примере "На первый сервер".
- Тип регистрации - На стороне шлюза
- IP адрес шлюза и IP адрес SIP-proxy сервера - укажите IP-адрес сервера А (того, на котором регистрируется сервер Б).
- Название потока - Любое, в примере Oktell_Link
- Отображаемое имя, Имя пользователя, Логин и Пароль - укажите выданную учетную запись. Логин Oktell_Link и пароль, который был сгенерирован.
- Количество транков - укажите необходимое количество линий (фактически, это максимальное количество одновременных разговоров). Рекомендуется, чтобы количество транков совпадало с настройкой сервера А. В примере, 10.
- Перейдите на вкладку "Сохранение". Нажмите "Проверить", затем "Сохранить".
- Перейдите в Администрирование/Мониторинг. Убедитесь, что линии зарегистрированы (значок в виде зеленой трубки).
Настройка маршрутизации на сервере А
Чтобы совершить вызов с сервера А на сервер Б, необходимо подредактировать сценарий исходящей маршрутизации. На этом этапе важно учитывать корректность определения CallerID (номера вызывающего) и CalledID (набранного номера для маршрутизации). Исходя из этого, предлагается определять на вызывающем сервере имя пользователя и его внутренний номер, а затем передавать его в CallerID.
Для этого вначале в переменные записываются имя пользователя и его внутренний номер. Модификацию будет производить на примере стандартного сценария исходящей маршрутизации:
Компонент "Присвоение" - в компоненте производятся следующие операции:
- переменной cer (строковая) присваивается значение функции "Номер пользователя внутри АТС"
- переменной имя (строковая) присваивается значение функции "Имя пользователя"
Компонент "ВНЕШНИЕ" - компонент осуществляет вызов сервера Б по номеру. В компоненте определены следующие параметры:
- Номер - переменная НОМЕР (определена ранее в сценарии).
- Направления - выбраны зарегистрированные линии Oktell_Link
- Caller Id - выражение [cer]+' '+[имя]
После модификации сценария сохраните его "На сервер".
При настройке соединения серверов с регистрацией важно помнить одно простое правило:
|
Так как, исходя из выше сказанного, при вызове сервера Б необходимо дополнительно передавать набранный номер, измените свойства шлюза.
Для этого перейдите в Администрирование/Параметры аппаратуры.
- В настройках шлюза установите "Источник определения CallerID" - "From: URI"
- В настройках потока установите "Подстановка набранного номера при исходящем вызове" - "To.
После настройки имя аккаунта будет передаваться в поле RequestURI, набранный номер в поле To. Благодаря этому на сервере Б возможно определить набранный номер с помощью функции Внешний номер (CalledID).
- По окончанию настроек нажмите "Сохранить"
Настройка маршрутизации на сервере Б
Модификацию сценария исходящей маршрутизации следует проводить также как это было описано для сервера А.
Для корректного определения аккаунта, измените свойства шлюза. Для этого перейдите в Администрирование/Параметры аппаратуры.
- В настройках шлюза установите "Приоритет поиска соответствия между аккаунтом и входящим INVITE в поле 'To' и 'Request URI'" - "INVITE RequestURI"
- По окончанию настроек нажмите "Сохранить"
Результат работы
В результате проделанной работы сервера могут звонить друг другу. При этом у сотрудников показывается имя и внутренний номер звонящего.
- Для определения набранного номера воспользуйтесь функцией Внешний номер (CalledId)
- Для определения вызывающего абонента воспользуйтесь функцией Номер абонента (CallerId)