「グーグルで情報を探すのが面倒ではないので、私はプロです」と同僚はかつて語った。
そして、私は怠けすぎで、少なくとも
これを見なくても、自分用にCDRビューアを「仕上げ」始めました。
または、それは怠notではなく、単に面白かったです...一般的に、それから来たものはカットの下で見ることができます:)
オフィス電話交換機として使用する方がよいものに関する論争-アスタリスク(これは議論のための別のトピックですが、Webインターフェースの有無にかかわらず)またはパナソニックのような種類の箱(大量に市場に投入されました)-トピックはそれについてではなく、個人的には私は長い間決めていました。 統計の追加機能を表示するためのインターフェイスを提供するという私のオプションをコミュニティと共有したいと思います。
「実験」として、プロジェクトの
公式Webサイトからダウンロードし
た FreePBX Distro(FreePBX 2.11、Asterisk 11、CentOS 6.5)を使用しました。 この選択は、FreePBX開発者がデータベースをアスタリスクにねじ込むことをすでに面倒見ているという事実と、一般的にレコードを保存する構造によって決まりました。 MySQLまたは他のデータベースをAsteriskに「ねじ込む」手順は1回または2回説明さ
れましたが 、
ここで読むことができますが、時間の都合で、これを行わないことにしました。
Asterisk CDR Viewerがベースになりました(高度なレポートが必要ない場合は、非常に適切で控えめな統計です)。
ここからダウンロードでき
ます 。
CDR Viewerのインストールは、簡単なタスクではないようです。
必要なディレクトリに移動し、アーカイブをダウンロードして、アーカイブからファイルを抽出します。
cd /var/www wget https://asterisk-cdr-viewer.googlecode.com/files/asterisk-cdr-viewer-1.0.2.tgz tar -xzvf asterisk-cdr-viewer-1.0.2.tgz
apache2でエイリアスファイルをフォルダーに転送します。
cp /var/www/html/asterisk-cdr-viewer/contrib/httpd/asterisk-cdr-viewer.conf /etc/apache2/conf.d/asterisk-cdr-viewer.conf
Asterisk-CDR-viewerのデータベース接続設定を変更します
cd /var/www/asterisk-cdr-viewer/include/ vim config.inc.php
データベースの現在の構成に従ってパラメーターを変更する必要があります。
$ db_user = '[MySQLユーザー]';
$ db_pass = '[MySQLパスワード]';
$ db_name = '[ベース名]';
Webサーバーを再起動します。
service apache2 restart
ブラウザで[asteridkサーバーのアドレス] / acdr /と入力すると、統計ページが表示されます。
私が最初にしたかったのは、この統計を表示するための承認を固定することでした。このため、htpasswdを使用します。
インストールされていない場合-
aptitude install apache2-utils
/ etc / apache2に移動し、統計用のユーザー/パスワードを作成します。
htpasswd -c passwordfile username
htpasswdが提供するダイアログにパスワードを入力し、ユーザー「username」と生成された暗号化されたパスワードを含むファイル「passwordfile」を取得します。
さらに/etc/apache2/conf.dでasterisk-cdr-viewer.confを変更し、許可行のコメントを外します。その結果、次のようになります。
エイリアス/ acdr / "/ var / www / asterisk-cdr-viewer /"
<場所「/ acdr /」>
<------> AuthName "アスタリスク-CDR-Stat"
<------> AuthType Basic
<------> AuthUserFile / etc / apache2 / passwordfile
<------> AuthGroupFile / dev / null
<------>有効なユーザーが必要
apache2を再起動し、ページに入ると承認ウィンドウが表示されます。
次に行われたのは、Webインターフェイスからの会話を聞くことでした。
1)通話を聞くには、2つのアイコンをディレクトリ/ var / www / asterisk-cdr-viewer / templates / imagesに追加します(
playと
stop )
2)パフォーマンスを最適化するために、/ var / www / asterisk-cdr-viewer / templates / header.tpl.phpにjs-function宣言を追加します。
その結果、以下が得られます。 <head> <title>Asterisk Call Detail Records</title> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> <link rel="stylesheet" href="style/screen.css" type="text/css" media="screen" /> <link rel="shortcut icon" href="templates/images/favicon.ico" /> <script type="text/javascript"/> function audioPreview(e,cnc) { var uri = e.attributes.getNamedItem('data-uri').value; var audioElement;
3)
/var/www/asterisk-cdr-viewer/include/functions.inc.phpを変更し、エコー構造を変更します。スピーカーアイコンに必要なマーキングの小さな部分を追加します <head> <title>Asterisk Call Detail Records</title> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> <link rel="stylesheet" href="style/screen.css" type="text/css" media="screen" /> <link rel="shortcut icon" href="templates/images/favicon.ico" /> <script type="text/javascript"/> function audioPreview(e,cnc) { var uri = e.attributes.getNamedItem('data-uri').value; var audioElement;
4)
スタイルファイル/var/www/asterisk-cdr-viewer/style/screen.cssを追加します a { cursor : pointer; } abbr[title] { border-style : none none dashed; border-width : medium medium 1px; border-bottom-color : #000000; cursor : help; white-space : nowrap; } body { background-color : #fff; behavior : url('style/csshover.htc'); color : #000; font : 65% Verdana, Arial, Helvetica, sans-serif; margin : 0; padding : 0; } img { border-width : 0; } #header { background-image : url('../templates/images/header_gradient.png'); background-repeat : repeat-x; margin : 0; padding-left : 5%; padding-right : 10%; position : fixed; width : 100%; z-index : 50; } #header_logo { height: 105px; width: 121px; vertical-align: top; } #header_title { color: #000000; font-family: serif; font-size: 32pt; font-variant: small-caps; font-weight: bold; height: 60px; } #header_subtitle { color: #68878a; font-family: Verdana,Arial,'Bitstream Vera Sans',Helvetica,sans-serif; font-size: 12pt; font-weight: bold; height: 60px; padding-left: 10px; vertical-align: top; } #main { margin : 0; padding-top : 115px; } #footer { padding : 5px; border-width : 0; text-align : center; } .bar_calls { background-color : #aaf5d0; float : none; padding : 0 0 0 2px; } .bar_duration { background-color : #e5edf9; float : none; padding : 0 0 0 2px; } .cdr { margin : 0 2%; border-width : 0; white-space : nowrap; width : 96%; } .cdr th { background-color : #5ebeff; border-color : #000; border-width : 2px; text-align : center; } .cdr .center_col { width : 78%; padding : 2px; } .cdr .end_col { width : 11%; padding : 1px; } .cdr .chart_data { padding : 0px; text-align : right; } .cdr .img_col { width : 16px; height : 16px; } .form legend, .title, .title a { color: #777; font-size: 2em; font-weight: bold; } .record { background-color : #fff; empty-cells : hide; } .record:hover { background : #ffdca8; color : #000; empty-cells : hide; } .record_col { padding-left : 2px; padding-right : 2px; border-width : 0; } .center { text-align : center; } .right { padding-right : 80px; text-align : right; font-size: 9pt; } .record_ctrl { position:relative } .record_preview_icon { width:16px; height:16px; cursor:pointer; margin-left:3px; } .record_preview_lt { position:absolute; top:0; left:38px; z-index:99; }
5)
ファイル/var/www/asterisk-cdr-viewer/download.php(音声ファイルの範囲要求の処理)を補足します <?php require_once 'include/config.inc.php'; header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); header('Pragma: no-cache'); function partial_download($range_header, $request_file, $mime) { $file_size = filesize($request_file); list($b, $range) = explode('=', $range_header); list($first_range) = explode(',', $range); list($part_start,$part_end) = explode('-', $first_range); $start = intval($part_start); if ($part_end) $end = intval($part_end); else $end = $file_size - 1; $chunksize = ($end-$start)+1; header('HTTP/1.1 206 Partial Content'); header("Content-Type: $mime"); header('Content-Transfer-Encoding: binary'); header("Content-Range: bytes $start-$end/$file_size"); header('Content-Length: '.$chunksize);
その結果、Webインターフェースで会話を聞くことができます(スクロールバーをスクロールできます)
誰かが役に立つといいのですが:)