Kunden müssen manchmal CDRs (Call Detail Records) von VoIP-Systemen (Voice over IP) zu Abrechnungs- oder Abrechnungszwecken protokollieren. Die empfohlene Methode hierfür ist ein externer AAA-Server (RADIUS oder TACACS) für Authentifizierung, Autorisierung und Abrechnung. Diese AAA-Systeme ermöglichen häufig die CDR-Protokollierung, die Verarbeitung von Aufzeichnungen nach einem Anruf und die Erstellung von Abrechnungsberichten.
Es kann vorkommen, dass die Verwendung des AAA-Servers aufgrund der Komplexität oder der Kosten nicht möglich ist. Die CDR-Protokollierung ist jedoch weiterhin erforderlich. In diesem Fall können die Syslog-Funktionen des Cisco Gateways oder Routers verwendet werden, um VoIP-CDRs auf einem externen Syslog-Server zu protokollieren. Diese Datensätze werden im CSV-Format (Comma Separated Variable) gespeichert. Sie können problemlos von einer externen Softwareanwendung wie einer Tabellenkalkulation oder einer Datenbank geladen und verarbeitet werden. Die Syslog-Serversoftware kann auf einem einfachen PC ausgeführt werden. Grundlegende Syslog-Serveranwendungen können aus dem Internet heruntergeladen werden. Cisco gibt keine Empfehlungen zu bestimmten Typen oder Versionen von Syslog-Serversoftware.
Syslog verwendet das User Datagram Protocol (UDP) als zugrunde liegenden Transportmechanismus, sodass die Datenpakete unsequenziert und nicht bestätigt werden. Es ist möglich, dass in einem stark ausgelasteten Netzwerk einige Pakete verworfen werden, sodass CDR-Informationen verloren gehen. Aus Redundanzgründen können mehrere Syslog-Server angegeben werden.
Damit der Zeitstempel auf der CDR korrekt angezeigt wird, muss der Cisco IOS®-Router oder das Gateway über eine NTP-Zeitquelle (Network Time Protocol) für die Zeitsynchronisierung konfiguriert werden. Wenn der Router keine NTP-Synchronisierung aufweist, beträgt die Start- und Stoppzeit jedes CDRs null (null). Wenn keine externe NTP-Quelle verfügbar ist, muss der Router als NTP-Master festgelegt werden. Dies wird im Abschnitt "Konfiguration" erläutert.
Für dieses Dokument bestehen keine speziellen Anforderungen.
Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps zu Konventionen von Cisco).
Dies ist eine Beispielkonfiguration, mit der der Router VoIP-CDRs generieren und an einen externen Syslog-Server senden kann:
router(config)#service timestamps log datetime msec localtime !--- Ensures that the records are timestamped with an accurate value. ! router(config)#aaa new-model ! router(config)#aaa authentication login default none !--- Enables AAA to prevent Telnet authentication via AAA. router(config)#aaa accounting connection h323 start-stop radius !--- Generates the H.323 call start/stop CDRs. router(config)#gw-accounting syslog !--- Sends the H.323 CDRs to the syslog server. router(config)#logging 10.64.6.250 !--- The IP address of the syslog server. Multiple syslog servers !--- can be specified for redundancy.
NTP muss auf dem Cisco IOS-Router oder -Gateway ausgeführt werden, um sicherzustellen, dass die H.323-Start-/Stopp-Datensätze den richtigen Zeitwert aufweisen. Dies sind die beiden NTP-Methoden:
Verwenden Sie diesen globalen Konfigurationsbefehl der Cisco IOS-Software, um den Cisco IOS-Router oder das Gateway mit einem externen NTP-Server zu synchronisieren:
router(config)#ntp server ip address
ip address: Die IP-Adresse des Zeitservers, der die Uhrensynchronisierung bereitstellt.
Wenn keine externe NTP-Zeitquelle vorhanden ist, verwenden Sie die interne Uhr als Zeitquelle. Dies erfolgt über den globalen Konfigurationsbefehl der Cisco IOS-Software, der hier abgebildet ist:
router(config)#ntp master
Mit diesem Befehl sollte die Uhr des Routers auf die richtige Uhrzeit (vom normalen EXEC-Modus aus) eingestellt werden, um sicherzustellen, dass die Zeitstempel korrekt sind:
router#clock set 15:15:00 8 May 2001
Hinweis: Auf einigen Cisco Plattformen wird die Router-Uhr nicht mit einer Akkuquelle gesichert. Die Systemzeit muss nach einem erneuten Laden des Routers oder einem Stromausfall zurückgesetzt werden.
Dies ist ein Teil der Konsolenausgabe vom Router. Wenn die Konfiguration in diesem Dokument aktiviert ist, werden die CDRs an die Router-Konsole sowie an den Syslog-Server weitergeleitet. Um die Protokollierung von der Router-Konsole zu entfernen, konfigurieren Sie auf dem Router keine Protokollierungskonsole im globalen Konfigurationsmodus. Dadurch wird verhindert, dass die CDRs und andere Systemmeldungen auf der Konsole angezeigt werden, aber sie werden weiterhin am Syslog-Server angemeldet.
Wenn ein VoIP-Anruf getätigt wird, leitet er den Anruf in die Weiterleitungsrichtung an das Ziel weiter. Das Ziel führt einen Rückruf durch, um eine Vollduplex-VoIP-Verbindung herzustellen. Daher gibt es einen CDR für den Vorwärtsgang und einen zweiten CDR für den Rückwärtsgang. Der Weiterleitungsabschnitt hat eine Anrufherstellung von 2, während der Rückrufabschnitt eine Anrufherstellung von 1 hat.
Hinweis: Einige Ausgabezeilen werden zu Druckzwecken in mehrere Zeilen aufgeteilt.
router# !--- This output is for the forward call leg. Jun 18 11:15:02.867: %VOIPAAA-5-VOIP_CALL_HISTORY: CallLegType 1, ConnectionId BA55719E F8C10015 0 1B1E08, SetupTime 11:14:39.367 UTC Mon Jun 18 2001, PeerAddress 68575, PeerSubAddress , DisconnectCause 10 , DisconnectText normal call clearing., ConnectTime 11:14:49.707 UTC Mon Jun 18 2001, DisconnectTime 11:15:02.867 UTC Mon Jun 18 2001, CallOrigin 2, ChargedUnits 0, InfoType 2, TransmitPackets 1509, TransmitBytes 102600, ReceivePackets 1510, ReceiveBytes 138920 router# !--- This output is for the reverse call leg. Jun 18 11:15:02.983: %VOIPAAA-5-VOIP_CALL_HISTORY: CallLegType 1, ConnectionId BA55719E F8C10015 0 1B1E08, SetupTime 11:14:41.683 UTC Mon Jun 18 2001, PeerAddress 2887, PeerSubAddress , DisconnectCause 10 , DisconnectText normal call clearing., ConnectTime 11:14:49.703 UTC Mon Jun 18 2001, DisconnectTime 11:15:02.983 UTC Mon Jun 18 2001, CallOrigin 1, ChargedUnits 0, InfoType 2, TransmitPackets 1510, TransmitBytes 102692, ReceivePackets 1509, ReceiveBytes 138828 router#
Dieser CDR zeigt:
Rufumleitung | |
---|---|
Zeit CDR generiert | : 18. Juni 11:15:02.867 |
Eindeutige Verbindungs-ID | : BA55719E F8C10015 0 1B1E08 |
Einrichtungszeit | : 11:14:39.367 UTC Mo. 18. Juni 2001 |
PeerAddress (Anrufernummer) | : 68575 |
Trennungsursachencode | : 10 |
Trennungsursachentext | : normale Anrufbearbeitung |
Verbindungszeit | : 11:14:49.707 UTC Mo. 18. Juni 2001 |
Anrufsquelle | : 2 |
Trennzeit | : 11:15:02.867 UTC Mo. 18. Juni 2001 |
Pakete übertragen | : 1509 |
Byte übertragen | : 102.600 |
Pakete empfangen | : 1509 |
Byte empfangen | : 138828 |
Lead zurückrufen | |
---|---|
Zeit CDR generiert | : 18. Juni 11:15:02.983 |
Verbindungs-ID | : BA55719E F8C10015 0 1B1E08 |
Einrichtungszeit | : 11:14:41.683 UTC Mo. 18. Juni 2001 |
PeerAddress (angerufene Nummer) | : 2887 |
Trennungsursachencode | : 10 |
Trennungsursachentext | : normale Anrufbearbeitung |
Verbindungszeit | : 11:14:49.703 UTC Mo. 18. Juni 2001 |
Anrufsquelle | : 1 |
Trennzeit | : 11:15:02.983 UTC Mo. 18. Juni 2001 |
Pakete übertragen | : 1510 |
Byte übertragen | : 102.692 |
Pakete empfangen | : 1509 |
Byte empfangen | : 138828 |
Die Trennungsursachencodewerte sind standardmäßig hexadezimal. In dieser Tabelle werden einige häufig verwendete Hexadezimalwerte und ihre Erklärungen angezeigt:
Hexadezimalwert | Erläuterung |
---|---|
0 x 0 | Siehe Hinweis unten |
0x1 | Nicht zugewiesene Nummer |
0 x 3 | Keine Route zum Ziel |
0 x 10 | Normale Anrufbearbeitung |
0 x 11 | Benutzer beschäftigt |
0 x 12 | Keine Benutzerreaktion |
0 x 13 | Keine Benutzerantwort |
0 x 15 | Anruf abgelehnt |
0 x 1 C | Ungültige Nummer |
0 x 1 F | Normal, nicht angegeben |
0 x 22 | Keine Schaltung |
0x2C | Keine benötigte Leitung |
0 x 2 F | Keine Ressource |
0 x 3 F | Service oder Option nicht verfügbar, nicht angegeben |
Hinweis: Bei einigen Cisco IOS-Softwareversionen werden möglicherweise viele Trennungsursachencode-Meldungen "0" angezeigt, wenn der Befehl show h323 gateway Cause-Codes ausgegeben wird. Es handelt sich um einen kosmetischen Fehler, der keine Auswirkungen auf die Leistung hat.