Страница 11 из 11

Re: ATSlog

Добавлено: 2014-02-13 19:14:56
Cyr
вот, кстати, рабочий перловый скрипт для KX-TDE, который сохраняет SMDR в файл по TCP/IP:

Код: Выделить всё

use Net::Telnet ();
use POSIX;
$dir = "/home/user/";
$host = '192.168.0.101';
$port = '2300';
$t = new Net::Telnet (Timeout => 10, Host => $host, Port => $port);
$t->waitfor(String=>'-');
$t->print("SMDR\n");
$t->waitfor(String=>'Enter Password:');
$t->print("PCCSMDR\n");
while (<$t>) {
if ($_ =~m/\n/){
$filename= strftime("smdr-%Y-%m", localtime(time));
$fileexpression = $dir.$filename;
open ($fh,'>>',$fileexpression);
print $fh $_;
close $fh;}
}

Re: ATSlog

Добавлено: 2014-05-22 9:06:55
lrase
Великие гуру подскажите как подружить ATSlog и Avaya IPOffice 500
Установил и настроил все по статье, только вот беда:
В лог файл данные с атс поступают а в Web панели не отображаются.

Re: ATSlog

Добавлено: 2014-05-23 8:02:58
Cyr
lrase, Смотреть грамматику сообщений АТС, и править парсер.

Re: ATSlog

Добавлено: 2014-05-30 15:48:43
lrase
Cyr писал(а):lrase, Смотреть грамматику сообщений АТС, и править парсер.
Помогите пожалуйста в данном вопросе.
Парсер я взял из поста на 9 ой странице.

Re: ATSlog

Добавлено: 2014-06-08 12:10:07
Alex Keda
то что АТС выдаёт - нам необходимо протелепатировать? =))

Re: ATSlog

Добавлено: 2014-08-07 17:57:39
lrase
Alex Keda писал(а):то что АТС выдаёт - нам необходимо протелепатировать? =))
С телефонной станции едет примерно такой текст.


2014/08/07 18:46:54,00:00:00,0,7812740****,I,7812740****,7812740****,,0,1012990,0,T9200,Line 200.0,,,0,0,,,,,,,,,,,,,
2014/08/07 18:46:54,00:00:06,0,7812740****@ipoffice,I,#AA:Callcentr,7812740****,,0,1012991,0,T9018,Line 18.1,V9542,VM Channel 42,0,0,,,,,,,,,,,,,
2014/08/07 18:46:54,00:00:00,0,7812740****,I,7812740****,7812740****,,0,1012990,0,T9200,Line 200.0,,,0,0,,,,,,,,,,,,,
2014/08/07 18:46:54,00:00:06,0,7812740****@ipoffice,I,#AA:Callcentr,7812740****,,0,1012991,0,T9018,Line 18.1,V9542,VM Channel 42,0,0,,,,,,,,,,,,,

По поводу ошибок, когда останавливаю сервер atslog выводиться ошибка (No lines transfered to SQL from a log file. This is possibly caused by parsing error.)
Заранее благодарю за помощь.

Re: ATSlog

Добавлено: 2014-08-25 10:03:12
lrase
С телефонной станции едет примерно такой текст.

Код: Выделить всё

2014/08/07 18:46:54,00:00:00,0,7812740****,I,7812740****,7812740****,,0,1012990,0,T9200,Line 200.0,,,0,0,,,,,,,,,,,,,
2014/08/07 18:46:54,00:00:06,0,7812740****@ipoffice,I,#AA:Callcentr,7812740****,,0,1012991,0,T9018,Line 18.1,V9542,VM Channel 42,0,0,,,,,,,,,,,,,
2014/08/07 18:46:54,00:00:00,0,7812740****,I,7812740****,7812740****,,0,1012990,0,T9200,Line 200.0,,,0,0,,,,,,,,,,,,,
2014/08/07 18:46:54,00:00:06,0,7812740****@ipoffice,I,#AA:Callcentr,7812740****,,0,1012991,0,T9018,Line 18.1,V9542,VM Channel 42,0,0,,,,,,,,,,,,,
По поводу ошибок, когда останавливаю сервер atslog выводиться ошибка (No lines transfered to SQL from a log file. This is possibly caused by parsing error.)
Заранее благодарю за помощь.
И еще не создается файл логов currentcalls

Re: ATSlog

