Podpora technologie ENUM v



Podobné dokumenty
Asterisk a ENUM Ondřej Surý <ondrej@sury.org> Co je to VoIP? Jaké se používají protokoly? Co je to Asterisk? Co je to ENUM? Konfigurace Demo Otázky a

DNS. Počítačové sítě. 11. cvičení

Přístup k transportní vrstvě z vrstvy aplikační rozhraní služeb služby pro systémové aplikace, služby pro uživatelské aplikace DNS

Počítačové sítě Aplikační vrstva Domain Name System (DNS)

Michal Vávra FI MUNI

SIP Session Initiation Protocol

Aplikační vrstva. Přístup k transportní vrstvě z vrstvy aplikační rozhraní služeb služby pro systémové aplikace, služby pro uživatelské aplikace HTTP

IP telephony security overview

ENUM v telefonní síti Ostravské univerzity. M. Dvořák

Jmenné služby a adresace

Y36SPS Jmenné služby DHCP a DNS

DNS, DHCP DNS, Richard Biječek

Číslování a adresování v klasických a IP telefonních sítích

Případová studie - Slezská univerzita v Opavě

Site - Zapich. Varianta 1

DNS Domain Name System

Semestrální práce do předmětu TPS (Technologie Počítačových Sítí).

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták

Inovace výuky prostřednictvím šablon pro SŠ

Domain Name System (DNS)

Směrování VoIP provozu v datových sítích

DNS server (nameserver, jmenný server) Server, který obsahuje všechny veřejné IP adresy a jejich přiřazené doménové jména a překládá je mezi sebou. Po

ENUM Nová dimenze telefonování. CZ.NIC z.s.p.o. Pavel Tůma / pavel.tuma@nic.cz

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Poslední aktualizace: 1. srpna 2011

9. Systém DNS. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si problematiku struktury a tvorby doménových jmen.

L i n u x j a k o r o u t e r, f i r e w a l l, D H C P s e r v e r, p r o x y a D N S c a c h e, 2. č á s t

Semestrální projekt do předmětu SPS

Instalační a uživatelská příručka aplikace PSImulator2 Obsah

2N EasyRoute UMTS datová a hlasová brána

ČÁST 1 ÚVOD. Instalace operačního systému 21 Aktualizace operačního systému 57 Příkazový řádek 77 Windows Script Host 103 ČÁST 2 ŘEŠENÍ

Cisco IOS TCL skriptování využití SMTP knihovny

Automatická správa keysetu. Jaromír Talíř

Schéma elektronické pošty

Avaya IP Office Jak ji nakonfigurovat s 2N Helios IP

APS Administrator.OP

Analýza komunikace při realizaci VoIP spojení

Překlad jmen, instalace AD. Šimon Suchomel

Avaya IP Office R8.0 - Jak ji nakonfigurovat s 2N Helios IP

X36PKO Jmenné služby Jan Kubr - X36PKO 1 4/2007

3. listopadu Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko.

Počítačové sítě Systém doménových jmen a centralizované přidělování IP adres. Leoš Boháč Jan Kubr

Uživatelský modul. Modem Bonding

DNSSEC Validátor - doplněk prohlížečů proti podvržení domény

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

ISDN telefon, atd.) na jiné. Nesmírnou výhodou Asterisku je volná dostupnost zdrojového

Jak nastavit PBX 2N OMEGA LITE SERIES pro SIP TRUNK FAYN a hybrdní vnitřní pobočky

DNSSEC Pavel Tuček

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Číslování a adresace telefonních VoIP sítí

Domain Name System (DNS)

Semestrální projekt do SPS Protokol RSVP na Cisco routerech

Linux jako broadband router (2)

enum - PRINCIPY, ZKUŠENOSTI A UKÁZKY

DHCP a DNS a jak se dají využít v domácí síti

SOU Valašské Klobouky. VY_32_INOVACE_02_18 IKT DNS domény. Radomír Soural. III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Počítačové sítě II. 16. Domain Name System Miroslav Spousta,

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech

Kerio Operator. Kerio Technologies

Principy telefonní signalizace SIP

Y36SPS: Domain name systém 1. Seznamte se s výchozími místy uložení konfiguračních souborů serveru bind9 v Debianu

Další nástroje pro testování

Ondřej Caletka. 2. března 2014

Inovace výuky prostřednictvím šablon pro SŠ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Teorie a praxe IP telefonie 2. dvoudenní odborný seminář Hotel Olšanka, 8. a 9. listopadu 2006 SIGNALIZACE SIP

Implementace ENUM v síti NETWAY.CZ

Studium protokolu Session Decription Protocol. Jaroslav Vilč

Síť LAN. semestrální práce X32PRS Ondřej Caletka ČVUT V PRAZE, Fakulta Elektrotechnická

ISA seminární práce. Zadání č. 4 Konfigurace www serveru ISP

Výpis z registru doménových jmen.cz

Počítačové sítě 1 Přednáška č.10 Služby sítě

