Mihael PETEK. Mentorica:

Similar documents
Navodila za uporabo čitalnika Heron TM D130

Navodila za uporabo tiskalnika Zebra S4M

KAKO GA TVORIMO? Tvorimo ga tako, da glagol postavimo v preteklik (past simple): 1. GLAGOL BITI - WAS / WERE TRDILNA OBLIKA:

Donosnost zavarovanj v omejeni izdaji

Podešavanje za eduroam ios

Sistem za oddaljeni dostop do merilnih naprav Red Pitaya

Mobilna aplikacija za odčitavanje in ocenjevanje izdelkov

Spletne ankete in uvoz v Limesurvey

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

PRENOVA SISTEMA OSEBNEGA KLICA Renovation of the Paging System

Eduroam O Eduroam servisu edu roam Uputstvo za podešavanje Eduroam konekcije NAPOMENA: Microsoft Windows XP Change advanced settings

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

Biznis scenario: sekcije pk * id_sekcije * naziv. projekti pk * id_projekta * naziv ꓳ profesor fk * id_sekcije

OMREŽNA SKLADIŠČA PODATKOV (NAS)

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE

Ogrodje mobilne aplikacije mfri

Komunikacijski prehod Innbox V60-U OSNOVNA NAVODILA

Razvoj poslovnih aplikacij za informacijski sistem SAP R3

Otpremanje video snimka na YouTube

Upravitelj opravil Task Manager

Razvoj mobilne aplikacije za pomoč študentom pri organizaciji študija

Kontrolni sistem pospeševalnika delcev v okolju LabVIEW

RAZVOJ MOBILNE APLIKACIJE»OPRAVILKO«ZA MOBILNO PLATFORMO ios

Elementi implementacije spletne trgovine

vozni red / timetable 1 Vozni red letov velja Flight Timetable

SLOVENSKI GIMP-PORTAL

Tehnologiji RFID in NFC in njuna uporaba

UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA MAGISTRSKO DELO EVALVACIJA ORODIJ ZA AVTOMATSKO TESTIRANJE TELEKOMUNIKACIJSKE OPREME

CJENOVNIK KABLOVSKA TV DIGITALNA TV INTERNET USLUGE

RAČUNALNIŠKA PISMENOST (RPO) priročnik za tečaj

EU NIS direktiva. Uroš Majcen

GDS Hybrid IP Communication Series. A total integrated Hospitality solution

Video Media Center - VMC 1000 Getting Started Guide

Uporabniški priročnik NiceLabel Pro

Ljubljana, marec Uporabniški priročnik

Milan Nedovič. Metodologija trženja mobilnih aplikacij

PRIMERJAVA BORZNIH TRGOVALNIH INFORMACIJSKIH SISTEMOV BTS IN XETRA

NiceLabel Pro uporabniški priročnik

Poglavje 8. QCAD - 2D prostorsko načrtovanje. CAD orodja Računalniško načrtovanje Primer: 2D načrtovanje skladiščnega prostora

Kako ustvariti in vzdrževati kazalo vsebine

UPORABA IN STROŠKOVNA ANALIZA SISTEMA ZA UPRAVLJANJE SPLETNIH VSEBIN

1. Instalacija programske podrške

Andrej Laharnar. Razvoj uporabniškega vmesnika oddelčnega proizvodnega informacijskega sistema za vodje izmen

RAZISKOVALNA NALOGA. Področje: SLOVENSKI JEZIK

Sistemi za podporo pri kliničnem odločanju

Intranet kot orodje interne komunikacije

UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA MAGISTRSKO DELO BLAŽ DOBROVOLJC

Sistem opazovanja, obveščanja in alarmiranja

1. LETNIK 2. LETNIK 3. LETNIK 4. LETNIK Darinka Ambrož idr.: BRANJA 1 (nova ali stara izdaja)

Configuring a Secure Access etrust SiteMinder Server Instance (NSM Procedure)

2018 PSO Profile Highlights and Tips. December 18, :00 3:00 PM

Uporaba HTML 5 in CSS3 v spletnih kvizih

NIS PETROL. Uputstvo za deaktiviranje/aktiviranje stranice Veleprodajnog cenovnika na sajtu NIS Petrol-a

Družbeni mediji na spletu in kraja identitete

BREZPLAČNA TELEFONSKA ŠTEVILKA 080 KOT TRŽNOKOMUNIKACIJSKO ORODJE: ŠTUDIJA PRIMERA MODRE ŠTEVILKE

Dell EMC Unisphere 360

OCENJEVANJE SPLETNIH PREDSTAVITEV IZBRANIH UNIVERZ IN PISARN ZA MEDNARODNO SODELOVANJE

VSŠ VIŠJA STROKOVNA ŠOLA MARIBOR

Matija Lovrić VPELJAVA GEST Z MIŠKO IN NADGRADNJA FUNKCIONALNOSTI KLASIČNEGA UPORABNIŠKEGA VMESNIKA

UPUTSTVO. za ruter TP-LINK TD-854W/ TD-W8951NB

Priprava slikovnega gradiva in stavnice s programom SMART Notebook. Preparing Images and Beting with the Program SMART Notebook

Commissioned by Paul and Joyce Riedesel in honor of their 45th wedding anniversary. Lux. œ œ œ - œ - œ œ œ œ œ œ œ œ œ œ. œ œ œ œ œ œ œ œ œ.

Krmilnik za morski akvarij

DEUS CARITAS EST SATB Choir, Soloist, Organ. œ œ. œœœœœ. œ œœœ œ œ œ

Plačljivo spletno oglaševanje

Firewall Network and Proxy Datasheet

Kvalitativna raziskava med učitelji in ravnatelji

Comfort Pro A Hotel. User Manual

Večuporabniške aplikacije na večdotičnih napravah

Nadgradnja kartografskih baz za potrebe navigacijskih sistemov

User Guide for E-Rez

Designer Pro Uporabniški Priročnik

NAČRTOVANJE IN STRATEGIJA SISTEMA ZA UPRAVLJANJE Z DIGITALNIMI IDENTITETAMI

Jamova cesta Ljubljana, Slovenija Jamova cesta 2 SI 1000 Ljubljana, Slovenia

Izdelava predstavitev - Microsoft PowerPoint ITdesk.info načrtovanje računalniškega e-izobraževanja s prostim dostopom.

PRESENT SIMPLE TENSE

INFORMACIJSKI SISTEM ZA PODPORO UKREPANJU OB KLICU NA 112 Information System to Support Response to 112 Emergency Telephone Calls

ALI UPORABLJAŠ MAPO UČNIH DOSEŽKOV?

Trening z uporabo navidezne resničnosti

SPROTNO UVAŽANJE PODATKOV IZ ODJEMALCA SPLETNEGA POKRA

Hitachi GigE Camera. Installation Manual. Version 1.6

PODATKOVNA BAZA (Uporaba IKT pri poslovanju)

Paradoks zasebnosti na Facebooku

SAS On Demand. Video: Upute za registraciju:

ŠOLSKI CENTER ZA POŠTO, EKONOMIJO IN TELEKOMUNIKACIJE LJUBLJANA

NADGRADNJA INFORMACIJSKEGA SISTEMA NACIONALNEGA STORITVENEGA CENTRA CARINSKE UPRAVE

3D vizualizacija velikih glasbenih zbirk

Installation Guide. Unisphere Central. Installation. Release number REV 07. October, 2015

NAČRTOVALSKI VZORCI ZA UPRAVLJANJE MATIČNIH PODATKOV

KB 2449 CA Wily APM security example: CA SiteMinder for authentication with CA EEM for authorization

UNIVERZA V LJUBLJANI FAKULTETA ZA DRUŽBENE VEDE

SIMPLE PAST TENSE (prosto prošlo vreme) Građenje prostog prošlog vremena zavisi od toga da li je glagol koji ga gradi pravilan ili nepravilan.

NAVODILA ZA PREŽIVETJE

Programski paket Gredos Gredos 10.0 software package

