Страница 1 из 2
Бардак с callreID
Добавлено: 19 дек 2012, 01:03
fedorchuk
Приветствую,
Столкнулся с проблемой, что разные операторы телефонии по разному "отдают" callerID входящего звонка.
От "+79XXXXXXXXX" до банального "XXXXX".
Как смотреть статистику? Это только у меня такая проблема или не только...?
Re: Бардак с callreID
Добавлено: 19 дек 2012, 01:05
ded
У всех.
Надо для себя нормализовывать в отчётах к одному нормальному виду, идеально - к виду стандарта е164.
Re: Бардак с callreID
Добавлено: 19 дек 2012, 01:12
fedorchuk
то есть в диалплане вручную задавать что-то типа этого ...Set(CDR(CALLERID)=+7${CALLERID(num)}) ?
Re: Бардак с callreID
Добавлено: 19 дек 2012, 01:19
ded
Ну да, с плючом или без.
Re: Бардак с callreID
Добавлено: 19 дек 2012, 07:41
fedorchuk
Пользуясь случаем, хочу спросить, как можно сделать чтобы в статистике время выводилось в минутах? В каком месте делать пересчет? Сейчас все пишеться в базу и как есть выводиться на php странице.
Re: Бардак с callreID
Добавлено: 19 дек 2012, 11:22
Wapo
Я использую такое:
Select SUM(CEILING(billsec/60)) AS mn - получаю длительность без простого округления.
Re: Бардак с callreID
Добавлено: 19 дек 2012, 22:19
fedorchuk
совсем не силен в php|mysql, если не затруднить как это применить к моему выводу?
Код: Выделить всё
<?php
$con = mysql_connect("localhost","xxxxxx","xxxxxx");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("asteriskcdrdb", $con);
$result = mysql_query("SELECT * FROM cdr WHERE clid='79260000000'");
echo "<table border='1'>
<tr>
<th>Время звонка</th>
<th>CallerID</th>
<th>Source</th>
<th>Кому</th>
<th>Время, сек</th>
<th>Статус</th>
<th>Направление</th>
<th>Канал назначения</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['calldate'] . "</td>";
echo "<td>" . $row['clid'] . "</td>";
echo "<td>" . $row['src'] . "</td>";
echo "<td>" . $row['dst'] . "</td>";
echo "<td>" . $row['billsec'] . "</td>";
echo "<td>" . $row['disposition'] . "</td>";
echo "<td>" . $row['direction'] . "</td>";
echo "<td>" . $row['dstchannel'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
Re: Бардак с callreID
Добавлено: 20 дек 2012, 12:10
Wapo
Два варианта:
либо: echo "<td>" . $row['billsec']/60 . "</td>";
либо: SELECT a.*,CEILING(a.billsec/60) AS mn FROM cdr a WHERE a.clid='79260000000'
и уж далее echo "<td>" . $row[mb'] . "</td>";
Re: Бардак с callreID
Добавлено: 20 дек 2012, 13:24
fedorchuk
спасибо
Re: Бардак с callreID
Добавлено: 20 дек 2012, 14:54
fedorchuk
добавил округление echo "<td>" . round($row['billsec']/60,2) . "</td>";