Bezpečnostní problémy VoIP a jejich řešení

Počítačové sítě II. 12. IP: pomocné protokoly (ICMP, ARP, DHCP) Miroslav Spousta,

Počítačové sítě Systém pro přenos souborů protokol FTP

CAD pro. techniku prostředí (TZB) Počítačové sítě

Serverové systémy Microsoft Windows

Serverové systémy Microsoft Windows

32-bitová čísla Autonomních Systémů v protokolu BGP

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7

Správa linuxového serveru: DNS a DHCP server dnsmasq

ANALÝZA TCP/IP 2 ANALÝZA PROTOKOLŮ DHCP, ARP, ICMP A DNS

Uživatelská příručka

Výpis z registru doménových jmen.cz

APS Web Panel. Rozšiřující webový modul pro APS Administrator. Webové rozhraní pro vybrané funkce programového balíku APS Administrator

Asterisk Mini HOW TO

Principy signalizace SIP

Inovace výuky prostřednictvím šablon pro SŠ

Instalace Active Directory

Praktikum Směrování Linux

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Manuál pro nastavení telefonu Siemens C450 IP

IP adaptér Linksys SPA-1001 (SIP) Stručný průvodce instalací a konfigurací


Poznámky k vydání. pro Kerio Operator 1.0.1

1. Webový server, instalace PHP a MySQL 13

Modern Technology of Internet

32-bitová čísla Autonomních Systémů v protokolu BGP

12. téma. Asterisk a AIX

Transkript:

VŠB - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Podpora technologie ENUM v opensource VoIP řešeních Semestrální práce 2008 Buchta Tomáš, Hájek Jakub, Hanus Miroslav, Kukucz René

OBSAH 0 Obsah 1 Úvod 1 2 ENUM 2 2.1 Doména e164.arpa................................ 2 2.2 NAPTR záznam.................................. 2 3 Podpora ENUM v opensource řešeních 4 3.1 DNS servery.................................... 4 3.2 VoIP řešení..................................... 4 4 Praktické testy 6 4.1 SIP Express Router (SER)............................. 6 4.2 OpenSER...................................... 11 4.3 Yet Another Telephony Engine (YATE)..................... 13 4.4 Asterisk....................................... 15 4.5 GNU Gatekeeper (GnuGK)........................... 17 5 Závěr 20 6 Literatura 21

1 ÚVOD 1 1 Úvod Práce si klade za úkol ověřit funkčnost podpory technologie ENUM u co nejširšího vzorku opensource H.323 a SIP řešení. Zaměřuje se především na řešení dostupná primárně pro linuxovou platformu, konkrétně na SIP Express Router, OpenSER, Yet Another Telephony Engine, Asterisk a GNU Gatekeeper.

2 ENUM 2 2 ENUM ENUM (Telephone Number Mapping) je technologie, která využívá DNS k mapování prostoru telefonních čísel (ITU E.164) na prostor URI adres. Jednomu telefonnímu číslu může odpovídat více URI, kde každá URI adresa může odkazovat na jinou službu nebo protokol (např. SIP, H.323, e-mail). 2.1 Doména e164.arpa Pro prostor telefonních čísel je vyhrazen strom doménových jmen e164.arpa. Samotný proces převodu E.164 čísla na plně kvalifikované doménové jméno probíhá následovně (pro ilustraci je použito číslo 420 573 331 122): 1. Jsou odstraněny všechny oddělovače mezi číslicemi a před kód země je doplněn znak +. Takto upravené číslo se označuje jako AUS (Application Unique String). Z čísla 420 573 331 122 tedy vznikne +420573331122. 2. Je odstraněn úvodní znak + a převráceno pořadí číslic. Z AUS +420573331122 vznikne řetězec 221133375024. 3. Za každou číslici je doplněna tečka a za konec celého řetězce je doplněn řetězec e164.arpa. Výsledné doménové jméno je 2.2.1.1.3.3.3.7.5.0.2.4.e164.arpa. Doména e164.arpa není vedena centralizovaně, ale stejně jako u ostatních domén se jedná o distribuovanou databázi. Konkrétně pro Českou republiku je delegována doména 0.2.4.e164.arpa, kterou spravuje CZ.NIC. Registrace ENUM domén pod 0.2.4.e164.arpa pak probíhá stejným způsobem jako u top-level domény.cz, tedy přes některého z komerčních registrátorů. ENUM domény mohou být různě rozsáhlé, mohou pokrývat určitý rozsah telefonních čísel (doména 2.1.1.3.3.3.7.5.0.2.4.e164.arpa bude pokrývat telefonní čísla od 420 573 331 120 do 420 573 331 129), ale mohou také odpovídat jedinému telefonnímu číslu. 2.2 NAPTR záznam ENUM používá pro uložení informací v DNS databázi NAPTR záznam. NAPTR záznam obsahuje šest polí: 1. ORDER slouží k určení priority záznamu. Nižší hodnota znamená záznam s vyšší preferencí. Jde o podobný systém jako u MX záznamů určujících doručování elektronické pošty. 2. PREFERENCE - slouží pro rozlišení priorit ve skupině záznamů se stejnou hodnotou pole order 3. FLAGS - pole pro příznak. Jediný povolený příznak pro NAPTR záznam je u. Tento příznak určuje, že výstupem bude URI služby.