etrust SiteMinder Connector for Oracle Solutions Architecture, Installation and Configuration Guide For UNIX Version 1.6 (Rev 1.

Sistem za daljinski klic na pomoč v domu starejših

Informatika v medijih

HEATHROW S VIP SERVICE

Activity of Faculty of Technical Science in Realization GPS Permanent Stations Networks

Summi triumphum. & bc. w w w Ó w w & b 2. Qui. w w w Ó. w w. w w. Ó œ. Let us recount with praise the triumph of the highest King, 1.

Transcription:

i FAKULTETA ZA ELEKTROTEHNIKO, UNIVERZA V MARIBORU RAČUNALNIŠTVO IN INFORMATIKO 2000 Maribor, Smetanova ul. 17 Diplomska naloga visokošolskega strokovnega študijskega programa KONFIGURIRANJE IN UPORABA ODPRTOKODNEGA TELEF FONSKEGA SISTEMA VOCAL Študent: Mihael PETEK Študijski program: visokošolski strokovni, Elektrotehnika Smer: Telekomunikacije Mentorica: izred. prof. dr. Tatjana KAPUS

ii

iii ZAHVALA Zahvaljujem se mentorici dr. Tatjani Kapus za pomoč in vodenje pri opravljanju diplomske naloge. Posebna zahvala velja staršem, ki so mi omogočili študij, ter ženi za spodbudo.

iv KONFIGURIRANJE IN UPORABA ODPRTOKODNEGA TELEFONSKEGA SISTEMA VOCAL Ključne besede: IP-telefonija, odprtokodna programska oprema, protokol za zagon seje, dodatne storitve, konfiguriranje UDK: 004.7.057.4:621.395(043.2) Povzetek V tej diplomski nalogi smo izvedli in prikazali konfiguriranje odprtokodnega telefonskega sistema VOCAL. VOCAL med drugim teče tudi na operacijskem sistemu Linux. Mi smo uporabili opensuse Linux. Pri VOCAL-u poteka signalizacija preko protokola SIP, vendar s pomočjo pretvornikov oziroma prehodov lahko komunicira tudi z napravami, ki ne govorijo protokola SIP. V nalogi je prikazana postavitev delujočega sistema z nastavitvami za dodatne storitve, ki jih omogoča VOCAL, tako da delujejo na uporabniških agentih VOCAL-a in drugih, če jih primerno konfiguriramo. Da nastavitve res delujejo, smo prikazali s posnetki iz programa Ethereal.

v CONFIGURATION AND USAGE OF OPEN SOURCE TELEPHONY SYSTEM VOCAL Key words: IP telephony, open source software, Session Initiation Protocol, additional services, configuration UDK: 004.7.057.4:621.395(043.2) Abstract In this diploma thesis, we carried out and presented configuration of the open source telephony system called VOCAL. VOCAL runs on different operating systems including Linux. We used the opensuse Linux distribution. VOCAL uses the SIP protocol for signalling, but can talk to devices which do not support SIP through translators or gateways. This diploma thesis describes configuration of a working system with the settings of additional services offered by VOCAL, so that they work on VOCAL user agents and others, if configured correctly. With snapshots from Ethereal it is shown that the settings work.

vi KAZALO KAZALO SLIK... vii KAZALO TABEL... ix UPORABLJENE KRATICE... x 1. UVOD... 1 2. PROTOKOL SIP... 3 2.1 KOMUNIKACIJSKA SPOROČILA SIP... 3 2.2 ELEMENTI OMREŽJA SIP... 5 3. VOCAL... 7 3.1 NAMESTITEV IN KONFIGURIRANJE... 8 3.2 OSNOVNO KONFIGURIRANJE TER PRVI KLIC... 13 3.3 KONFIGURIRANJE SIP UA-JA NA OS WINDOWS TER PRVI KLIC... 17 4. JAVANSKI VMESNIK... 23 4.1 ADMINISTRATORSKI VMESNIK... 24 4.2 TEHNIKOV VMESNIK... 28 4.2.1 Dial plans (Klicni načrti)... 28 4.2.2 Strežniki sistema VOCAL... 31 5. PRIKAZ UPORABE STORITEV... 32 5.1 PREUSMERITEV KLICA... 33 5.2 SKRIJ ŠTEVILKO KLIČOČEGA... 35 5.3 BLOKIRANJE DOHODNIH KLICEV... 37 5.4 VRNITEV KLICA... 40 5.5 ALIASI... 41 5.6 GLASOVNA POŠTA... 43 5.7 KLIC V DRUG SISTEM VOCAL... 48 5.8 BELEŽENJE KLICEV... 52 6. SKLEP... 55 VIRI, LITERATURA... 56 PRILOGE... 57 A) NASLOV ŠTUDENTA... 57 B) KRATEK ŽIVLJENJEPIS... 57 C) IZJAVA... 57

vii KAZALO SLIK Slika 2.1: Osnovni primer izmenjave sporočil SIP... 5 Slika 2.2: Primer komunikacije med različnimi elementi SIP... 6 Slika 3.1: Shema sistema VOCAL... 7 Slika 3.2: Zagonski ekran... 10 Slika 3.3: Izbira jezika... 10 Slika 3.4: Terminalsko okno... 11 Slika 3.5: Strežniki VOCAL... 12 Slika 3.6: Spletni vmesnik prijava... 14 Slika 3.7: Spletni vmesnik urejanje uporabnikov... 14 Slika 3.8: Spletni vmesnik dodaj uporabnika... 15 Slika 3.9: Spletni vmesnik podrobnosti uporabniškega računa... 15 Slika 3.10: Konfiguriranje VOCAL SIP UA ja... 16 Slika 3.11: Ethereal promet preprostega klica SIP... 17 Slika 3.12: X lite konfiguriranje računov, korak 1... 18 Slika 3.13: X lite konfigriranje računov, korak 2... 18 Slika 3.14: X lite konfiguriranje računov, korak 3... 19 Slika 3.15: SJPhone konfiguriranje računov, korak1... 20 Slika 3.16: SJPhone konfiguriranje računov, korak 2... 20 Slika 3.17: SJPhone konfiguriranje računov, korak 3... 20 Slika 3.18: SJPhone konfiguriranje računov, korak 4... 21 Slika 3.19: SJPhone konfiguriranje računov, korak 5... 21 Slika 3.20: Ethereal klic od 2010 do 2020... 22 Slika 4.1: Prijava v javanski vmesnik... 23 Slika 4.2: Javanski vmesnik urejanje uporabnikov... 24 Slika 4.3: Javanski vmesnik dodaj uporabnika... 25 Slika 4.4: Javanski vmesnik konfiguriranje dodatnih storitev... 27 Slika 4.5: Javanski vmesnik za tehnika... 28 Slika 4.6: Klicni načrti... 29 Slika 4.7: Javanski vmesnik nastavitve strežnikov... 31 Slika 5.1: Prikaz uporabljenega sistema... 32 Slika 5.2: X lite preusmeritev klica... 33 Slika 5.3: SJPhone preusmeritev klica... 34 Slika 5.4: Ethereal preusmeritev klica... 34 Slika 5.5: Javanski vmesnik skrij številko kličočega... 35 Slika 5.6: Obvestilo SJphone anonimni klic... 36 Slika 5.7: Ethereal blokiraj anonimne klice... 36 Slika 5.8: Obvestilo SJphone zasedeno... 37 Slika 5.9: Javanski vmesnik blokiraj dohodne klice... 37 Slika 5.10: Ethereal blokiraj dohodni klic... 38 Slika 5.11: Obvestilo SJPhone zavrnitev klica... 38 Slika 5.12: X lite blokiraj dohodni klic... 39 Slika 5.13: Ethereal blokiran klic od uporabnika z X lite... 39

Slika 5.14: Obvestilo X lite blokiran klic... 40 Slika 5.15: Javanski vmesnik vrnitev klica... 40 Slika 5.16: Ethereal vrnitev klica... 41 Slika 5.17: Javanski vmesnik alias... 41 Slika 5.18: X lite alias... 42 Slika 5.19: Obvestilo X lite alias.... 43 Slika 5.20: Ethereal alias... 43 Slika 5.21: Spletni vmesnik nastavitev glasovne pošte... 44 Slika 5.22: Javanski vmesnik preusmeri klic... 44 Slika 5.23: X lite preusmeritev na glasovno pošto... 45 Slika 5.24: SJPhone preusmeritev na glasovno pošto... 46 Slika 5.25: Javanski vmesnik nastavitve strežnika za glasovno pošto... 47 Slika 5.26: Javanski vmesnik klicni načrt nastavitve za glasovno pošto... 47 Slika 5.27: Ethereal glasovna pošta... 48 Slika 5.28: Javanski vmesnik klic v drugi sistem; nastavitev v sistemu 1... 49 Slika 5.29: Javanski vmesnik klic v drugi sistem; nastavitev v sistemu 2... 49 Slika 5.30: Spletni vmesnik nastavitve prehoda v sistemu 1... 50 Slika 5.31: Klicni načrt vnos ključa za klice v sistem 1... 51 Slika 5.32: Klicni načrt digitalni klicni načrt za klice v sistem 2... 51 Slika 5.33: Ethereal klic v drug sistem... 52 Slika 5.34: Nastavitve CDR... 53 Slika 5.35: Datoteka billing.dat... 53 Slika 5.36: Izvleček datoteke billing.dat... 54 viii

ix KAZALO TABEL Tabela 4.1: Znaki, ki se uporabljajo za ključe... 29 Tabela 4.2: Primeri klicnih načrtov... 30

