IP telefonie v OpenWrt. Lukáš Macura <lukas.macura@cesnet.cz> Jiří Šlachta <jiri.slachta@cesnet.cz> CESNET, z.s.p.o.



Podobné dokumenty
Monitorování sítě pomocí OpenWrt

BeeSIP ANEB BEZPEČNOST SILNIČNÍHO PROVOZU V IP TELEFONII

Úvod do OpenWRT. Ondřej Caletka. 1. března Uvedené dílo podléhá licenci Creative Commons Uveďte autora 3.0 Česko.

OpenWrt. Otevřený systém pro domácí routery. Martin Strbačka

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

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

Linux (nejen) v Low End routerech

Linux na prapodivných deskách. LinuxDays 2017, Lenka Kosková Třísková Technická univerzita v Liberci

IPv6 na OpenWRT. 6. června Ondřej Caletka (CESNET, z.s.p.o.) IPv6 na OpenWRT 6. června / 17

Network Measurements Analysis (Nemea)

B E S I P. Bright Embedded Solution for IP Telephony

OpenWrt. Cesta do hlubin otevřeného systému pro domácí routery. Martin Strbačka

Novinky v projektech Knot DNS a Knot Resolver. Daniel Salzman

Alpine Linux: minimalistická distribuce nejen na server

Důvěryhodná výpočetní základna v prostředí rozsáhlých IS státní správy

Příloha č.1 zadávací dokumentace Specifikace požadavků na řešení softwarových videokonferenčních klientů

Srovnání opensource ústředen

Praha, Martin Beran

CPAN, tvorba a šíření softwaru v jazyce Perl. Petr Pajas Hejnice 2010

Alcatel-Lucent VitalQIP DNS/DHCP & IP Management Software

Knot DNS workshop. CZ.NIC Labs Daniel Salzman / daniel.salzman@nic.cz Jan Kadlec / jan.kadlec@nic.cz

Úprava a instalace lokálního repozitáře pro provoz ve virtualizačním prostředí VMware Server

Instalace a konfigurace ústředen Asterisk. Bc. Marek Červenka, IPEX a.s.,

Yeastar S100, IP PBX, až 16 portů, 100 uživatelů, 30 hovorů, rack

INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS

CHARAKTERISTIKA VEŘEJNÉ ZAKÁZKY

Projekt JetConf REST API pro vzdálenou správu

PETR MAZÁNEK Senior systemový administrátor C# Developer

OpenVPN. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Ondřej Caletka (CESNET, z.s.p.o.) OpenVPN 3. března / 16

Instalace Debianu pomocí debootstrap

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

Microsoft SharePoint Portal Server Zvýšená týmová produktivita a úspora času při správě dokumentů ve společnosti Makro Cash & Carry ČR

Instalace a konfigurace web serveru. WA1 Martin Klíma

Automatizace bootování s novabootem

Základy IOS, Přepínače: Spanning Tree

Maturitní okruhy pro 1.KŠPA Kladno, s.r.o. Počítačové sítě a komunikace

Představení Kerio Control

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

Nasazení protokolu IPv6 v prostředí univerzitní sítě VŠB-TU Ostrava

Řešení jádra sítě ISP na otevřených technologiích

Průvodce nastavením VoIP u telefonní ústředny OMEGA

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE OBOR: INFORMAČNÍ TECHNOLOGIE

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

Poznámky k vydání. pro Kerio Control 7.2.1

Implementace protokolu IPv6 v síti VŠE a PASNET. Ing. Miroslav Matuška Ing. Luboš Pavlíček

Bezpečnost sítí

Nové vývojové nástroje i5/os Rational Developer for System i V7.1

Automatizace správy linuxové infrastruktury pomocí Katello a Puppet LinuxDays

Asterisk Mini HOW TO

Město Litvínov se sídlem Městský úřad Litvínov, náměstí Míru 11, Litvínov odbor systémového řízení

UDS for ELO. Univerzální datové rozhraní. >> UDS - Universal Data Source

PŘIDÁNÍ SOUBORŮ DO OBLASTI PŘIPRAVENÝCH ZMĚN

Výstupy a aktivity týmu LIPTEL

BI-AWD. Administrace Webového a Databázového serveru Instalace webového serveru Apache httpd

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura IBM Corporation

