VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Бардак с callreID

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

fedorchuk
Сообщения: 105
Зарегистрирован: 26 июл 2012, 13:22

Бардак с callreID

Сообщение fedorchuk »

Приветствую,
Столкнулся с проблемой, что разные операторы телефонии по разному "отдают" callerID входящего звонка.
От "+79XXXXXXXXX" до банального "XXXXX".
Как смотреть статистику? Это только у меня такая проблема или не только...?
ded
Сообщения: 15627
Зарегистрирован: 26 авг 2010, 19:00

Re: Бардак с callreID

Сообщение ded »

У всех.
Надо для себя нормализовывать в отчётах к одному нормальному виду, идеально - к виду стандарта е164.
fedorchuk
Сообщения: 105
Зарегистрирован: 26 июл 2012, 13:22

Re: Бардак с callreID

Сообщение fedorchuk »

то есть в диалплане вручную задавать что-то типа этого ...Set(CDR(CALLERID)=+7${CALLERID(num)}) ?
ded
Сообщения: 15627
Зарегистрирован: 26 авг 2010, 19:00

Re: Бардак с callreID

Сообщение ded »

Ну да, с плючом или без.
fedorchuk
Сообщения: 105
Зарегистрирован: 26 июл 2012, 13:22

Re: Бардак с callreID

Сообщение fedorchuk »

Пользуясь случаем, хочу спросить, как можно сделать чтобы в статистике время выводилось в минутах? В каком месте делать пересчет? Сейчас все пишеться в базу и как есть выводиться на php странице.
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Бардак с callreID

Сообщение Wapo »

Я использую такое:
Select SUM(CEILING(billsec/60)) AS mn - получаю длительность без простого округления.
fedorchuk
Сообщения: 105
Зарегистрирован: 26 июл 2012, 13:22

Re: Бардак с callreID

Сообщение 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);
?>
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: Бардак с callreID

Сообщение 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>";
fedorchuk
Сообщения: 105
Зарегистрирован: 26 июл 2012, 13:22

Re: Бардак с callreID

Сообщение fedorchuk »

спасибо
fedorchuk
Сообщения: 105
Зарегистрирован: 26 июл 2012, 13:22

Re: Бардак с callreID

Сообщение fedorchuk »

добавил округление echo "<td>" . round($row['billsec']/60,2) . "</td>";
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH