Проблема с выводом smdr

172 views
Skip to first unread message

Дмитрий Жигалов

unread,
Dec 23, 2014, 3:37:46 AM12/23/14
to pbxga...@googlegroups.com
Подскажите, пожалуйста, в чем может быть проблема. Операционка Win2008 r2 x64, АТС - Samsung OfficeServ500. БД MySQL 5.3. Системный DSN настроил 32 битный согласно инструкции, тестовое подключение к базе проходит. Суть проблемы вот в чем - в консоли лог звонков идет, в лог файл все пишется. А вот в csv и в базу данных - нет. Хотя csv файл создается, но он пустой. В логе ошибок нет, в системном журнале только сообщения о подключении к АТС. Предполагаю, что проблема с форматированием в разделе [smdr], но как проверить, что именно не правильно?
 Полный конфиг:
[PBX]
model="TDA"
method="TCP"
countrycode="7"
areacode="812"
international="810"
longdistance="8"
minlocal=7
maxlocal=7
addchar="2"

[COM]

[TCP]
ip="192.168.0.6"
port=5100
login=""
password=""

[LOG]
enabled=1
filename="log\smdr-%y-%m.log"

[SMDR]
date="MM/DD"
format="EEEEEEEEEEE CCCC DDDDD TTTTTTTT cc AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA NNNNNNNNNNNNNNNNNN"
incoming="I","IA","T"
timesrc="PBX"

[CSV]
enabled=1
excelformat = 0
filename = "log\smdr-%y-%m.csv"

[ODBC]
enabled=1
dsn="esmdr_db"
login="esmdr"
password="esmdr"
table="calls"
fields="pbxid, timeofcall, cd, ext, co, ring, dialnum, dialname, duration, accode, incoming, cost"
values="1, '%M%D%h%m%s', '%c', '%E', '%C', %r, '%n', '%N', %d, '%a', %i, %F.%f"
sql="none"

[WEB]
enabled=1
ports="8080"

[SERVICE]
servicename="EsmdrService"
servicedisplayname="eSMDR READER"


