Пример разработки шаблонов для  SMDR  AVAYA IP Office

 

Во-первых. Ознакомьтесь с документацией на АТС в части сбора и обработки CDR.

Во-вторых, ознакомьтесь с документом «Комплекс программ  TarifSV» (раздел II.7). В нем содержится информация о таблицах, содержащих данные о шаблонах (правилах конвертации) используемых при работе TSVlog.exe.

Основы использования шаблонов изложены в документе «О программе TSVlog». Обязательно ознакомьтесь с указанным документом перед работой по созданию шаблонов для конкретной телефонной сети.

Важнейшим этапом, предшествующим этапу непосредственного составления шаблонов, является анализ телефонной сети (с точки зрения тарификации вызовов).

 

Рассмотрим последовательность разработки шаблонов конвертации на примере сети с коммутатором AVAYA IP Office, выдающим данные о вызовах в формате SMDR (описание полей см. в документе  «Поля SMDR AVAYA IP Office.pdf»).

 

Примечание.

При обработке  SMDR AVAYA IP Office в комплексе TSVOffice в поле RECTYPE выдается информация о вызове с  обозначения кодов состояний, аналогичных применяемым в CDR AVAYA / DEFINITY:

 

Код состояния (поле RECTYPE)

Описание

0

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

 A

Исходящий вызов

9

Обозначает:

• входящий вызов;

• транзитный вызов;

G

Входящий вызов с ожиданием ответа

C

Конференция

H

Неотвеченный вызов (не дождались ответа)

I

Вызов занятого адресата

E

Прочее неудачное соединение (?)

 

В поле CODE помещается информация о завершенности вывода SMDR для данного вызова. Это значение берется непосредственно из строки SMDR:

0 – это - последняя запись с этим номером  вызова (см. поле NUMB);

1 – возможно появление других записей.

 

Описание телефонной сети

 

При разработке исходим из следующих исходных данных, полученных на основе анализа сети.

 

Коммутатор AVAYA IP Office входит в состав некоей корпоративной телефонной сети с 3-х и 4-х значной сквозной внутренней нумерацией. Он соединен с остальной частью сети с помощью шести транк-групп (Т9005, Т9017, Т9018, Т9021, Т9022 и Т9023), по двум  из которых (Т9005 и Т9022) могут поступать / исходить только внешние вызовы для соединения с внешним  оператором связи (входящие и исходящие). Внешние входящие вызовы могут поступать на семизначные номера ХХХХХХХ, а также на номер 1011.

В составе AVAYA IP Office есть также голосовая почта VoiceMail (V95).

 

Исследуемую сеть телефонной связи можно условно разделить на две части: внутреннюю и внешнюю.

Все вызовы от/к оператору связи будем называть внешними (входящими, если они исходят от оператора связи, и  исходящими, в противном случае). Остальные вызовы относятся к внутренним (внутрикоммутаторным или внутрисетевым).

Необходимое замечание. В некоторых случаях могут осуществляться т.н. транзитные вызовы оператора связи: вызов приходит от  оператора связи  и, используя код доступа к внешнему маршруту, выходит из сети (на другого или этого же оператора связи).   При этом, какой-либо определенный внешний номер (городской) для доступа в корпоративную сеть не используется. (Внешний оператор просто "набирает", например, у вас "9" или код доступа к конкретному маршруту и совершает исходящий вызов). Такие вызовы необходимо выделять из общего потока внешних входящих вызовов и тарифицировать по особым правилам и тарифам.

 

В комплексе TarifSV принято обозначать тип вызова в поле DIGITS1 (DIGITS2) выходных (итоговых) таблиц с помощью специальных символов - маркеров. Все вызовы (внутренние, внешние и транзитные) приводятся к 4 основным типам :

 

Значения маркеров  в поле DIGITS, используемых программой TSVlog, и соответствующие им типы вызовов

 

Маркер

Тип вызова

Значение поля DIGITS1 (DIGITS2)  в итоговой таблице

Примечание

+

Внешний входящий.

а)Идентификатор вызываемого ресурса

б)Вызываемый номер

в)АОН (CLID1) вызывающего абонента

