Вы здесь

CUCM и Digit Manipulation

Пользователи телефонной системы должны иметь возможность звонить в самые разные местоположения внутри своей компании и за ее пределами. Для достижения местоназначения могут быть использованы различные пути: с использованием IP WAN или различные выходы в PSTN, поэтому успешный звонок требует выполнение определённых манипуляций как с Called Party, так и с Calling Party.

Digit Manipulation - это способность CUCM добавлять или удалять цифры в соответствии требуемым numbering plan.

Например для выхода в город в Москве пользователь набирает 9-8-495-578-96-26.
В этом случае нам как минимум нужно подправить:
- Called Party - убрать 9-ку.
- Calling Party - заменить внутренний номер на корпоративный многоканальный номер.

Номера Calling party и Called Party могут быть модифицированы в различнх locations и различными методами.
На схеме изображены методы Digit-Manipulation и locations, которые проходит звонок по мере его обработки.
cucm_i_digit_manipulation_011_ciscomaster.ru.jpg

На рисунке отображена схема вариантов Digit Manipulation, доступных в CUCM.
Звонок может быть инициирован от шлюза или от телефона.

Первая возможность провести Digit manipulation - это на уровне Ingress Gateway (Trunk).
Мы можем манипулировать как с Called party, так и с Calling party
Обратите внимание, что если звонок инициирован от телефона, то никакие манипуляции недоступны на этом этапе. Даже если на телефоне настроена external phone number mask, все равно решение о манипуляции будет принято позднее - на уровне route pattern или translation pattern, или же route list.

Если Called number даёт совпадение с DN на телефоне, то дальнейшие called-party tranformation уже будут невозможны, поскольку принимающий endpoint уже иеднитифиуирован и "дёргаться" уже поздно.
Но у нас еще останется возможность провести calling-party tranformation через использование Calling-party tranformation CSS: эта опция доступна на уровне device pool, с которым ассоциирован данный телефон.

Если Called number даёт совпадение для tranlation pattern, hunt pilot или route pattern, можно настроить различные варианты манипуляций, указанных на рисунке.

Наконец на выходе (egress gateway) также есть возможность использования различных трансформаций.

External Phone Number Mask

External Phone Number Mask - позволяет подменить calling party number, если звонок уходит наружу, т.е. off-net. Настраивается в свойствах каждого DN индивидуально.

Translation Pattern

Translation Pattern обеспечивает трансляцию номеров. Трансляция часто нужна для организации диал-плана типа Partitional Addressing, а также для входящих звонков.
Особенность его работы в том, что после изменения номера запускается повторный процесс анализа (Call Routing Process), в результате которого может отработать еще один Translation Pattern и т.д. (максимально 10шт)

Рассмотрим пример использования Translation Pattern в следующей схеме.
Это схема классической реализации связу в крупной компании с несколькими офисами и с Partitioned Addressing.
teho_realisation.jpg

Translation Pattern здесь отмечены оранжевым.
70.XXX и 77.XXX - используются для осуществления звонков между филиалами.
2878835 и 532507 - трансируют входящие звонки. Необходимы для того чтобы городские звонки не пересекались с внутренним диалпланом и не вызывали задержку при пересечении.

Tranformation Masks

Tranformation Masks - это часть Calling Party Transformations а также Called Party Transformations.
Маска накладывается на исходный номер и получается номер на выходе:
cucm_i_digit_manipulation_transformation_mask_ciscomaster.ru.jpg

Digit Stripping and Digit Prefixes

Digit Stripping или Discard Digits Instructions удаляет определенные цифры из номера. Работает с "точкой" которая позволяет определить какие цифры необходимо удалить. Например для того чтобы избавиться от 9-ки:
cucm_i_digit_manipulation_digit_stripping_ciscomaster.ru.jpg

Digit prefix - добавляет цифры к номеру с левой стороны.

Called and Calling-Party Transformations Patterns