2 ENUM 3 4. SERVICE - pole obsahuje rozpoznávací značku (pro e164.arpa domény je to řetězec E2U+, na velikosti znaků nezáleží), typ a případně podtyp služby 1. Příklad: E2U+sip = SIP E2U+web:https = WWW, protokol HTTPS 5. REGULAR EXPRESSION popis převodu AUS na URI. Popis je proveden pomocí regulárních výrazů, jako oddělovač je použitý znak!. Oddělovač je použitý přesně 3krát, a to na začátku pole, pak mezi regulárním výrazem popisujícím AUS a regulárním výrazem popisujícím URI a naposledy na konci pole. 6. REPLACEMENT - další pole, které může být využito pro převod. S flagem u se toto pole nepoužívá. Příklad z RFC 3761 ukazuje tři NAPTR záznamy pro jedno telefonní číslo. $ORIGIN 3.8.0.0.6.9.2.3.6.1.4.4.e164.arpa. NAPTR 10 100 u E2U+sip!ˆ.*$!sip:info@example.com!. NAPTR 10 101 u E2U+h323!ˆ.*$!h323:info@example.com!. NAPTR 10 102 u E2U+msg!ˆ.*$!mailto:info@example.com!. Všechny záznamy mají pole ORDER nastaveno na hodnotu 10, prioritu záznamů tedy určuje hodnota pole PREFERENCE. Podle priority záznamů je tedy číslo +441 632 960 038 mapováno nejprve na URI sip:info@example.com, pak na h323:info@example.com a nakonec na mailto:info@example.com. 1 Seznam typů a subtypů služeb je dostupný na adrese http://www.iana.org/assignments/enumservices.

3 PODPORA ENUM V OPENSOURCE ŘEŠENÍCH 4 3 Podpora ENUM v opensource řešeních 3.1 DNS servery V době psaní této práce byl jediný name server, který nativně podporoval ENUM, BIND9. Ostatní (MaraDNS, mydns) podporu ENUM neuváděly nebo bylo, jako v případě djbdns, nutné instalovat dodatečný patch 2. Pro spolupráci s VoIP řešeními byl vybrán BIND9, ostatní zmíněné name servery nebyly testovány. 3.2 VoIP řešení 3.2.1 SIP Express Router (SER) Podpora ENUM pro SER je dostupná v podobě modulu (stejně jako další rozšíření pro toto řešení). Většinou je modul enum.so součástí základního instalačního balíku a není nutné jej instalovat odděleně. Ve výchozím nastavení je podpora ENUM vypnuta, pro její aktivaci je nutné provést v konfiguračním souboru ser.conf tyto změny: zajistit natažení modulu enum.so loadmodule /usr/local/lib/ser/modules/enum.so definovat pravidlo/pravidla pro použití ENUMu if(method== INVITE && uri= sip:\+[0-9]+@.* ) { enum_query( e164.arpa ); }; 3.2.2 OpenSER OpenSER je fork projektu SER, který vzniknul zhruba před dvěma lety. Způsob konfigurace ENUM je totožný jako u SER. 3.2.3 Yet Another Telephony Engine (YATE) YATE podporuje ENUM, nastavení se provádí v konfiguračním souboru enumroute.conf. Zde se určuje priorita ENUM dotazování (hodnoty vyjadřující prority ostatních metod lze nalézt v jejich konfiguračních souborech), DNS stromy, které mají být dotazovány a protokoly pro které má být ENUM dotazování prováděno. 2 Patch pro djbdns lze získat z http://mywebpage.netscape.com/guibv/djbdns-1.05-srvnaptr.diff