Лог программы после запуска:
C:\esmdr>esmdr.exe -console
eSMDR PBX Monitoring System. v 1.0.0.702. Wowa (C) 2013.
Free for the end user (see http://esmdr.com)
Web interface started at port(s) 8080
Console mode. Press 'Q' to exit or CTRL+BREAK to abort
Successfully connect to 192.168.0.6:5100!
  1 202       703  12/23 11:26:59 00:02:41 IT 7031030  0.00 88126001504       no CLIP name
   1 392       701  12/23 11:28:36 00:01:05 T  7030233   0.00 89533459437       no CLIP name
 Successfully connect to 192.168.0.6:5100!
  1 202       707  12/23 11:28:54 00:00:49 I  7031030            RUAN  0.00 88127034333       no CLIP name
 Successfully connect to 192.168.0.6:5100!
  1 241       704  12/23 11:27:10 00:02:47 I  7030237            RUAN  0.00 88125953581       no CLIP name
   1 202       701  12/23 11:29:56 00:00:03 IA 7031030            RUAN   0.00 88124253643       no CLIP name
 Successfully connect to 192.168.0.6:5100!
  1 202       701  12/23 11:29:59 00:00:08 IT 7031030  0.00 88124253643       no CLIP name
   1 202       708  12/23 11:29:02 00:01:10 I  7031030            RUAN   0.00 89052661913       no CLIP name
 Successfully connect to 192.168.0.6:5100!
  1 202       702  12/23 11:30:18 00:00:02 IA 7031030            RUAN  0.00 88125953581       no CLIP name
 Successfully connect to 192.168.0.6:5100!
Successfully connect to 192.168.0.6:5100!
  1 202       704  12/23 11:30:29 00:00:06 IA 7031030            RUAN  0.00 88612990181       no CLIP name
   1 224       724  12/23 11:30:30 00:00:00 O  88137196467   0.00
   1 391       706  12/23 11:30:36 00:00:05 IT 7030233  0.000 89111582347       no CLIP name
   1 392       706  12/23 11:30:41 00:00:01 IA 7030233            RUAN
Форматирование и кол-во пробелов могло поплыть при копировании. Судя по лог-файлу все строки одинаковой длины с полями фиксированной ширины.
Пробовал старую версию 0.9 - она не может подсоединиться к АТС ни с этим конфигом, ни с дефолтным, в котором только адрес и порт указываю.

Wowa

unread,
Dec 23, 2014, 3:45:39 AM12/23/14
to pbxga...@googlegroups.com
Так приложите образец лога отдельным файлом. Посмотрю, можно ли его разобрать.

вторник, 23 декабря 2014 г., 10:37:46 UTC+2 пользователь Дмитрий Жигалов написал:

Дмитрий Жигалов

unread,
Dec 23, 2014, 3:49:19 AM12/23/14
to pbxga...@googlegroups.com
Расшифровка полей вывода из АТС (при включении печати заголовков)

==========================================================================================================================

  T EXT  AUTH TRK  MM/DD STT.TIME DURATION FG DIALED DIGIT       ACCOUNT CODE    COST  CLIP NUMBER      CLIP NAME        

==========================================================================================================================

Обратил внимание, что каждая строка начинается с непонятного непечатаемого символа (виден при просмотре в некоторых редакторах) и двух пробелов. Может проблема в этом?

Дмитрий Жигалов

unread,
Dec 23, 2014, 3:51:01 AM12/23/14
to pbxga...@googlegroups.com
Оригинальный лог файл
smdr-2014-12.log

Wowa

unread,
Dec 23, 2014, 7:37:48 AM12/23/14
to pbxga...@googlegroups.com
вторник, 23 декабря 2014 г., 10:49:19 UTC+2 пользователь Дмитрий Жигалов написал:

К сожалению, этот символ - NULL, который используется парсером для завершения строк. Боюсь, с Самсунгом придется подождать до следующей версии. Которая выйдет, скорее всего, в январе.

Правильно ли я понял, что Самсунг при входящих вызовах в "DIALED DIGIT" пишет DID номер? Еще вопросы, что такое "Т", где вашем примере везде 1. И ACCOUNT CODE - это просто имя экстеншена, или какой-то пин-код?

Дмитрий Жигалов

unread,
Dec 24, 2014, 5:49:00 AM12/24/14
to pbxga...@googlegroups.com
Ваша утилита не может корректно обработать лог, который выдает Самсунг или просто нужно правильно подобрать и прописать формат?

В "Dialed Digit" при входящем вызове попадает все, что передает городская АТС.  В моем случае - да, DID номер, если вызов пришел через PRI транк и пусто, если вызов пришел через аналоговые линии, поскольку модуль CallerID не установлен.
"Account code" - это пин-код для повышения COS. У нас не используется.
На профильном сайте следующая расшифровка:
поз-разм-значение
03 - 1 - Арендатор
05 - 4 - Внутренний номер (2 - 4 цифры)
10 - 4 - Код авторизации
15 - 4 - Внешняя линия (2 - 4 цифры)
20 - 2 - Дата день
22 - 1 - Разделитель ( / )
23 - 2 - Дата месяц
26 - 2 - Время час
28 - 1 - Разделитель ( : )
29 - 2 - Время мин
31 - 1 - Разделитель ( : )
32 - 2 - Время сек
35 - 2 - Длительность час        | в случае ввода кода авториации вместо
37 - 1 - Разделитель ( : )          | этих значений ставиться $ и два пробела
38 - 2 - Длительность мин
40 - 1 - Разделитель ( : )
41 - 2 - Длительность сек
44 - 2 - Признак операции
47 - 18 - Набранный номер
66 - 16 - Имя входящей линии
82 - 2 - Стоимость долл.
84 - 1 - Разделитель (.)
85 - 2 - Стоимость центы
88 - 15 - Номер вызывающей стороны (АОН/CLIP)
106 - 15 - Имя вызывающей стороны (CLIP name)
123 - 2 - Конец строки

Значения признаков операции
O - Исходящий
OT - Исходящий в стадии перевода
I - Входящий отвеченный
IA - Поступающий входящий
IC - Внутренний звонок
IT - Входящий вызов в стадии перевода
T - Вызов принят с перевода и завершен
TT - Повторный перевод вызова
DI - DISA входящий
DO - DISA исходящий
DE - DISA входящий с ошибкой
FO - Переадресация на внешний номер
FI - Переадресация на внутренний номер

Wowa

unread,
Dec 24, 2014, 5:59:48 AM12/24/14
to pbxga...@googlegroups.com
среда, 24 декабря 2014 г., 12:49:00 UTC+2 пользователь Дмитрий Жигалов написал:
Ваша утилита не может корректно обработать лог, который выдает Самсунг или просто нужно правильно подобрать и прописать формат?


Версия 1.0, к сожалению, не сможет. В версию 1.1 я еще успею встроить поддержку OS, если согласитесь участвовать в тестировании беты.

Дмитрий Жигалов

unread,
Dec 24, 2014, 6:02:56 AM12/24/14
to pbxga...@googlegroups.com
Да, с удовольствием

Wowa

unread,
Mar 2, 2015, 8:28:12 AM3/2/15
to pbxga...@googlegroups.com
В версии 1.1 добавлена экспериментальная поддержка парсинга для станций Samsung
Настройки:
[PBX]
model="OS"

[SMDR]
date="MM/DD"
format="____EEEEE____CCCCC_DDDDD_TTTTTTTT_dddddddd_cc_NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN_SSSSSS_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"
incoming="I ,IA,IT,T "

Всех владельцев Самсунгов приглашаю принять участие в тестировании.
Reply all
Reply to author
Forward
0 new messages