Я имею право! Анализ детализаций - подготовленные детализации и загрузка детализаций с помощью плагинов

Как показала практика, различных типов детализаций только на территории России существует больше сотни. Поэтому, кроме работы с уже заложенными в программу "Анализ детализаций " форматов была добавлена возможность загружать либо заранее подготовленные детализации, либо, практически, любые детализации с помощью плагинов.

Быстрая навигация | | |

Подготовленная детализация.
Это некий промежуточный вариант между реальной детализацией и базой данных, с которой работает программа. Детализацию в этом формате можно подготовить либо с помощью специально разработанной программы, либо с помощью программы Excel, сохранив документ виде текстового файла с разделителем "Табуляция":

Каждая строка детализации содержит информацию об одном вызове (звонок, SMS, GPRS).
- Данные в строке разделены символом "табуляция"
- Первая строка детализации содержит названия колонок.

Полный формат подготовленной детализации следующий:

Что означает каждая колонка:

PhoneNum - Номер телефона сотрудника к которому относится информация о вызове (абон.плате)
Service - Наименование услуги. Как она будет отображаться в детализации
ServicePrep - Наименование услуги подготовленное для анализа.
CallDateTime - Дата и время вызова.
Может быть представлена в любом из следующих форматов
(все, которые поддерживает Excel): Разделители в дате и времени могут быть любыми.
Abonent - Вызываемый (или вызывающий) абонент. Как будет показано в детализации.
AbonentPrep - Вызываемый (или вызывающий) абонент. Используется при анализе.
Как правило, это последние 10 цифр номера телефона абонента.
Duration - Длительность звонка в секундах или объем трафика в байтах . Для СМС равен 1 .
Direction - Направление звонка.
Может принимать только такие значения:
ZonePC - Зона предприятия связи.
Т.е. название зоны (город, страна) где находился телефон в роуминге.
В анализе не используется. Будет показываться в детализации.
ZoneVTK - Зона внешней телефонной компании.
Т.е. название зоны (город, страна), при междугородном/международном вызове.
В анализе не используется. Будем показвываться в детализации.
local_MG_roum - Тип звонка : местный, междугородний/международный или роуминговый.
Используется в анализе и может принимать только такие значения:
Cost - Стоимость вызова или сумма абонентской платы (прочего платежа)

Самое сложное - позади! :) Теперь о хорошем:
  • Колонки могут идти в любой последовательности, а не только в той, которая представлена выше.
  • Колонок может быть любое количество!
    Чем меньше - тем менее подробный и информативный анализ выдаст программа.
    Т.е., даже если в подготовленной детализации будет только одна колонка "Абонент" (Abonent ), то программа сможет показать количество вызовов на каждого абонента и связать номера телефонов со справочниками. А имея на входе только колонки "Дата" и "Стоимость" (CallDateTime и Cost ) можно получить отчеты показывающие распределение расходов по дням, дням недели и по времени суток!

    Но, все таки, желательно использовать как минимум эти колонки:
    | PhoneNum | CallDateTime | Abonent | Cost |
    для того, чтобы получить более или менее информативный результат.

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