3 PODPORA ENUM V OPENSOURCE ŘEŠENÍCH 5 3.2.4 Asterisk Asterisk podporuje ENUM nejdéle ze všech opensource VoIP implementací. K práci s ENUM slouží zabudovaná funkce ENUMLOOKUP, pravidla použití ENUM se nastavují v konfiguračním souboru extensions.conf. Je zapotřebí definovat makro pro práci s ENUM a také pravidla pro používání ENUM pro tzv. kontexty 3. [macro-enumexten] exten => s, 1, Set(entrycount=${ENUMLOOKUP(+${ARG1},sip,c,e164.arpa)} counter=0) exten => s, 2, GotoIf($[ ${counter} < ${entrycount} ]?3:6) exten => s, 3, Set(counter=$[${counter}+1]) exten => s, 4, Dial(SIP/${ENUMLOOKUP(+${ARG1},sip,${counter},e164.arpa)}) exten => s, 5, GotoIf($[ ${counter} < ${entrycount} ]?3:6) exten => s, 6, NoOp( No SIP entries in e164.arpa for ${ARG1}. ) [enum] exten => _XXXXXXXXX,1,Macro(enumexten,420${EXTEN}) exten => _00X.,1,Macro(enumexten,${EXTEN:2}) exten => _XXXXXXXXXX.,1,Macro(enumexten,${EXTEN}) 3.2.5 GNU Gatekeeper (GnuGk) GnuGk podporuje ENUM od verze 2.2.4 Používání ENUM se aktivuje v konfiguračním souboru gatekeeper.ini v sekci [RoutingPolicy] pomocí proměnné default. [RoutingPolicy] default=explicit, internal, enum, dns, parent, neighbor Seznam prohledávaných DNS stromů obsahuje proměnná PWLIB_ENUM_PATH, standardně obsahuje následující stromy (v uvedeném pořadí): e164.voxgratia.net, e164.org a e164.arpa. 3 Vzorová konfigurace převzata z http://www.cs.vsb.cz/grygarek/tps/projekty/0607z/enum/enum.html

4 PRAKTICKÉ TESTY 6 4 Praktické testy 4.1 SIP Express Router (SER) 4.1.1 Topologie Server A byl nakonfigurován tak, aby pro směrování hovorů používal ENUM, na serveru B byla podpora ENUM vypnuta. Na serveru A byl registrován volající user-a, na serveru B byl registrován volaný user-b. DNS server byl nastaven jako autoritativní pro rozsah smyšlených E.164 čísel +420 111 111 110 - +420 111 111 119. Pro volaného B byl na DNS serveru zaveden NAPTR záznam na číslo +420 111 111 111. Volající vytočil toto číslo a pomocí analyzátoru sít ového provozu nainstalovaného na serveru A se ověřilo, jestli dojde k DNS dotazu a jestli je na základě DNS odpovědi provedeno správné směrování hovoru. IP: 80.251.245.5 user: user-a +420 222 222 222 R E G I S T E R Internet IP: 85.160.154.228 user: user-b +420 111 111 111 R E G I S T E R SIP server A IP:80.251.240.56 FQDN :efgh.uh.cz DNSserver SIP server B IP: 80.251.240.55 FQDN : abcd.uh.cz Obrázek 1: Testovací SIP sít 4.1.2 Použitý software SIP server A - SER 0.9.6, Debian GNU/Linux testing (lenny) SIP server B - SER 0.9.6, Debian GNU/Linux - kombinace stable a testing DNS server - BIND 9.3.4 volající A - Twinkle 1.0.1, KUbuntu 7.10 volaný B - X-Lite 3.0, Windows Vista

4 PRAKTICKÉ TESTY 7 4.1.3 Konfigurace DNS server /etc/bind/named.conf.local zone 1.1.1.1.1.1.1.1.0.2.4.e164.arpa { type master; file /etc/bind/1.1.1.1.1.1.1.1.0.2.4.db ; }; zónový soubor /etc/bind/1.1.1.1.1.1.1.1.0.2.4.db $TTL 604800 @ IN SOA abcd.uh.cz. root.abcd.uh.cz. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS abcd.uh.cz. 1 IN NAPTR 10 100 u E2U+sip!ˆ\\+(.*)$!sip:user-B@abcd.uh.cz!. 1 IN NAPTR 10 200 u E2U+h323!ˆ\\+(.*)$!h323:user-B@abcd.uh.cz!. SIP server A Do spouštěcího skriptu /etc/init.d/ser je přidána inicializace proměnné SIP DOMAIN. export SIP_DOMAIN= efgh.uh.cz Do konfiguračního souboru (nebo spíše skriptu) /etc/ser/ser.cfg jsou doplněny tyto položky 1. direktiva pro zavedení modulu enum.so loadmodule /usr/lib/ser/modules/enum.so 2. nastavení modulu enum.so pro prohledávání e164.arpa stromu modparam( enum, domain_suffix, e164.arpa. ) 3. do funkce route() je před volání lookup( aliases ) doplněno volání funkce enum query()...}; enum_query(); lookup( aliases );... Jako DNS server je nastaven v /etc/resolv.conf server 80.251.240.55.