Добавлено: 2014-10-01 16:07:47
avgreen
После обновления PHP до версии 5.4.33_1 (какая была до этого не помню) пришлось допиливать патч по поводу матюков
Deprecated: Assigning the return value of new by reference is deprecated
Как выпилить из патча украинский план нумерации и как применять патч - несколькими постами выше, вот здесь http://forum.lissyara.su/viewtopic.php? ... 25#p355665

Кстати для нормальной работы украинского плана нумерации нужно еще структуру таблицы CALLS поменять. Поле NUMBER изменить тип с decimal(65,0) на char(65). Иначе ноль в начале номера съедается

Re: ATSlog

Добавлено: 2014-12-12 22:01:11
magnifin
Продублирую ещё раз для тех кто не читает форумы касательно Нулей в Украинской АТС, чтобы корректно отображались междугородние, международные, мобильные и прочие звонки
http://forum.lissyara.su/viewtopic.php? ... 25#p310282
Ребята не ленитесь просматривайте все записи.

ATSlog

Добавлено: 2015-02-16 15:35:26
alek2012
Всем привет, поставил и я тарификатор на фряшку. Не могу попасть на веб:
Ошибка - You don't have permission to access /atslog/ on this server.
В логах апача client denied by server configuration: /usr/local/www/atslog/

ATSlog

Добавлено: 2015-02-17 10:01:35
alek2012
alek2012 писал(а):Всем привет, поставил и я тарификатор на фряшку. Не могу попасть на веб:
Ошибка - You don't have permission to access /atslog/ on this server.
В логах апача client denied by server configuration: /usr/local/www/atslog/
уже разобралсо, все работает, забыл про каталог /etc/ ;-)

ATSlog

Добавлено: 2015-02-18 4:14:56
Glukolov
Всем здрствуйте
сильно не пинайте с PHP начал работать месяц назад
сейчас переделываю atslog под тарификацию звонков АТС + будет считаь и VOIP
если интересно могу выложить что наработал, правда БД пока только Postgres
что сделано
WEB
- web все файлы в UTF8
- обновлен freimwork adodb
- для экспорта в эксель подключен PHPExcel
- переписываются отчеты
БД
- переделана база данных, считай там мало что от исходной остается
- длительность разговоров считается в БД
- все префиксы выделяются функцией в БД
- добавлена таблица префиксов от МТТ чтото около 22000 префиксов по всему миру, немного староватая
- добавлена таблица для определения мобильных операторов в России
- считается стоимость разговоров в зависимости от тарифа, тарифов может быть несколько, расчет идет в БД
- переделаны скрипты для добавления в базу, добавлен параметр voipdb
- логи АТС складываются в отдельную таблицу в виде как есть
- логи VOIP складываются в отдельную таблицу в виде как есть
Скрипты
- добавлетны параметры к конфигурации
- сделан импорт CDR лога
- сделан импорт VOIP лога Cisco
- таблица cdr и voip сделаны partitioning, помесячно новые таблицы создаются автоматически
- сделан учет праздничных и выходных дней
TODO
- ввиду специфики считаются организации - добавить в структуру БД организация-договор-услуга
- сделать отчеты межоператорских взаиморасчетов
- сделать отчеты по каждой организации
- сделать экспорт таблички для импорта в 1С
- переделать web интерфейс (добавить меню и странички для организаций услуг)
- сделать порт для FreeBSD
- завести проект на GoogleCode или SourceForge если к проекту будет интерес к проекту
- оптимизация структуры БД и запросов
- как сделаю обсчет для своей организации попробовать сделать рефакторинг кода для совместимости с MySQL

ATSlog

Добавлено: 2015-02-18 8:13:55
Alex Keda
Фигасе, вы за месяц напилили....

ATSlog

Добавлено: 2015-02-18 8:42:04
Glukolov
реально меньше, просто проект неплох для модификации - подправил скрипты на перле и переделал пару либов для импорта логов из файлов, вся основная возня была с базой данных - написание правильных запросов и таблиц
phpexcel , подключил и раобрался за пару часов. Дольше разбирался почему не хочет правильный xls генерировать - оказалось что все исходники php должны быть в формате UTF8.
много времени сэкономил отказавшись от обработки дат и временных интервалов на php в результате вывожу на печать так как получаю из БД. С деньгами аналогично тип поля - money и даже валюту подставляет.
правда сейчас нет готовых скриптов и отчет приблизительный с экспортом в эксель только 1.
мого времени убил на получение префиксов правильно. и на наполнение таблиц тоже.
пока можно сказать проект в стадии написания.
наработки стоит выкладывать или выложить когда будет более-менее законченый вид?