Prostředí pro vzdálenou spolupráci. Jan Růžička

Knot DNS Resolver. Modulární rekurzivní resolver. Karel Slaný

Perun na VŠUP. Jan Burian VŠUP v Praze

Tipy a triky nejenom v shellu nejenom pro programátory

Cobbler, Puppet, Func

Studentská unie ČVUT v Praze, klub Silicon Hill. 22. února Ondřej Caletka (SU ČVUT) IPv6 nové (ne)bezpečí? 22.

Příloha č. 1 k Č.j.: OOP/10039/ Specifikace zařízení

Návod k obsluze. Platforma RouterBoard s přeinstalovaným RouterOS Mikrotik. i4wifi a.s.

Knot DNS Knot Resolver

[ASP].NET Core Demystified. Miroslav Holec. Konzultant a lektor [ASP].NET Core.

FlowMon novinky. Představení FlowMon verze 5.0. Petr Špringl

Konfigurace sítě s WLAN controllerem

RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí

IPv6 v OpenWRT. Ondřej Caletka. 5. října Uvedené dílo podléhá licenci Creative Commons Uveďte autora 3.0 Česko.

Uživatelská příručka

Instalace a konfigurace OpenAdmin tool na M$ a Linuxu

POČÍTAČOVÉ SÍTĚ A KOMUNIKACE

Jak na různé WiFi sítě v Linuxu

DODATEČNÉ INFORMACE K ZADÁVACÍM PODMÍNKÁM Č. 4

Linux na desktopu Pro Běžně Frustrované Uživatele

Správa a provoz serveru Knot DNS

AIS MČ Praha 3 x Základní registry AIS MČ Praha 3 x Základní registry

BEZPEČNOST (BEZ)DRÁTU. Martin Macek,

O2 Managed Backup & Restore Power

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Server Security, Serverové produkty

Principy testeru telefonních sítí xphonet

OpenVPN. Ondřej Caletka.

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

Srovnání Linuxu a BSD z pohledu jádra. Jan Dyrczyk

Linux na mobilních telefonech

w w w. u l t i m u m t e c h n o l o g i e s. c z Infrastructure-as-a-Service na platformě OpenStack

Profesionální služby kolem Linuxu

IP telefon Cisco SPA303g (SIP) Stručný průvodce instalací a konfigurací

Jak funguje SH Síť. Ondřej Caletka

Radek Krej í. NETCONF a YANG NETCONF. 29. listopadu 2014 Praha, IT 14.2

Yeastar S300, IP PBX, až 24 portů, 300 uživatelů, 60 hovorů, rack

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

Maturitní témata pro 1.KŠPA Kladno, s.r.o. Počítačové sítě a komunikace

Trask solutions Jan Koudela Životopis

Návod k obsluze. VoIP PBX ústředna. Soundwin WiPBX, ipbx

Rychlý průvodce nastavením VOIP brány GW IP a GW IP-012B-2

Nástroje pro průběžnou integraci a testování

TIA na dosah. Upgrade systému na verzi PCS Jan Kváč. SIMATIC PCS 7 Promoter. Tel:

VoIP telefon Gigaset A580IP

IMPLEMENTACE A PROVOZ DISCOVERY SYSTÉMU UKAŽ NA UNIVERZITĚ KARLOVĚ. Mgr. Martin Ledínský, Univerzita Karlova , Praha, NTK

Transkript:

IP telefonie v OpenWrt Lukáš Macura <lukas.macura@cesnet.cz> Jiří Šlachta <jiri.slachta@cesnet.cz> CESNET, z.s.p.o.

Obsah CESNET/Liptel team Stav IP telefonie v OpenWrt Balíčky pro SIP (Asterisk, Kamailio, Freeswitch, Yate,...) Balíčky pro H.323 (libh323, gnugk, pwlib, ) Ostatní balíčky BESIP BESIP build systém NETCONF UCI provisioning - nástroj Uciprov EduroamAp

CESNET/Liptel team Úzká spolupráce Práce na projektu BESIP Jiří Šlachta maintainer Telephony feedu Portace různých SW a knihoven Asterisk 11.x, Asterisk 12.x, Kamailio Patche do OpenWrt Multimediální přenosy a podpora Školení