Сразу перейдем к примеру плагина, которые загружает детализацию представленную выше, в разделе "Подготовленная детализация ". Саму детализацию в текстовом формате можно загрузить по этой ссылке . var CallRec: TCallRec; i: integer; SL: TStringList; RE: TRegExp; // Это переменная для работы с регулярными выражениями begin SL:= TStringList.Create; RE:= TRegExp.Create; try // Загружаем детализацию из файла, имя которого передается плагину в переменной DetailFileName SL.LoadFromFile (DetailFileName); // Создаем регулярное выражение для поиска и извлечения информации из строки с информацией о вызове RE.Expression:= "^(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)\t(.*?)$"; // Начинаем парсинг детализации не с первой, а со второй строки, т.к. мы заранее знаем, // что в первой строке содержатся заголовки столбцов for i:= 1 to SL.Count-1 do begin // Если пользователь во время загрузи детализации нажал кнопку "Остановить" // то предопределенная переменная Processing (тип boolean) примет значение FALSE // Это надо отследить и прервать загрузку. if not Processing then Break; // Если регулярное выражение удалось применить к тексту (очередной строке в детализации) то... if RE.Exec (SL[i]) then begin // Очищаем переменную CallRec EmptyCallRec(CallRec); // Запонляем переменную CallRec данными. Описание переменных см. выше, // в разделе "Подготовленная детализация" CallRec.PhoneNum:= RE.Match; // Номер телефона сотрудника CallRec.Service:= RE.Match; // Название услуги, как оно будет показано в детализации CallRec.ServicePrep:= RE.Match; // Подготовленное название услуги CallRec.CallDateTime:= RE.Match; // Дата и время вызова CallRec.Abonent:= RE.Match; // Номер абонента CallRec.AbonentPrep:= RE.Match; // Номер абонента подготовленный для анализа CallRec.Duration:= StrToIntDef(RE.Match, 0); // Секунды или байты CallRec.Direction:= RE.Match; // Направление вызова (входящий, исходящий) CallRec.ZonePC:= RE.Match; // Зона предприятия связи (роуминг) CallRec.ZoneVTK:= RE.Match; // Зона внешней телефонной компании (межгород ) CallRec.local_MG_roum:= RE.Match; // Флаг типа звонка: местный, роуминговый или междугородний CallRec.Cost:= StrToFloatDef(RE.Match, 0); // Стоимость // Отправляем переменную CallRec процедуре, которая занимается загрузкой информации в базу данных // Одновременно, вторым параметром, передаем процент выполненной работы // (как соотношение номера текущей строки к общему количеству строк в файле детализации) LoadCallBack (CallRec, Trunc(i/SL.Count*100)+1); end; end; finally SL.Free; RE.Free; end; // Показываем совершенно необязательное окошко сообщающее об окончании загрузки. ShowMessage("Загрузка детализации успешно завершена!"); end.


2 РАСШИФРОВКА МОБИЛЬНОЙ ДЕТАЛИЗАЦИИ Текст в smsРасшифровка н/п Дата Номер Напр Длит Цена 1. 08/11 13:03:46 +79XXXXXXXXX Ис 60сек 0,6р. Исходящий вызов н/п Дата Номер Напр Длит Цена 2. 07/11 20:18:46 +79XXXXXXXXX Ис 1факт 0,25р. Отправка SMS н/п Дата Номер Напр Длит Цена 3. 10/11 11:01: Ис 1факт 64,5р. Приобретение мелодии по услуге GOOD"OK н/п Дата Номер Напр Длит Цена 4. Запрет вызова 09/11-09/11 2,2577р. Начисление абонентской платы за периодическую услугу н/п Дата Номер Напр Длит Цена 5. 09/11 17:51:29 wap.mts.ru Ис 22 байт 3,25р. Исходящий трафик при использовании точки доступа wap.mts.ru н/п Дата Номер Напр Длит Цена 1. 09/11 17:51:29 internet.mts.ru Ис 22 Кбайт 0,09р. Исходящий трафик при использовании точки доступа internet.mts.ru н/п Дата Номер Напр Длит Цена 2. 09/11 17:53:39 internet.mts.ru Вх 22 Кбайт 0,09р. Входящий трафик при использовании точки доступа wap.mts.ru н/п Дата Номер Напр Длит Цена 3. 09/11 3:46:01 rbtfmb0 Ис 1факт 33,50р. Списания абонентской платы за Музыкальную шкатулку при наличии услуги GOOD"OK н/п Дата Номер Напр Длит Цена 4. 09/11 3:56:01 rbtproX* Ис 1факт ст-ть Списания за продление мелодии категории X при наличии услуги GOOD"OK н/п Дата Номер Напр Длит Цена 5. 09/11 2:46:01 rbtcpyX* Ис 1факт ст-ть Копирование мелодии категории X при наличии услуги GOOD"OK н/п Дата Номер Напр Длит Цена 1. 08/11 9:03: X* Ис 1 факт ст-ть Покупка мелодии через sms запрос на номер 9505


