Манипулирование Номерами Через Ldap

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

При этом в большинстве случаев никакой связи между числами нет. Как вариант, можно использовать для этого таблицу преобразования чисел, но выглядит она не очень красиво, да и управление в этом случае будет не самым простым.

Самое простое, особенно на корпоративном рынке, — использовать для этой цели протокол LDAP. Почему LDAP, а не какой-то другой механизм, например внешний файл.

Все довольно просто — AD используется в большинстве компаний как корпоративный стандарт, где хранится вся необходимая информация о сотрудниках, и в данном случае манипулировать нужно именно их данными.

Так зачем создавать какую-то параллельную базу данных, если она уже есть в вашей инфраструктуре? Где и как можно применять такие манипуляции – вариантов огромное количество, я перечислю лишь самые популярные, с которыми мне попадаются.

  • Услуга FMC, когда ваш мобильный оператор готов предоставить вам ваши внутренние номера на вашей АТС, но при этом номер мобильного телефона звонящего остается.

    Задача здесь может состоять в том, чтобы преобразовать номер мобильного телефона сотрудника во внутренний номер сотрудника для корректного отображения.

    Соответственно, нам необходимо найти запись в AD с соответствующим номером мобильного телефона, и подставить внутренний номер этой записи AD в качестве вызывающего номера.

  • Процесс миграции с одной АТС на другую.

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

    В этом случае используется несколько полей, где одно поле соответствует одной АТС, а второе поле соответствует второй АТС.

    В зависимости от того, в каком поле находится номер, туда и должен быть перенаправлен вызов.

  • Если говорить о новом функционале Skype For Business - Звонок через работу, то этот функционал может быть просто необходим, так как с этим функционалом может возникнуть масса проблем, как должен отображаться номер при звонке из Skype For Business на АТС и какой номер надо использовать для выхода этот номер снаружи.

  • Ну и те случаи, которые могут возникнуть.

    И как показывает моя практика, запросы, где в конечном итоге удобно использовать этот функционал, возникают довольно часто.

Теперь поговорим о том, как это настраивается.

Чтобы было понятнее, представим задачу.

Вам необходимо заменить внутренний номер сотрудника 1234 в исходящем номере на его мобильный телефон 89997776655. Внутренний номер сотрудника находится в атрибуте TelephoneNumber, а номер мобильного телефона - в атрибуте Mobile. Чтобы начать работать с LDAP, вам необходимо включить службу LDAP на Mediant. Для этого откройте VoIP-> Сервисы-> LDAP.

Манипулирование номерами через LDAP

Служба LDAP — включить, после чего шлюз/SBC необходимо перезагрузить.

Очень важный момент, с которым необходимо сразу определиться – это LDAP Cache. То есть, запомнит ли шлюз/SBC информацию, полученную от LDAP, или нет. И если да, то как часто он будет его обновлять? Это сделано для того, чтобы при большом количестве запросов Mediant не перегружал LDAP-сервер и обрабатывал запросы максимально быстро.

После этого нам необходимо настроить соединение с LDAP-сервером.

Перейдите: вкладка «Конфигурация» > меню «VoIP» > «Службы» > LDAP > Таблица конфигурации LDAP:

Манипулирование номерами через LDAP

Здесь вы настраиваете IP-адрес сервера и его назначение.

На этой странице я опишу лишь ряд параметров, так как большинство параметров понятно по названию:

  1. LDAP Bind DN — это имя учетной записи, под которой вы входите на сервер LDAP. Его можно записать в одном из следующих форматов:
    • CN=Администратор,CN=Пользователи,DC=домен,DC=com
    • администратор@домен.

      com

    • домен\администратор
  2. Также важно выбрать, для чего вы используете LDAP (параметр типа).

    • Control (по умолчанию) – означает, что этот сервер будет использоваться для сигнализации голосового трафика.

      Собственно, именно этот вариант мы и рассматриваем в данном примере.

    • Управление – при выборе этой опции сервер LDAP используется для проверки авторизации доступа для управления голосовым шлюзом.

По умолчанию Mediant не использует шифрование, а авторизация на LDAP-сервере происходит по простому методу.

После успешного подключения к LDAP-серверу он должен иметь статус «Подключено».

