Перейти к содержимому

LRN-запрос и переносимость номеров

Этот перевод выполнен автоматически и ещё не вычитан. Читать английскую версию

Переносимость номеров позволяет абоненту сохранить номер телефона при переходе к другому оператору, поэтому префикс номера больше не показывает, какая сеть его обслуживает. LRN-запрос (LRN dip) запрашивает у сервера переносимости номеров Local Routing Number (LRN) сети, которая обслуживает номер сейчас. Затем FlySIP тарифицирует и маршрутизирует звонок по этому LRN, а не по набранному номеру, при этом вендор по-прежнему получает набранный номер. Без этого звонки на перенесённые номера тарифицируются и маршрутизируются так, будто номера всё ещё принадлежат исходному оператору.

Screenshot "concepts/lrn-system-parameters" has not been generated yet — see scripts/screenshots/screens.yml.
  1. Звонок проходит аутентификацию, и к нему применяются правила трансляции CLD правила аутентификации и аккаунта. Результат — CLD.
  2. Коммутатор проверяет, нужен ли запрос. Он выполняет LRN-запрос, только когда в группе маршрутизации аккаунта отмечено Enable LRN (включить LRN) и настроен хотя бы один LRN-сервер. Для звонков on-net запрос никогда не выполняется.
  3. Он обращается к кэшу, затем к серверам. С Enabled LRN Cache (кэш LRN включён) коммутатор сначала ищет сохранённый ответ. Иначе он отправляет SIP INVITE с CLD в request URI на первый сервер в LRN Server Addresses (адреса LRN-серверов). Если окончательный ответ не приходит в течение LRN Server Timeout (тайм-аут LRN-сервера), он пробует следующий сервер. LRN Total Timeout (общий тайм-аут LRN) ограничивает весь запрос; когда он истекает, звонок продолжается с исходным CLD.
  4. Он читает ответ. Сервер отвечает 302 Moved Temporarily с номером маршрутизации в заголовке Contact. Коммутатор применяет к номеру маршрутизации LRN Translation Rule (правило трансляции LRN) группы маршрутизации. Результат — LRN CLD.
  5. Он тарифицирует по LRN CLD. LRN CLD ищется в тарифах аккаунта и каждого клиента над ним. Если в тарифе нет ставки для него, звонок отклоняется с No Rate Found (ставка не найдена).
  6. Он маршрутизирует по LRN CLD. Для каждой записи группы маршрутизации LRN CLD ищется в маршруте терминации. Запись, в подключении которой отмечено Ignore LRN (игнорировать LRN), вместо этого ищется по исходному CLD. Записи без совпадающего префикса пропускаются.
  7. Он отправляет исходный номер. Звонок уходит вендору с исходным CLD, переписанным CLD Translation Rule (правило трансляции CLD) подключения. С Add LRN to RURI (добавлять LRN в RURI) коммутатор также добавляет npdi в request URI, а для перенесённого номера — rn=<LRN CLD>, чтобы вендор мог сам маршрутизировать по LRN.

Если тариф или группа маршрутизации содержит ставки для местных звонков и номер звонящего известен, коммутатор выполняет запрос и для CLI. LRN CLI определяет, является ли звонок внутриштатным или междуштатным. Смотрите Местные звонки.

Используется только параметр rn из URI в Contact, и только вместе с npdi:

SIP/2.0 302 Moved Temporarily
Contact: <sip:2125550123;npdi;rn=2135550100@192.0.2.10>

Здесь 2125550123 — набранный номер, а 2135550100 — LRN. Оба параметра относятся к user-части URI, поэтому они должны стоять перед @, а после него должен идти хост. Любой другой ответ оставляет исходный CLD, например:

Contact Почему игнорируется
<sip:2125550123@192.0.2.10> Нет npdi: номер не перенесён
<sip:2125550123;rn=2135550100@192.0.2.10> rn без npdi
<sip:2125550123;npdi@192.0.2.10> npdi без номера маршрутизации
<sip:2125550123;npdi;rn=2135550100> Нет @ и хоста, поэтому параметры не входят в user

Ответ, отличный от 302, или отсутствие ответа считается неудачей, и звонок маршрутизируется по исходному CLD.

Где Поле Значение
System Management → SIP Features → SIP, вкладка LRN LRN Server Addresses Упорядоченный список серверов в виде host или host:port; порт по умолчанию — 5060. Сервер, вернувший корректный ответ, перемещается в начало
LRN Server Timeout Сколько секунд ждать один сервер, прежде чем пробовать следующий, от 1 до 32, по умолчанию 5
LRN Total Timeout Секунды на весь запрос, от 1 до 32, по умолчанию 10
Add LRN to RURI Отправлять вендорам npdi и rn в request URI
Enabled LRN Cache, LRN Cache Expires in (срок действия кэша LRN) Хранить ответы от 1 hour до 3 months (по умолчанию), чтобы повторные номера не требовали нового запроса
Vendors → Routing Groups, Advanced Parameters (дополнительные параметры) Enable LRN Выполнять запрос для звонков, маршрутизируемых через эту группу
LRN Translation Rule Перезапись номера маршрутизации, например s/^/1/, чтобы добавить код страны, который используют ваши тарифы
Форма подключения Ignore LRN Маршрутизировать это подключение по исходному CLD

LRN-сервер — не вендор. Не добавляйте его как вендора или подключение; его адрес указывается только в системных параметрах.

Детали звонка показывают LRN CLD, использованный для тарификации и маршрутизации, Incoming LRN CLD (входящий LRN CLD) в том виде, в котором его вернул сервер, и Incoming LRN CLD Result (результат входящего LRN CLD): Success, Success From Cache, Failure, Failure From Cache, Cache Communication Error или Not Needed. Те же три поля есть и для CLI. Столбец CLD сохраняет набранный номер. Test Dialplan показывает LRN CLD и LRN CLI тестового звонка.

  • Prefix (префикс) — начальные цифры набранного номера, которые выбирают ставку или маршрут, например 4420.
  • Routing Group (группа маршрутизации) — именованный набор правил маршрутизации, назначенный клиенту или аккаунту.
  • Translation Rule (правило трансляции) — правило на основе регулярного выражения, которое переписывает набранный номер или номер звонящего перед тарификацией или маршрутизацией.
  • Termination route (маршрут терминации) — прайс-лист вендора с префиксами, по которому звонки маршрутизируются к этому вендору; хранится как набор направлений.
  • CDR (запись о звонке) — одна строка на звонок со временем, длительностью, направлением, стоимостью и причиной разъединения.

Звонки на перенесённые номера завершаются с No Rate Found

Заголовок раздела «Звонки на перенесённые номера завершаются с No Rate Found»

LRN-сервер возвращает десятизначные номера маршрутизации, а ваш тариф использует префиксы с кодом страны. Задайте LRN Translation Rule s/^/1/ в группе маршрутизации, чтобы LRN CLD совпадал с тарифом, и проверьте результат в Test Dialplan.

Вендор отклоняет звонки после включения LRN

Заголовок раздела «Вендор отклоняет звонки после включения LRN»

Вендор не принимает npdi и rn в request URI. Снимите отметку Add LRN to RURI; она действует для всех подключений среды.

Один вендор маршрутизирует только по набранному номеру

Заголовок раздела «Один вендор маршрутизирует только по набранному номеру»

Отметьте Ignore LRN в подключении этого вендора. Тогда его маршрут терминации ищется по исходному CLD, а клиент по-прежнему тарифицируется по LRN CLD.