Соединение двух серверов Oktell с регистрацией

Материал из Oktell
Перейти к: навигация, поиск

Наверх

В данной статье описывается соединение двух серверов Oktell с регистрацией. Пользуясь данной статьей, вы сможете также соединить Oktell с любой другой АТС, использующей SIP-протокол.

Настройка соединения достаточно проста: один сервер (назовем его сервер А), выступая в роли провайдера связи, выдает учетные данные. Другой сервер (назовем его сервер Б), используя выданную учетную запись, регистрирует свои линии на первом сервере. В результате такой настройки, любой пользователь может позвонить на другой сервер и свободно поговорить с абонентом.

При настройке такого соединения важно помнить одно простое правило:

  • Сервер А, который выдал учетную запись может вызывать сервер Б только по имени учетной записи.
  • Сервер Б, который регистрируется на сервере А может вызывать его по любому имени.

В связи с этим на сервере А возникает задача передачи не только имени учетной записи, но и набранного номера. Задача решается путем настройки модуля "Администрирование/Параметры аппаратуры".

Рекомендуется обратить внимание на передачу CallerId при совершении звонков. Представьте, что секретарю сервера А постоянно звонят операторы сервера Б. Если не передавать CallerId, то секретарь не сможет определить звонящего. В данной статье также рассматривается и эта проблема.


Настройка шлюза на сервере А

На данном шаге на сервере А создается шлюз с "регистрацией на стороне сервера" и заводится учетная запись для подключения. Выполните следующие действия:

  • Перейдите в Администрирование/Карта сети.
  • Добавьте SIP-шлюз и укажите следующие настройки:
Название и Описание - Любые. В примере "На второй сервер".
Тип регистрации - На стороне сервера
Название потока - Любое. В примере, Oktell_Link
Имя пользователя, Логин и Пароль - введите параметры учетной записи. В примере, имя пользователя и логин Oktell_Link, пароль сгенерирован.
Режим набора номеров - Сразу номер
Количество транков - укажите необходимое количество линий (фактически, это максимальное количество одновременных разговоров). В примере, 10
  • Перейдите на вкладку "Сохранение". Нажмите "Проверить", затем "Сохранить".


Соединение - 004.png


Настройка шлюза на сервере Б

На сервере Б необходимо создать шлюз с "регистрацией на стороне шлюза" и внести созданную ранее учетную запись.

  • Перейдите в Администрирование/Карта сети.
  • Добавьте SIP-шлюз и укажите следующие настройки:
Название и Описание - Любые. В примере "На первый сервер".
Тип регистрации - На стороне шлюза
IP адрес шлюза и IP адрес SIP-proxy сервера - укажите IP-адрес сервера А (того, на котором регистрируется сервер Б).
Название потока - Любое, в примере Oktell_Link
Отображаемое имя, Имя пользователя, Логин и Пароль - укажите выданную учетную запись. Логин Oktell_Link и пароль, который был сгенерирован.
Количество транков - укажите необходимое количество линий (фактически, это максимальное количество одновременных разговоров). Рекомендуется, чтобы количество транков совпадало с настройкой сервера А. В примере, 10.
  • Перейдите на вкладку "Сохранение". Нажмите "Проверить", затем "Сохранить".


Соединение - 003.png


  • Перейдите в Администрирование/Мониторинг. Убедитесь, что линии зарегистрированы (значок в виде зеленой трубки).


Соединение - 002.png


Настройка маршрутизации на сервере А

Чтобы совершить вызов с сервера А на сервер Б, необходимо подредактировать сценарий исходящей маршрутизации. На этом этапе важно учитывать корректность определения CallerID (номера вызывающего) и CalledID (набранного номера для маршрутизации). Исходя из этого, предлагается определять на вызывающем сервере имя пользователя и его внутренний номер, а затем передавать его в CallerID.

Для этого вначале в переменные записываются имя пользователя и его внутренний номер. Модификацию будет производить на примере стандартного сценария исходящей маршрутизации:

Компонент "Присвоение" - в компоненте производятся следующие операции:

  • переменной cer (строковая) присваивается значение функции "Номер пользователя внутри АТС"
  • переменной имя (строковая) присваивается значение функции "Имя пользователя"


Соединение - 006.png


Компонент "ВНЕШНИЕ" - компонент осуществляет вызов сервера Б по номеру. В компоненте определены следующие параметры:

  • Номер - переменная НОМЕР (определена ранее в сценарии).
  • Направления - выбраны зарегистрированные линии Oktell_Link
  • Caller Id - выражение [cer]+' '+[имя]


Соединение - 005.png


После модификации сценария сохраните его "На сервер".


При настройке соединения серверов с регистрацией важно помнить одно простое правило:
  • Сервер А, который выдал учетную запись может вызывать сервер Б только по имени учетной записи.
  • Сервер Б, который регистрируется на сервере А может вызывать его по любому имени.


Так как, исходя из выше сказанного, при вызове сервера Б необходимо дополнительно передавать набранный номер, измените свойства шлюза.

Для этого перейдите в Администрирование/Параметры аппаратуры.

  • В настройках шлюза установите "Источник определения CallerID" - "From: URI"
  • В настройках потока установите "Подстановка набранного номера при исходящем вызове" - "To.

После настройки имя аккаунта будет передаваться в поле RequestURI, набранный номер в поле To. Благодаря этому на сервере Б возможно определить набранный номер с помощью функции Внешний номер (CalledID).

  • По окончанию настроек нажмите "Сохранить"


Соединение - 007.png


Настройка маршрутизации на сервере Б

Модификацию сценария исходящей маршрутизации следует проводить также как это было описано для сервера А.

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

  • В настройках шлюза установите "Приоритет поиска соответствия между аккаунтом и входящим INVITE в поле 'To' и 'Request URI'" - "INVITE RequestURI"
  • По окончанию настроек нажмите "Сохранить"


Соединение - 008.png


Результат работы

В результате проделанной работы сервера могут звонить друг другу. При этом у сотрудников показывается имя и внутренний номер звонящего.

  • Для определения набранного номера воспользуйтесь функцией Внешний номер (CalledId)
  • Для определения вызывающего абонента воспользуйтесь функцией Номер абонента (CallerId)


Соединение - 009.png