Страница 1 из 2

отчет о пропущенных на Астериск

Добавлено: 08 авг 2016, 10:55
polupochnik
Здравствуйте,

не могли бы помочь.

Есть сборка Elastix 2.4, номер 8 800. в нерабочее время прием входящих номеров по нему отправляется на отбой, чтобы не тратить деньги.
Но хотелось бы получать отчет о пропущенных звонках в нерабочее время.
Решено воспользоваться скриптом, который из базы отчетов по статусу "no answer" присылал бы отчеты.
1) использую очереди, поэтому статус "no answer" паразитирует в отчетах, но в скрипте могу сузить отчет до определенного екстеншна.
2) не могу понять как, принять звонок с 8800 в нерабочее время правильно, чтобы формировать отчеты, так как если:
отправляю на terminate call - hangup в отчете нет вообще никакой информации
отправляю на terminate call - busy информация появляется, но звонок тарифицируется, так как у провайдера в статистику появляется время разговора, несколько секунд.

решил, отправит на екстеншн, 3секунды no answer и через follow me уже отбивать, тем самым буду получать нужный статус для отчета, и не "совершать" звонок.
Задался вопросом, можно ли создать какой либо виртуальный екстеншн, который никогда не берут, чтобы отправлять на него звонок?

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

<?php

$hostname = "localhost"; 
$username = "*********"; 
$password = "*****"; 
$dbName = "asteriskcdrdb"; 

$cdrtable = "cdr"; 


$time = mktime(date('H'), date('i'), date('s'), date('m'), date('d')-1, date('Y'));
$ydate = date("d.m.Y", $time);


mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); 

mysql_select_db($dbName) or die(mysql_error());

$query = "SELECT  `dst` ,  `src` ,  `duration` ,  `dstchannel` ,  `calldate`
	  FROM  `cdr`
	  WHERE DATE_SUB( CURDATE( ) , INTERVAL 1 DAY ) <=  `calldate`
		AND CURDATE( ) >  `calldate`
		AND  `disposition` =  'NO ANSWER'
		AND  `dst` =  '9999'
		AND LENGTH(  `src` ) >4"; 


$res=mysql_query($query) or die(mysql_error());
$number = mysql_num_rows($res); 
$mes="Отчет о пропущенных вызовах за $ydate.\r\n\r\n";
if ($number == 0) { 
  $mes .= "Пропущенных вызовов не было"; 
} else { 
  
  /* Получать по одной строке из таблицы в массив $row, пока строки не кончатся */  
  while ($row=mysql_fetch_array($res)) { 
    $mes .= "   ".$row['calldate'].". От ".$row['src'];
    $mes .= " Абонент ".mb_substr($row['dstchannel'],4,3);
    $mes .= ". Ожидание  ".$row['duration']." сек.\r\n"; 
  } 
}
 
/* Отправляем письмо */ 
mail('*******', $ydate.' report', $mes);
?> 
P.S: перечитал, выглядит конечно редкостным извращением.

Re: отчет о пропущенных на Астериск

Добавлено: 08 авг 2016, 11:27
zzuz
Делайте проще.
Создайте отдельную фиктивную очередь без операторов и выходом при попадании при отсутствии операторов. В нерабочее время вызов направляйте на эту очередь и снимайте статистику по ней.

Re: отчет о пропущенных на Астериск

Добавлено: 08 авг 2016, 11:34
polupochnik
при попадании на очередь, звонок также принимается, а значит тарифицируется.

Re: отчет о пропущенных на Астериск

Добавлено: 08 авг 2016, 11:38
trscod
Есть способ еще проще:
https://www.youtube.com/watch?v=e06_2FvFpg0
Пользователи сами могут формировать список пропущенных за нужный промежуток времени.
В том числе и пропущенные в рабочее время.

Re: отчет о пропущенных на Астериск

Добавлено: 08 авг 2016, 12:13
polupochnik
trscod писал(а):Есть способ еще проще:
https://www.youtube.com/watch?v=e06_2FvFpg0
Пользователи сами могут формировать список пропущенных за нужный промежуток времени.
В том числе и пропущенные в рабочее время.
Спасибо за ответ, но хотелось бы услышать возможные альтернативные решения Вашему.

по Вашему же вопрос созрел сразу, на сайте не обнаружил цен, ни информации, что бесплатное.
уточните, обязательно ознакомлюсь с Вашим продуктом, но попозже.

Re: отчет о пропущенных на Астериск

Добавлено: 08 авг 2016, 12:15
ded
polupochnik писал(а):Сообщение polupochnik » меньше минуты назад

trscod писал(а):
Есть способ еще проще:
https://www.youtube.com/watch?v=e06_2FvFpg0
Пользователи сами могут формировать список пропущенных за нужный промежуток времени.
В том числе и пропущенные в рабочее время.


Спасибо за ответ, но хотелось бы услышать возможные альтернативные решения Вашему.

по Вашему же вопрос созрел сразу, на сайте не обнаружил цен, ни информации, что бесплатное.
уточните, обязательно ознакомлюсь с Вашим продуктом, но попозже.
В чём глобальный смысл вот так делать?

Re: отчет о пропущенных на Астериск

Добавлено: 08 авг 2016, 13:34
polupochnik
ded писал(а):
polupochnik писал(а):Сообщение polupochnik » меньше минуты назад

trscod писал(а):
Есть способ еще проще:
https://www.youtube.com/watch?v=e06_2FvFpg0
Пользователи сами могут формировать список пропущенных за нужный промежуток времени.
В том числе и пропущенные в рабочее время.


Спасибо за ответ, но хотелось бы услышать возможные альтернативные решения Вашему.

по Вашему же вопрос созрел сразу, на сайте не обнаружил цен, ни информации, что бесплатное.
уточните, обязательно ознакомлюсь с Вашим продуктом, но попозже.
В чём глобальный смысл вот так делать?
2ded
Если вопрос ко мне, то из предложенного продукта не совсем уловил идейности, в связи с чем задал вопрос.
продукт платный, бесплатный.

по своему же пути хотелось бы дойти, так как задача простая, решить ее можно, казалось, просто, но уперся.

Re: отчет о пропущенных на Астериск

Добавлено: 08 авг 2016, 13:36
ded
Вопрос не по продукту, а по бессмысленному оверквотингу.
В чём смысл первым делом полностью процитировать то, что одним шагом выше?

Re: отчет о пропущенных на Астериск

Добавлено: 08 авг 2016, 13:39
polupochnik
ded писал(а):Вопрос не по продукту, а по бессмысленному оверквотингу.
В чём смысл первым делом полностью процитировать то, что одним шагом выше?
извините, не буду больше.

Re: отчет о пропущенных на Астериск

Добавлено: 08 авг 2016, 13:57
ded
... и при это полностью процитировал.
СТолько усилий было приложено, чтобы отключить кнопку ЦИТАТА у последнего поста, и всё равно....