x UPORABLJENE KRATICE ASCII American Standard Code for Information Interchange (ameriški standardni kod za izmenjavo informacij) CD Compact Disk (zgoščenka) CDR Call Detail Record (podatki o klicu) FWD ForWarD (preusmeri) IETF Internet Engineering Task Force (delovna skupina za internetsko inženirstvo) IP Internet protocol (medmrežni protokol) ISDN Integrated Services Digital Network (digitalno omrežje z integriranimi storitvami) MGCP Media Gateway Control Protocol (protokol za krmiljenje medijskih prehodov) PSTN Public Switched Telephone Network (javno komutirano telefonsko omrežje) RADIUS Remote Authentication Dial-In User Service (komutirana uporabniška storitev z oddaljeno overitvijo) RPM Redhat Package Manager (Redhatov upravljalnik paketov) RTP Real-time Transport Protocol (tranportni protokol za realni čas) SIP Session Initiation Protocol (protokol za zagon seje) TDM Time-Division Multiplexing (časovno multipleksiranje) TCP Transmission Control Protocol (protokol za krmiljenje prenosa) UA User Agent (uporabniški agent) UAC User Agent Client (odjemalec uporabniškega agenta) UAS User Agent Server (strežnik uporabniškega agenta) UDP User Datagram Protocol (uporabniški datagramski protokol)