Stav IP telefonie v OpenWrt Přemístění balíčků z IP telefonie do telephony feedu zkrátila dobu přijetí balíčků, oddělení do vlastního feedu přineslo následující výhody: zkrácení doby pro revizi, testování a aplikování změn, menší zahlcování mailing listu. Telephony feed v AA není, ale přidáním zdroje by měl fungovat. Některé opravy ale vyžadují změny v základech OpenWrt (úpravy buildrootu). Nutno řešit tři typy problémů: kompilovatelnost (Makefile a patche balíčků), spustitelnost (init skripty), použitelnost (paměťové a prostorové nároky, množství závislostí) Sháníme testery. V jednom člověku je portace a testování velmi obtížné.

Aktuální stav balíčků

Balíčky repozitáře Telephony

Balíčky - Asterisk 11.x Univerzální server, převážně SIP B2BUA. Téměř full-featured balíček (bez podpory Dahdi). Podporuje i H.323 (bez nutnosti závislosti na H323plus). Využíván našim týmem pro implementaci IP telefonie. Rané verze měly problém s interním pjsip: bylo zapotřebí kompilovat pjsip zvlášť, následně opraveno Makefile Asterisku, hack odpadl. Pro administraci dostupný asterisk11-gui. Momentálně v přípravě luci-app-pbx-11: (sháníme testery) podpora Google Voice, SIP, callback, voicemail.

Balíčky - Asterisk 12.x Připravujeme balíček Asterisk 12.x, SIP B2BUA, momentálně nekompilovatelný, důvody: absence libubacktrace v default configu uclibc, pro nový SIP stack je zapotřebí fork pjproject od Digia (zatím obtížně kompilovatelný) ale zatím lze použít původní SIP stack. :-) řešení nekompilovatelnosti: Přepracování toolchain package Makefile (nárůst velikosti balíčku uclibc a závislostí :-( ), heavy package patching. Do té doby nekompilovatelný, nejprve bude dostupný zřejmě v BESIPu (viz dále) :)

Balíčky - Freeswitch Univerzální server, převážně SIP B2BUA. Kvůli absenci H.323Plus je freeswitch-mod-h323 @BROKEN. Maintainer Mazi Lo. Používaný komunitou, náš tým jej příliš nepoužívá. Vysoce modulární balík. Často obsazuje místo na buildbotech kvůli velikosti zvukových souborů :).

Balíčky - Yate Univerzální server, převážně SIP B2BUA (i s podporou H.323), Kvůli absenci H323Plus je yate-mod-h323chan @BROKEN. Udržován ve stavu kompilovatelnosti a spustitelnosti. Našim týmem nepoužíváno. Do migrace do telephony feedu byl dlouhou dobu @BROKEN: kvůli závislosti na zaptelu, který je nekompilovatelný na jádrech >3.8 zaptel bude nahrazen dahdi, jakmile bude dotestován aktuálně bez podpory rozhraní pro Dahdi karty od fy Digium.

Balíčky - Kamailio SIP proxy, v OpenWrt téměř full-featured (bez podpory Websockets a IMS). Udržujeme jej ve stavu kompilovatelnosti a funkčnosti. Našim týmem používán a testován. K dispozici kamailio (1.5), kamailio3 (3.3.x) a kamailio4 (4.1.x). Před zřízením Telephony feedu byly nové verze nedostupné. Sháníme vývojáře - přechod na UCI/NETCONF

Balíčky - baresip SIP klient (UA) s podporou všech možných audio/video kodeků, Podporuje i VP8/Opus (pro Asterisk 12.x ideální klient pro testování těchto kodeků). Udržujeme jej ve stavu kompilovatelnosti a funkčnosti. Našim týmem nepoužíváno. Čisté balíky, nevyžadující zvláštní zacházení při cross-kompilaci. V kontaktu s vývojáři, oznamují nové verze.

Balíčky - H.323 Udržován ve stavu kompilovatelnosti a funkčnosti. Našim týmem používáno z části. Podpora H.323 pouze pomocí balíčků gnugk+h323plus/openh323+ptlib. Velké problémy s cross kompilací, musí být shoda: ve verzích balíčků, ve velkém množství configure args pro všechny tři balíčky ve správných verzích, nutno kompilovat v pentagramu. Důvody pro nezařazení do Telephony feedu: špatná udržitelnost, veliké binárky (680K+2,1M+1,8M > průměrná velikost Flash paměti routeru) Sháníme maintainery, schopné tyto knihovny udržovat