а)Присваивается пользователем при модификации с помощью шаблонов поля DNIS (DIGITS1)

б)Может включать номер (код доступа) маршрута

-

Внешний исходящий.

Набранный номер

а)Присваивается пользователем при модификации с помощью шаблонов поля DIGITS2

б)Может включать номер (код доступа) маршрута

A

Внутренний исходящий.

Набранный номер (или идентификатор вызываемого ресурса)

Может включать номер (код доступа) маршрута.

Присваивается автоматически программой TSVlog

B

Внутренний входящий.

Идентификатор вызывающего ресурса

Может включать номер (код доступа) маршрута.

Присваивается автоматически программой TSVlog

 

Обращаю ваше внимание на то, что вызов автоматически считается внутренним (и программа сама проставит соответствующие маркеры «А» или «В»), если пользователь не определил иное (не пометил этот вызов с помощью шаблонов как внешний, -  входящий или исходящий).

 

 

Собственно разработка шаблонов

 

Итак, приступим к составлению (разработке шаблонов) с использованием программы TarifSV (пункт «Конвертация log-файла» основного меню TarifSV.exe).

Предварительно очистили все шаблоны (удалили все записи из всех таблиц).

 

Пример 1. Пример  входящего внешнего вызова №1335537 с транк-группы T9022 (Line 22.2) с АОНом [email protected] на номер 1011. В результате вызов был перенаправлен на голосовую почту (V9552, VM Channel 42) , а спустя 10 сек  переведен на ресурс Е137 (посредством набора номера 157):

 

2012/03/01 00:05:01,00:00:10,0,[email protected],I,AACallCenter,1011,,0,1335537,1,T9022,Line 22.2,V9542,VM Channel 42,0,0,,,,,,,,,,,,,

2012/03/01 00:05:01,00:01:18,5,[email protected],I,157,1011,,0,1335537,0,E137,cc137,T9022,Line 22.2,0,0,,,,,,,,,,,,,

 

После прогона этого файла SMDR с помощью TSVlog.exe, получим следующие две записи о данном вызове:

 

NUMB

DT_START

DURWAIT

IDURATION

RESOURCE

DIGITS

RECTYPE

CLID

CODE

STRNUMBER

1335537

01.03.2012 0:05:01

0

93

T90222

A1011

9

[email protected]

1

20120301.TXT |                 1

1335537

01.03.2012 0:05:01

0

93

V9542

BT90222

G

[email protected]

0

20120301.TXT |                 3

 

Первая запись гласит, что с ресурса Т90222 (второй канал транк-группы Т9022) приходит вызов с АОНом (обратите внимание, что TSVlog преобразовал IP-адрес  до полного) с переданным  номером А1011 (префикс «А» здесь указывает на то, что это – внутренний исходящий). Вторая – о входящем (префикс «В») внутреннем вызове на 42 канал голосовой почты (V9542) с ресурса Т90222.

Длительность обоих вызовов – 93 сек. Она является суммой длительностей соединений из обеих исходных строк SMDR, а также длительности ожидания второго соединения (5 сек).

Если целей тарификации неважно, с/на  какого канала транк-группы (или голосовой почты) пришел вызов, то целесообразно номер канала удалить из идентификатора ресурса.

Кроме того, из поля E137  (и аналогичных ему), убираем «E» (оставляем всё, что следует за «E»).

Поэтому создаем шаблон «1.Замена ORIGID»:

 

Модифицируем ORIGID

 

Исходное значение

Заменить на:

%

%

T9!!!%

T9!!!

V9!!!

V9!

 

Аналогично и для идентификации поля «6.Замена TERID»:

 

Модифицируем TERID

 

Исходное значение

Заменить на:

E%

%

T9!!!%

T9!!!

V9!!!

V9!

 

Учтем также, что на номер 1011 переадресовываются внешние входящие вызовы. Т.е. полагаем, что вызов, пришедший с транк-групп Т9005 и Т9022 на номер 1011, будет внешним входящим.

Кроме этого, с транк-групп Т9005 и Т9022 могут поступать внешние входящие вызовы и на семизначные номера.

Исходя из этого, создаем шаблон «5.DIGITS 1», в котором обозначаем знаком «+» внешние входящие вызовы на указанные номера:

 