ATSlog

Добавлено: 2015-02-18 8:56:32
f_andrey
По хорошему, проект надо форкать (так как оригинал вроде не жив уже хрен знает сколько лет), особенно героически было бы найти авторов и культурно продолжить его, для выкладывания, чтоб не мучатся со своей инфраструктурой можно использовать какой нибудь битбакет, гитхаб или соурсфордж

ATSlog

Добавлено: 2015-02-18 9:09:16
Glukolov
думаю форк проекта будет оптимальнее, правда т.к. сроки поджимают с контролем версий даже не начинал разбираться. Связаться с разработчиками тоже попробую.

ATSlog

Добавлено: 2015-02-18 11:13:38
Electronik
с контролем версий даже не начинал разбираться.
зря, там нет ничего сложного, зато если где то что то поломается, всегда можно посмотреть как было.
таблица cdr и voip сделаны partitioning, помесячно новые таблицы создаются автоматически
а зачем? у вас за год +24 таблицы будет, за два года +48. не совсем рационально.

А так молодца. Делайте быстрее форк)) может и к * прикрутить получится))

ATSlog

Добавлено: 2015-02-18 12:54:40
alek2012
Как то можно еще стоимость звонков сделать чтобы выводило?

ATSlog

Добавлено: 2015-02-18 18:36:38
Alex Keda
Да

ATSlog

Добавлено: 2015-02-18 18:37:29
alek2012
Alex Keda писал(а):Да
Поделитесь как это сделать?

ATSlog

Добавлено: 2015-02-19 1:44:01
Glukolov
у меня сделано както так
к примеру в файле www/atslog/calls/query/Allcalls.php
для понимания принципа это перекликается с оригинальным кодом
в запросе длительность разговора получается сразу в формате hh.mm.ss т.к формат interval

Код: Выделить всё

// Подзапрос для временной таблицы где выбираем все исходящие
                $qTemp="create temporary table cdr_otchet AS
                SELECT n.numbertodial,n.calltime,n.endtime-n.answertime AS Dur,
                pg_prefix(n.numbertodial) as prefix
                , pg_get_price(n.answertime,n.endtime,pg_prefix(n.numbertodial),'1') AS price
                ,createtrunk, numberfromdial,createstation,selectiontrunk
                from cdr AS n
                WHERE
                 n.calltime >='".$from_date."' AND n.calltime<='".$to_date."'
                 AND (callstatus='13' OR callstatus='6' OR  callstatus='24' )
                 AND n.numbertodial!='0'
                 AND character_length(n.numbertodial)>'5'
                 AND( createtrunk='0'OR createtrunk='11')";
                if($debug) echo $qTemp."<br>";

$conn->Execute($qTemp);

Код: Выделить всё

// Подзапрос для выяснения общего количества страниц
// ----------------------------------------------------------------------------
                $qP="SELECT COUNT(*) from cdr_otchet AS cd ";

                $limitsP = getLimits($qP);

$qDT="DROP TABLE cdr_otchet";  // запрос для удаления временной таблицы

//-----------------------------------------------------------------------------
// запрос к временной таблице чтобы не дергать весь объем данных
                $q="SELECT calltime,createstation,numbertodial
                ,Dur AS duration, destinations.name, price
                from cdr_otchet
                LEFT JOIN destinations ON cdr_otchet.prefix=destinations.prefix
                ORDER BY ".$sortBy." ".$order;

                if($debug) echo $q."<br>";
//              if($cacheflush) $res = $conn->CacheFlush($q);
//              $res = $conn->CacheExecute($q); //отключил временно кеширование запроса в приложении
//выгребаем данные из временной таблицы
$res = $conn->Execute($q);

//удаляем временную таблицу
$conn->Execute($qDT);



далее добавляем в заголовок таблицы цену