Ostatní balíčky Pokoušíme se udržet balíčky ve stavu pro minimální úsilí na instalaci a konfiguraci. Nebo alespoň zkompilovatelné a spustitelné. Ze strany Asterisku (naše zaměření) momentálně lze na OpenWrt také: pracovat s USB Huawei dongly na Asterisku 11.x (asterisk-chan-dongle), administrovat Asterisk (1.8 a 11.x) skrze webové rozhraní (asterisk-gui), pracovat s Cisco telefony pomocí asterisk-chan-sccp-b. V kombinaci s Kamailio proxy také mediaproxy/rtpproxy. Udržujeme také knihovny pwlib, re (real-time komunikace), rem (real-time a/v processing),...

BESIP (autobuild systém, provisioning, nástroje)

BESIP Bright Efficient Embedded Solution for IP Telephony Místo, ve kterém se schází největší novinky telephony feedu Nejjednodušší způsob, jak otestovat novinky v IP telefonii Máme vyřešeno i patchování buildrootu, aby vše běželo http://besip.cesnet.cz/ Sháníme testery Cílem je vytvořit platformně nezávislou IP ústřednu K dispozici náš vlastní build nad OpenWrt buildrootem Použití Netconfu pro snadný management Propojeno s infrastrukturou Cesnet (stahování aktivních prefixů) Vzikly side efekty build systému

BESIP build Build proces nad OpenWrt Odstínění od nízkoúrovňových konfiguračních věcí Rozděleno na targety, změna targetu jednoduchá např. tplink_wdr3600-ar71xx-attitude_adjustment Target pro TPLink WDR3600 Architektura ar71xx Openwrt ve verzi Attitude Adjustment virtual-x86-trunk Pro virtuální guesty (stejný pro KVM i Vmware) Architektura x86 (zatím jen 32 bitů) Openwrt ve verzi trunk

BESIP build Příklad konfigurace targetu Odstínění od nízkých věci, definují se jen balíky navíc a typ architektury BESIP buildroot sám vytvoří OpenWrt config Spustí patche, nutné pro danou architekrutu, openwrt nebo target specific Nainstaluje feedy a potřebné balíky Vytvoří repo TARGET_CPU=x86 OWRT_NAME=trunk TARGET_NAME=virtual_$(BESIP_VERSION)-owrt_$(OWRT_NAME) $(eval $(call BesipDefaults,virtual)) KAMPKG=kamailio4 OWRT_FEEDS_ADDONS1="src-git addpack https://github.com/tobiaswaldvogel/openwrt-addpack" BESIP_PACKAGES= kmod-usb-ohci=y kmod-usb-uhci=y kmod-usb2=y kmod-usb-net=y... OWRT_CONFIG_SET += TOOLCHAINOPTS=y MC_EDITOR=y MC_DIFF_VIEWER=y... OWRT_CONFIG_UNSET += MC_DISABLE_VFS OWRT_ADDED_FILES += fstab.virtual:/etc/config/fstab OWRT_ADDED_ETCDEFAULT += network_dhcp_eth0.uci:/etc/config/network EMBEDED_MODULES += \ SATA_AHCI SATA_AHCI_PLATFORM SATA_INIC162X SATA_ACARD_AHCI SATA_SIL24 ATA_SFF \ FUSION FUSION_SPI FUSION_FC FUSION_SAS SCSI_MPT2SAS SCSI_BUSLOGIC VMWARE_PVSCSI

BESIP build git clone http://code.liptel.cz/besip.git./autobuild.sh actions can be (could be several actions separated by comma): build - build (default action) fastbuild - build only BESIP packages and regenerate image tst - only show what would be done. clean - clean target. dirclean - directory clean target (delete all compiled files except downloaded archives). update - update target from svn. prepare - prepare target tools and toolchain. config - only configure target. debug - make with verbose messages (single thread). unlock - remove lock file shell - try to emulate shell of compiled rootfs repo - Create repository from local builds repoclean - Clean repo

