Установка CDR-Stats на ubuntu server
Кто нибуть ставил на ubuntu server 12.04 cdr-stats?
Пытался ставить скриптами, возникло куча проблем, начиная от того что git+git:// не работает, надо переписывать на git+https:// заканчивая внутренними заморочками django
Заранее спасибо.
_________________
Мы всегда можем уметь...
прочесть мануал по установке на офф сайте. возможно что и так все станет понятно что и никакие скрипты не понадобятся
но всеже, если - открыть скрипт в тхт виде и копируя оттуда вставлять в открытую в другом окне консоль. смотреть в скрипте что делается по шагам и все тоже делать в другой консоли и смотреть результат. если все прошло успешно (ошибок нет) то двигаемся дальше. если чтото не так - стараемся вникнуть почему ошибки выдает, может какой пакет нужно доустановить и тд (гугл в помощь), решили этот момент - двигаемся дальше. по сути инсталяция занимает три шага: конфигурация, компиляция, инсталяция. ну и перед всем этим - доустановка нужных пакетов по зависимостям (если такие есть). все просто. чаще всего весь процесс по шагам расписан в файле readme или install в пакете программы. включая названия пакетов для установки перед компиляцей, если таковые нужны. както так вобщем. успехов!
Вообщем после "установки" кучу пишется в логи, сам apache пишет кучу ошибок..
На форуме у разрабов ошибок чуть больше over9000. Куча мануалов по установке, разраб пили каждый день новые версии...
Хаос!
2_anest Может Вы порекомендуете более-мение нормальную статистику? Просто надо дать возможность абонентам смотреть кому звонили и слушать записи.
Ну и просто статистику смотреть, кто куда..неудобно все же это делать через csv файл.
_________________
Мы всегда можем уметь...
| Цитата: |
| Просто надо дать возможность абонентам смотреть кому звонили и слушать записи. |
Без прослушивания записей вот очень неплохая вещь: http://asteriskforum.ru/viewtopic.php?t=11482
Устанавливается весьма просто.
Правда не совсем то что надо (нельзя пользователю дать смотреть свою статистику), но все равно, это лучше чем ничего.
Вот правда заметил что в строке 240 файла call-log.php не корректно написано (если таблица не cdr), там
| Код: |
| FROM cdr WHERE ".$FG_TABLE_CLAUSE." GROUP BY substring(calldate,1,10)"; |
а надо
| Код: |
| FROM $FG_TABLE_NAME WHERE ".$FG_TABLE_CLAUSE." GROUP BY substring(calldate,1,10)"; |
_________________
Мы всегда можем уметь...
Этот продукт бесплатен, разработчики пишут:
| Цитата: |
| Try our advanced Call Recording Interface with no time limit – this is our contribution to the Asterisk community. |
Посмотреть можно здесь http://www.tikalnetworks.com/support/download/
| Код: |
| root@tst:/var/www/cri# dpkg -l | grep php ii libapache2-mod-php5 5.3.3-7+squeeze14 server-side, HTML-embedded scripting language (Apache 2 module) ii libphp-adodb 5.10-1 The ADOdb database abstraction layer for PHP ii php-pear 5.3.3-7+squeeze14 PEAR - PHP Extension and Application Repository ii php5 5.3.3-7+squeeze14 server-side, HTML-embedded scripting language (metapackage) ii php5-adodb 5.04-6 Extension optimising the ADOdb database abstraction library ii php5-cli 5.3.3-7+squeeze14 command-line interpreter for the php5 scripting language ii php5-common 5.3.3-7+squeeze14 Common files for packages built from the php5 source ii php5-gd 5.3.3-7+squeeze14 GD module for php5 ii php5-mysql 5.3.3-7+squeeze14 MySQL module for php5 ii php5-suhosin 0.9.32.1-1 advanced protection module for php5 |
| Цитата: |
| set_var("lnug","english"); if($_POST['selected_lang'] ) { include($part1."languages/".$_POST['selected_lang'].".php"); $_SESSION['selected_lang']=$_POST['selected_lang']; $t->set_var("lnug",$_POST['selected_lang']); } else { if($_SESSION['selected_lang']) { include($part1."languages/".$_SESSION['selected_lang'].".php"); $t->set_var("lnug",$_SESSION['selected_lang']); } else include($part1."languages/english.php"); } ##############Array for building menu################ $menuvar = array( MENU_CALL_MONITOR =>"index.php?cat=callmonitor", MENU_ON_DEMAND =>"index.php?cat=ondemand", MENU_VOICE_MAIL =>"index.php?cat=voicemail", MENU_VOICE_MAIL_SETTING =>"index.php?cat=setagnt", MENU_CALL_REPORTS =>"index.php?cat=reports" ); $agentmenuvar = array( MENU_CALL_MONITOR =>"index.php?cat=callmonitor", MENU_ON_DEMAND =>"index.php?cat=ondemand", MENU_VOICE_MAIL_SETTING =>"index.php?cat=setagnt", MENU_CALL_REPORTS =>"index.php?cat=reports"); $adminmenuvar = array( MENU_CALL_MONITOR =>"index.php?cat=callmonitor",MENU_USER_MANAGER =>"index.php?cat=usrmanager"); $usernmenuvar = array( MENU_CALL_MONITOR =>"index.php?cat=callmonitor"); $alldefcons=get_defined_constants(); foreach($alldefcons as $def=>$defval) { if(ereg("DEF_",$def)) $t->set_var($def,$defval); } include($part1."includes/secure.php"); if($login_name == "Administrator" OR $login_name == "Supervisor" )$menuvar=$adminmenuvar ; if(isset($_GET["cat"])) $category=$_GET["cat"]; if($login_name == "Administrator" AND !$category ) $category="callmonitor"; if($login_name == "Supervisor" AND !$category ) $category="callmonitor"; if($login_name == "User" ) { $menuvar=$usernmenuvar ; if(!$category ) $category="callmonitor"; } if($voicemail == $login_id ) { //$menuvar=$agentmenuvar ; if( !$category ) $category="voicemail"; } elseif($login_name == "Agent" ) { $menuvar=$agentmenuvar ; if( !$category ) $category="ondemand"; } if(is_array($langnames)) foreach($langnames as $lk=>$lv) $langopt.=' '; $t->set_file("body","blank.tpl"); $t->set_block("daf", "tmenuBlock", "tmBlock"); $t->set_block("daf", "tmenulangBlock", "tmlngBlock"); $t->set_var(array("tmBlock"=>"","tmenu_title"=>"","tmenu_link"=>"", "pge"=>$pge,"pposs"=>"?cat=".$category,"tmlngBlock"=>"","langopt"=>$langopt, "previouse"=>"","nn"=>"","next"=>"","last"=>"","first"=>"", "calicontop"=>"images/icons/dd".date("m")."_01.gif", "caliconfut"=>"images/icons/dd".date("d")."_02.gif", "show_bd"=>"", "show_ed"=>"", "bd"=>"", "ed"=>"" )); foreach( $menuvar as $k=>$v) { $t->set_var("tmenu_title",$k); $t->set_var("tmenu_link",$v); $t->parse('tmBlock', 'tmenuBlock', true); } ###### SQL date filter ######## if(isset($_GET['bd']) AND $_GET['bd'] > "") { $bgd=$_GET['bd'] ; } if(isset($_POST['bd']) AND $_POST['bd'] > "") { $bgd=$_POST['bd'] ;} if(isset($_GET['ed']) AND $_GET['ed'] > "" ) { $eed=$_GET['ed'] ; } if(isset($_POST['ed']) AND $_POST['ed'] > "" ) { $eed=$_POST['ed'] ;} if(!$bgd) $bgd=date("Y-m-d H:i", mktime( 0,0,0,date("m"),date("d"),date("Y") ) ); if(!$eed) $eed=date("Y-m-d H:i", mktime( 0,0,0,date("m"),date("d")+1,date("Y") ) ); ###### fix bgd by rami - this is not the way to fix this!!! must fix the post so it doesn't send space in the end!!, for now we can use this: ####### // if ($bgd[strlen($bgd)] == "") // $bgd[strlen($bgd)-1] = NULL; ###### SET navigation for links and paging ######## $pposdate=$pposs="?cat=".$category; $datesel=" AND ($t2_date '".$bgd."') "; $pposs.="&bd=". $bgd; $pposs.="&ed=". $eed; $pposdate.="&bd=". $bgd; $pposdate.="&ed=". $eed; if(isset($_POST['f']) AND $_POST['f'] > "" ) $pposs.="&f=".$_POST['f']; elseif(isset($_GET['f']) AND $_GET['f'] > "" ) $pposs.="&f=".$_GET['f']; if(isset($_GET['d']) AND $_GET['d'] > "" ) $pposs.="&d=".$_GET['d']; if(isset($_GET['p']) ) $p=intval($_GET['p']) ; //if(isset($_POST['p']) ) $p=intval($_POST['p']) ; if(!$p) $p=0; if($login_id > "1" AND $cat=="callmonitor" ) { if(isset($_POST['io']) AND $_POST['io'] > "") $io=$_POST['io']; if(isset($_GET['io']) AND $_GET['io'] > "") $io=$_GET['io']; } if($login_id =="1" OR $login_name =="User") { $dirname=$part1."addmodules/"; if(is_readable($dirname)) { $dir = opendir($dirname); while($file = readdir($dir)) { if( $file "." AND $file ".." ) { if(is_file($dirname.$file."/menu.php") ) { include( $dirname.$file."/menu.php") ; $additional_module_incl= $dirname.$file."/".$file.".php"; if($additional_module_title) $outmenustr.="$additional_module_title"; if($category == $file) { $part2 = $dirname.$file."/"; include( $dirname.$file."/vars.php") ; } } } } closedir($dir); if($outmenustr)$t->set_var("login_form_text",$outmenustr); } } $t->set_var("pposs",$pposs); $t->set_var("pposdate",$pposdate); if($login_id) { $t->set_var("DEF_PAGE_TITLE_LOGIN",DEF_PAGE_TITLE_LOGOUT); $t->parse('tmlngBlock', 'tmenulangBlock'); } ?> Template Error: loadfile: body is not a valid handle. Halted. |
несколько файлов нашел где первой строкой
При попытке создать базу выдает сообщение о том что база не найдена (Databasee db_ast has not created.) и логин и пароль не подходят (Access denied for user)
При этом из базы без проблем вытаскивает таблицу
По поводу php нормально встало на UbuntuServer 12.04 LTS, все файлы в includes без
возможно что сам php у меня не собран с нужными модулями, позже проверю.
Исходный код installdb.php поверг в уныние, все прибито гвоздями, спрашивается зачем что то менять в vars.php (в документации сказано отредактировать part.php, но что там менять? Не понятно.) если все равно создается база asteriskcdrdb и в ней таблица cdr, CHARSET прибит намертво, язык по умолчанию то же прибит. Проверку на существование файлов не делается (забил весь error.log сообщениями об ошибке) (предполагается видимо что ставиться будет это все на сервере где стоит астер). Вообщем как свободный проект принять можно, но проект от коммерческой фирмы которая еще предлагает колцентр, очень странная вещь.
Сам дизайн странный (в нулевые наверное его еще принять можно) графиков никаких, ну хотя бы статистика за месяц по использованию телефонии, не очень понятный, как связать пользователя и номер не понятно (номер вводил при создании пользователя, однако при входе от имени созданного пользователя, просто пусто, записей нет.) А как быть если у меня два номера?
Сейчас попробую еще asterisk-cdr-viewer, посмотрю что он может предложить. Но пока лучше чем предложил комрад s68 нет ничего.
_________________
Мы всегда можем уметь...
| Цитата: | |||
| несколько файлов нашел где первой строкой
| |||
Установил CDR-Stats на Ubuntu Server 14 x64. Все работает кроме Real-Time Calls. В логах ругается на отсутствие /usr/share/cdr_stats/static/dajaxice
Может кто подскажет, что должно быть /usr/share/cdr_stats/static/dajaxice и где это теперь взять? | |||