3 РАСШИФРОВКА МОБИЛЬНОЙ ДЕТАЛИЗАЦИИ Текст в smsРасшифровка н/п Дата Номер Напр Длит Цена 2. Антиопределитель номера 09/11-09/11 3,35р. Начисление абонентской платы за периодическую услугу н/п Дата Номер Напр Длит Цена 3. 10/11 13:37:06 +79XXXXXXXXX Ис 1факт 3,95р. Исходящее MMS н/п Дата Номер Напр Длит Цена 4. 10/11 13:39:06 +79XXXXXXXXX Ис 1факт 0,60р. Условная переадресация отражается как исходящий вызов н/п Дата Номер Напр Длит Цена 5. MTS numbers 01/11 0:00 1 факт 30,00р. Списания абонентской платы за услугу Номера МТС н/п Дата Номер Напр Длит Цена 1. 10/11 13:37:06 LBS5_sms Ис 1факт 5.0 р. Списания в рамках услуги "Ребенок под присмотром" за sms-запрос на 4-ый и все остальные абонентские номера в семье н/п Дата Номер Напр Длит Цена 2. 10/11 13:37:06 LBS5_web Ис 1факт 5.0 р. Списания в рамках услуги "Ребенок под присмотром" за web-запрос на 4-ый и все остальные абонентские номера в семье н/п Дата Номер Напр Длит Цена 3. 10/11 13:37:06 LBS23 Ис 1факт 50.0 р. Списания абонентской платы в рамках услуги "Ребенок под присмотром" *X - категория мелодииПримечание: 1. Исходящее mms, sms отражается как 1 ФАКТ, а не как mms и sms. 2. Условная переадресация отражается как исходящий вызов.


4 РАСШИФРОВКА ДЕТАЛИЗАЦИИ Название столбца в детализации Объяснение Дата; времяДата и время начала соединения (с точностью до минуты) Номер Номер второго участника разговора (Вашего собеседника). При этом, если звонок входящий, то в начале данной позиции указывается


5 РАСШИФРОВКА ДЕТАЛИЗАЦИИ УслугаНазвание услуги, предоставленной абоненту Телеф.Телефония Emrg звонки на: 112 – Служба спасения 01 – Пожарная охрана 02 – Милиция 03 – Скорая помощь 04 – Служба газа sms iвходящее короткое сообщение (SMS) sms oисходящее короткое сообщение (SMS) clipопределитель номера clirантиопределитель номера Факспередача факса Данныепередача данных cfaзапрос обо всех услугах переадресации cfuбезусловная переадресация cfacвсе условные переадресации cf busyпереадресация по условию занято cf nreplпереадресация по условию нет ответа cf nrichпереадресация по условию абонент недоступен


6 РАСШИФРОВКА ДЕТАЛИЗАЦИИ УслугаНазвание услуги, предоставленной абоненту cwожидание вызова chудержание вызова cbaзапрос обо всех услугах запрета вызова cbaoвсе услуги запрета исходящих звонков cboзапрет всех исходящих звонков cboiзапрет всех исходящих международных звонков cboih запрет всех исходящих международных звонков (кроме звонков в домашнюю сеть) cbaiвсе услуги запрета входящих звонков cbiзапрет всех входящих звонков cbiih запрет всех входящих международных звонков при нахождении вне домашней сети сгфп прослушивание или запись сообщений в ГФПЯ (Голосовая Почта) со стационарного телефона ctперевод вызова mptyконференц-связь


