Соединение двух серверов Oktell с регистрацией — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
 
(не показано 15 промежуточных версии этого же участника)
Строка 1: Строка 1:
 
[[Практики|Наверх]]
 
[[Практики|Наверх]]
 +
 +
__TOC__
  
 
В данной статье описывается соединение двух серверов '''Oktell''' с регистрацией. Пользуясь данной статьей, вы сможете также соединить Oktell с любой другой АТС, использующей SIP-протокол.  
 
В данной статье описывается соединение двух серверов '''Oktell''' с регистрацией. Пользуясь данной статьей, вы сможете также соединить Oktell с любой другой АТС, использующей SIP-протокол.  
  
 
Настройка соединения достаточно проста: один сервер (назовем его '''сервер А'''), выступая в роли провайдера связи, выдает учетные данные. Другой сервер (назовем его '''сервер Б'''), используя выданную учетную запись, регистрирует свои линии на первом сервере. В результате такой настройки, любой пользователь может позвонить на другой сервер и свободно поговорить с абонентом.  
 
Настройка соединения достаточно проста: один сервер (назовем его '''сервер А'''), выступая в роли провайдера связи, выдает учетные данные. Другой сервер (назовем его '''сервер Б'''), используя выданную учетную запись, регистрирует свои линии на первом сервере. В результате такой настройки, любой пользователь может позвонить на другой сервер и свободно поговорить с абонентом.  
 +
 +
При настройке такого соединения важно помнить одно простое правило:
 +
* Сервер А, который выдал учетную запись может вызывать сервер Б только по имени учетной записи.
 +
* Сервер Б, который регистрируется на сервере А может вызывать его по любому имени.
 +
 +
В связи с этим на сервере А возникает задача передачи не только имени учетной записи, но и набранного номера. Задача решается путем настройки модуля "'''Администрирование/Параметры аппаратуры'''".
 +
 +
Рекомендуется обратить внимание на передачу CallerId при совершении звонков. Представьте, что секретарю сервера А постоянно звонят операторы сервера Б. Если не передавать CallerId, то секретарь не сможет определить звонящего. В данной статье также рассматривается и эта проблема.
  
  
Строка 14: Строка 24:
 
: '''Название''' и '''Описание''' - Любые. В примере "'''На второй сервер'''".
 
: '''Название''' и '''Описание''' - Любые. В примере "'''На второй сервер'''".
 
: '''Тип регистрации''' - На стороне сервера
 
: '''Тип регистрации''' - На стороне сервера
: '''Название потока''' - Любое, в примере Oktell_Link
+
: '''Название потока''' - Любое. В примере, '''Oktell_Link'''
 
: '''Имя пользователя''', '''Логин''' и '''Пароль''' - введите параметры учетной записи. В примере, имя пользователя и логин '''Oktell_Link''', пароль <u>сгенерирован</u>.  
 
: '''Имя пользователя''', '''Логин''' и '''Пароль''' - введите параметры учетной записи. В примере, имя пользователя и логин '''Oktell_Link''', пароль <u>сгенерирован</u>.  
 
: '''Режим набора номеров'''  - Сразу номер
 
: '''Режим набора номеров'''  - Сразу номер
 
: '''Количество транков''' - укажите необходимое количество линий (фактически, это максимальное количество одновременных разговоров). В примере, '''10'''
 
: '''Количество транков''' - укажите необходимое количество линий (фактически, это максимальное количество одновременных разговоров). В примере, '''10'''
 
* Перейдите на вкладку "'''Сохранение'''". Нажмите "'''Проверить'''", затем "'''Сохранить'''".  
 
* Перейдите на вкладку "'''Сохранение'''". Нажмите "'''Проверить'''", затем "'''Сохранить'''".  
 +
 +
 +
[[Файл:Соединение - 004.png|center|1000px]]
  
  
 
=== Настройка шлюза на сервере Б ===
 
=== Настройка шлюза на сервере Б ===
  
На сервере Б необходимо создать шлюз с "регистрацией на стороне шлюза" и внести созданную ранее учетную запись.
+
На сервере Б необходимо создать шлюз с "'''регистрацией на стороне шлюза'''" и внести созданную ранее учетную запись.
 +
 
 +
* Перейдите в '''Администрирование'''/'''Карта сети'''.
 +
* Добавьте SIP-шлюз и укажите следующие настройки:
 +
: '''Название''' и '''Описание''' - Любые. В примере "'''На первый сервер'''".
 +
: '''Тип регистрации''' - На стороне шлюза
 +
: '''IP адрес шлюза''' и '''IP адрес SIP-proxy сервера''' - укажите IP-адрес сервера А (того, на котором регистрируется сервер Б).
 +
: '''Название потока''' - Любое, в примере Oktell_Link
 +
: '''Отображаемое имя''', '''Имя пользователя''', '''Логин''' и '''Пароль''' - укажите выданную учетную запись. Логин '''Oktell_Link''' и пароль, который был сгенерирован. 
 +
