CUCM та Digit Manipulation

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

Якщо Called number дає збіг tranlation pattern, hunt pilot або route pattern, можна налаштувати різні варіанти маніпуляцій, вказаних на малюнку.

Нарешті, на виході (egress gateway) також є можливість використання різних трансформацій.

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.

рівні

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

Transformation Masks

Tranformation Masks - це частинаCalling Party Transformations іCalled Party Transformations. Маска накладається на вихідний номер і виходить номер на виході:

Digit Stripping and Digit Prefixes

Digit Stripping абоDiscard Digits Instructions видаляє певні цифри з номера. Працює з "точкою", яка дозволяє визначити які цифри необхідно видалити. Наприклад, щоб позбутися 9-ки:

manipulation

Digit prefix - додає цифри до номера зліва.

Called and Calling-Party Transformation 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 будуть застосовуватися тільки для вихідних назовні дзвінках.

Приклад практичного застосування на наступній схемі:

cucm

Incoming Number Transformation settings

digit
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 Transformation

Calling Party Transformation Order

Calling Party Transformations можуть бути виконані на рівні route patterns, Route list. -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 PatternT-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 patternS-RP DM, або через Route ListS-RL DM - Якщо налаштований Calling- party transformation CSS,PT-S перевіряється на збіг з доступними calling-party transformation pattern. - Якщо збіг знайдено, то доPT-S застосовується відповідний calling-party transformation pattern, і результуючий номер буде використаний як Caller ID. - Якщо збіг не знайдено, застосовуються трансформації на рівні Route patternS-RP DM, або через Route ListS-RL DM.
  • Called-party number - Застосовується аналогічна логіка, з тією різницею, що з Called-party number відсутняCaller ID DN