Наиболее универсальный тип трансформации, хотя и более сложный в настройке.

- Called and Calling-Party Transformations Patterns настраиваются глобально.
- Patterns помещаются в партиции
- В Egress Devices настраивают Called and Calling-Party Transformations CSS, тем самым разграничивая зону действия паттерна.
- Настроенный Transformations CSS определяет кому данный Transformations Pattern будет виден, а кому нет.

Called and Calling-Party Transformations применяются только на звонки идущие от CUCM на девайс.
На практике это означает что например для шлюза в город Calling-Party Transformations будут применяться только для исходящих наружу звонках.

Пример практического применения на следующей схеме:
calling_and_called_party_transfomation_ciscomaster.ru_0.jpg

Incoming Number Tranformation settings

incoming_number_tranformation_settings_ciscomaster.ru.jpg
Incoming Calling Party Settings - позволяют модифицировать Calling party для входящих звонков. Включает конфигурацию следующих опций (в порядке применения):

  • Digit Striping
  • Adding a prefix
  • Более комплексная трансформация через Transformation CSS

При этом различные настройки могут быть сделаны для разных типов номеров (unknown, subscriber, national, international). Доступно для MGCP и H.323

Incoming Called Party Settings - позволяют модифицировать Called party для входящих звонков. Доступно только для H.323.

Incoming Calling и called Party Settings могут быть настроены для Gateways или Trunks, Device pool и для Service Parameters для сервиса Cisco Call Manager.
Если настройки одновременно сделаны на уровне Device и Device pool, то начинает играть роль Use Device Pool CSS: если она отмечена то приоритет у Device pool.

Outgoing Number Tranformation

Outgoing Number Tranformation - это транформации, производимые на уровне Route pattern, Route list или на уровне Egress Gateway.
При манипулировании значениями для called party number на уровне route pattern или через Global Transformation CSS на egress gateway, - результирующее значение номера также отображается и на экране телефона, более того эти значения также попадают и в логи CDR (Call Detail Records).

Обратите внимание, при трансляции called party number на уровне Route list никак не отражает ни на экране телефона, ни в логах CDR.

Если трансформации настроены одновременно на уровнях Route pattern, Route list и Egress Gateway, то воздействие не является кумулятивным. Побеждает Egress Gateway, и трансляции на уровнях Route pattern и Route list игнорируются. При этом трансформация работает с исходным номером, который был изначально набран на телефоне или pretransformed number.
Если pretransformed number никак не подошёл к доступным на Egress Gateway transfomation patterns, то манипуляции отдаются на Route pattern и Route list.
Кстати если номер был предварительно обработан через translation pattern, то pretransformed number будет уже выход от этого translation pattern.

Calling Party Transformation Order

Calling Party Transformations могут быть выполнены на уровне route patterns, Route list.
Calling Party Transformations применяются в следующем порядке:
- External phone number mask
- Calling-party transformation mask
- Prefix digits

Called Party Transformation Order

- Discard digits
- Called-party transfomation mask
- Prefix digits

Digit manipulation на нескольких уровнях

Для исходящего звонка манипуляции могут быть произведены на трех уровнях:
- Digit manipulation on Route Pattern
- Digit manipulation on Route List
- Digit manipulation on Gateway (Transformation CSS)

Три уровня манипуляций не кумулятивны, только один уровень будет работать, при этом самый "сильный" это Gateway, самый слабый - Route Pattern.
При этом Called party не зависит от Calling Party digit manipulation и могут быть одновременно произведены на разных уровнях.

Подробнее об этом в следующем разделе.

CUCM Digit Manipulation Operation

