Vysoká škola báňská – Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky
Účtovací služby na hlasových branách Cisco
Vytvořil: Martin Retka, Jakub Slepánek Login: ret004, sle074
1. Zadání Seznamte se s možnostmi účtování hlasových služeb na hlasových branách Cisco a vytvořte funkční příklad zapojení a konfigurace.
2. Úvod Call leg (dále jen etapa) je názvem pro samostatnou logickou část hlasového spojení ležící mezi dvěma body, přes které je toto spojení navázáno (je to logické spojení mezi dvěma směrovači/branami nebo mezi směrovači/branami a IP telefony viz. Obr.1 a Obr.2).
Obr.1 Na obrázku je spojení rozděleno do 4 etap, dvě z pohledu počáteční brány a dvě z pohledu brány koncové.
Obr.2. Systém s CCM rozdělený na 2 etapy. Každý hovor vytvořený skrze bránu se skládá ze dvou etap:příchozí a odchozí. RADIUS server shromažďuje základní účtovací data typu „start-stop spojení“ nebo účtovací data z syslog informací během účtovacího procesu pro každou etapu (call legs) vytvořenou na bráně.
Pro shromažďování základních účtovacích dat typu „start-stop spojení“, musí být brána zkonfigurovaná tak, aby podporovala specifické funkce pro účtování hovorů. Brána může zasílat účtovací data buď na RADIUS server nebo na externí syslog server (nebo na oba zároveň), kde mohou být dále zpracována. V tomto projektu jsou popsány konfigurace pro oba typy účtování.
3. Topologie sítě Na obr.3 je zobrazeno schéma konfigurované sítě skládající se ze dvou počítačů (PC-A, PCB), na kterých je spuštěn software emulující klientské Cisco VoIP telefony typu 7960 používající protokol SCCP pro komunikaci se směrovačem CME, dále počítače používaného jako RADIUS a syslog server (PC-A) a směrovače s CME.
Obr.3. Topologie sítě konfigurované sítě CME: Router Cisco C2811 , IOS: c2800nm-adventerprisek9-mz.124-11.XW1 , CME 4.2 Switch: Switch Cisco 3600 PC – A: OS: Linux – distribuce Debian, RADIUS server: FreeRADIUS (1.1.3), syslog server: Syslogd (1.4.1) PC – B: OS: Windows XP, softwarový VoIP telefon: VTGO-PC SoftPhone V2, MAC: 0016.7669.01C8 PC – C: OS: Windows XP, softwarový VoIP telefon: VTGO-PC SoftPhone V2, MAC: 0014.381B.D954
Softwarový telefon VTGO-PC SoftPhone (obr.4) je k dispozici volně ke stažení na stránkách výrobce http://www.ipblue.com/ . Použití telefonu je omezeno na 2 minuty hovoru nebo 20 minut běhu.
Obr.4 : VTGO-PC SoftPhone V2
4. Konfigurace základních hlasových služeb na směrovači CME Nejprve nastavíme základní hlasové služby tak, abychom se z PC B dovolali na PC C. telephony-service - Nastavení telefonních služeb max-ephones 2 - Maximální počet Cisco IP telefonu podporovaných směrovačem max-dn 2 - Maximální počet čísel v tel. seznamu ´ ip source-address 192.168.0.1 port 2000 - IP adresa používaná Cisco IP telefony pro registraci se službami na CME max-conferences 8 gain -6 - Maximální počet konferenčních hovorů ephone-dn 1 - přechod na konfiguraci prvního telefonního čísla v seznamu number 3000 - nastaveni telefonního čísla ephone-dn 2 - přechod na konfiguraci druhého telefonního čísla v seznamu number 4000 - nastaveni telefonního čísla ephone 1 - nastaveni prvního telefonního čísla mac-address 0016.7669.01C8 - nastaveni mac adresy na kterém bude telefonní číslo používáno type 7960 - nastaveni typu telefonu button 1:1 - nastaveni tlačítka na kterém bude telefonní číslo zařazeno ephone 2 - nastavení druhého telefonního čísla mac-address 0014.381B.D954 type 7960 button 1:2 Úspěšná registrace softwarových telefonů je indikována na CME zprávou: *Jan 29 10:36:58.591: %IPPHONE-6-REGISTER: ephone-1:SEP0016766901C8 IP:192.168.0.2 Socket:2 DeviceType:Phone has registered.
Během začátku, průběhu a konce volání se v této chvílí žádné jiné zprávy v systémovém logu směrovače nezobrazují.
5. Konfigurace účtování 5.1 Účtování pomocí systémových zpráv (syslog) Směrovač je možné nastavit tak, aby zasílal informace o hovorech pomocí systémových zpráv na vzdálený syslog server (nebo více serverů), který je pak může dále zpracovávat pro účely účtování. service timestamps log datetime msec localtime – Nastavení časových razítek v systémových zprávách aaa new-model aaa accounting connection h323 start-stop radius gw-accounting syslog - Spustí metodu účtování pomocí systémových zpráv logging 192.168.0.4 – Nastavení IP adresy externího syslogd serveru Konfigurace syslogd serveru na počítači PC-A se liší podle toho kam, chceme informace o volání zaznamenávat, ale minimálně je nutné zkontrolovat zda je syslogd zkonfigurován tak, aby naslouchal systémovým zprávám ze vzdálených syslogd klientů. V linuxové distribuci Debian se do souboru /etc/default/syslogd přidá parametr po spuštění „r“ pomocí proměnné SYSLOGD. SYSLOGD="-r"
Směrovač CME a PC-A by měli být časově synchronizováni. Informace o hovoru se do systému zapisuje až po dokončení hovoru. Příklad systémové CDR (Call Detail Record) zprávy, kdy se z čísla 3000 volalo na číslo 4000 a 4000 zavěsil: Jan 29 14:36:23 192.168.0.1 53: *Jan 29 11:30:35.547: %VOIPAAA-5VOIP_CALL_HISTORY: CallLegType 1, ConnectionId 5B40650ACD9411DC807CFFD6ABCAE9FF, SetupTime *11:29:59.037 UTC Tue Jan 29 2008, PeerAddress 4000, PeerSubAddress , DisconnectCause 10 , DisconnectText normal call clearing (16), ConnectTime *11:30:13.727 UTC Tue Jan 29 2008, DisconnectTime *11:30:35.527 UTC Tue Jan 29 2008, CallOrigin 1, ChargedUnits 0, InfoType 2, TransmitPackets 0, TransmitBytes 0, ReceivePackets 0, ReceiveBytes 0 Jan 29 14:36:23 192.168.0.1 54: *Jan 29 11:30:35.547: %VOIPAAA-5VOIP_FEAT_HISTORY: FEAT_VSA=fn:TWC,ft:01/29/2008 11:29:59.031,cgn:3000,cdn:4000,frs:0,fid:2,fcid:5B40650ACD9411DC807CFFD6ABC AE9FF,legID:2,bguid:5B40650ACD9411DC807CFFD6ABCAE9FF Jan 29 14:36:24 192.168.0.1 55: *Jan 29 11:30:35.551: %VOIPAAA-5VOIP_CALL_HISTORY: CallLegType 1, ConnectionId 5B40650ACD9411DC807CFFD6ABCAE9FF, SetupTime *11:29:58.411 UTC Tue Jan 29 2008, PeerAddress 3000, PeerSubAddress , DisconnectCause 10 , DisconnectText normal call clearing (16), ConnectTime *11:30:13.741 UTC Tue Jan 29 2008, DisconnectTime *11:30:35.551 UTC Tue Jan 29 2008, CallOrigin 2, ChargedUnits 0, InfoType 2, TransmitPackets 0, TransmitBytes 0, ReceivePackets 0, ReceiveBytes 0
Jan 29 14:36:24 192.168.0.1 56: *Jan 29 11:30:35.551: %VOIPAAA-5VOIP_FEAT_HISTORY: FEAT_VSA=fn:TWC,ft:01/29/2008 11:29:58.411,cgn:3000,cdn:,frs:0,fid:1,fcid:5B40650ACD9411DC807CFFD6ABCAE9F F,legID:1,bguid:5B40650ACD9411DC807CFFD6ABCAE9FF
Ze zprávy lze vyčíst mimo jiné i údaj kolik bylo přeneseno paketů (TransmitPackets 0), jaké bylo stanoveno ID spojení (ConnectionId 5B40650ACD9411DC807CFFD6ABCAE9FF), číslo volaného (PeerAddress 4000) apod. 5.2 Účtování pomocí RADIUS serveru Účtování pomocí RADIUS serveru (v implementaci FreeRADIUS) probíhá tak, že RADIUS server při zachycení atributů nastavených v souboru /etc/freeradius/acct_users v příchozích zprávách může spustit program, kterému pomocí parametrů předá hodnoty atributů pro další zpracování. V našem projektu se na začátku a konci každého volání zapsala zpráva do souboru /tmp/vystup.log spolu s číslem volajícího. Na směrovači CME musíme provést následující nastavení: aaa new-model – Spustíme AAA řídící model na směrovači aaa accounting connection h323 start-stop radius – Spustíme účtování pro začátek a konec odchozích spojení gw-accounting aaa – Spustíme účtování pro AAA model radius-server host 192.168.0.4 auth-port 1812 acct-port 1823 – Nastavíme IP adresu a porty externího radius serveru radius-server key cisco – Nastavíme sdílené heslo pro RADIUS Na počítači PC-A: 1. Nainstalujeme balíček freeradius, pokud ještě není instalován. 2. Do souboru /etc/freeradius/clients.conf (v distribuci Debian) přidáme následující řádky:
client 192.168.0.0/24 { # # The shared secret use to "encrypt" and "sign" packets between # the NAS and FreeRADIUS. You MUST change this secret from the # default, otherwise it's not a secret any more! # # The secret can be any string, up to 31 characters in length. # secret = cisco # # The short name is used as an alias for the fully qualified # domain name, or the IP address. # shortname = mynetwork1 # # The nastype tells 'checkrad.pl' which NAS-specific method to # use to query the NAS for simultaneous use. # # Permitted NAS types are: # # cisco # computone # livingston # max40xx # multitech # netserver # pathras # patton # portslave # tc # usrhiper # other # for all other types # nas = cisco }
3. Do souboru /etc/freeradius/acct_users vepíšeme: DEFAULT Acct-Status-Type == Start Exec-Program = "/usr/local/bin/start %{User-Name}" DEFAULT Acct-Status-Type == Stop Exec-Program = "/usr/local/bin/stop %{User-Name}"
Další proměnné a jejich popis, stejně jako zde použitou proměnnou %{User-Name}, lze nalézt v souboru variables.txt, který je umístěn v adresáři s dokumentací k serveru FreeRADIUS. 4. Vytvoříme spustitelné skripty /usr/local/bin/start a /usr/local/bin/stop jejich obsah je následující: ### skript /usr/local/bin/start #!/bin/bash echo “Zacal volat $1” >> /tmp/vystup.log; ### skript /usr/local/bin/stop #!/bin/bash echo “Skoncil volat $1” >> /tmp/vystup.log;
5. Spustíme RADIUS server pomocí příkazu /etc/init.d/freeradius restart (v distribuci Debian)
6. Kompletní konfigurace service timestamps log datetime msec localtime ! ! aaa new-model ! ! aaa accounting connection h323 start-stop group radius ! ! gw-accounting syslog gw-accounting aaa ! ! interface FastEthernet0/0 ip address 192.168.0.1 255.255.255.0 ! ! logging 192.168.0.4 ! ! radius-server host 192.168.0.4 auth-port 1812 acct-port 1813 radius-server key cisco ! ! telephony-service max-ephones 2 max-dn 2 ip source-address 192.168.0.1 port 2000 max-conferences 8 gain -6 transfer-system full-consult ! ! ephone-dn 1 number 3000 ! ! ephone-dn 2 number 4000 ! ! ephone 1 device-security-mode none mac-address 0016.7669.01C8 type 7960 button 1:1 ! ! ephone 2 device-security-mode none mac-address 0014.381B.D954 type 7960 button 1:2
!
7. Závěr Při práci na projektu jsme se setkali s problémy hlavně na straně softwarových VoIP telefonů VTGO-PC, které při jakékoli uživatelově reakci reagovaly se zpožděním cca 30 sekund (telefon neodpovídal na podněty ani při nezatíženém CPU na počítači kde by spuštěn), což značně omezovalo práci, protože jsou telefony ve zkušební verzi omezeny na 20 minut běhu a 2 minuty hovoru. Účtování na směrovači s CME se zdá být v základních informacích o volání nezávislé na použitém signalizačním protokolu, což jsme si ještě, mimo zde uvedenou konfiguraci pro SCCP, ověřili pomocí konfigurace CME se softwarovými SIP VoIP telefony SJPhone. Tato konfigurace v tomto projektu není uvedena, protože se liší pouze v konfiguraci hlasových služeb uvedené v kapitole 3. Na tento projekt o účtování by se dalo navázat souvisejícím tématem autentizace a autorizace, které je závislé na použitém signalizačním VoIP protokolu.