Klanten hebben soms de verplichting om Call Detail Records (CDR’s) te registreren van Voice-over-IP-systemen (VoIP) voor boekhoudkundige of factureringsdoeleinden. De aanbevolen manier om dit te doen is door middel van een externe verificatie, autorisatie en accounting (AAA) server (RADIUS of TACACS). Deze AAA-systemen bieden vaak CDR-vastlegging, verwerking van postcallrecord en een faciliteit voor het genereren van factureringsrapporten.
Er kunnen bepaalde situaties zijn waarin de complexiteit of de kosten van de AAA-server het gebruik ervan verbiedt, maar er is nog een vereiste voor CDR-vastlegging. In een dergelijk geval, is het mogelijk om de systeemmogelijkheden van de gateway of router van Cisco te gebruiken om VoIP CDRs aan een externe systeemserver te registreren. Deze records zijn in een komma gescheiden variabele (CSV)-formaat. Ze kunnen gemakkelijk worden geladen en verwerkt door een externe softwaretoepassing zoals een spreadsheet of een database. De software van de syslogserver kan op een basale PC draaien. De toepassingen van de syslogserver kunnen van het Internet worden gedownload. Cisco doet geen aanbevelingen voor een bepaald type of versie van de software van de syslogserver.
Syslowakije gebruikt User Datagram Protocol (UDP) als het onderliggende transportmechanisme, zodat de gegevenspakketten niet zijn ingesloten en niet zijn erkend. Het is mogelijk dat op een zwaar gebruikt netwerk, sommige pakketten kunnen worden gedropt en daarom wordt de informatie van de CDR verloren. Meervoudige syslogservers kunnen worden gespecificeerd voor redundantie.
Om de timestamp op de CDR te kunnen corrigeren, is er een vereiste dat de Cisco IOS® router of gateway wordt geconfigureerd voor tijdsynchronisatie via een Network Time Protocol (NTP) tijdbron. Als de router geen NTP-synchronisatie heeft, zullen het begin- en stoptijden van elke CDR een nul (nul) waarde zijn. Als een externe NTP-bron niet beschikbaar is, moet de router als NTP-master worden ingesteld. Dit wordt uitgelegd in het gedeelte Configuration.
Er zijn geen specifieke vereisten van toepassing op dit document.
Dit document is niet beperkt tot specifieke software- en hardware-versies.
Dit is een voorbeeldconfiguratie die de router in staat stelt om VoIP CDR's te genereren en deze naar een externe syslogserver te sturen:
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 moet op de Cisco IOS router of gateway lopen om te verzekeren dat de H.323 start/stop records de juiste tijdwaarde hebben. Dit zijn de twee NTP-methoden:
Gebruik dit de mondiale configuratieopdracht van Cisco IOS-software om de Cisco IOS router of gateway naar een externe NTP-server te synchroniseren:
router(config)#ntp server ip address
ip adres-het IP adres van de tijdserver die de kloksynchronisatie biedt.
Als er geen externe NTP-tijdbron is, gebruikt u de interne kloktijd als de tijdbron. Dit gebeurt met het hier getoonde globale configuratiebevel van de software van Cisco IOS:
router(config)#ntp master
De routerklok moet op de juiste tijd (vanuit de normale EXEC-modus) met deze opdracht worden ingesteld om ervoor te zorgen dat de tijdstempels juist zijn:
router#clock set 15:15:00 8 May 2001
Opmerking: Op sommige Cisco-platforms wordt er geen back-up gemaakt van de routerkloktijd met een batterijbron. De systeemtijd moet worden hersteld nadat een router opnieuw is geladen of een stroomstoring is opgetreden.
Dit is een gedeelte van console uitvoer van de router. Wanneer de configuratie in dit document is ingeschakeld, worden de CDR’s zowel op de routerconsole als op de syslig-server gericht. Om het loggen uit de routerconsole te verwijderen, moet u geen logconsole configureren in de mondiale configuratiemodus op de router. Dit voorkomt dat de CDR's en andere systeemberichten op de console verschijnen, maar ze worden nog vastgelegd op de syslog server.
Wanneer een VoIP-oproep wordt gedaan, wordt er een oproep in de voorwaartse richting naar de bestemming geplaatst. De bestemming maakt een terugkeer vraag om een volledige duplex verbinding van VoIP te krijgen om te gebeuren. Daarom is er een CDR voor het voorwaartse been, en een tweede CDR voor het retourgedeelte. De vervroegde call leg heeft een call bron oorsprong van 2 terwijl de return call leg been een call oorsprong van 1 heeft.
N.B.: Sommige uitvoerlijnen worden voor drukdoeleinden in meerdere regels onderverdeeld.
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#
Dit CDR laat zien:
Doorsturen van gespreksbeen | |
---|---|
Time CDR gegenereerd | : 18 jun. 11:15:02.867 |
Uniek verbond-ID | : B(A) 55719E F8C10015 0 1B1E08 |
Tijd instellen | : 11:14:39.367 UTC mei 2001 |
PeerAddress (Telefoonnummer) | : 68575 |
Soortcode verbroken verbinding | : 10 |
Oorspronkelijke tekst afsluiten | : normale callclearing |
Connect-tijd | : 11:14:49:707 UTC-maaltijd 18 jun. 2001 |
Oproeproutering | : 2 |
Afsluittijd | : 11:15:02.867 UTC maan 18 jun. 2001 |
Packet verzenden | : 1509 |
Doorsturen-bytes | : 102600 |
Ontvang pakketten | : 1509 |
Ontvang bytes | : 138828 |
Terugbellen | |
---|---|
Time CDR gegenereerd | : 18 jun. 11:15:02.983 |
Koppelings-id | : B(A) 55719E F8C10015 0 1B1E08 |
Tijd instellen | : 11:14:41.683 UTC mei 2001 |
PeerAddress (geroepen aantal) | : 2887 |
Soortcode verbroken verbinding | : 10 |
Oorspronkelijke tekst afsluiten | : normale callclearing |
Connect-tijd | : 11:14:49:703 UTC-maaltijd 18 jun. 2001 |
Oproeproutering | : 1 |
Afsluittijd | : 11:15:02.983 UTC mei 2001 |
Packet verzenden | : 1510 |
Doorsturen-bytes | : 102692 |
Ontvang pakketten | : 1509 |
Ontvang bytes | : 138828 |
De waarde van de oorzaakcode van het loskoppelen is standaard op hexadecimaal. In deze tabel worden enkele gemeenschappelijke hexadecimale waarden en hun verklaringen weergegeven:
hexadecimale waarde | verklaring |
---|---|
0x0 | Zie de onderstaande opmerking |
0x1 | Ontoegewezen nummer |
0x3 | Geen route naar bestemming |
0x10 | Normale gespreksverruiming |
0x11 | Gebruiker druk |
0x12 | Geen respons van de gebruiker |
0x13 | Geen gebruikersantwoord |
0x15 | Aanvraag verworpen |
0x1C | Ongeldig nummer |
0x1F | Normaal, niet gespecificeerd |
0x22 | Geen circuit |
0x2C | Geen aangevraagd circuit |
0x2F | Geen resource |
0x3F | Service of optie niet beschikbaar, ongespecificeerd |
Opmerking: Sommige Cisco IOS-softwarereleases zouden veel Disconnect Oorzaakcode "0"-berichten kunnen geven wanneer de opdracht h323 oorzaakcodes wordt afgegeven. Het is een cosmetisch defect en heeft geen invloed op de prestaties.