ORIGID

Поле DIGITS1

 

Детализация стороны "В":

 

Исходное значение

Заменить на:

 

T9005

!!!!!!!

+!!!!!!!

False

T9005

1011

+1011

False

T9022

!!!!!!!

+!!!!!!!

False

T9022

1011

+1011

False

 

Здесь, например, мы указали, что для ORIGID = T9022 необходимо поменять значение поля DIGITS с 1011 на +1011, указав тем самым с помощью префикса «+», что – внешний входящий вызов. Аналогично поступим и в случае прихода с Т9022 любого семизначного номера.

 

После прогона исходного файла SMDR с помощью TSVlog.exe, получим следующие две записи о данном вызове:

 

NUMB

DT_START

DURWAIT

IDURATION

RESOURCE

DIGITS

RECTYPE

CLID

CODE

STRNUMBER

1335537

01.03.2012 00:05:01

0

93

T9022

+1011

9

[email protected]

1

20120301.TXT |                 1

1335537

01.03.2012 00:05:01

0

93

1011

+1011

G

[email protected]

0

20120301.TXT |                 3

 

В принципе, с внешними входящими мы практически разобрались.

Однако, вид АОНов (CLID) «не внушает». Удалим лишнее (@ и далее). Кроме того, учтем, что для правильного определения источника вызова (его направления и региона), нужно восстановить АОН до «полного номера» (с «8» и т.п.).

Проанализировав исходный файл SMDR, мы видим, что с разных направлений приходят АОНы, отличающиеся по своей структуре и длине. Приведем их к однотипному виду.

 

Создаем шаблон «3. Замена CLID1» :

 

Значение поля ORIGID

Поле CLID1

 

 

Исходное значение

Заменить на:

%

%

%

%

!!!!!!!!!!!@%

!!!!!!!!!!!

%

!!!!!!!!!!@%

8!!!!!!!!!!

%

!!!!!!!!!@%

!!!!!!!!!

%

!!!!!!!@%

!!!!!!!

%

!!!@%

!!!

 

Здесь, например,  для любого (стоит маска «%») значения ORIGID мы заменим АОН (CLID) на 8!!!!!!!!!!, если АОН соответствует маске !!!!!!!!!!@%.

 

Аналогичный шаблон подготовим и для  8. Замена CLID2.

 

После прогона исходного файла SMDR получим:

 

NUMB

DT_START

DURWAIT

IDURATION

RESOURCE

DIGITS

RECTYPE

CLID

CODE

STRNUMBER

1335537

01.03.2012 00:05:01

0

93

T9022

+1011

I

89034790389

1

20120301.TXT |                 1

1335537

01.03.2012 00:05:01

0

93

1011

+1011

I

89034790389

0

20120301.TXT |                 3

 

Здесь также две строки. Однако АОН выглядит более «прилично». Здесь программой TSVlog_25.exe была использована третья строка шаблона «3. Замена CLID».

 

С тем, чтобы показать, как влияет значение «Детализация стороны В» в шаблоне «5.DIGITS 1», установим в нем в последней строке «true» (поставим «галочку»).

После очередного прогона исходного файла SMDR получим:

 

NUMB

DT_START

DURWAIT

IDURATION

RESOURCE

DIGITS

RECTYPE

CLID

CODE

STRNUMBER

1335537

01.03.2012 00:05:01

0

93

T9022

+1011

9

89034790389

1

20120301.TXT |                 1

1335537

01.03.2012 00:05:01

0

10

V95

+1011

9

89034790389

1

20120301.TXT |                 1

1335537

01.03.2012 00:05:11

5

78

137

+1011

G

89034790389

0

20120301.TXT |                 3

 

Первая строка в табличке показывает, что 01.03.2012  в 00:05:01 с ресурса Т9022  поступил внешний входящий вызов на номер 1011 (об этом свидетельствует «+» в поле DIGITS) с АОНом 89034790389. Общая длительность составила 93 сек. Эта строка в дальнейшем будет использована при тарификации вызовов от оператора связи.

 

Следующие две строки содержат детальную информацию о том, как распределялся этот входящий вызов внутри нашей сети.