xi UMTS Universal Mobile Telecommunications System (univerzalni mobilni telekomunikacijski sistem) VOCAL Vovida Open Communication Application Library (Vovidina odprta komunikacijska aplikacijska knjižnica) VoIP Voice Over IP (govor preko medmrežnega protokola)

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 1 1. UVOD V zadnjem desetletju je prišlo do sprememb pri načinu komuniciranja. Spremembe so posledica razširitve uporabe interneta in pri tem sodelujočih protokolov, kot je medmrežni protokol (IP Internet Protocol). VoIP (Voice Over IP govor preko medmrežnega protokola) oziroma IP-telefonija pomeni prenos govornega prometa po IP-omrežju, ki je bilo sprva namenjeno paketnemu prenosu podatkov, kasneje pa prirejeno tudi za razširjanje govornega prometa. Sprva je VoIP predstavljal konkurenco za klice v druge države oziroma kontinente zaradi dosti nižje cene. Kasneje se začne uporabljati za vse vrste klicev predvsem zaradi nižje cene in dodatnih brezplačnih storitev, kot so prikazovanje identitete kličočega, posredovanje klica, glasovna pošta, če naštejemo le nekatere. Glavna razlika med običajno telefonijo in IP-telefonijo je pri prenosu govora. Pri običajni telefoniji gre za osnovni koncept, imenovan vodovno preklapljanje, ki je sprva delovalo takole. Ko se je vzpostavil klic med dvema sogovornikoma, so se vodi med njima sklenili in ostali sklenjeni celotni čas trajanja pogovora. Tako da če ste govorili 10 minut, so v bistvu bili samo za vas rezervirani ogromni kilometri bakrenih vodov. To so bile osnove vodovnega preklapljanja in na tem principu je delovalo omrežje PSTN (Public Switched Telephone Network javno komutirano telefonsko omrežje) do 60. let prejšnjega stoletja. Zato so bili klici zelo dragi. V današnjem času se govor digitalizira in tako lahko preko istega voda poteka več pogovorov hkrati tako, da so za vsak pogovor rezervirane določene časovne reže. Ta način imenujemo TDM (Time Division Multiplexing časovno multipleksiranje). Zato je telefonija precej cenejša, vendar še vedno zahteva fiksno pasovno širino. Pri IP-telefoniji se govor prav tako digitalizira, razdeli se pa v paketke, ki pri potovanju od uporabnika do uporabnika v osnovi nimajo vnaprej določene pasovne širine ali poti. Ko pridejo na cilj, se spet sestavijo v celoto in spremenijo v analogni signal [2]. Namen naloge je predstavitev odprtokodnega telefonskega sistema VOCAL in njegovih storitev s teoretičnega ter predvsem praktičnega vidika. Najprej spoznamo protokol SIP (Session Initiation Protocol protokol za zagon seje) in kako s pomočjo le tega deluje IP-

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 2 telefonija, nato pa z VOCAL-om le-to realiziramo in prikažemo delovanje dodatnih storitev. Diplomska naloga je razdeljena na šest poglavij. V drugem poglavju je predstavljen protokol SIP in njegovi komunikacijski elementi ter osnove poteka komunikacije pri IPtelefoniji in VOCAL-u. V tretjem in četrtem poglavju je predstavljen VOCAL, njegova namestitev in konfiguriranje s pomočjo spletnega in javanskega vmesnika ter namestitev in konfiguriranje SIP UA ter izvedba prvega klica. V petem poglavju je predstavljena in opisana uporaba dodatnih storitev in zmožnosti VOCAL-a, kot so posredovanje klica, preusmeritev klica, glasovna pošta, zaračunavanje klicev itd. V zadnjem, sklepnem poglavju so podane bistvene ugotovitve, ki se nanašajo na postavitev VoIP-sistema z VOCAL-om.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 3 2. Protokol SIP SIP je bil razvit kot povezovalni in signalizacijski protokol za vzpostavljanje in ohranjanje ter končevanje realnočasovnih komunikacijskih povezav v IP-omrežju, kot so klici pri IPtelefoniji, multimedijske konference ter povezave drugih avdio in video aplikacij. Razvila ga je skupina IETF (Internet Engineering Task Force delovna skupina za internetsko inženirstvo). Protokol SIP je bil razvit kot zamenjava standarda H.323 in temelji podobno kot protokol HTTP na sporočilih ASCII (American Standard Code for Information Interchange ameriški standardni kod za izmenjavo informacij). SIP je zadolžen za vzpostavitev, ohranjanje in končevanje tako povezav od točke do točke kot večponornih povezav. V okviru takšne povezave se prenašajo podatki o udeležencih, signalizacijski parametri ter podatki o uporabljenih kodekih [6]. Sporočila SIP se lahko prenašajo s protokolom TCP (Transmission Control Protocol protokol za krmiljenje prenosa) ali UDP (User Datagram Protocol uporabniški datagramski protokol), večinoma pa se uporablja protokol UDP. Kot smo omenili, se signalizacija SIP prenaša v okviru sporočil ASCII in tako omogoča neposredno branje sporočil brez dekodiranja. SIP čaka lepa prihodnost, ker se je že prijel pri veliko ponudnikih VoIP pri nas in v svetu, uporablja pa se tudi v omrežju UMTS (Universal Mobile Telecommunications System univerzalni mobilni telekomunikacijski sistem) za signalizacijo pri ponudbi multimedijskih vsebin. 2.1 Komunikacijska sporočila SIP Obstajata dve vrsti komunikacijskih sporočil SIP, zahteve in odzivi. Odzivi vsebujejo tako imenovane statusne kode. Osnovne zahteve pri komunikaciji SIP so: INVITE se uporablja pri vzpostavitvi seje, tip seje je lahko VoIP, video ali podatkovna povezava. Vsebuje parametre o povezavi v obliki sporočila SDP

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 4 (Session Description Protocol protokol za opis seje), ki se nahaja v telesu zahteve, BYE signalizira konec obstoječe povezave, ACK pomeni potrditev sprejema končnega odziva na sporočilo INVITE, CANCEL s tem ukazom lahko prekličemo čakajočo zahtevo, npr. INVITE, OPTIONS služi za poizvedbo o lastnostih udeleženca brez poprejšnje vzpostavitve povezave, REGISTER služi za javljanje kontaktnih informacij udeleženca oziroma overovitev udeleženca v registratorskem strežniku. Odzive oziroma statusne kode lahko razdelimo v šest osnovnih skupin [9]: 1xx (začasni odzivi) kot so 100 Trying, 180 Ringing, 182 Queued, 2xx (uspešno) zahteva je bila sprejeta, razumljena in obdelana, npr. 200 OK, 3xx (preusmeritev) zahteva ni bila v popolnosti obdelana, potrebne so nadaljnje akcije, npr. 302 Moved Temporarily, 4xx (zahteva neuspešna) negativni odzivi, napačna sintaksa, npr. 400 Bad Request, 404 Not Found, 5xx (napaka strežnika) v komunikaciji udeleženi strežnik uporabniškega agenta, zahteve ne more obdelati zaradi motnje v delovanju, npr. 503 Service Unavailable, 6xx (globalna napaka) zahteva ne more biti izvršena zaradi fundamentalnih vzrokov, npr. 600 Busy Everywhere.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 5 Na sliki 2.1 je lepo viden potek izmenjave sporočil komunikacije SIP, ko udeleženec A povabi udeleženca B k pogovoru in ta sprejme povabilo, po končanem pogovoru pa udeleženec B položi slušalko. Slika 2.1: Osnovni primer izmenjave sporočil SIP 2.2 Elementi omrežja SIP Omrežje SIP vsebuje več elementov, ki imajo vsak svojo funkcijo: Uporabniški Agent (UA User Agent) je končna naprava v zvezi in je lahko telefon, osebni računalnik, dlančnik, programski telefon Vsak UA ima lahko dve vlogi, odjemalec uporabniškega agenta (UAC User Agent Client) ali strežnik uporabniškega agenta (UAS User Agent Server). Vsaka naprava je lahko UAC in UAS. Ko pošlje INVITE in čaka na odgovor, se obnaša kot odjemalec, če pa sprejme INVITE, se znajde v vlogi strežnika. Registrator sprejema sporočila REGISTER, ki vsebujejo naslov, uporabniško ime, lokacijo itd., ter jih shranjuje v bazi svojega lokacijskega strežnika, kjer jih lahko prebere proksi strežnik. Registrator ne sodeluje pri komunikaciji SIP.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 6 Proksi strežnik je posrednik, ki se obnaša kot strežnik in kot odjemalec. Njegov namen je, da sprejema zahteve in jih posreduje naprej. Proksi sprejme zahtevo od SIP UA-ja, jo obdela in po potrebi doda usmerjevalne informacije, ki se nahajajo v usmerjevalnih tabelah, zahtevo posreduje naprej do UAS ali drugega proksi strežnika. Preusmeritveni strežnik sprejema trenutni lokacijii uporabnikaa. zahteve in odgovarja z informacijo o Slika 2.2 prikazuje primer komunikacije SIP med različnimi elementi omrežja SIP [1]. Slika 2.2: Primer komunikacije med različnimi elementi SIP

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 7 3. VOCAL VOCAL (Vovida Open Communication Application Library Vovidina odprta komunikacijska aplikacijska knjižnica) je polno funkcionalen odprtokoden sistem IPzato mu telefonije, ki teče na Linuxu ali SUN Solarisu in temelji na protokolu SIP, pravimo tudi strežnik SIP. Preko pretvornikov lahko komunicira tudi z napravami, ki podpirajo H.3233 ali MGCP (Media Gateway Control Protocol protokol za krmiljenje medijskih prehodov). Preko zunanjih prehodov pa se lahko povežemoo v omrežjee PSTN. VOCAL je bil načrtovan tako, da lahko teče na enem PC-ju ali na več. VOCAL je porazdeljen sistem in termin strežnik se nanaša na programski modul, ki teče na določenem osebnem računalniku. Porazdeljenost je dobra za velika omrežja, ker imamo lahko kopijo enega tipa strežnika na več računalnikih zaradi redundance. Shema VOCAL-a in povezljivosti je podana na sliki 3.1 [10]. Slika 3.1: Shema sistema VOCAL

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 8 Vrste strežnikov VOCAL so naslednje: razvrščevalni strežnik (»marshal server«) je implementacija proksi strežnika SIP in je vstopna točka za vse signale SIP, ki gredo skozi VOCAL. Razvrščevalni strežnik skrbi za overovitev, posredovanje in obračunavanje. preusmeritveni strežnik (»redirect server«) je implementacija kombinacije preusmeritvenega, registratorskega in lokacijskega strežnika SIP. V njem so shranjene informacije o kontaktih in klicnih načrtih. strežnik podatkov o klicih (»CDR server«) sprejema podatke o klicih od razvrščevalnega strežnika in jih preoblikuje v format, primeren za prenos in obdelavo v obračunskih sistemih. strežnik govorne pošte (»voice mail server«) skrbi za to, da so lahko sporočila v obliki wav poslana po elektronski pošti. strežnik dodatnih storitev (»feature server«) je še ena od implementacij proksi strežnika SIP in skrbi za dodatne storitve, kot sta preusmerjanje klicev in blokiranje klicev. Poznamo dve vrsti prehodov v VOCAL-u, in sicer: rezidenčni prehod (»residential gateway«) pretvarja analogne signale v pakete IP, tako da lahko naročniki z analognimi napravami kličejo in sprejemajo klice iz omrežja SIP. spojni prehod (»trunking gateway«) omogoča omrežju SIP, da vzpostavlja klice s končnimi točkami omrežja PSTN. 3.1 Namestitev in konfiguriranje Kot že povedano, lahko VOCAL namestimo na Linux ali drug operacijski sistem. Odločili smo se za namestitev na opensuse Linux 10.1, in sicer 64-bitno različico, ki bo tekla na navideznem gostiteljskem računalniku. Namestili smo verzijo VOCAL-a 1.5.0. Vsa

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 9 uporabljena programska oprema je prosto dostopna na spletu. Pri namestitvi je potrebno paziti na določene posebnosti, ki bodo navedene sproti. Potrebno programsko opremo dobimo na spletu, in sicer: opensuse Linux dobimo na http://www.opensuse.org/. programsko opremo za virtualizacijo (VMware Server) dobimo na http://www.vmware.com. pakete VOCAL RPM (Redhat Package Manager Redhatov upravljalnik paketov), primerne za opensuse, dobimo na http://rpm.pbone.net/. Na domači spletni strani VOCAL-a www.vovida.org so paketi le za precej starejše distribucije Linuxa. Potrebujemo naslednje pakete:»vocalbin-1.5.0-191.i586.rpm«,»vocalbin-tools-1.5.0-191.i586.rpm«ter»sipset-1.5.0-191.i586.rpm«. Potek namestitve sistema: Najprej namestimo VMware Server, katerega namestitev poteka kot za vsako Windows aplikacijo. Po namestitvi Vmware Serverja s pomočjo čarovnika tvorimo navidezni gostiteljski računalnik, na katerega bomo namestili opensuse Linux [8]. Nato vstavimo zagonski CD opensuse Linux in ponovno poženemo navidezni gostiteljski računalnik. Od tu naprej poteka inštalacija Linuxa opensuse kot na običajnem osebnem računalniku. Primer instalacije opensuse Linuxa je prikazan v nadaljevanju.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 10 Po zagonu navideznega gostiteljskega računalnika se nam pokaže zagonski ekran, kot je prikazano na sliki 3.2. Slika 3.2: Zagonski ekran Izberemo»Installation«in pritisnemo enter. V naslednjem koraku izberemo jezik (slika 3.3). Slika 3.3: Izbira jezika

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 11 V nadaljevanju sledimo navodilom na ekranu, da dokončamo instalacijo [3]. Instaliramo privzeti opensuse Linux ter dodatne pakete, ki so: strežnik Apache, prevajalnik gcc, imap_lib, pearl_net_ssleay. Po uspešni namestitvi Linuxa se lotimo namestitve in konfiguriranja VOCAL-a. V terminalsko okno Linuxa (slika 3.4) se prijavimo kot korenski uporabnik ter najprej namestimo pakete RPM z naslednjimi ukazi: RPM -U vocalbin-1.5.0-191.i586.rpm (strežnik VOCAL), RPM -U vocalbin-tools-1.5.0-191.i586.rpm (doda javanski grafični vmesnik za konfiguriranje), RPM -U sipset-1.5.0-191.i586.rpm (doda grafično verzijo SIP UA-ja). Slika 3.4: Terminalsko okno

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 12 Z zgornjimi ukazi smo namestili ustrezne pakete, ki jih je treba še konfigurirati. Najprej konfiguriramo VOCAL tako, da tečejo vsi strežnikii na enem PC-ju. To storimo z ukazom v oknu terminala: /opt/ vocal/bin/allinoneconfigure/allinoneconfigure Pognal se bo skript, in na vsa vprašanja lahko pustimo privzet oziroma ponujen odgovor. Če bo vse potekalo v redu, bomo na koncu videli obvestilo: "Congratulations: you have successfully installed VOCAL! " Potem ko skript»allinoneconfigure«konča delo, preverimo status VOCAL-a z ukazom: /opt/ vocal/bin/vocalctl status Ta ukaz nam prikaže strežnike in pripadajoča vrata, na katerih tečejo (slika 3.5). Slika 3.5: Strežnikii VOCAL

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 13 Teči morajo strežniki, kot je prikazano na sliki 3.5, in tedaj lahko preverimo, ali naša instalacija deluje, z ukazom: /opt/vocal/bin/verifysip -a ki bo tvoril dva uporabnika, in sicer test1000 in test1001, ter poklical od test1000 do test1001 in ju nato pobrisal za sabo. Ukaz bo najprej zahteval vnos gesla, ki smo ga določili pri konfiguriranju. Če smo ga slučajno pozabili, moramo zagnati allinoneconfigure z opcijo -a, da določimo novo geslo. Če je z našo instalacijo vse v redu, bomo na koncu dobili izpis [10]:»VOCAL basic call test passed«sedaj lahko s pomočjo spletnega vmesnika dodamo uporabnike in vzpostavimo prvi klic. Za naprednejše konfiguriranje in administriranje VOCAL-a moramo uporabiti javanski vmesnik, ki ga poženemo z : /opt/vocal/bin/provgui linux-vc 6005 vendar moramo pred tem popraviti dve spremenljivki v skriptu /opt/vocal/bin/provgui, in sicer: 1. VOCAL_BASE_CONFIGURED=/opt/vocal 2. JAVA_BIN=/usr/lib/jvm/jre/bin/java Šele ko smo popravili skript, se nam bo javanski vmesnik pognal. 3.2 Osnovno konfiguriranje ter prvi klic Preden sistem lahko začnemo uporabljati, moramo tvoriti uporabnike. To najpreprosteje storimo preko spletnega vmesnika. Odpremo spletni brskalnik in vpišemo naslov: http://ip_naslov_vocal/vocalconf/webconf.cgi Prikaže se spletna stran, kot prikazuje slika 3.6.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 14 Slika 3.6: Spletni vmesnik prijava Vpišemo uporabniško ime in geslo, ki smo ga izbrali pri namestitvi VOCAL-a, in pojavi se vmesnik za urejanje uporabnikov (slika 3.7). Slika 3.7: Spletni vmesnik urejanje uporabnikov

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 15 S klikom na»add user«se pojavi okno za dodajanje uporabnikov (slika 3.8); vnesemo lahko le številke od 1000 naprej. Slika 3.8: Spletni vmesnik dodaj uporabnika Ko tvorimo uporabnika, lahko določimo še nekatere podrobnosti njegovega računa v obrazcu, prikazanem na sliki 3.9. Slika 3.9: Spletni vmesnik podrobnosti uporabniškega računa

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 16 Polja: Use Password pomeni, da se prijava preverja z geslom, Enable Voicemail vklop storitve glasovna pošta, Voicemail Email Address e-poštni naslov, kamor naj se pošilja glasovna pošta, Use custom greeting kljukica za vklop svojega pozdrava v glasovni pošti, Upload custom greeting shranimo svoj pozdrav za glasovno pošto. Na Linuxu moramo sedaj samo še pognati grafično verzijo SIP UA-ja, vpisati parametre in že lahko izvedemo prvi klic. Kot je prikazano na sliki 3.10, z ukazom /opt/vocal/bin/sipset poženemo aplikacijo nato izberemo»settings«in»basic Configuration«ter vpišemo uporabniško ime in SIP proksi strežnik, torej naslov IP našega strežnika VOCAL. Geslo vpišemo le, če smo ga določili pri tvorjenju uporabnika.. Slika 3.10: Konfiguriranje VOCAL SIP UA-ja

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 17 Zelena kljukica v spodnjem desnem kotu pomeni, da smo se uspešno prijavili v naš sistem VOCAL in lahko kličemo. V prazno polje vpišemo uporabniško ime tistega, ki ga želimo poklicati, in pritisnemo tipko»talk«. Na sliki 3.11 je posnetek uspešne vzpostavitve klica uporabnika 2200 k uporabniku 2100 s programom Ethereal. Slika 3.11: Ethereal promet preprostega klica SIP 3.3 Konfiguriranje SIP UA-ja na OS Windows ter prvi klic V prejšnjem poglavju je bil prikazan preprost klic s pomočjo VOCAL SIP UA-ja. Sedaj bomo najprej pogledali namestitev in konfiguriranje dveh drugih SIP UA-jev oziroma programskih telefonov. X-lite Je izdelek podjetja CounterPath in je brezplačno na voljo na njegovi spletni strani www.counterpath.com. Sama namestitev ni nič posebnega, zato se bomo osredotočili na konfiguriranje. Poženemo X-lite in potem z desnim klikom miške prikličemo dodatni meni in izberemo»sip Account Settings«(slika 3.12).

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 18 Slika 3.12: X-lite konfiguriranje računov, korak 1 Pokaže se meni, kjer pritisnemo gumb»add«, kar prikazuje slika 3.13.. Slika 3.13: X-lite konfigriranje računov, korak 2

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 19 Pokaže se meni z več zavihki, osredotočimo se na prvi zavihek»account«(slika 3.14). Slika 3.14: X-lite konfiguriranje računov, korak 3 Izpolnimo polji»user name«in»domain«, kjer vpišemo uporabniško ime ter naslov IP našega strežnika VOCAL [5]. SJPhone Je izdelek podjetja SJLabs in je brezplačno na voljo na njegovi spletni strani www.sjlabs.com. Ob prvem zagonu se lotimo konfiguriranja računa. Najprej kliknemo»menu«in potem v novem meniju»options«, kot prikazujeta sliki 3.15 in 3.16,

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 20 Slika 3.16: SJPhone konfiguriranje računov, korak 2 Slika 3.15: SJPhone konfiguriranje računov, korak1 kliknemo gumbek»new«(slika 3.16) in v novem meniju (slika 3.17) vpišemo ime profila ter kliknemo gumb»ok«. Slika 3.17: SJPhone konfiguriranje računov, korak 3

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 21 V naslednjem oknu, prikazanem na sliki 3.18, izberemo zavihek»initialization«ter odkljukamo polja, ki so potrebna za avtorizacijo uporabnika, se pravi»account«ter geslo, če smo tako določili v strežniku VOCAL. Če odkljukamo ustrezna polja v stolpcu»inquired«, pomeni, da bo program zahteval vnos odkljukanih podatkov, vendar nam jih ni potrebno vnesti. Odkljukana polja v stolpcu»required«pa pomenijo obvezen vnos zahtevanih podatkov. Na zavihku»sip Proxy«vnesemo samo naslov IP našega SIP proksi strežnika v polje»domain/realm«(slika 3.19) [7]. Slika 3.18: SJPhone konfiguriranje računov, korak 4 Slika 3.19: SJPhone konfiguriranje računov, korak 5

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 22 Ko smo oba programska telefona uspešno konfigurirali, lahko pričnemo s klicanjem, tako da dvignemo slušalko in vtipkamo številko našega sogovornika. Na sliki 3.20 je prikazan promet uspešne vzpostavitve klica od uporabnika X-lite 2010 z naslovom IP 192.168.1.5 na SJPhone k uporabniku 2020 z naslovom IP 192.168.1.11 preko sistema VOCAL z naslovom IP 192.168.1.103. Iz slike 3.20 je razvidno, da gre ves promet preko naslova IP 192.168.1.103, kar je naš sistem VOCAL, ki v tem primeru deluje kot proksi strežnik. Slika 3.20: Ethereal klic od 2010 do 2020

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 23 4. JAVANSKI VMESNIK Javanski grafični vmesnik uporabljamo za urejanje naprednejših nastavitev VOCAL-a. Poženemo ga tako, da se prijavimo v Linux kot korenski uporabnik in v terminalskem oknu vpišemo ukaz /opt/vocal/bin/provgui linux-vc 6005, kjer je»linux-vc«ime sistema Linux,»6005«pa vrata, na katerih teče javanski vmesnik. Slika 4.1: Prijava v javanski vmesnik Takoj ob zagonu se pojavi prijavno okno (slika 4.1), v katerem se odločimo, ali se bomo prijavili kot administrator ali kot»techician«oziroma tehnik. Vmesnik za administratorja je namenjen upravljanju uporabnikov (dodajanje, brisanje, spreminjanje uporabniških nastavitev). Vmesnik za tehnika pa je namenjen konfiguriranju sistema VOCAL. Uporabniško ime in geslo sta takšna, kot smo ju določili na začetku ob nameščanju.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 24 4.1 Administratorski vmesnik Po prijavi se nam pokaže vmesnik za urejanje uporabnikov (slika 4.2). Slika 4.2: Javanski vmesnik urejanje uporabnikov Gumbi: Back nas vrne v meni za prijavo, Find iščemo obstoječe uporabnike, Load all users pokaže informacije za vse uporabnike v vseh poljih. Desni klik z miško v polju ali na uporabniku pokaže meni urejanja uporabnika ob pogoju, da je odkljukano polje»show admin data«: View pokaže informacije v vseh poljih za določenega uporabnika, Edit vmesnik za urejanje nastavitev uporabnika, Delete izbriše uporabnika, New prikliče meni za dodajanje uporabnika (slika 4.3).

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 25 Slika 4.3: Javanski vmesnik dodaj uporabnika V polja na sliki 3.3, ki so razdeljena v skupine, vnesemo naslednje podatke: Name ime uporabnika; uporabimo lahko alfanumerične znake. Imena po vnosu ne moremo več spremeniti. Group skupina, v kateri se nahaja uporabnik; nima posebnega pomena, razen da jih administrator uredi zaradi preglednosti. Polja skupine»marshal«: Group lahko izberemo skupino razvrščevalnih strežnikov, če bi jih imeli več. V našem primeru pustimo, kot je privzeto, ker imamo samo eno skupino.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 26 Authentication Type izberemo način prijave uporabnika v sistem: o None brez preverjanja, o Access List uporabniki se preverjajo s primerjavo njihovega naslova IP ter naslova, vpisanega v polju»ip«, o Digest uporabniki se preverjajo z geslom; vpišemo ga v polje»password«. Polja za omogočanje/onemogočanje vklopa storitev: Block Phone Number Display skrij ali prikaži svojo številko, Forward All Calls preusmeritev vseh klicev, Screen Incoming Calls blokiranje nezaželenih dohodnih klicev z liste telefonskih številk, Block Long Distance blokiranje medkrajevnih klicev deluje samo v ZDA, Forward Busy or Unanswered Calls preusmeri klic, ko je zasedeno ali ni odgovora, Return Calls avtomatsko pokliče nazaj na zadnjo številko, s katere je bil klic, z vnosom posebne kode. Gumb»Change Password«v verziji 1.5 nima več pomena. Če pa imamo v vmesniku za konfiguriranje odkljukano polje»show user data«(slika 4.2), z desnim miškinim klikom na uporabnika prikličemo meni za konfiguriranje omogočenih storitev (slika 4.4). Nekatere med njimi lahko uporabniki vklapljajo/izklapljajo tudi preko svojih programskih telefonov.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 27 Slika 4.4: Javanski vmesnik konfiguriranje dodatnih storitev Polja: Aliases aliasi ali druga imena; dodamo jih z desnim miškinim klikom, Block Phone Number Display kljukica na»set«za vklop, Forward All Calls kljukica na»set«ter vpis številk oziroma uporabnika, kamor naj se preusmerijo klici, v polje»forward To«, Screen Incoming Calls desni klik in dodamo uporabnike oziroma telefonske številke, za katere smo nedosegljivi, Forward Busy or Unanswered Calls kljukica na»forward Unanswered«oziroma»Forward Busy«ter vpis številk oziroma uporabnika, kamor naj se preusmerijo klici, v polje»forward To«.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 28 4.2 Tehnikov vmesnik Do vmesnika za tehnika pridemo, če v oknu po priklicu javanskega vmesnika (slika 4.1) izberemo»technician«ter vpišemo uporabniško ime in geslo. Prikaže se zaslon, kot ga vidimo na sliki 4.5. Slika 4.5: Javanski vmesnik za tehnika V tem vmesniku nastavljamo razne parametre sistema VOCAL. Vmesnik je razdeljen na mape in podmape, ki vsebujejo parametre za določeno skupino nastavitev. Opisali bomo za nas najpomembnejše. 4.2.1 Dial plans (Klicni načrti) Klicni načrti se uporabljajo, ko želimo poklicati nekoga, ki ni registriran v našem sistemu. Takrat preusmeritveni strežnik pogleda v klicni načrt, kam naj se klic preusmeri. VOCAL pozna dva tipa klicnih načrtov, klicne načrte IP in digitalne klicne načrte, za katere sta organiziranost in sintaksa popolnoma enaka, razlika je le v tem, da se digitalni

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 29 klicni načrti uporabljajo, ko gre za telefonske številke, klicni načrti IP pa, ko operiramo z naslovi v formatu SIP, kot na primer sip:uporabnik@domena.si. Klicni načrti so organizirani kot tabela indeksov, ključev in kontaktov. Indeks pomeni prioriteto zapisa v tabeli, ključ predstavlja pričakovani vzorec klicanja, kontakt pa predstavlja usmerjevalne informacije (slika 4.6). Vsak ključ ima lahko več kontaktov, kar pomeni, da se najprej povezava poskuša vzpostaviti preko prvega, in če je vzpostavitev neuspešna, se poskuša preko drugega kontakta in tako naprej. Slika 4.6: Klicni načrti Za ključe se uporabljajo regularni izrazi, ki so sestavljeni iz posebnih znakov, podanih v tabeli 4.1. Tabela 4.1: Znaki, ki se uporabljajo za ključe simbol opis [ ] Označuje veljavno območje. Na primer: [3-5]11 pomeni 311, 411 in 511.. Pomeni katerikoli znak razen nova vrstica.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 30 { } Označuje množitelj. Na primer:.{10} pomeni 10 znakov. Pomeni, da se lahko predhodni izraz ponovi, kolikorkrat je potrebno. Na primer: 011.* pomeni 011,ki mu sledi neomejeno število kakršnihkoli znakov. * Označuje, da je potrebno vsaj eno ujemanje s predhodnim regularnim izrazom. Na primer:1[01]+2 se ne ujema z 12, ampak s 102, 112 in s katerimkoli drugim izrazom, ki se ujema z 1[10]*2. + Označuje, da je potrebno ničelno ali eno ujemanje s prejšnjim izrazom. Na? primer: 1[01]?2 pomeni 12 ali 102 ali 112 in nič drugega. \ Pomeni dobesedno ta izraz. Na primer: \*69 pomeni klicati "* 6 9". To ni poseben znak, ampak mehanizem v sistemu VOCAL, ki omogoča popolno določitev telefonskih številk. Znak @ se pojavlja na koncu uporabniškega dela SIP URI. Na primer: 0@ pomeni, da je 0 klicana sama. Izraz 0@ ne označuje daljših številk, ki se začnejo z 0, kot so tiste za mednarodne klice. @ ^ Začetek vrste. $ Konec vrste. Se uporablja podobno kot zamenjave v Perlu. Vse med () je lahko zamenjano v polju Kontakt. Prvi niz v oklepajih () se lahko zamenja z $1, drugi pa z $2, itd. () Primeri klicnih načrtov so podani v tabeli 4.2. Tabela 4.2: Primeri digitalnih klicnih načrtov ključ kontakt opis sip:$user@92.168.116.110:5 Ko uporabnik kliče 311, 411, 511, 611, 711 ali ^sip:[3-8]11@ 06 0;user=phone 811, je njegov klic posredovan prehodu. Ko uporabnik pokliče 10-mestno številko, na sip:1$user@192.168.116.11 primer področno kodo + lokalno številko, sistem ^sip:.{10}@ 0:5 060;user=phone doda 1 na začetku niza in potem posreduje klic prehodu. To se uporablja za vrnitev klica. ^sip:[0-9]{10}@ ^sip:011.* ^sip:1.{10}@ ^sip:.{7}@ sip:1$user@192.168.116.11 0:5 060;user=phone sip:$user@192.168.116.110: 50 60;user=phone sip:$user@192.168.116.110: 50 60;user=phone sip:$user@192.168.116.110: 50 60;user=phone To je enako kot zgornji primer, le da morajo tukaj vsi klicni znaki biti številke. Ko uporabnik pokliče 011 in sledi poljubno število kakršnihkoli znakov, sistem posreduje klic prehodu. To se uporablja za mednarodne klice. Ko uporabnik pokliče 1 in sledi 10-mestna telefonska številka, se klic posreduje prehodu. Ko uporabnik pokliče 7-mestno telefonsko številko, se klic posreduje prehodu.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 31 ^sip:7000@ sip:9999@192.168.116.220:50 78 ;user=phone Ko uporabnik pokliče 7000, sistem posreduje klic do uporabniškega agenta za glasovno pošto. To se uporablja za storitev preusmeritve klica. Dejanska številka za uporabniški agent glasovne pošte ni nujno»7000«. V tem primeru je»9999«. ^sip:0@ sip:$user@192.168.116.110: 50 60;user=phone Ko uporabnik pokliče 0, sistem posreduje klic prehodu. To se uporablja za klicanje operaterja v lokalnem omrežju. Uporaba klicnih načrtov bo prikazana v poglavju 5 na primeru klica v drug sistem VOCAL. 4.2.2 Strežniki sistema VOCAL Nastavitve vseh strežnikov sistema VOCAL so si podobne. Pri vseh lahko več ali manj nastavimo naslov IP in pa vrata, na katerih posluša. Primer je podan na sliki 4.7. Slika 4.7: Javanski vmesnik nastavitve strežnikov Opis konkretnih nastavitev za potrebe določenih storitev sledi v naslednjem poglavju.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 32 5. PRIKAZ UPORABE STORITEV Uporaba storitev bo opisana na podlagi sistema na sliki 5.1, iz katere je razvidno, da na osebnem računalniku z naslovom IP 192.168.1.5 teče več navideznih računalnikov s sistemi VOCAL, ki imajo vsak svoj naslov IP. Prav tako so bili na osebnem računalniku nameščeni različni SIP UA-ji. UA-ji imajo vedno naslov IP osebnega ali navideznega računalnika, na katerem tečejo. Osebni računalnik z nameščenimi navideznimi računalniki je bil preko lokalnega omrežja povezan z drugim osebnim računalnikom, na katerem so tekli različni SIP UA-ji na naslovu IP 192.168.1.11. Na tem sistemu je bila izvedena celotna naloga. Uporabniki, v nadaljevanju uporabljeni za predstavitev določene storitve VOCAL-a, nimajo nujno povezave z uporabniki, ki so služili za prikaz neke druge storitve. Slika 5.1: Prikaz uporabljenega sistema

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 33 5.1 Preusmeritev klica Najprej moramo uporabniku omogočiti to storitev preko administratorskega javanskega vmesnika, tako da odkljukamo polje»forward All Calls«. Na ta način si lahko uporabnik sam preko menija programskega telefona vklopi ali izklopi to storitev ter določi, na katero številko naj se preusmeri klic. Če pa v javanskem vmesniku v polje»forward To«vpišemo številko, na katero želimo klic preusmeriti, potem uporabnik preko programskega telefona ne more vplivati na to storitev, ampak velja, kar je določeno v javanskem vmesniku. Prikaz nastavitev preusmeritve klica na programskih telefonih: X-lite: desni klik SIP Account Settings Properties zavihek Voicemail polje»forwarding«nastavimo, kot prikazuje slika 5.2. Slika 5.2: X-lite preusmeritev klica SJPhone (slika 5.3): levi klik na gumb FWD in odkljukamo polje»unconditional«ter vpišemo, na katero številko naj se preusmerijo vsi klici.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 34 Slika 5.3: SJPhone preusmeritev klica V administratorskem javanskem vmesniku lahko odkljukamo tudi polje»forward Unanswered Or Busy Call«ter v polju»forward To«določimo, kam naj se klic preusmeri, če je klicani zaseden ali klic neodgovorjen. Na programskih telefonih lahko v istih menijih, kot je prikazano na slikah 5.2 in 5.3, vklopimo tudi te vrste preusmeritve klica. Na sliki 5.4 je prikaz prometa SIP, ko uporabnik 3000 (IP 192.168.1.104) kliče uporabnika 3100 (IP 192.168.1.5), ta pa ima nastavljeno brezpogojno preusmeritev k uporabniku 3200 (IP 192.168.1.11). Zato uporabniku 3000 preko SIP proksija z naslovom IP 192.168.1.103 pošlje status 302 Moved Temporarily in klic se preusmeri k uporabniku 3200. Slika 5.4: Ethereal preusmeritev klica

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 35 5.2 Skrij številko kličočega Uporabniku omogočimo to storitev v javanskem vmesniku za administratorja, tako da odkljukamo polje»block Phone Number Display«ter polje»set«, ki vklopi storitev, ker uporabljeni programski telefoni ne omogočajo vklopa skrivanja številke (slika 5.5). Slika 5.5: Javanski vmesnik skrij številko kličočega Na sliki 5.6 vidimo primer, ko uporabnik 3100 (IP 192.168.1.5), ki ima skrito številko, kliče uporabnika 3200 (IP 192.168.1.11), in temu se pokaže pojavno okno programskega telefona, iz katerega je razvidno, da je klican z neznane številke, kar mu sporoča proksi strežnik (IP 192.168.1.103).

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 36 Slika 5.6: Obvestilo SJphone anonimni klic Če nočemo, da nas dosežejo anonimni klici, imamo v SJPhone možnost, da jih blokiramo, in sicer gremo v meni ter kliknemo na»reject anonymous calls«. Te storitve ni potrebno posebej vklopiti v javanskem vmesniku za administratorja, ampak jo omogoča programski telefon. Ob vklopu»reject anonymous calls«dobi kličoči sporočilo, da je klicani uporabnik zaseden. To je razvidno iz prometa SIP na sliki 5.7. Slika 5.7: Ethereal blokiraj anonimne klice

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 37 Kličočega prav tako obvesti njegov programski telefon s pojavnim oknom, kot prikazuje slika 5.8. Slika 5.8: Obvestilo SJphone zasedeno 5.3 Blokiranje dohodnih klicev To storitev uporabimo, ko nočemo prejemati klicev določenih uporabnikov. Omogočimo jo v javanskem administratorju, in sicer odkljukamo polje»screen Incoming Calls«(slika 5.9). Tukaj lahko prav tako že dodamo uporabnike, katerih klicev nočemo prejemati. Slika 5.9: Javanski vmesnik blokiraj dohodne klice Uporabniku 3200 smo v javanskem administratorskem vmesniku vklopili storitev blokiranja dohodnih klicev in blokirali klic od uporabnika 2100. Na sliki 5.10 je prikaz prometa SIP pri vklopljeni storitvi blokiranja dohodnih klicev.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 38 Slika 5.10: Ethereal blokiraj dohodni klic Iz posnetka prometa SIP v Etherealu je razvidno, da kličoči dobi odziv s statusom»403 Forbidden«, kar se mu tudi izpiše na programskem telefonu (slika 5.11). Slika 5.11: Obvestilo SJPhone zavrnitev klica Dohodne klice pa lahko blokiramo tudi neposredno preko programskega telefona X-lite, ne da omogočimo storitev v VOCAL-u. To storimo tako, da desno kliknemo na programski telefon»privacy Rules«in potem v naslednjem oknu kliknemo gumb»add«in vpišemo številko uporabnika, katerega klice želimo blokirati, kot prikazuje slika 5.12.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 39 Slika 5.12: X-lite blokiraj dohodni klic Promet klica, ko je uporabnik 3100 (IP 192.168.1.11) blokiral klice od uporabnika 2100 (IP 192.168.1.5) v programskem telefonu X-lite, je prikazan na sliki 5.13. Slika 5.13: Ethereal blokiran klic od uporabnika z X-lite

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 40 Kot je razvidno iz izvlečka prometa na sliki 5.13, je v tem primeru kličoči dobil odziv s statusom»603 Decline«, kar mu prikaže tudi njegov telefon (slika 5.14). Slika 5.14: Obvestilo X-lite blokiran klic 5.4 Vrnitev klica Storitev vrnitev klica pomeni, da če imamo zgrešen klic, lahko z vnosom posebne kode pokličemo uporabnika, katerega klic smo zgrešili, nazaj. Posebna koda pri VOCAL-u je *69. Storitev se vklopi v javanskem administratorskem vmesniku, tako da odkljukamo polje»return Calls Enabled«(slika 5.15). Slika 5.15: Javanski vmesnik vrnitev klica Na sliki 5.16 je prikazan promet SIP za naslednji primer. Uporabnik 2020 z naslovom IP 192.168.1.5 ima vklopljeno funkcijo vrnitev klica. Na ekranu telefona vidi zgrešen klic od uporabnika 3100, ki ima naslov IP 192.168.1.11 in vtipka *69, kar se na VOCAL-u (naslov IP 192.168.1.103) spremeni v 3100 in pri tem pri uporabniku 3100 začne zvoniti telefon.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 41 Slika 5.16: Ethereal vrnitev klica 5.5 Aliasi Aliasi oziroma druga imena se uporabljajo zato, da uporabniku, ki je v sistemu VOCAL podan pod številko, določimo tudi prijazno ime in klicani uporabnik potem to ime vidi na ekranu svojega telefona, ali obratno. En uporabnik ima lahko več aliasov. Aliase določimo v javanskem administratorskem vmesniku. Kot primer vidimo na sliki 5.17, da sta za uporabnika»gabi«določena aliasa Marketing in 3000. Alias določimo tako, da desno kliknemo miško v polju»aliases«in potem v novem oknu kliknemo»add«in vpišemo alias. Slika 5.17: Javanski vmesnik alias