4 PRAKTICKÉ TESTY 8 nameserver 80.251.240.55 SIP server B Je použitý výchozí konfigurační soubor /etc/ser/ser.cfg, který je součástí instalačního balíku. volající A SIP registrar a proxy: efgh.uh.cz uživatel: user-a volaný B SIP registrar a proxy: abcd.uh.cz uživatel: user-b Ve výchozím nastavení nevyžaduje SER autentizaci, proto volající A a volaný B nenastavují kromě uživatelského jméno žádné další autentizační údaje. 4.1.4 Test Následující body zachycují průběh testu doplněný o výstup z analyzátoru sít ového provozu. Pro sběr dat byl použit TShark 0.99.4, data byla následně zpracována pomocí programu Wireshark 0.99.6. Samotný test byl spuštěn až poté co proběhla úspěšná registrace volajícího i volaného. 1. Volající A vytáčí číslo +420 111 111 111 2. SIP server A zjišt uje NAPTR záznam pro 1.1.1.1.1.1.1.1.1.0.2.4.e164.arpa. Internet Protocol, Src: 80.251.240.56, Dst: 80.251.240.55 User Datagram Protocol, Src Port: 32843 (32843), Dst Port: domain (53) Domain Name System (query) Queries 1.1.1.1.1.1.1.1.1.0.2.4.e164.arpa: type NAPTR, class IN Name: 1.1.1.1.1.1.1.1.1.0.2.4.e164.arpa Type: NAPTR (Naming authority pointer) Class: IN (0x0001) 3. Od DNS serveru dostává odpověd. Internet Protocol, Src: 80.251.240.55, Dst: 80.251.240.56 User Datagram Protocol, Src Port: domain (53), Dst Port: 32843 (32843) Domain Name System (response) Queries 1.1.1.1.1.1.1.1.1.0.2.4.e164.arpa: type NAPTR, class IN Name: 1.1.1.1.1.1.1.1.1.0.2.4.e164.arpa Type: NAPTR (Naming authority pointer) Class: IN (0x0001) Answers 1.1.1.1.1.1.1.1.1.0.2.4.e164.arpa: type NAPTR, class IN, order 10, preference 200, flags u Name: 1.1.1.1.1.1.1.1.1.0.2.4.e164.arpa Type: NAPTR (Naming authority pointer)

4 PRAKTICKÉ TESTY 9 Class: IN (0x0001) Time to live: 7 days Data length: 50 Order: 10 Preference: 200 Flags length: 1 Flags: u Service length: 8 Service: E2U+h323 Regex length: 33 Regex:!ˆ\+(.*)$!h323:user-B@abcd.uh.cz! Replacement length: 0 Replacement: 1.1.1.1.1.1.1.1.1.0.2.4.e164.arpa: type NAPTR, class IN, order 10, preference 100, flags u Name: 1.1.1.1.1.1.1.1.1.0.2.4.e164.arpa Type: NAPTR (Naming authority pointer) Class: IN (0x0001) Time to live: 7 days Data length: 48 Order: 10 Preference: 100 Flags length: 1 Flags: u Service length: 7 Service: E2U+sip Regex length: 32 Regex:!ˆ\+(.*)$!sip:user-B@abcd.uh.cz! Replacement length: 0 Replacement: 4. SIP server A vybírá záznam s vyšší preferencí a dotazuje se na SRV záznam pro abcd.uh.cz. SRV záznam neexistuje, DNS server vrací negativní odpověd. SIP server A se proto dotazuje na A záznam pro abcd.uh.cz. Na tento dotaz dostává odpověd. Jsou zobrazeny jen sumární informace. Source Destination Protocol Info 80.251.240.56 80.251.240.55 DNS Standard query SRV _sip._udp.abcd.uh.cz 80.251.240.55 80.251.240.56 DNS Standard query response, No such name 80.251.240.56 80.251.240.55 DNS Standard query A abcd.uh.cz 80.251.240.55 80.251.240.56 DNS Standard query response A 80.251.240.55 5. Nyní již může server A poslat volanému B prostřednictvím serveru B zprávu IN- VITE. Internet Protocol, Src: 80.251.240.56, Dst: 80.251.240.55 User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060) Session Initiation Protocol Request-Line: INVITE sip:user-b@abcd.uh.cz SIP/2.0 Message Header Record-Route: <sip:80.251.240.56;ftag=xhsuw;lr=on> Via: SIP/2.0/UDP 80.251.240.56;branch=z9hG4bKe726.2f5c5233.0 Via: SIP/2.0/UDP 192.168.0.136;received=80.251.245.5;rport=59645; branch=z9hg4bkcutnzhzi To: <sip:+420111111111@efgh.uh.cz> From: user-a <sip:user-a@efgh.uh.cz>;tag=xhsuw Call-ID: lystzhcuroupjsm@192.168.0.136 Contact: <sip:user-a@192.168.0.136> User-Agent: Twinkle/1.0.1

4 PRAKTICKÉ TESTY 10 6. Po úspěšném navázání spojení zazvoní telefon volaného. Volaný hovor odmítá a volajícímu se vrací zpráva 480. Jsou zobrazeny jen sumární informace. Source Destination Protocol Info 80.251.240.55 80.251.240.56 SIP Status: 100 trying 80.251.240.55 80.251.240.56 SIP Status: 180 Ringing 80.251.240.55 80.251.240.56 SIP Status: 180 Ringing 80.251.240.55 80.251.240.56 SIP Status: 180 Ringing 80.251.240.55 80.251.240.56 SIP Status: 480 Temporarily Unavailable