BESIP build git clone http://code.liptel.cz/besip.git./autobuild.sh airties_wav281-lantiq-trunk asuswl_500gp-brcm47xx-attitude_adjustment asuswl_500gp-brcm47xx-trunk raspberry_pi-brcm2708-trunk tplink_wdr3600-ar71xx-attitude_adjustment tplink_wdr3600-ar71xx-trunk tplink_wr1043nd-ar71xx-trunk tplink_wr740n_zabbixproxy-ar71xx-attitude_adjustment tplink_wr740n_zabbixproxy-ar71xx-trunk tplink_wr841nd-ar71xx-trunk tplink_wr841nd_eduroamap-ar71xx-trunk virtual-x86-attitude_adjustment virtual-x86-trunk

BESIP x86 image Pro použití zejména jako Vmware nebo KVM guest Možno použít i přímo na x86, ale nemusí vždy fungovat./autobuild virtual-x86-trunk make test-kvm

NETCONF Naportovali jsme libnetconf (https://code.google.com/p/libnetconf/) do OpenWrt UCI je fajn, je jednoduché.. Ale NETCONF má výhody Větší kontrola integrity Možnost exportu/importu NETCONF/UCI Pokud se config modul nadefinuje v YANG, bude velmi pěkně strukturovaný Možnost exportu konfiguračních možností rovnou na web Možnost konfigurace jakýmkoliv NETCONF klientem Nevýhoda NETCONFu, že potřebuje více paměti Dá se kombinovat (v malých zařízeních pouze UCI, ale definice konfiguračních možností modulu v YANG) Sháníme nadšence a vývojáře Bude nutno přepsat nějaký uci conf do YANG (nejlépe network) a nalepit na něj netconf server

Uciprov Vznikl jako side effect BESIPu Umí provisioning jakýchkoliv krabiček postavených nad OpenWrt Je v ranné fázi vývoje, sháníme testery V BESIP trunku je obsažen Jádro umí z obecného URI stáhnout při bootu UCI konfiguraci a aplikovat Je lehce rozšířitelný o další moduly. Dnes k dispozici Sysupgrade pro možnost automatického upgrade Tgz pro možnost deployingu tar.gz, tedy jakýchkoliv souborů do rootu Fd pro možnost vzdáleného Factory Defaults Umí recovery v případě, že něco selže Umí makra, které se expandují Spustí se během bootu nebo při načtení adresy z DHCP Modulární způsob zjišťování provisioning URI (Static, DHCP, DNS, LLDP) Konfigurovatelný v rámci menuconfigu OpenWrt Budeme se snažit jej dostat do OpenWrt core

Uciprov - příklad config uciprov global option uri_retrieval_protocols option uri_static1 option uri_static2 option uri_static3 "dnssec dns dhcp static" "http://uciprov.{d}/{tgt}/uci{fd}" "http://uciprov.{d}/{h}.{d}/uci{fd}" "http://uciprov.{d}/{mac}/uci{fd}" K dispozici makra {iface} Síťové zařízení, okdud provisioning přišel {fd} Expandne se na 0 nebo 1 podle toho, zda je box v Factory Defaults {mac} Mac adresa zařízení {ip} IP adresa zařízení {h} Hostname {d} Doména, získaná z DHCP {uri} Poslední uri {sr} "$DISTRIB_REVISION" {cn} "$DISTRIB_CODENAME" {tgt} "$DISTRIB_TARGET" {rl} "$DISTRIB_RELEASE"

Uciprov - deploying SSL Ve fázi plánování Bude nutno vykomunikovat Bude potřeba co nejlépe ochránit před možným zneužitím Bude velkým krokem v bepečnosti celého image/openwrt Předběžný algoritmus: Získání CA a jejich parametrů z důvěryhodného zdroje (největší problém, zřejmě kombinace uri) Další provisioning z https Vygenerování lokálního klíče pomocí openssl Vytvoření žádosti o podpis a její push na určené URL Očekávání certifikátu na daném URL

EduroamAp Další Side effect BESIPu Build připraven na jakékoliv podobně určené projekty Target tplink_wr841nd_eduroamap-ar71xx-trunk Připravený image pro TPlink WR841ND Včetně provisioningu Testováno na Slezské univerzitě Levné řešení pro Eduroam AP Centrální konfigurace přes web úložiště Propojeno s Zabbix serverem K dispozici podrobné statistiky

Závěr Dotazy Lukáš Macura <lukas.macura@cesnet.cz> Jiří Šlachta <jiri.slachta@cesnet.cz> CESNET, z.s.p.o.