Как уже упоминалось, Outgoing Number Tranformation может производиться на разных уровнях.
При этом есть несколько особенностей при одновременной настройке трансформаций на нескольких уровнях одновременно.

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

  • PT-S—pretransformed source - Это видимый calling-party number в самом первом call request, т.е. в момент набирания номера.
  • PT-D—pretransformed destination - Это видимый calling-party number в самом первом call request, т.е. тот номер, что пользователь собственно набрал.
  • T-S - transformed source - calling-party number после соответствующей операции Digit manipulation.
  • T-D - transformed destionaton - called-party number после соответствующей операции Digit manipulation.
  • S-RP DM - source route pattern digit manipulation - методы манипуляции для calling-party на уровне Route Pattern.
  • D-RP DM - destination route pattern digit manipulation - методы манипуляции для called-party на уровне Route Pattern.
  • S-RL DM - source route pattern digit manipulation - методы манипуляции для calling-party на уровне Route List.
  • D-RL DM - destination route pattern digit manipulation - методы манипуляции для called-party на уровне Route List.

Итак, предположим что от запрос от phone, gateway, trunk или translation pattern даёт совпадение с соответствующим Route Pattern.
Сразу запоминаются исходные номера PT-S и PT-D.
Также строятся значения T-S через использования на уровне Route Pattern методов S-RP DM, и строятся значения T-D на уровне Route Pattern через методы D-RP DM

Далее Route Pattern ссылается на Route List и происходит следующее:

  • Route list на основании на его Route Groups, а также доступных шлюзов, выбирает Egress device
  • Если на уровне Route list настроены какие либо called party transformation methods, то все методы called party transformation methods на уровне Route Pattern будут отменены.
  • Другими словами вычисленный на уровне Route Pattern T-S либо сохраняется, либо заменяется другим значением, вычисленным по соответствующим правилам S-RL DM на уровне Route list
  • . Причем исходником будет изначальный PT-S.

  • Та же логика применяется и для calling party. Как следствие теоретически возможно ситуация, когда трансформация для calling party будет производиться на уровне Route Pattern, а для called party
  • на уровне Route List

На уровне Egress Gateway или Trunk манипуляции будут происходить следующим образом:

  • Calling -party number
    - Если установлен параметр в поле Caller ID DN, то этот номер используется в качестве calling-party number.
    - Если Caller ID DN не установлен, CUCM проверяет сконфигурённые Calling-party tranformation CSS.
    В случае если отмечено поле Use Device Pool Called Party Transformation CSS, и в device pool настроен соответствующий CSS, то device pool побеждает.
    - Если calling-party transformation CSS не настроен, тогда в качестве Caller ID будет использован T-S. При этом T-S будет сформирован в соответствии с правилами описанными выше, т.е. применение к PT-S правил либо либо через Route pattern S-RP DM, либо через Route List S-RL DM
    - Если настроен Calling-party tranformation CSS, PT-S проверяется на совпадение с доступными calling-party transformation pattern.
    - Если совпадение найдено то к PT-S применяется соответствующий calling-party transformation pattern, и результирующий номер будет использован как Caller ID.
    - Если совпадение не найдено, применяются трансформации на уровне Route pattern S-RP DM, либо через Route List S-RL DM.
  • Called-party number
    - Применяется аналогичная логика, с той лишь разницей, что для Called-party number отсутствует Caller ID DN

Комментарии

Подскажите пожалуйста. У меня на 2811 E1 от провайдера. Он от меня провайдер ждёт номер в формате XXXXXXXXXX (3 знака код города + 7-значный номер). Если пользователь набирает просто 7-значный номер, то на 2811 приходит ???2778888. Подскажите пожалуйста, где нужно подставлять код города?

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

Как выше писалось можно многими вариантами сделать это , можно как вариант вписать код города в поле External Phone Number Mask

"- Если установлен параметр в поле Caller ID DN, то этот номер используется в качестве calling-party number.
- Если Caller ID DN не установлен, CUCM проверяет сконфигурённые Calling-party tranformation CSS.
"
Будьте добры, поразвернутей с примером.

привет.
подскажите пожалуйста, хочу изменять "А" при вызове на определенный "Б" номер, но при всех остальных вызовах "А" остается без изменений. как то можно это сделать?

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image