4 PRAKTICKÉ TESTY 11 4.2 OpenSER 4.2.1 Topologie Topologie, ve které byl testován OpenSER, je shodná s topologií pro testovaní SIP Express Routeru. 4.2.2 Použitý software SIP server A - OpenSER 1.2.2, Debian GNU/Linux testing (lenny) SIP server B - SER 0.9.6, Debian GNU/Linux - kombinace stable a testing DNS server - BIND 9.3.4 volající A - Twinkle 1.0.1, KUbuntu 7.10 volaný B - X-Lite 3.0, Windows Vista 4.2.3 Konfigurace SIP server A Konfigurace OpenSER je takřka totožná s konfigurací SIP Express Routeru. V /etc/default/openser je nastaven příznak pro automatické spouštění a uživatel, pod kterým bude OpenSER běžet. RUN_OPENSER=yes USER=openser V konfiguračním souboru /etc/openser/openserctlrc je nastavena proměnná SIP DOMAIN. SIP_DOMAIN=efgh.uh.cz Do konfiguračního souboru /etc/openser/openser.cfg jsou doplněny tyto položky 1. direktiva pro zavedení modulu enum.so loadmodule enum.so 2. nastavení modulu enum.so pro prohledávání e164.arpa stromu modparam( enum, domain_suffix, e164.arpa. ) 3. do funkce route() je před volání lookup( aliases ) doplněno volání funkce enum query()...}; enum_query(); lookup( aliases );...

4 PRAKTICKÉ TESTY 12 Jako DNS server je nastaven v /etc/resolv.conf server 80.251.240.55. ostatní Zbytek sít ových zařízení byl nakonfigurován stejně jako při testu SIP Express Routeru. 4.2.4 Test Metodika provádění testu byla shodná s metodikou použitou při testování SIP Express Routeru. Rovněž chování OpenSER v průběhu testu je shodné s chováním SIP Express Routeru.

4 PRAKTICKÉ TESTY 13 4.3 Yet Another Telephony Engine (YATE) 4.3.1 Topologie Topologie, ve které byl testován YATE server, je shodná s topologií pro testovaní SIP Express Routeru. 4.3.2 Použitý software SIP server A - YATE 1.3.0, Debian GNU/Linux testing (lenny) SIP server B - SER 0.9.6, Debian GNU/Linux - kombinace stable a testing DNS server - BIND 9.3.4 volající A - Twinkle 1.0.1, KUbuntu 7.10 volaný B - X-Lite 3.0, Windows Vista 4.3.3 Konfigurace SIP server A V /etc/default/yate jsou nastaveny startovací parametry. NO_START=0 YATE_USER= yate YATE_GROUP= yate YATE vyžaduje při registraci uživatele autentizaci, proto je v /etc/yate/regfile.conf zaveden záznam pro uživatele user-a. [user-a] password=1234 Základní nastavení pro ENUM jsou v souboru /etc/yate/enumroute.conf. Jedná se o: 1. prioritu vyhledávání podle ENUM. Nastavená hodnota 150 znamená, že podle ENUM se bude vyhledávat až když selžou všechny ostatní metody. priority=150 2. nastavení prohledávání e164.arpa stromu domains=e164.arpa 3. volba protokolů, pro které se bude provádět ENUM vyhledávání sip=yes h323=yes

4 PRAKTICKÉ TESTY 14 Zbytek konfigurace je ponechán ve výchozím nastavení. Jako DNS server je nastaven v /etc/resolv.conf server 80.251.240.55. ostatní Zbytek sít ových zařízení byl nakonfigurován stejně jako při testu SIP Express Routeru. 4.3.4 Test Metodika provádění testu byla shodná s metodikou použitou při testování SIP Express Routeru. V YATE je ve výchozím nastavení vypnuto dotazování na SRV záznam, proto je po vyhodnocení odpovědi na NAPTR dotaz rovnou odeslán dotaz na A záznam. Následuje zkrácený záznam komunikace mezi SIP serverem A a DNS serverem a následně mezi SIP servery A a B. Volaný B stejně jako v předchozích testech odmítne hovor. Source Destination Protocol Info 80.251.240.56 80.251.240.55 DNS Standard query NAPTR 1.1.1.1.1.1.1.1.1.0.2.4.e164.arpa 80.251.240.55 80.251.240.56 DNS Standard query response NAPTR 10 200 u NAPTR 10 100 u 80.251.240.56 80.251.240.55 DNS Standard query A abcd.uh.cz 80.251.240.55 80.251.240.56 DNS Standard query response A 80.251.240.55 80.251.240.56 80.251.240.55 SIP/SDP Request: INVITE sip:user-b@abcd.uh.cz 80.251.240.55 80.251.240.56 SIP Status: 100 trying 80.251.240.55 80.251.240.56 SIP Status: 180 Ringing 80.251.240.55 80.251.240.56 SIP Status: 180 Ringing 80.251.240.55 80.251.240.56 SIP Status: 480 Temporarily Unavailable

