はじめに
Cisco Expressway シリーズでは通話記録や課金レコード生成を目的としたCall Detailed Record (CDR) を収集することが可能です。このドキュメントでは CDR の概要や、取得方法について説明します。
Expresswayで生成されるCDRの概要
Expressway の デフォルト設定では CDR は無効のため、CDR を生成する場合は GUI から有効化する必要があります。
CDR はコールが終了したタイミングで生成されます。生成された CDR は Expressway 内のデータベースに7日間保存され、期限が過ぎたデータは古いものから順に削除されます。
CDR は原則として1コールに対して1レコード生成されますが、コールルーティングの設定によっては複数生成される場合があります。Expressway がクラスター構成の場合、コールを処理した各クラスターピア上でそれぞれの CDR が生成されます。
Expressway から CDR を取得する方法は下記の2通りがあります。
- REST API を使用して取得
- イベントログ、および外部 syslog サーバへ転送 (Service and loggingモードが有効の場合)
REST API を使用することで条件指定で特定の CDR をデータベースから取得することが可能です。もしロギングモードが有効な場合、GUI (Status -> Logs -> Event log) からイベントログの一部として参照することが可能です。また外部 Syslog サーバーが設定されている場合はイベントログの一部として送信されます。
CDR機能の詳細は Cisco Expressway Administrator Guide の "Serviceability, Logging, Monitoring, and Metrics" チャプターを合わせて参照してください。
CDR レコードから取得可能なデータ
下記は CDR レコードに含まれる主なデータ例です。
全てのレコードのフォーマットは共通ですが、コールタイプやルートパターンによりセットされるフィールドは異なります。
各フィールドの詳細は Cisco Expressway Administrator Guide の "Serviceability, Logging, Monitoring, and Metrics" チャプターを参照してください。
- licensed_as_traversal (True/False) - トラバーサル (RMS) ライセンスの消費有無
- Call uuid (Serial Number) - コールID
- start_time / end_time - コール開始 / 終了時刻
- source_alias / destination_alias - 発信/着信番号
- protocol_summary - コールプロトコル ("SIP <-> SIP" 等)
- media_routed (True/False) - メディアパケット転送の有無
- Disconnect_reason - コールの切断理由
- Details - 下記のような詳細情報を含みます
- License type - ライセンス種別 (Traversal, CollaboEdge 等)
- SIP address / port / transport - SIP コールに関するデータ
- Zone - コールが経由したZone情報
- Registration - エンドポイントの登録ステータス
- Bandwidth - 適用された帯域
- Route hop - コールルート情報 (zone1 -> zone2 -> zone3 等)
- Media - 転送されたメディアパケットの統計情報 (*)
(*) Media に関する統計情報は 音声・ビデオパケットが Expresswayを経由するコールパターンでのみ収集されます。
CDRの有効化
CDR は Expressway の下記の GUI メニューで有効にします。
Maintenance -> Logging -> "Call Detail Records (CDR)"
![スクリーンショット 2022-05-22 003419a.png スクリーンショット 2022-05-22 003419a.png](/t5/image/serverpage/image-id/157774iD734BE39224946F1/image-dimensions/660x370?v=v2)
各モードの動作は以下の通りです。
Off (デフォルト) - CDR は生成されません
Service only - CDRが生成され、内部データベースに7日間保存されます。保存されているCDRはAPIで取得することが可能です。ただしイベントログ、および外部Syslogサーバには出力されません。
Service and logging - CDRが生成され、内部データベースに7日間保存されます。保存されているCDRはAPIで取得することが可能です。また生成されたCDRデータがイベントログに出力され、外部Syslogサーバに送信されます。
REST API を使用した CDR の取得方法
対象となる Expressway の IP アドレス (または FQDN) に対し、下記の REST API を使用して参照 (GET) します。
https://<expressway_ip_address>/api/external/callusage/<filter>
下記が指定可能なフィルターです。
- get_all_records - 全CDR (過去7日間) をGET
- get_all_csv_records - 全CDRをCSVフォーマットでGET
- get_records_for_interval (fromtime, totime) - 日時指定 (YYYY-MM-DD␣HH-MI-SS)
- get_records_for_filter (uuid, src_alias, dest_ alias, protocol) - 条件複合指定
下記が API の使用例です。
例1: 全てのCDRを取得
https://<Expressway IP address>/api/external/callusage/get_all_records
例2: 2022年5月15日 13:00 から 5月20日 08:30 の間に生成された CDR を取得
https://<Expressway IP address>/api/external/callusage/get_records_for_interval?fromtime=2022-05-15 13:00:00&totime=2022-05-20 08:30:00
例3:uuid, src_address. protocol を指定して抽出
https://<Expressway IP address>/api/external/callusage/get_records_for_filter?uuid=a2af9f02-a3be-43a9-8b2d-d10c5273265a&src_alias=sip:testcall@sample.com&protocol=SIP <-> H323
その他 Cisco Expressway Administrator Guide の "Serviceability, Logging, Monitoring, and Metrics" チャプターを参照してください。
補足事項
- CDR モードの設定はクラスターピア間で同期されており、同一クラスター内で異なるモードの設定はできません。
- データベース上に保存されているCDRを手動で削除することはできません
- データベース上のCDRは Expressway を再起動しても削除されません
参考情報