1日あたりの不在着信に関するレポート

クライアントの1人がその日の不在着信についてメールで通知するためのスクリプトが必要でした。 おそらく彼はそれほどトリッキーではありませんが、他の人が役に立つかもしれません。 リクエストは、昨日の未応答の着信コールに関するデータを選択します。 このような情報は多くの組織にとって非常に重要です。なぜなら、顧客が連絡していない場合、他の組織に連絡できるからです。 アスタリスク1.6 、MySQL DBMSがサーバーにインストールされています



スクリプト自体は次のとおりです。

<?php /*       */ $hostname = "localhost"; $username = "dbuser"; $password = "dbpass"; $dbName = "dbname"; /*  MySQL,     */ $cdrtable = "cdr"; /*      */ $time = mktime(date('H'), date('i'), date('s'), date('m'), date('d')-1, date('Y')); $ydate = date("dmY", $time); /*   */ mysql_connect($hostname,$username,$password) OR DIE("    "); /*   .    -   */ mysql_select_db($dbName) or die(mysql_error()); /*   .    ,  LENGTH( `src` ) >3,    */ $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 LENGTH( `src` ) >3"; /*  .    -  . */ $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('admin@mail.domain', $ydate.' report', $mes); ?>
      
      







私は十分に詳細にコメントしようとしましたが、それがうまくいかない場合は尋ねてください。



手紙の例:



2012年10月29日の不在着信に関するレポート。



2012-10-29 11:46:38。 4959819231サブスクライバー109から。45秒待機。

2012-10-29 13:18:45。 4956103380サブスクライバー104から。47秒待機。

2012-10-29 14:33:13。 4959819331サブスクライバー104から。53秒待機。

2012-10-29 16:58:40。 9030293453からサブスクライバー101。12秒待機。



All Articles