4 PRAKTICKÉ TESTY 15 4.4 Asterisk 4.4.1 Topologie Topologie, ve které byl testován Asterisk, je shodná s topologií pro testovaní SIP Express Routeru. 4.4.2 Použitý software SIP server A - Asterisk 1.4, Debian GNU/Linux testing (lenny) SIP server B - SER 0.9.6, Debian GNU/Linux - kombinace stable a testing DNS server - BIND 9.3.4 volající A - Twinkle 1.0.1, KUbuntu 7.10 volaný B - X-Lite 3.0, Windows Vista 4.4.3 Konfigurace SIP server A Startovací parametry jsou nastaveny v /etc/default/asterisk. RUNASTERISK=yes AST_REALTIME=yes Asterisk vyžaduje při registraci uživatele jeho autentizaci, proto je stejně jako u YATE nutné vytvořit záznam pro aspoň jednoho uživatele. Záznamy SIP uživatelů jsou uloženy v /etc/asterisk/sip.conf. [user-a] context=tester qualify=yes callerid=user-a canreinvite=no nat=yes username=user-a secret=1234 type=friend host=dynamic Soubor /etc/asterisk/extensions.conf obsahuje makro [macro-enumm] 4 [macro-enumm] exten => _X, 1, Set(sipcount=${ENUMLOOKUP(+${EXTEN},sip,c)} counter=0) exten => _X, 2, GotoIf($[ ${counter} < ${sipcount} ]?3:6) exten => _X, 3, Set(counter=$[${counter}+1]) exten => _X, 4, Dial(SIP/${ENUMLOOKUP(+${ARG1},sip,${counter})}) exten => _X, 5, GotoIf($[ ${counter} < ${sipcount} ]?3:6) exten => _X.,6, NoOp( No valid entries in e164.arpa for ${EXTEN} )

4 PRAKTICKÉ TESTY 16 a pravidla pro převod čísel a vyhledávání pomocí makra enumm pro kontext tester, ve kterém se nachází uživatel user-a. [tester] exten => _XXXXXXXXX,1,Macro(enumM,420${EXTEN}) exten => _00X.,1,Macro(enumM,${EXTEN:2}) exten => _XXXXXXXXXX.,1,Macro(enumM,${EXTEN}) Zbytek konfigurace je ponechán ve výchozím nastavení. Jako DNS server je nastaven v /etc/resolv.conf server 80.251.240.55. ostatní Zbytek sít ových zařízení byl nakonfigurován stejně jako při testu SIP Express Routeru. 4.4.4 Test Metodika provádění testu byla shodná s metodikou použitou při testování SIP Express Routeru. Následuje zkrácený záznam komunikace mezi SIP serverem A a DNS serverem a následně mezi SIP servery A a B. Volaný B stejně jako v předchozích testech odmítne hovor. Asterisk se ve výchozím nastavení dotazuje na SRV záznamy. Source Destination Protocol Info 80.251.240.56 80.251.240.55 DNS Standard query NAPTR 1.1.1.1.1.1.1.1.1.0.2.4.e164.arpa 80.251.240.55 80.251.240.56 DNS Standard query response NAPTR 10 200 u NAPTR 10 100 u 80.251.240.56 80.251.240.55 DNS Standard query SRV _sip._udp.abcd.uh.cz 80.251.240.55 80.251.240.56 DNS Standard query response, No such name 80.251.240.56 80.251.240.55 DNS Standard query A abcd.uh.cz 80.251.240.55 80.251.240.56 DNS Standard query response A 80.251.240.55 80.251.240.56 80.251.240.55 SIP/SDP Request: INVITE sip:user-b@abcd.uh.cz 80.251.240.55 80.251.240.56 SIP Status: 100 trying 80.251.240.55 80.251.240.56 SIP Status: 180 Ringing 80.251.240.55 80.251.240.56 SIP Status: 180 Ringing 80.251.240.55 80.251.240.56 SIP Status: 480 Temporarily Unavailable 4 Variace na konfigurace z http://www.cs.vsb.cz/grygarek/tps/projekty/0607z/enum/enum.html a z http://www.asterisk.org/doxygen/1.4/astenum.html

4 PRAKTICKÉ TESTY 17 4.5 GNU Gatekeeper (GnuGK) 4.5.1 Topologie Gatekeeper A byl nakonfigurován tak, aby pro směrování hovorů používal ENUM, na gatekeeperu B byla podpora ENUM vypnuta. Na gatekeeperu A byl registrován volající user-a s číslem +420 222 222 222, na serveru B byl registrován volaný user-b s číslem +420 111 111 111. DNS server byl nastaven jako autoritativní pro rozsah smyšlených E.164 čísel +420 111 111 110 - +420 111 111 119. Pro volaného B byl na DNS serveru zaveden NAPTR záznam na číslo +420 111 111 111. Volající vytočil toto číslo a pomocí analyzátoru sít ového provozu nainstalovaného na serveru A se ověřilo, jestli dojde k DNS dotazu a jestli je na základě DNS odpovědi provedeno správné směrování hovoru. IP: 80.251.245.5 user: user-a +420 222 222 222 R E G I S T E R Internet IP: 85.160.154.228 user: user-b +420 111 111 111 R E G I S T E R Gatekeeper A IP:80.251.240.56 FQDN :efgh.uh.cz DNSserver Gatekeeper B IP: 80.251.240.55 FQDN : abcd.uh.cz Obrázek 2: Testovací H.323 sít 4.5.2 Použitý software SIP server A - GnuGK 2.2.6, Debian GNU/Linux testing (lenny) SIP server B - GnuGK 2.2.3, Debian GNU/Linux - kombinace stable a testing DNS server - BIND 9.3.4 volající A - SJPhone 1.60.299, KUbuntu 7.10 volaný B - SJPhone 1.65.377, Windows Vista