Код: Выделить всё

                    if(empty($export)){

                        print("<table cellspacing=0 cellpadding=1 border=0><tr ".$COLORS['BaseBorderTableBgcolor'].">
                            <td>
                                <table cellspacing=1 cellpadding=6 border=0>");
                        print ("<tr ".$COLORS['BaseTablesBgcolor']." align=center>
                        <td>");
                        AddTableHeader("1",$GUI_LANG['DateOfCall'],$toprint);
                        echo("</td>
                        <td>");
                        AddTableHeader("2",$GUI_LANG['InternalPhone'],$toprint);
                        echo("</td>
                        <td>");
                        AddTableHeader("3",$GUI_LANG['Number'],$toprint);
                        echo("</td>
                        <td>");
                        AddTableHeader("5",$GUI_LANG['Direction'],$toprint);
                        echo("</td>
                        <td>");
                        AddTableHeader("4",$GUI_LANG['Duration'],$toprint);
                        echo("</td>
                        <td>");
[b]                        AddTableHeader("6",$GUI_LANG['Price'],$toprint);
                        echo("</td>
                        </tr>");[/b]
 //в файл ../../include/lang/ru_CP1251.php нужно добавить переменную 
 //    'Direction'                         => 'Направление',
 //   'Directions'                        => 'Направления',
 //   'Price'                             => 'Стоимость',

                    }else{
// Да, это действительно экспорт!
далее выгребаем данные в таблицу

Код: Выделить всё

               $anyDigit=1;
                $linha=0;
                while (!$res->EOF) {
                        $row = $res->fields;

                        $timeOfCall=$row[0];
                        $intPhone=$row[1];
                        $CallNumber=$row[2];
                        $Duration=$row[3];
                        $NDirection=$row[4];
                        $NPrice=$row[5];

                        setCollColor();

                        if(empty($export)){
                            echo"<tr ".$COLORS['BaseTrBgcolor']."
                onmouseover=\"setPointer(this, $anyDigit, 'over');
                \" onmouseout=\"setPointer(this, $anyDigit, 'out');
                \" onmousedown=\"setPointer(this, $anyDigit, 'click');\">";
                            echo"<td nowrap>${FontColor}$timeOfCall${FontColorEnd}</td>";
                            echo"<td>${FontColor}$CallNumber${FontColorEnd}</td>";
                            echo"<td>${FontColor}$intPhone${FontColorEnd}</td>";
                            echo"<td>
                            <table width=100%>
                                        <tr>
                                            <td width=1%>${FontColor}$NDirection${FontColorEnd}&nbsp;</td>
                                        </tr>
                                    </table>
                                </td>";
                            echo"<TD>${FontColor}".$Duration."${FontColorEnd}</TD>";
                            echo"<TD>${FontColor}".$NPrice."${FontColorEnd}</TD>";

                            echo "</TR>\n";

ATSlog

Добавлено: 2015-02-19 6:31:35
Glukolov
сделал проект на googlecodehttps://code.google.com/p/atslogng/
svn checkout https://atslogng.googlecode.com/svn/ atslogng --username blabla@blabla
выкладываю потихоньку наработки
кому интересно смотрите пока это все применимо для копирования поверх установленого atslog
и при занесении в базу из скриптов вручную, либы рабочие только harris.lib и voip.lib
по зависимостям позже буду готовить README
загрузка из COM и по сети не проверялась
данные в базу заносятся командами atslogmaster voipdb и atslogmaster writetodb

ATSlog

Добавлено: 2015-03-18 1:14:28
Sindikat88
Камрады, приветствую!
Работал АТСлог под управлением FreeBSD 8.1 в связке с Mysql 5.1, после переноса АТСлога (конфиг + база+ логи) на FreeBSD 10.1 в связке с Mysql 5.6 при старте демона в логах пишется

Код: Выделить всё

Warning! No lines transferred to SQL from a log file. This is possibly caused by parsing error.
В логи информация с АТС пишется, а в базу данных не передается.
Подскажите пожалуйста, в какую сторону копать?

ATSlog

Добавлено: 2015-03-18 11:26:10
Sindikat88
Обновлю информацию.
Это сообщение об ошибке

Код: Выделить всё

Warning! No lines transferred to SQL from a log file. This is possibly caused by parsing error.
началось ещё на старом сервере. Но никаких манипуляций с БД или Атслогом я не производил

Отправлено спустя 2 часа 11 минут 33 секунды:
Прошу прощения. Вопрос снимается.
Я оказывается забыл нажать кнопку "Обновить" в web интерфейсе