Внешний входящий вызов на номер 1011 сначала был направлен на голосовую почту (V95), а через 10 сек был перенаправлен на ресурс 137. Ресурс 137 принял вызов  через 5 сек (DURWAIT = 5) и говорил в течение 78 сек (IDURATION = 78).

 

А вот примерно так этот вызов будет отражен в итоговом выходном файле после его прогона с помощью TarifSV_25 (фрагмент):

 

№ записи

Старт

Время ожидания, сек

Длит., сек

Ресурс

Номер

Тип записи

АОН (CLID)

Код завершения

Абонент

 

 

Тип вызова

Куда (откуда)

 

 

 

 

 

 

 

 

 

 

ID абонента

Договор

Тип абонента

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Назначение

Регион

1335537

01.03.2012 00:05:01

0

93

T9022

1011

9

89034790389

1

   2

 

Оператор связи

Местн(вх)

from: РОССИЯ (MOB) - РЕГИОН

РЕГИОНАЛЬНЫЕ МОБИЛЬНЫЕ СЕТИ

1335537

01.03.2012 00:05:01

0

10

V95

1011

9

89034790389

1

   1/   1

 

Офисный

Местн(вх)

from: РОССИЯ (MOB) - РЕГИОН

РЕГИОНАЛЬНЫЕ МОБИЛЬНЫЕ СЕТИ

1335537

01.03.2012 00:05:11

5

78

137

1011

G

89034790389

0

   1/   1

 

Офисный

Местн(вх)

from: РОССИЯ (MOB) - РЕГИОН

РЕГИОНАЛЬНЫЕ МОБИЛЬНЫЕ СЕТИ

 

Здесь указанно, что от оператора связи «2» 01.03.2012  в 00:05:01 с ресурса Т9022  поступил внешний входящий вызов на номер 1011. Тип вызова – «Местн(вх)».

Следующие две строки содержат детальную информацию о том, как распределялся этот входящий вызов внутри сети  на абонента «1/1».

 

 

Пример 2. Пример  исходящего внешнего вызова  №1341515 с внутреннего абонента Е107 через транк-группу T9005 (Line 5.1) на номер 2406088:

 

2012/03/01 09:08:11,00:00:27,8,107,O,2406088,2406088,,0,1341515,0,E107,Buh107,T9005,Line 5.1,0,0,,,Buh107,0000.00,,0000.00,0,0,618,1.00,U,Buh107,

 

Вызов начался 01.03.2012 в 09:08:11. Время ожидания до ответа 8 сек. Длительность соединения – 27 сек.

 

Начальный прогон  программой TSVlog дает следующий результат:

 

NUMB

DT_START

DURWAIT

IDURATION

RESOURCE

DIGITS

RECTYPE

CLID

CODE

STRNUMBER

1341515

01.03.2012 09:08:11

8

27

107

A2406088

A

107

0

20120301.TXT |             14941

1341515

01.03.2012 09:08:11

8

27

T9005

B107

A

107

0

20120301.TXT |             14941

 

Как видим, программа отнесла его к внутрисетевому вызову.

 

Создадим шаблон «10. DIGITS 2». Он используется, в основном, для того, чтобы обозначить префиксом «-» исходящее внешние вызовы.

Из исходных данных нам известно, что такие вызовы идут через транк-группы Т9005 и Т9022. Полагаем также, что через эти транк-группы не ходят внутрисетевые вызовы.

Итак, шаблон «10. DIGITS 2»:

 

 

Значение поля TERID

Поле DIGITS2

 

 

Исходное значение

Заменить на:

T9005

%

-%

T9022

%

-%

 

Здесь мы указали, что, при вызове в направлении ресурсов Т9005 и Т9022 перед любым набранным номером надо поставить префикс «-».

 

После прогона исходного файла SMDR с помощью TSVlog.exe, получим следующие две записи о данном вызове:

 

NUMB

DT_START

DURWAIT

IDURATION

RESOURCE

DIGITS

RECTYPE

CLID

CODE

STRNUMBER

1341515

01.03.2012 09:08:11

8

27

107

-2406088

A

107

0