4 PRAKTICKÉ TESTY 18 4.5.3 Konfigurace DNS server /etc/bind/named.conf.local zone 1.1.1.1.1.1.1.1.0.2.4.e164.arpa { type master; file /etc/bind/1.1.1.1.1.1.1.1.0.2.4.db ; }; zónový soubor /etc/bind/1.1.1.1.1.1.1.1.0.2.4.db $TTL 604800 @ IN SOA abcd.uh.cz. root.abcd.uh.cz. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS abcd.uh.cz. 1 IN NAPTR 10 100 u E2U+sip!ˆ\\+(.*)$!sip:user-B@abcd.uh.cz!. 1 IN NAPTR 10 200 u E2U+h323!ˆ\\+(.*)$!h323:user-B@abcd.uh.cz!. Gatekeeper A Konfigurační soubor /etc/gatekeeper.ini je upraven do následující podoby, důležitá je především direktiva default v sekci [RoutingPolicy]. [Gatekeeper::Main] FourtyTwo=42 [RoutedMode] GKRouted=1 H245Routed=1 CallSignalPort=1720 [Proxy] Enable=1 [RoutingPolicy] default=explicit,internal,enum,dns,internal,parent,neighbor Jako DNS server je nastaven v /etc/resolv.conf server 80.251.240.55. nameserver 80.251.240.55

4 PRAKTICKÉ TESTY 19 Gatekeeper B Pro gatekeeper B je použitý neupravený vzorový konfigurační soubor gatekeeper.ini, který je součástí instalačního balíku. volající A H.323 gatekeeper: efgh.uh.cz uživatel: user-a číslo: +420222222222 volaný B H.323 gatekeeper: abcd.uh.cz uživatel: user-b číslo: +420111111111 4.5.4 Test Metodika provádění testu byla shodná s metodikou použitou při testování SIP Express Routeru. Následující výpisy se zaměřují na odlišnosti v chování oproti předešlým případům. 1. Gatekeeper A zjišt uje NAPTR záznam. Proměnná PWLIB_ENUM_PATH byla ponechána ve výchozím nastavení, proto probíhá prohledávání i jiných stromů než e164.arpa. Source Destination Protocol Info 80.251.240.56 80.251.240.55 DNS Standard query NAPTR 1.1.1.1.1.1.1.1.1.0.2.4.e164.voxgratia.net 80.251.240.55 80.251.240.56 DNS Standard query response, No such name 80.251.240.56 80.251.240.55 DNS Standard query NAPTR 1.1.1.1.1.1.1.1.1.0.2.4.e164.org 80.251.240.55 80.251.240.56 DNS Standard query response, No such name 80.251.240.56 80.251.240.55 DNS Standard query NAPTR 1.1.1.1.1.1.1.1.1.0.2.4.e164.arpa 80.251.240.55 80.251.240.56 DNS Standard query response NAPTR 10 100 u NAPTR 10 200 u 2. Po zjištění A záznamu pro abcd.uh.cz se gatekeeper A spojuje s gatekeeperem B na portu 1720/tcp. V tomto spojení je vidět probíhající signalizace protokoly H.225 a H.245 (H.323 sít pracuje v routed režimu). Source Destination Protocol Info 80.251.240.56 80.251.240.55 TCP 54817 > 1720 [SYN] 80.251.240.55 80.251.240.56 TCP 1720 > 54817 [SYN, ACK] 80.251.240.56 80.251.240.55 TCP 54817 > 1720 [ACK] 80.251.240.56 80.251.240.55 H.225.0/H.245 CS: setup OpenLogicalChannel terminalcapabilityset

5 ZÁVĚR 20 5 Závěr Podpora ENUM je u všech testovaných řešení bez výjimky funkční. Je nutno zdůraznit, že testy ověřovaly jen základní funkčnost, nicméně výsledky této práce mohou posloužit jako odrazový můstek pro testování dalších, pokročilejších, konfigurací.

6 LITERATURA 21 6 Literatura [1] ALBITZ, P., LIU, C. DNS and BIND. 5th edition, O Reilly 2006. [2] FALTSTROM, P., et al. The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM), online, 2004 [cit. 2007-12-25]. Dokument dostupný z WWW: http://www.ietf.org/rfc/rfc3761.txt.