Konfigguriranje in upo oraba odprtoko odnega telefon nskega sistema VOCAL 42 Prikaaz nastavitev prijave z aliasi v proggramskih teelefonih je podan p spodaaj. V X-lite X pod nastavitvam n mi računa vpišemo v zaa uporabnikka Gabi alias Marketting pod»dipplay Name««. Potem see nam to im me tudi prik kaže na ekrranu telefonna. Alias Marketing M moraamo vpisati tudi v poljee»user Nam me«, s katerrim se prijavvimo v VOC CAL (slika 5.18). Slikka 5.18: X-litee alias Če sedaj s Gabi pokliče neekega uporaabnika, na primer 31000, potem bo ta uporrabnik v pojavvnem oknu zagledal, daa ga kliče uporabnik u Marketing M (slika 5.19).

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 43 Slika 5.19: Obvestilo X-lite alias. Če sedaj pogledamo posnetek prometa zgornjega klica, vidimo, da se uporabnik Gabi v signalizaciji SIP predstavlja kot Marketing (slika 5.20). Slika 5.20: Ethereal alias 5.6 Glasovna pošta Glasovno pošto uporabljamo, ko nismo dosegljivi ali pa nočemo biti moteni, da nam kličoči lahko pusti sporočilo v našem poštnem predalu, ki se nam potem posreduje na naš e-poštni račun.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 44 Najprej v spletnem vmesniku odkljukamo polje»enable Voicemail«. Vpišemo e-poštni naslov, na katerega naj se nam pošiljajo sporočila. Imamo tudi možnost, da uporabimo svoje pozdravno sporočilo, ki mora biti posneto v formatu wav. Nastavitve so prikazane na sliki 5.21. Slika 5.21: Spletni vmesnik nastavitev glasovne pošte V javanskem administratorskem vmesniku moramo omogočiti storitev posredovanja klica, če je uporabnik zaseden oziroma klic ni odgovorjen. To storimo tako, da odkljukamo polje»enabled«, kot kaže slika 5.22. Slika 5.22: Javanski vmesnik preusmeri klic Če odkljukamo tudi»forward Unanswered«ter»Forward Busy«in v polje»forward To:«vpišemo sip:7000, se bodo neodgovorjeni in zasedeni klici preusmerili na glasovno pošto, ki jo v sistemu VOCAL predstavlja uporabnik 7000. Drugače pa lahko ta dva parametra

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 45 nastavljamo tudi v programskih telefonih. V X-lite to storimo tako, da v»sip Account Settings«izberemo zavihek Voicemail in izpolnimo polja, kot prikazuje slika 5.23, kar pomeni, da se bo klic po treh sekundah preusmeril na glasovno pošto. Slika 5.23: X-lite preusmeritev na glasovno pošto V SJPhone preusmeritev na glasovno pošto nastavimo tako, da kliknemo Menu Options zavihek Profiles gumb Edit zavihek Advanced in v okvir»voice mail number or address«vpišemo 7000 (slika 5.24).

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 46 Slika 5.24: SJPhone preusmeritev na glasovno pošto Preden lahko začnemo uporabljati glasovno pošto, pa moramo popraviti dva skripta v sistemu VOCAL, in sicer: /opt/vocal/bin/voicemail/sendmime.sh /opt/vocal/bin/voicemail/sendmessage.sh Odpremo ju z urejevalnikom besedil, poiščemo spremenljivko VOCAL_BASE in jo nastavimo na VOCAL_BASE=/opt/vocal/. V javanskem vmesniku za tehnika preverimo, ali je pravilno konfiguriran strežnik za glasovno pošto in pa klicni načrt. Poženemo javanski vmesnik in gremo na»servers«ter»featureservers«in»servertypevoicemailgroup«in pogledamo, ali sta»hostname«in»port«nastavljena na IP našega proksi strežnika in vrata 5110 (slika 5.25).

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 47 Slika 5.25: Javanski vmesnik nastavitve strežnika za glasovno pošto Pod klicnimi načrti preverimo, ali imamo nastavljen klicni načrt za preusmeritev klica številke 7000 na strežnik za glasovno pošto, ki teče na vratih 5110 (slika 5.26). Slika 5.26: Javanski vmesnik klicni načrt nastavitve za glasovno pošto

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 48 Ko smo vse potrebno nastavili, lahko poskusimo uporabiti preusmeritev klica na glasovno pošto. Na posnetku iz programa Ethereal (slika 5.27) vidimo primer, ko se je klic uporabnika po treh sekundah preusmeril na glasovno pošto. Slika 5.27: Ethereal glasovna pošta 5.7 Klic v drug sistem VOCAL Telefonija postane še bolj uporabna, če lahko pokličemo uporabnika, ki je zunaj našega sistema, na primer v omrežju PSTN ali pa v drugem omrežju IP-telefonije. Podan bo primer klica uporabnikov, ki sta registrirana v dveh različnih sistemih VOCAL. Najprej moramo sistem konfigurirati tako, da lahko prejema klice iz drugega sistema oziroma jih preusmerja v drug sistem. Uporabimo javanski vmesnik in se prijavimo kot tehnik. Pod mapo»servers«poiščemo»marshalservers«in potem»servertype Gateway«. Tukaj ustvarimo nov zapis s klikom na gumb»new«, nato pod»pstn gateway«, ki je namenjen preusmeritvi klicev v javno telefonsko omrežje, vpišemo naslov IP strežnika drugega sistema VOCAL in določimo vrata, na katerih posluša. Enako storimo v drugem sistemu VOCAL, kjer na istem mestu vpišemo naslov IP prvega sistema VOCAL [4]. Primer vidimo na slikah 5.28 in 5.29.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 49 Slika 5.28: Javanski vmesnik klic v drugi sistem; nastavitev v sistemu 1 Slika 5.29: Javanski vmesnik klic v drugi sistem; nastavitev v sistemu 2

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 50 Enako lahko storimo tudi z uporabo spletnega vmesnika. Odpremo spletni brskalnik in vnesemo naslov, na katerem teče naš vmesnik. Prijavimo se v vmesnik, nato kliknemo v zgornjem meniju na»change gateway«. Prikaže se meni, kot je na sliki 5.30, in vnesemo podatke drugega sistema VOCAL v formatu naslov IP:vrata. To storimo na obeh sistemih VOCAL. Slika 5.30: Spletni vmesnik nastavitve prehoda v sistemu 1 Sedaj moramo urediti še klicne načrte v javanskem vmesniku. V našem primeru imajo uporabniki prvega sistema (sistem 1, naslov IP 192.168.1.104) številke, ki se začnejo s cifro 1, uporabniki drugega sistema (sistem 2, naslov IP 192.168.1.103) pa številke, ki se začnejo s cifro 2. Načrte klicanja nastavimo tako, da se v prvem sistemu vse številke, ki se začnejo s cifro 1 preusmerijo v drugi sistem, in obratno. To storimo tako, da zaženemo javanski vmesnik za tehnika in se postavimo na»digitalplan«, kliknemo gumb»add«in v novem oknu vnesemo vrednosti, kot je prikazano na sliki 5.31. Vrednost pod»key«pomeni, da vse, kar se začne s cifro 1 in potem sledi katerakoli cifra, kar pomeni * za piko, preusmeri na naslovnika, vnesenega pod poljem»contacts«. To pa je v našem primeru»marshalserver Gateway«s prehodom PSTN, določenim maloprej. Podobno vnesemo v drugem sistemu (slika 5.32).

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 51 Slika 5.31: Klicni načrt vnos ključa za klice v sistem 1 Slika 5.32: Klicni načrt digitalni klicni načrt za klice v sistem 2 Sedaj smo konfigurirali oba sistema VOCAL za klice navzven. S katerimkoli programskim telefonom kličemo kot običajno. Na sliki 5.33 je uspešen posnetek klica iz sistema 2 z naslovom IP 192.168.1.103 v sistem 1 z naslovom IP 192.168.1.104. V sistemu 2 se nahaja uporabnik 2200 (IP 192.168.1.5), ki kliče uporabnika 1100 (IP 192.168.1.11) v sistem 1.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 52 Slika 5.33: Ethereal klic v drug sistem 5.8 Beleženje klicev Vsak soliden telefonski sistem in tako tudi VOCAL vsebuje orodje za beleženje klicev, na podlagi katerega se klici kasneje lahko obračunavajo in zaračunavajo. Pri VOCAL-u je to strežnik podatkov o klicih, ki zbira informacije o trajanju klica od razvrščevalnega strežnika in jih zapisuje v datoteko na disk. Spet se prijavimo v javanski vmesnik kot tehnik in gremo na nastavitve za»cdrservers«, nato tvorimo nov»servergroup CdrGroup«, vpišemo»host Name«in vrata. Nastaviti moramo tudi pot do datoteke, ki jo vpišemo v okence pod»directory Path«. Lahko odkljukamo tudi polje»bill For Ringtime«, kar pomeni, da se bodo klici beležili od prvega zvonjenja naprej (slika 5.34). Na mestu, ki smo ga vpisali pod»directory Path«, na datotečnem nivoju tvorimo datoteko billing.dat (slika 5.35).

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 53 Slika 5.34: Nastavitve CDR Slika 5.35: Datoteka billing.dat Sedaj se vsi klici, ki gredo skozi sistem, zapisujejo v datoteko billing.dat. Izvleček iz datoteke»billing.dat«je prikazan na sliki 5.36.

Konfiguriranje in uporaba odprtokodnega telefonskega sistema VOCAL 54 Slika 5.36: Izvleček datoteke billing.dat Iz slike 5.36 je razvidno, oziroma označeno z modro barvo, da je klic trajal nekaj več kot 11 sekund, kar razberemo iz vrstice CALL_BILL. Enak čas trajanja klica dobimo, če odštejemo vrednosti, označene z modro barvo, pod CALL_START in CALL_END. Klic je šel od uporabnika 2200 k uporabniku 2100. Ti podatki se lahko preko sistema RADIUS (Remote Authentication Dial-In User Service komutirana uporabniška storitev z oddaljeno overitvijo) posredujejo strežniku za avtomatsko obračunavanje klicev.