20120301.TXT |             14941

1341515

01.03.2012 09:08:11

8

27

T9005

-2406088

A

107

0

20120301.TXT |             14941

 

В итоговом выходном файле, после его прогона с помощью TarifSV_25, этот вызов будет отражен следующим образом (фрагмент):

 

№ записи

Старт

Время ожидания, сек

Длит., сек

Ресурс

Номер

Тип записи

АОН (CLID)

Код завершения

Абонент

 

 

Тип вызова

Куда (откуда)

 

 

 

 

 

 

 

 

 

 

ID абонента

Договор

Тип абонента

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Назначение

Регион

1341515

01.03.2012 09:08:11

8

27

107

2406088

A

107

0

   1/   1

 

Офисный

Местн(исх)

ГОРОД

МОСКВА

1341515

01.03.2012 09:08:11

8

27

T9005

2406088

A

107

0

   2

 

Оператор связи

Местн(исх)

ГОРОД

МОСКВА

 

Здесь в первой строке содержится информация о том, что абонент «1/1» 01.03.2012 в 09:08:11 позвонил с внутреннего номера «107» на номер 2406088 (в ГОРОД). Тип вызова – «Местн(исх)».

Во второй строке данные об этом же вызове, но применительно к оператору связи («2»), через которого прошел этот вызов.

 

Пример 3. Пример  внутреннего (внутрикоммутаторного) вызова.

 

2012/03/01 09:11:53,00:00:45,4,999,O,666,666,,1,1341589,0,E999,Office999,E666,Service666,0,0,,,,,,,,,,,,,

 

С такими вызовами проще всего. Программа TSVlog, применительно к AVAYA IP Office, помечает их в колонке RECTYPE как «0» :

 

NUMB

DT_START

DURWAIT

IDURATION

RESOURCE

DIGITS

RECTYPE

CLID

CODE

STRNUMBER

1341589

01.03.2012 09:11:53

4

45

999

A666

0

999

0

20120301.TXT |             15102

1341589

01.03.2012 09:11:53

4

45

666

B999

0

999

0

20120301.TXT |             15102

 

Первая строка в табличке показывает, что 01.03.2012  в 09:11:53 с ресурса 999  поступил исходящий внутренний вызов  (префикс «А») на номер 666. Время ожидания ответа составило 4 сек, а длительность соединения – 45 сек.

Вторая строка содержит информацию о входящем на ресурс 666 внутреннем вызове (префикс «В») с номера 999.

 

А вот примерно так этот вызов будет отражен в итоговом выходном файле, после его прогона с помощью TarifSV_25 (фрагмент):

 

№ записи

Старт

Время ожидания, сек

Длит., сек

Ресурс

Номер

Тип записи

АОН (CLID)

Код завершения

Абонент

 

 

Тип вызова

Куда (откуда)

 

 

 

 

 

 

 

 

 

 

ID абонента

Договор

Тип абонента

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Назначение

Регион

1341589

01.03.2012 09:11:53

4

45

999

666

0

999

0

   1/   1

 

Офисный

Внутр.

to: Офис 1

Компания

1341589

01.03.2012 09:11:53

4

45

666

999

0

999

0

   1/   1

 

Офисный

Внутр.

from: Офис 1

Компания

 

 

Пример 4. Следующие два вызова являются примерами внутрисетевых вызовов (между офисами компании с использованием сквозной нумерации).

 

Первый вызов поступил с транк-группы Т9023 (АОН ) на внутренний Е702.

 

10:24:04,00:00:16,3,[email protected],I,702,702,,0,1342923,0,E702,RP702,T9023,Line 23.1,0,0,,,,,,,,,,,,,

 

Второй вызов выполнен с внутреннего номера 162  в направлении транк-группы Т9021 на номер 5202.

 

2012/03/01 10:44:08,00:00:31,3,162,O,5202,5202,,0,1343331,0,E162,Buh162,T9021,Line 21.1,0,0,,,,,,,,,,,U,Buh162,

 

Без использования дополнительных (к упомянутым ранее) шаблонов конвертации после прогона программой TSVlog получим:

 

NUMB

DT_START

DURWAIT

IDURATION

RESOURCE

