Соединение двух серверов Oktell с регистрацией — различия между версиями
(не показано 15 промежуточных версии этого же участника) | |||
Строка 1: | Строка 1: | ||
[[Практики|Наверх]] | [[Практики|Наверх]] | ||
+ | |||
+ | __TOC__ | ||
В данной статье описывается соединение двух серверов '''Oktell''' с регистрацией. Пользуясь данной статьей, вы сможете также соединить Oktell с любой другой АТС, использующей SIP-протокол. | В данной статье описывается соединение двух серверов '''Oktell''' с регистрацией. Пользуясь данной статьей, вы сможете также соединить Oktell с любой другой АТС, использующей SIP-протокол. | ||
Настройка соединения достаточно проста: один сервер (назовем его '''сервер А'''), выступая в роли провайдера связи, выдает учетные данные. Другой сервер (назовем его '''сервер Б'''), используя выданную учетную запись, регистрирует свои линии на первом сервере. В результате такой настройки, любой пользователь может позвонить на другой сервер и свободно поговорить с абонентом. | Настройка соединения достаточно проста: один сервер (назовем его '''сервер А'''), выступая в роли провайдера связи, выдает учетные данные. Другой сервер (назовем его '''сервер Б'''), используя выданную учетную запись, регистрирует свои линии на первом сервере. В результате такой настройки, любой пользователь может позвонить на другой сервер и свободно поговорить с абонентом. | ||
+ | |||
+ | При настройке такого соединения важно помнить одно простое правило: | ||
+ | * Сервер А, который выдал учетную запись может вызывать сервер Б только по имени учетной записи. | ||
+ | * Сервер Б, который регистрируется на сервере А может вызывать его по любому имени. | ||
+ | |||
+ | В связи с этим на сервере А возникает задача передачи не только имени учетной записи, но и набранного номера. Задача решается путем настройки модуля "'''Администрирование/Параметры аппаратуры'''". | ||
+ | |||
+ | Рекомендуется обратить внимание на передачу CallerId при совершении звонков. Представьте, что секретарю сервера А постоянно звонят операторы сервера Б. Если не передавать CallerId, то секретарь не сможет определить звонящего. В данной статье также рассматривается и эта проблема. | ||
Строка 14: | Строка 24: | ||
: '''Название''' и '''Описание''' - Любые. В примере "'''На второй сервер'''". | : '''Название''' и '''Описание''' - Любые. В примере "'''На второй сервер'''". | ||
: '''Тип регистрации''' - На стороне сервера | : '''Тип регистрации''' - На стороне сервера | ||
− | : '''Название потока''' - Любое | + | : '''Название потока''' - Любое. В примере, '''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
- Перейдите на вкладку "Сохранение". Нажмите "Проверить", затем "Сохранить".
Настройка шлюза на сервере Б
На сервере Б необходимо создать шлюз с "регистрацией на стороне шлюза" и внести созданную ранее учетную запись.
- Перейдите в Администрирование/Карта сети.
- Добавьте 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)