: '''Количество транков''' - укажите необходимое количество линий (фактически, это максимальное количество одновременных разговоров). Рекомендуется, чтобы количество транков совпадало с настройкой сервера А. В примере, '''10'''.
 +
* Перейдите на вкладку "'''Сохранение'''". Нажмите "'''Проверить'''", затем "'''Сохранить'''".
 +
 
 +
 
 +
[[Файл:Соединение - 003.png|center|1000px]]
 +
 
 +
 
 +
* Перейдите в '''Администрирование'''/'''Мониторинг'''. Убедитесь, что линии зарегистрированы (значок в виде зеленой трубки).
 +
 
 +
 
 +
[[Файл:Соединение - 002.png|center|800px]]
 +
 
 +
 
 +
=== Настройка маршрутизации на сервере А ===
 +
 
 +
Чтобы совершить вызов с сервера А на сервер Б, необходимо подредактировать сценарий исходящей маршрутизации. На этом этапе важно учитывать корректность определения CallerID (номера вызывающего) и CalledID (набранного номера для маршрутизации). Исходя из этого, предлагается определять на вызывающем сервере имя пользователя и его внутренний номер, а затем передавать его в CallerID.
 +
 
 +
Для этого вначале в переменные записываются имя пользователя и его внутренний номер. Модификацию будет производить на примере стандартного сценария исходящей маршрутизации:
 +
 
 +
<u>Компонент "'''Присвоение'''"</u> - в компоненте производятся следующие операции:
 +
* переменной '''cer''' (строковая) присваивается значение функции "'''Номер пользователя внутри АТС'''"
 +
* переменной '''имя''' (строковая) присваивается значение функции "'''Имя пользователя'''"
 +
 
 +
 
 +
[[Файл:Соединение - 006.png|center|700px]]
 +
 
 +
 
 +
<u>Компонент "'''ВНЕШНИЕ'''"</u> - компонент осуществляет вызов сервера Б по номеру. В компоненте определены следующие параметры:
 +
* '''Номер''' - переменная НОМЕР (определена ранее в сценарии). 
 +
* '''Направления''' - выбраны зарегистрированные линии Oktell_Link
 +
* '''Caller Id''' - выражение ''[cer]+' '+[имя]''
 +
 
 +
 
 +
[[Файл:Соединение - 005.png|center|1000px]]
 +
 
 +
 
 +
После модификации сценария сохраните его "'''На сервер'''".
 +
 
 +
 
 +
<center>
 +
{|cellpadding="10" cellspacing="0" border="1"
 +
|При настройке соединения серверов с регистрацией важно помнить одно простое правило:
 +
* Сервер А, который выдал учетную запись может вызывать сервер Б только по имени учетной записи.
 +
* Сервер Б, который регистрируется на сервере А может вызывать его по любому имени.
 +
|-
 +
|}
 +
</center>
 +
 
 +
 
 +
Так как, исходя из выше сказанного, при вызове сервера Б необходимо дополнительно передавать набранный номер, измените свойства шлюза.
 +
 
 +
Для этого перейдите в '''Администрирование'''/'''Параметры аппаратуры'''.
 +
* В настройках шлюза установите "'''Источник определения CallerID'''" - "'''From: URI'''"
 +
* В настройках потока установите "'''Подстановка набранного номера при исходящем вызове'''" - "'''To'''.
 +
После настройки имя аккаунта будет передаваться в поле RequestURI, набранный номер в поле To. Благодаря этому на сервере Б возможно определить набранный номер с помощью функции ''Внешний номер (CalledID)''.
 +
 
 +
*По окончанию настроек нажмите "'''Сохранить'''"
 +
 
 +
 
 +
[[Файл:Соединение - 007.png|center|1000px]]
 +
 
 +
 
 +
 
 +
=== Настройка маршрутизации на сервере Б ===
 +
 
 +
Модификацию сценария исходящей маршрутизации следует проводить также как это было описано для сервера А.
 +
 
 +
Для корректного определения аккаунта, измените свойства шлюза. Для этого перейдите в '''Администрирование'''/'''Параметры аппаратуры'''.
 +
* В настройках шлюза установите "'''Приоритет поиска соответствия между аккаунтом и входящим INVITE в поле 'To' и 'Request URI''''" - "'''INVITE RequestURI'''"
 +
*По окончанию настроек нажмите "'''Сохранить'''"
 +
 
 +
 
 +
[[Файл:Соединение - 008.png|center|500px]]
 +
 
 +
 
 +
=== Результат работы ===
 +
 
 +
В результате проделанной работы сервера могут звонить друг другу. При этом у сотрудников показывается имя и внутренний номер звонящего.
 +
*Для определения набранного номера воспользуйтесь функцией Внешний номер (CalledId)
 +
*Для определения вызывающего абонента воспользуйтесь функцией Номер абонента (CallerId)
 +
 
 +
 
 +
[[Файл:Соединение - 009.png|center|600px]]

Текущая версия на 19:41, 10 июня 2014

Наверх

В данной статье описывается соединение двух серверов 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