7 РАСШИФРОВКА ДЕТАЛИЗАЦИИ УслугаНазвание услуги, предоставленной абоненту mms.spbВх / исх mms rbtfmb0 списания абонентской платы за Музыкальную шкатулку при наличии услуги GOOD"OK rbtcpyX*копирование мелодии категории X при наличии услуги GOOD"OK rbtproX* списания за продление мелодии категории X при наличии услуги GOOD"OK rbtcthX*списания за услугу "Поймай гудок" unknown Uтехнологическая реализация отображения запроса баланса через *100# Vam Zvonili:Вх / исх sms по услуге «Вам звонили» Abonent v seti:Вх. sms по услуге «Абонент в сети» MTS numberscписания абонентской платы за услугу Номера МТС cugзакрытая группа пользователей LBS0_sms sms-запрос в рамках услуги "Ребенок под присмотром" на один из 3-х первых абонентских номеров, зарегистрированных в семье, на которые произведены первые запросы в текущем месяце LBS0_web web-запрос в рамках услуги "Ребенок под присмотром" на один из 3-х первых абонентских номеров, зарегистрированных в семье, на которые произведены первые запросы в текущем месяце LBS5_sms sms-запрос в рамках услуги "Ребенок под присмотром" на 4-ый и все остальные абонентские номера в семье LBS5_web web-запрос в рамках услуги "Ребенок под присмотром" на 4-ый и все остальные абонентские номера в семье LBS23Списания абонентской платы в рамках услуги "Ребенок под присмотром"


8 РАСШИФРОВКА ДЕТАЛИЗАЦИИ (без названия)Вид действия услуги Rрегистрация Eотмена Aактивация Dдеактивация Qзапрос (проверка) Iвызов (исполнение) Uтип услуги, проставляется при запросе баланса *100# Длит. мин:сек Длительность соединения (включая неоплачиваемые секунды) Стоимостьруб. [ Общей квадратной скобкой (слева и справа от строки) объединяются несколько строк детализации, если они относятся к одному и тому же звонку (например, телефония и определитель номера, телефония и переадресация). При этом во всех объединенных скобками строках время начала соединения совпадает.

Начинающие пользователи часто путают GPS и GPRS. Иногда они первые два термина также путают с RFID, но за это уже, однозначно, нужно лишать сладкого. Чтобы путаницы не было, давайте все-таки внесем ясность в этот вопрос. Сегодня выясним, что означает загадочный термин GPRS, который в просторечье произносят как "ЖПРС", а совсем в просторечье... впрочем, я не смогу произнести это по радио, потому что меня тут же уволят.

Итак, аббревиатура GPRS расшифровывается и переводится как "пакетная передача данных по радиоканалу". GPRS является как бы надстройкой над стандартом GSM, по которому работают наши привычные мобильные телефоны. Для реализации GPRS от оператора мобильной связи требуются установка, настройка и постоянное администрирование различного аппаратного и программного обеспечения, которое в совокупности образует специальную компьютерно-мобильную сеть.

Однако обычных пользователей все эти тонкости волновать не должны. Чтобы использовать эту технологию, им нужно просто приобрести мобильный телефон с поддержкой GPRS, и я должен заметить, что ее поддерживают практически все современные телефоны, даже самые дешевые. После этого нужно включить у своего оператора услугу GPRS, если она вдруг не включена, ну а далее - использовать GPRS в хвост и в гриву, если есть такая необходимость.

Что дает GPRS на обычном мобильном телефоне-смартфоне? Возможность выхода в Интернет и подключения к соответствующим сервисам: интернет-страничкам, новостным каналам и так далее и тому подобное. "Подождите, - скажете вы. - А как же WAP? Я ведь помню, у меня с телефона с помощью WAP можно подключаться к каким-то там страничкам". Правильно, можно! Но только когда вы подключаетесь к WAP через обычное соединение (CSD), то телефон у вас занят, а платите вы за это подключение практически так же, как за обычный разговор по мобильному, - то есть дикие деньги! А GPRS - технология, позволяющая передавать данные по параллельным каналам, которые практически не мешают обычной связи. В связи с этим вы платите не за время работы в Интернете, что весьма мучительно для любого кошелька, а только за трафик - то есть за переданные файлы (замечу на всякий случай, что открытие какой-то интернет-странички уже означает скачивание файлов - текста и оформления странички). Причем эта плата по сравнению с оплатой разговоров - весьма невелика: примерно 10-20 центов за мегабайт данных.

Таким образом, ваш мобильник может быть подключен к GPRS постоянно - входящим и выходящим звонкам это практически не мешает, а если вы ничего не скачиваете, то и деньги со счета не тратятся.

Свое мнение вы можете высказать в