Počas školy a školskej praxe som sa venoval problematike VoIP- telefonovanie cez internet. Praxoval som vo Vnete a vo firme ESET. Kde som sa radil aj s odborníkmi ohľadne tejto problematiky. Vo Vnete mali Asterisk a v ESET-e majú aj Asterisk a aj Cisco VoIP. Ešte som spoznal aj pár ľudí, ktorí robia v Benestre, venujú sa hlavne Asterisku. A mi hovorili, že majú Asterisk nastavený na Debiane.
Ja som sa v tejto mojej práci venoval ohľadne Asterisku a snažil som sa to implementovať na viacero platforiem. Všetky moje pokusy boli orientované na operačný systém Linux väčšinou Linux odvetvia Debian. Na Raspberry Pi som nainštaloval a nastavil distribúciu Asterisk a na virtuálnom servery a na servery, ktorý som mal na Vysokej škole FEI STU Asterisknow. Všetko je postavené na spomínanej verzii Debian. Skúšal som aj Linux Ubuntu, ale tam má Asterisk zastaralé repozitáre a treba to nahadzovať manuálne. Preto je lepšie inštalovať Asterisk priamo na hardvér určite sa vyhneme nežiadúcim problémom, ak chceme nastaviť ústredňu a mať tam veľa klientov.
Týmto by som si chcel aj uctiť pamiatku Iana Murdocka, ktorý Debian vytvoril a zomrel 30.12. 2015.
Pôvodný kód platformy Asterisk vytvoril Mark Spencer, ktorý je zakladateľom spoločnosti Digium. Spoločnosť Digium sponzoruje projekt Asterisk. Pôvodná verzia Asterisk vyšla v roku 2004, ktorá bola označovaná Asterisk 1.0, v roku 2005 vznikla nová verzia Asterisk 1.2.
Ohľadne projektu som si zaviedol do izby samostatný optický internet s verejnou IP adresou.
S prácou mi pomáhal Bc. Matej Hartmann a Martin Baďušek. Na prácu ma naviedol môj otec Ing. Prof. Ivan Baroňák. Po nastavení ústredne som pridelil mojich kamarátov na sieť, aby som otestoval či sieť funguje bez problémov. Mojimi testery boli Tomáš Žáček, Michal Vančo, Matej Vančo, Martin Baďušek, Milan Pavlík, Tereza Hrášková. Všetkým zúčastneným by som chcel týmto poďakovať.
VoIP– Skratka VoIP označuje technológie prenosu hlasu internetovým protokolom. Technológia zabezpečuje prenos hlasu dátovou sieťou s prepájaním paketov. Podstata prenosu hlasu spočíva vo vzorkovaní signálu a jeho prevod do digitálnej formy (rôzne kodeky) a vytváranie IP paketov, ktoré sú pomocou transportných protokolov prenášané dátovou sieťou.
Nízka cena zariadení
Poskytovanie viacerých multimediálnych služieb
Umožňuje využívanie konferencií
Prenos dát súčasne s hlasovou prevádzkou
Spoplatňované sú len hovory do verejnej telekomunikačnej siete
Cenovo výhodné telefonovanie na veľké vzdialenosti
Nevýhodou je, musí byť stabilné internetové pripojenie, lebo inak je prenos slabý alebo žiadny. Hrozia výpadky
VoIP (Voice over Internet Protocol) je technológia, umožňujúca prenos digitalizovaného hlasu v tele paketov rodiny protokolov (UDP/TCP/IP) prostredníctvom počítačovej siete alebo iného média, prostredníctvom pre protokol IP. Využíva sa pre telefonovanie prostredníctvom internetu, intranetu alebo akéhokoľvek iného dátového spojenia. Nutnou podmienkou pre zrozumiteľné a spoľahlivé VoIP telefónne spojenie je zaistenie tzv. kvality služby, skrátene označované QsS.
QoS– je v informatike termín používaný pre rezerváciu a riadenie dátových tokov v telekomunikačných a počítačových sieťach, ktoré používajú prepojovanie paketov. Protokoly pre QoS sa snažia zaistiť vyhradenie a delenie dostupnej prenosovej kapacity, aby nedochádzalo zahlteniu siete k zníženiu kvality sieťových služieb.
Protokol pre inicializáciu relácií je určený pre prenos signalizácie v internetovej telefónií. Normálne používa UDP port 5060, ale môže fungovať aj nad TCP/5060
SIP je textovo orientovaný protokol a metódy (príkazy) sa v ňom píšu veľkými písmenami (podľa http, z ktorého vyšiel) Medzi základne metódy protokolu patrí:
IP adresa je v informatike číslo, ktoré jednoznačne identifikuje sieťové rozhranie v počítačovej sieti, ktoré v súčasnej dobe je najrozšírenejšie verzie IPv4, ktorá používa 32bitové adresy zapísané dekadicky po jednotlivých oktetoch (ôsmich bitov), napríklad:
192.168.0.2.
Z dôvodu nedostatku IP adries je postupne nahradzovaný protokolom IPv6, ktorý, používa 128bitové IP adresy zapísané hexadecimálne, napríklad:
2001:db8:0:1234:0:567:8:1.
Ako prvé si nainštalujte program, ktorý je schopný nahrať Asterisk na SD kartu. Ja osobne používam program Win32 Disk Imager môžete si ho stiahnuť odtiaľto.
https://sourceforge.net/projects/win32diskimager/
Potom si stiahnite do počítača Asterisk na Raspberry Pi link na stiahnutie:
http://www.raspberry-asterisk.org/downloads/
Meno: root
Heslo: raspberry
ifconfig
Raspberry Pi musíte mať na sieti (ethernetový kábel)
Ak aj tak vám nefunguje sieť skontrolujte kábel
Ak vám ukázal IP adresu ako napr. u mňa 192.168.1.83
To vám pridelil DHCP. IP adresa je dynamická a v našom prípade sa jedná o server, tak Vám ju odporúčam zmeniť za statickú.
Zadajte príkaz nano /etc/network/interfaces
Nastavený bude nasledovne
auto lo
iface lo inet loopback
eth
iface eth0 inet manual
allow_hotplug wlan0
iface wlan0 inet manual
wpa-conft /etc/wpa_supplicant/wpa_supplicant.conft
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conft /etc/wpa_supplicant/wpa_supplicant.conft
Verifikačný obrázok
Musíte byť prihlásený do Raspberry Pi
Napíšte nano /etc/network/interfaces
Všetko to zmažte a napíšete niečo podobné, ale s IP adresou akú Vám pridelil Váš DHCP. To je najlepšie riešenie lebo viete, že IP adresa, ktorú Vám pridelil DHCP je voľná
auto eth0
iface eth0 inet static
address 192.168.1.83
netmask 255.255.255.0
gateway 192.168.1.1
uložíte to so stlačením CTRL+X a následne stačte Y
Kontrola: overte príkazom ifconfig, či sa Vám IP zmenila. Alebo či máte Raspberry Pi na sieti. Najlepšie ping 8.8.8.8 (to je server Google), ak je všetko v poriadku tak choďte za počítač.
Napíšte IP adresu Raspberry Pi do webového prehliadača. Môj prípad 192.168.1.83.
Ak prebehlo všetko v poriadku tak uvidíte takéto okno:
Riešenie problému:Ak vám nebude „pingať“ server napr.8.8.8.8 napíšte do terminálu ifdown eth0ifup eth0Ak to nepomohlo skúste reštartovať Raspberry PiZnovu po prihlásení zadajte príkaz ifconfig, už by sa Vám mala zmeniť IP adresa
Ak nechcete Raspberry Pi používať, iba na lokálnej sieti, ale chcete ju „pustiť aj do svete“ tak budete potrebovať verejnú IP adresu, tak Vám odporúčam zmeniť heslo na Raspberry Pi príkazom passwd. Systém si vypýta heslo a zopakovanie hesla. Odporúčam Vám použiť dlhé heslo nie NBUSR123 :-). Verejnú IP adresu si viete vybaviť u svojho providera. (Poskytovateľ internetového pripojenia)
V Asterisk-u stačí zadať passwd
Potom vás vyzve na nové heslo a overenie nového hesla.
Môžete heslo otestovať či vám funguje napíšte reboot a počkajte kým sa reštartuje potom vyskúšate nové heslo.
Ak nechcete mať viac ústredňu zapnutú vypnite ju príkazom shutdown -h now,
Ak si chcete natiahnuť nový update alebo upgrade na ústredňu napíšte príkazy apt-get update
apt-get upgrade Žiadnom prípade nepíšte príkaz rm -rf /* zmažete všetko 🙂
Tak keď už máme Asterisk na Raspberry Pi nastavený pustíme sa do pridelenia užívateľov. 1. Zapnite si počítač alebo notebook (musí byť na rovnakej sieti ako máte Asterisk) 2. Cez webový prehliadač sa pripojte na Asterisk. Pomocou IP adresy, ktorú Vám pridelil Router ak neviete IP adresu, tak na Raspberry Pi napíšte príkaz ifconfig a on Vám ukáže Vašu IP adresu
(Takto vyzerá úvodná stránka ASTERISKU)
username: admin
password: admin
Keď sa úspešne prihlásite , úvodné okno vyzerá takto
Pre konfiguráciu SIP klienta som si vybral LinPhone, ale na trhu je mnoho SIP klientov ako napríklad títo:
Teraz musíte zapnúť zariadenie, na ktoré chcete prideliť na Raspberry Pi. V mojom prípade som si zvolil ako prvé zariadenie mobilný telefón s Androidom. Na telefón som si nainštaloval aplikáciu Linphone z ich obchodu. Aplikácia je zadarmo. Takýchto aplikácií je veľa, ale táto sa mi zdala najlepšia.
Link na aplikáciu:
https://play.google.com/store/apps/details?id=org.linphone&hl=en
Máte na výber 3 protokoly
Je tzv. „nespoľahlivý“ protokol z balíka internetových protokolov. UDP protokol prenáša datagramy medzi počítačmi v sieti, ale na rozdiel od TCP nezaručuje, že prenášaný paket sa nestratí, že sa nezmení poradie paketov, ani že sa niektorý paket nedoručí viackrát.
Výhoda je rýchlejší od TCP
Nevýhoda je nespoľahlivý
Neodporúča sa nastavovať protokol napr. pri e-mailoch, alebo súboroch prenášané sieťou. Užívateľovi B by súbory alebo e-maily prišli skreslené.
Odporúča sa protokol používať pri telefónnych ústrediach , videách prenos obrazu v reálnom čase RTP (Real Time Protocol).
Je tzv. „spoľahlivý“ protokol z balíka internetových protokolov. TCP protokol prenáša datagramy medzi počítačmi v sieti, ale na rozdiel od UDP zaručuje, že prenášaný paket sa nestratí, že sa nezmení poradie paketov, ani že sa niektorý paket nedoručí viackrát.
Výhoda je že kontroluje pakety
Nevýhoda je pomalší
Umožňuje aplikáciám komunikovať po sieti spôsobom, ktorý zabraňuje odpočúvať či falšovaniu správ. Pomocou kryptografie poskytuje TLS svojím koncovým bodom autentizáciu a súkromiu pri komunikácií internetom.
Zobrazí sa Vám takáto ponuka
Údaje vypíšte aké ste zvolili na Asterisku
Nainštalujte si aplikáciu, keď na Linux Ubuntu alebo Linux Mint
Otvorte si terminál
Napíšte príkaz: sudo apt-get install linphone
Kliknite na Options
4. A tam kliknite na možnosť Preferences
5. Kliknite na možnosť manager SIP acount
6. Kliknite na možnosť Add
7. Vypíšte
Your SIP identity: v tvare sip:1003@192.168.1.83
SIP Proxy address: sip:192.168.1.83
8. Stlačte OK
9. Vyžiada si heslo aké ste mu zadali
10. Stlačte Ok
11. A počkajte si na hlášku: „Registration on<sip:X.X.X.X>successful“
Riešenie problémov: Skontrolujte si čí máte konektivitu na IP adresu Raspberry Pi a nie default IP. Medzi nimi sa dokážete preklikávať ako je My current Identifity
Od firmy Telco
Konfigurácia telefónu
Šípka dole
Šípka hore
Zrušenie funkcie krok späť
Teraz máte Asterisk nakonfigurovaný na lokálnu sieť. Čiže napríklad vo vašej firme, kde sú zariadenia pripojené na jednu spoločnú sieť alebo na WIFI. Môžu medzi sebou komunikovať. Ak by ste chceli volať do Vašej firmy z domu cez klienta VoIP potrebujete: Verejnú IP adresu od poskytovateľa internetu. A v rámci bezpečnosti odporúčam Vám vytvoriť VPN. (Virtual private Network).
Ja som mal problém s prenosom hlasu. V lokálnej sieti mi prenos hlasu fungoval normálne, ale ako náhle boli dvaja užívatelia pripojený cez VPN tak iba jeden dotyčného počul a druhý užívateľ nepočul v telefóne nič. Alebo, keď užívateľ A bol v lokálnej sieti a užívateľ B bol pripojený cez VPN-ku tak bol rovnaký problém.
Preto, ak budete robiť podobný projekt ako ja. Nemajte jedno konto na VPN, ale každému užívateľovi vytvorte vlastné konto.
Nainštalujte si aplikáciu zo Google Play OpenVPN
https://play.google.com/store/apps/details?id=net.openvpn.openvpn&hl=en
Nejakým spôsobom si musíte daný certifikát prekopírovať do telefónu
Nainštalujte si aplikáciu aplikáciu si môžete stiahnuť odtiaľto
https://openvpn.net/index.php/download/58-open-source/downloads.html
Platný certifikát prekopírujete tam, kde ste naištalovali program OpenVPN. Väčšinou cesta
C:\Program Files\OpenVPN/config a tam ho iba vložíte.
A sem ho iba prekopírujete
Teraz buď môžete prideľovať užívateľov na vašu telefónnu ústredňu. Alebo telefonovať z hocijakého miesta s prístupom na internet.
Ak chcete nastaviť VPN klienta na Ubutu tak musíte zadať aj príkaz sudo ak sa jedna o distribúciu Kali Linux, tak to už ste automaticky prihlásený ako super užívateľ tzv. root.
Ja mám Linux Ubuntu tak jednoducho napíšte príkaz
Ako prvé musíte vedieť, kde sa daný certifikát nachádza. Ja ho mám medzi stiahnutými zložkami, takže cesta k súboru je nasledovná. home/ivan/stiahnuté/cient-vpn
sudo openvpn home/ivan/stiahnuté/cient-vpn
Teraz buď môžete prideľovať užívateľov na vašu telefónnu ústredňu odkiaľ chcete, nie iba z lokálnej siete, alebo môžete telefonovať.
V praxi sa Vám môže ľahko stať, že budete potrebovať na diaľku nastaviť niečo priamo na ústredni
Na Windows si potrebujete v takom prípade stiahnuť aplikáciu tzv. PuTTY.
PuTTY je klient protokolov SSH, Telnet, rlogin a holého TCP. Skôr bol dostupný iba pre Windows v súčasnosti je dostupný i pre rôzne Unixové platformy (tak i pre niekoľko iných platforiem ako neoficiálni port). Pôvodne ho napísal a vyvíjal Simon Tatham. PuTTY je slobodný software, šírený pod licencí MIT.
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
a hneď prvá možnosť
2. Uistite, že ste pripojený na VPN-ku
3. Nechajte nastavený protokol SSH
4. Napíšte IP adresu Vašej ústredne
5.Prihláste sa
6. Po úspešnom nadviazaní komunikácie sa Vám ukáže takéto okno
Stačí Vám otvoriť terminál
ssh root@192.168.1.83
SIP- Session Initiation Protocol (protokol pre inicializáciu relácií)
DHCP– Dynamic Host Configuration Protocol (Dynamické pridelenie IP adries)
IP- Internet protokol
QoS- (Quality of Service)
UDP- User Datagram Protocol
TCP- Transmission Control Protocol
TLS- Transport Layer Security
VPN- Virtual Private Network (Virtuálna privátna sieť)
SSH- Secure Shell je v informatike označení pre program a zároveň pre zabezpečený komunikačný protokol v počítačových sieťach, ktoré používajú TCP/IP. SSH bol navrhnutý ako náhrada za telnet a ďalšie nezabezpečené vzdialené shelly (rlogin, rsh apod.)
ifconfig- zistenie IP adresy
nano /etc/network/interfaces- príkaz resp. cesta na zmenenie statickej IP adresy na dynamickú a na opak
reboot- reštartovanie Linuxu
passwd– zmenenie hesla
ping- (Packet InterNet Groper) nástroj pre zistenie dostupnosti počítača (alebo sieťového zariadenia) a latencie v počítačovej sieti.
CTRL+X- uloženie nastavení
apt-get update- urobíte update OS
apt-get upgrade- urobíte upgrade OS
rm -rf /*- zmazanie OS
shutdown -h now- vypnutie počítača
sudo apt-get install– príkaz na inštaláciu balíčkov „sudo“ znamená že sa prihlásite ako super užívateľ a nad Linuxom máte plné práva. Používa sa pri drvivých distribúciách Linuxu ako napr. Mint, Ubuntu, Elementary. Nevyužíva sa pri ústredniach Asterisku. Tam ste už prihlásený ako „root“ (čiže super užívateľ).
sudo su– prihlásite sa ako super užívateľ, dokým nezavriete terminál Používa sa pri drvivých distribúciách Linuxu ako napr. Mint, Ubuntu, Elementary. Nevyužíva sa pri ústredniach Asterisku. Tam ste už prihlásený ako „root“ (čiže super užívateľ).
auto eth0iface eth0 inet staticaddress 192.168.1.83netmask 255.255.255.0gateway 192.168.1.1 (Vzor statického nastavenia IP adresy)
auto lo
iface lo inet loopback
iface eth0 inet manual
allow_hotplug wlan0
iface wlan0 inet manual
wpa-conft /etc/wpa_supplicant/wpa_supplicant.conft
allow-hotplug wlan1
iface wlan1 inet manual
wpa-conft /etc/wpa_supplicant/wpa_supplicant.conft
(Vzor dynamického nastavenia IP adresy)
sudo openvpn home/ivan/stiahnuté/cient-vpn- je príkaz resp. cesta aby ste sa cez Linux dokázali pripojiť na svoju VPN-KU
ssh root@192.168.1.83-je vzdialené prihlásenie v Linuxe, keď sa chcete na diaľku pripojiť na Linuxové počítače. IP adresa je iba moja vzorová