Страница 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>";