После подключения к LDAP-серверу необходимо настроить DN, по которому будет осуществляться поиск.

Это можно сделать: вкладка «Конфигурация» > меню «VoIP» > «Службы» > LDAP > Таблица конфигурации LDAP.

Манипулирование номерами через LDAP

На этом этапе мы настроили подключение к LDAP-серверу и определили область, где будем искать объекты.

Чтобы выполнить преобразование в SIP, нам необходимо настроить правила настройки вызова, в которых мы определяем, как мы выполняем поиск объектов в LDAP и какой атрибут мы получаем от LDAP. Правила LDAP настраиваются: вкладка «Конфигурация» > меню «VoIP» > «Сервисы» > «Правила настройки звонков».



Манипулирование номерами через LDAP

Здесь мы опишем каждый параметр отдельно:

  1. Идентификатор набора правил: номер набора правил.

    Иногда необходимо использовать несколько правил, и в этом случае несколько правил настраиваются с одним идентификатором набора правил.

  2. Атрибут запроса: определяет строку запроса к серверу LDAP. Синтаксис довольно прост. Все статические данные вводятся в одинарных кавычках, все переменные — без кавычек.

    Между ними должен быть знак «+».

    Пример: 'telephoneNumber='+param.call.src.user. Список возможных переменных параметров представлен ниже.

  3. Атрибут для получения: Атрибут, который мы пытаемся получить от LDAP для дальнейшей работы с ним.

    В нашем примере это номер мобильного телефона: mobile. Этот параметр вводится без кавычек.

    Если вам нужно получить более одного атрибута, то в этом случае они пишутся через запятую.

  4. Условие: этот параметр определяет условие, при котором работает это правило.

    В нашем случае это будет: ldap.attr.mobile существует. (Атрибут mobile существует).

    Примеры других условий:

    • param.call.dst.user == '1234'
    • ldap.found !exists (запись LDAP не найдена)
    • ldap.err существует (ошибка при поиске LDAP)
    • Также можно использовать регулярные выражения.

  5. Предмет действия: определяет, какой параметр вызова мы будем изменять.

    В нашем случае это будет: param.call.src.user.

  6. Тип действия: что мы будем делать с этим параметром вызова (Добавить/Удалить/Изменить/Добавить префикс/Добавить суффикс/Удалить префикс/Удалить суффикс/Выйти (остановить идентификатор набора правил и не применять следующие правила)/Запустить набор правил (перейти к другому правилу) В нашем случае – Modify
  7. Значение действия: параметр, определяющий, что мы будем делать.

    В нашем примере нам нужно подставить номер мобильного телефона в исходный номер: ldap.attr.mobile. Синтаксис этого параметра идентичен синтаксису атрибута запроса.

    (Если в типе действия настроен Выход, то значение этого параметра должно быть ложным или истинным.

    То есть при наличии совпадения выходить по идентификатору набора правил или нет).

Список параметров, которые можно использовать:
  • param.call.dst.user (номер назначения)
  • param.call.src.user (номер вызывающего абонента)
  • param.call.src.name (имя вызывающего абонента)
  • param.call.redirect (номер переадресации вызова)
  • param.call.src.host (домен источника звонка – в поле from)
  • param.call.dst.host (домен назначения звонка — в поле «Кому»)
После того, как мы настроили правило манипуляции, мы должны применить его к тем вызовам, где оно требуется.

Это делается в настройках маршрутизации вызовов в параметре Call Set Rules Set ID. После этого созданное нами правило будет применяться к тем звонкам, которые будут маршрутизироваться по этому правилу, тем самым мы сможем достаточно гибко настроить те случаи, когда требуются манипуляции с LDAP. Интеграцию LDAP также можно использовать для следующих задач:

  1. Авторизация доступа к Mediant только для тех пользователей, которые входят в определенную группу.

  2. Маршрутизация вызовов
    • Маршрутизируйте вызов в зависимости от того, какой атрибут содержит необходимый параметр вызова.

    • Параллельный вызов в нескольких направлениях для каждого атрибута сервера LDAP.
    • Последовательный вызов на несколько номеров, которые есть в атрибутах LDAP-сервера.

Теги: #аудиокоды #SBC #ldap #Mediant #Голосовой шлюз #ip-телефония #asterisk
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.