DIGITS

RECTYPE

CLID

CODE

STRNUMBER

1342923

01.03.2012 10:24:04

3

16

T9023

A702

G

303

0

20120301.TXT |             18206

1342923

01.03.2012 10:24:04

3

16

702

BT9023

G

303

0

20120301.TXT |             18206

 

 

 

 

 

 

 

 

 

1343331

01.03.2012 10:44:08

3

31

162

A5202

A

162

0

20120301.TXT |             19125

1343331

01.03.2012 10:44:08

3

31

T9021

B162

A

162

0

20120301.TXT |             19125

 

Добавим пару новых шаблонов, с помощью которых учтем наличие в компании единого 3 и 4-х значного нумерационного плана (сквозной нумерации).

 

Из исходных данных: транк-группы Т9017, Т9018, Т9021 и Т9023 используются только для внутрисетевых вызовов. Следовательно, любой АОН, пришедший оттуда и имеющий длину 3-4 символа, будет соответствовать нумерационному плану компании.

 

Используем шаблон « 4. Слияние ORIGID  и CLID 1».

 

Значение поля ORIGID

Значение поля CLID1

Новое значение поля ORIGID

T901!

!!!

!!!

T901!

!!!!

!!!!

T9021

!!!

!!!

T9021

!!!!

!!!!

T9023

!!!

!!!

T9023

!!!!

!!!!

 

Здесь в первых двух строках колонки «Значение поля ORIGID» используется маска Т901!, позволяющая не расписывать правила отдельно для Т9017 и Т9018.

 

В итоге применения данного шаблона значения ORIGID будут заменены соответствующими значениями АОНов (CLID1).

 

Аналогично, исходящие вызовы на транк-группы Т9017, Т9018, Т9021 и Т9023 на 3 и 4-х значные номера будут внутрисетевыми. Следовательно, в таких случаях можно заменить значение TERID на соответствующее из набранного номера.

Для этого используем шаблон « 7. Префикс В»:

 

Значение поля TERID

Префикс В (вызываемого абонента) в поле DIGITS2

Новое значение поля TERID

T901!

!!!

!!!

T901!

!!!!

!!!!

T9021

!!!

!!!

T9021

!!!!

!!!!

T9023

!!!

!!!

T9023

!!!!

!!!!

 

Как видим, этот шаблон по своему содержанию практически идентичен шаблону «4. Слияние ORIGID  и CLID 1».

 

После очередного прогона исходного файла SMDR получим:

 

NUMB

DT_START

DURWAIT

IDURATION

RESOURCE

DIGITS

RECTYPE

CLID

CODE

STRNUMBER

1342923

01.03.2012 10:24:04

3

16

303

A702

G

303

0

20120301.TXT |             18206

1342923

01.03.2012 10:24:04

3

16

702

B303

G

303

0

20120301.TXT |             18206

 

 

 

 

 

 

 

 

 

1343331

01.03.2012 10:44:08

3

31

162

A5202

A

162

0

20120301.TXT |             19125

1343331

01.03.2012 10:44:08

3

31

5202

B162

A

162

0

20120301.TXT |             19125

 

Окончательно, после прогона с помощью TarifSV_25,  получим (фрагмент):

 

№ записи

Старт

Время ожидания, сек

Длит., сек

Ресурс

Номер

Тип записи

АОН (CLID)

Код завершения

Абонент

 

 

Тип вызова

Куда (откуда)

 

 

 

 

 

 

 

 

 

 

ID абонента

Договор

Тип абонента

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Назначение

Регион

1342923

01.03.2012 10:24:04

3

16

303

702

G

303

0

   1/   2

 

Офисный

Внутр.

to: Офис 1

Компания

1342923

01.03.2012 10:24:04

3

16

702

303

G

303

0

   1/   1

 

Офисный

Внутр.

from: Офис 2

Компания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1343331

01.03.2012 10:44:08

3

31

162

5202

A

162

0

   1/   1

 

Офисный

Внутр.

to: Офис 4

Компания

1343331

01.03.2012 10:44:08

3

31

5202

162

A

162

0

   1/   4

 

Офисный

Внутр.

from: Офис 1

Компания