RAZVOJ TELEFONSKE APLIKACIJE V ASTERISKU

Velikost: px
Začni prikazovanje s strani:

Download "RAZVOJ TELEFONSKE APLIKACIJE V ASTERISKU"

Transkripcija

1 Marko Matijaško RAZVOJ TELEFONSKE APLIKACIJE V ASTERISKU Diplomsko delo Maribor, junij 2009

2 i Diplomsko delo univerzitetnega študijskega programa RAZVOJ TELEFONSKE APLIKACIJE V ASTERISKU Študent: Študijski program: Mentorica: Marko Matijaško UN ŠP Telekomunikacije dr. Tatjana KAPUS, izred. prof. za področje elektronike in telekomunikacij Maribor, junij 2009

3 ii

4 iii ZAHVALA Zahvaljujem se mentorici dr. Tatjani Kapus za pomoč in vodenje pri opravljanju diplomskega dela. Posebna zahvala velja staršem, ki so mi omogočili študij in me vsa ta leta vzpodbujali ter mi stali ob strani.

5 iv RAZVOJ TELEFONSKE APLIKACIJE V ASTERISKU Ključne besede: IP-telefonija, programska naročniška centrala, podatkovna baza, konfiguriranje, klicni načrt UDK: : (043.2) Povzetek V diplomskem delu opisujemo izdelavo telefonske aplikacije s pomočjo naročniške telefonske centrale IP Asterisk, ki članom Laboratorija za mikroračunalniške sisteme omogoča prijavo oziroma odjavo na telefonih v različnih prostorih. Prav tako lahko vodja laboratorija ob vsakem času preveri dosegljivost kateregakoli člana. Vsi člani so dosegljivi s strani drugih zaposlenih na Tehniških fakultetah in lahko jih tudi sami kličejo. Za testiranje delovanja aplikacije potrebujemo ustrezne telefone oziroma programske telefone. Vzeli smo, da je uporabljen signalizacijski protokol SIP in da so telefoni povezani v omrežje IP. Delo najprej opisuje namestitev telefonske centrale kakor tudi podatkovne baze. Nato se osredotočimo na konfiguriranje terminalov, podatkovne baze in pisanje Asteriskovih konfiguracijskih datotek. Težave, ki smo jih ob tem imeli, in njihove možne rešitve opišemo na koncu dela.

6 v DEVELOPMENT OF A TELEPHONY APPLICATION IN ASTERISK Key words: IP telephony, software private branch exchange, database, configuration, dial plan UDK: : (043.2) Abstract In this diploma thesis, we describe the development of a telephony application with the help of IP private branch exchange Asterisk, which allows members of the Microcomputer systems laboratory to log in or log out on the telephones in different rooms. The head of the laboratory can at any time verify availability of any member. All the members are reachable to other employees of the Technical faculties, which they can also call. To test the application we need phones or software phones. We assumed the use of signaling protocol SIP and that the phones are connected to an IP network. The thesis first describes the installation of the telephone exchange as well as the database. We then focus on the configuration of terminals, the database and writing of Asterisk configuration files. The problems we encountered in this work and their possible solutions are described at the end of this thesis.

7 vi VSEBINA 1 UVOD TELEFONSKA CENTRALA ASTERISK KAJ JE ASTERISK SESTAVA MOŽNOSTI KLICNE MOŽNOSTI PODPORA KODEKOV KANAL SIP KLICNI NAČRT KONTEKSTI RAZŠIRITVE PRIORITETE APLIKACIJE MAKRI UJEMANJE VZORCEV NAMESTITEV ORODIJ NAMESTITEV ASTERISKA NAMESTITEV PODATKOVNE BAZE POSTGRESQL NAMESTITEV IN KONFIGURIRANJE ODBC KONFIGURIRANJE APLIKACIJE OPIS APLIKACIJE POTEK DELA KONFIGURIRANJE TERMINALA POTEK NAMESTITVE PROGRAMSKEGA TELEFONA X-LITE KONFIGURIRANJE PODATKOVNE BAZE SNOVANJE KLICNEGA NAČRTA SNEMANJE ZVOČNIH POSNETKOV PRIMERI DELOVANJA APLIKACIJE... 40

8 vii 5.1 PRIJAVA/ODJAVA ČLANA PRIMERI KLICEV TEŽAVE PRI KONFIGURIRANJU APLIKACIJE APLIKACIJA SIPADDHEADER RAZLOČEVALNO ZVONJENJE REŠITEV SKLEP VIRI PRILOGE... 59

9 viii KAZALO SLIK Slika 4.1 Slika 4.2 Slika 4.3 Slika 4.4 Slika 4.5 Slika 4.6 Slika 5.1 Slika 5.2 Slika 5.3 Slika 5.4 Slika 5.5 Slika 5.6 Slika 5.7 Slika 5.8 Slika 5.9 Slika 5.10 Slika 5.11 Slika 5.12 Slika 5.13 Slika 5.14 Slika 5.15 Slika 6.1 Primer definiranja terminala v sip.conf...20 Programski telefon X-lite...21 Konfiguriranje uporabnika...22 Pravilno konfiguriran programski telefon...22 Grafična podoba podatkovne baze...24 Prijavljeni člani LMS...28 Uspešna prijava...40 Vnos neobstoječe prijavne številke...41 Vnos napačne PIN-kode...42 Vnos števila 1 za ohranitev prijave...43 Vnos števila 2 za odjavo...44 Odjava/prijava...45 Član klicatelj ni prijavljen...46 Klicani član ni prijavljen...46 Klic med članoma LMS...47 Klic člana s strani drugih zaposlenih na FERI...48 Član ni prijavljen na svojem terminalu...49 Klic vodje laboratorija s strani drugih zaposlenih na FERI...49 Zunanji klic...50 Klic člana do zaposlenega na FERI...50 Član kliče zaposlenega na drugi TF...51 Konfiguriranje terminala za razločevalno zvonjenje...53

10 ix UPORABLJENE KRATICE BRI B2BUA DTMF FERI Basic Rate Interface, osnovni vmesnik Back-To-Back User Agent, uporabniški agent od strani do strani Dual Tone Multi-Frequency, dvotonska večfrekvenčna signalizacija Fakulteta za elektrotehniko, računalništvo in informatiko GSM Global System for Mobile communications, globalni sistem za mobilne komunikacije HTTP IAX IP ISDN LMS MGCP ODBC PIN PRI PSTN RTP SIP TF URL HyperText Transfer Protocol, protokol za prenos hiperteksta Inter-Asterisk exchange, izmenjava med Asteriski Internet Protocol, medmrežni protokol Integrated Services Digital Network, digitalno omrežje z integriranimi storitvami Laboratorij za mikroračunalniške sisteme Media Gateway Control Protocol, protokol za krmiljenje medijskih prehodov Open DataBase Connectivity, odprto povezovanje podatkovnih baz Personal Identification Number, osebna identifikacijska številka Primary Rate Interface, primarni vmesnik Public Switched Telephone Network, javno komutirano telefonsko omrežje Real-time Transport Protocol, protokol za prenos v realnem času Session Initiation Protocol, protokol za zagon seje Tehniške fakultete Uniform Resource Locator, enolični lokalizator vira

11 Razvoj telefonske aplikacije v Asterisku Stran 1 1. UVOD Dogajanje na področju telekomunikacij dandanes vstopa v ospredje in je predmet izrazitih sprememb, ki zadevajo tako operaterje, kot tudi končne uporabnike. Nekdaj izrazito tehnološko naravnano razmišljanje je danes v prvi vrsti usmerjeno k uporabniku, storitvam in vsebinam. Priprava ponudbe je v prvi vrsti osredotočena na uporabnika. V današnjih časih zaznavamo razcvet internetne komunikacije. To je predvsem posledica vse večjega razvoja internetnih ter posledično telefonskih storitev, kakor tudi vse večjih potreb in zahtev posameznih uporabnikov in podjetij. Tako je v zadnjih letih zelo napredovalo področje, ki ga najbolje poznamo pod imenom IPtelefonija. Le-ta pomeni telefonske storitve, izvajane preko interneta oziroma paketnega omrežja s protokolom IP ("Internet Protocol" medmrežni protokol) in ne preko javnega telefonskega omrežja. Uveljavljati se je začela predvsem zaradi znižanja stroškov uporabnika, kasneje tudi zaradi mnogo dodatnih brezplačnih storitev, kot so prikaz identitete kličočega, posredovanje klica, glasovna pošta in mnoge druge. Velika prednost uporabe protokola IP je tudi, da omogoča učinkovito konvergenco klasičnega telefonskega in podatkovnega omrežja, ki omogoča preusmeritev telefonskega prometa na podatkovno omrežje IP. Obstoječe analogno in digitalno telefonsko omrežje in naprave je možno preko ustreznih vmesnikov povezati na obstoječe podatkovno omrežje IP. V ta namen je bila leta 1999 s strani Marka Spencerja iz podjetja Digium razvita odprtokodna programska oprema za telefonsko naročniško centralo, imenovana Asterisk. Asterisk je vodilni svetovni motor in orodje odprtokodne telefonije. Ker ga je možno popolnoma brezplačno naložiti s svetovnega spleta, je bil Asterisk idealna platforma za namen tega diplomskega dela. Tako je cilj tega diplomskega dela s pomočjo takšne centrale izdelati aplikacijo, ki bo članom Laboratorija za mikroračunalniške sisteme omogočala prijavo oziroma odjavo na telefonih v različnih prostorih. Prav tako naj bi lahko vodja laboratorija ob vsakem času preveril dosegljivost kateregakoli člana. Vsi člani naj bi bili dosegljivi s strani drugih zaposlenih na Tehniških fakultetah in naj bi jih lahko tudi sami klicali. Za testiranje

12 Razvoj telefonske aplikacije v Asterisku Stran 2 delovanja aplikacije bomo potrebovali ustrezne telefone oziroma programske telefone. Vzeli bomo, da je uporabljen signalizacijski protokol SIP ("Session Initiation Protocol" protokol za zagon seje) in da so telefoni povezani v omrežje IP. Diplomsko delo je razdeljeno na sedem poglavij. Uvod, ki predstavlja prvo poglavje, vsebuje splošen opis IP-telefonije. V drugem poglavju predstavimo telefonsko naročniško centralo Asterisk. Na kratko se seznanimo z njenimi lastnostmi in možnostmi. Med najpomembnejše sestavne dele Asteriska vsekakor sodi klicni načrt. Tega obravnavamo nekoliko natančneje. Tretje poglavje je posvečeno namestitvi potrebnih orodij za izvedbo glavnega dela diplomske naloge. Tako opišemo postopke za namestitev programske opreme Asteriska in podatkovne baze. Prav tako so podana navodila za namestitev in konfiguriranje konektorja ODBC ("Open Database Connectivity" odprto povezovanje podatkovnih baz). Glavni del predstavlja četrto poglavje. Začeli smo s konfiguriranjem terminala in podatkovne baze. Sledi jedro našega dela, opis programske kode aplikacije. Poglavje je zaključeno z razdelkom o snemanju zvočnih posnetkov, potrebnih za aplikacijo. Peto poglavje prinaša primere delovanja aplikacije, ki smo jih ponazorili z izpisi iz Asteriskove konzole in dodatno opisali. V šestem poglavju smo opisali težave, na katere smo naleteli pri delu, in nakazali možne rešitve. V zadnjem, sklepnem sedmem poglavju, povzamemo naše delo in podamo smernice za nadaljnje delo.

13 Razvoj telefonske aplikacije v Asterisku Stran 3 2. TELEFONSKA CENTRALA ASTERISK 2.1 Kaj je Asterisk Asterisk je odprtokodna programska oprema za telefonsko naročniško centralo (PBX "Private Branch Exchange"). To pomeni da lahko do nje dostopa in jo uporablja vsakdo. Ime izvira iz simbola asterisk,*, ki v okoljih Unix (tudi Linux), za katera je bil Asterisk primarno razvit, pomeni "wildcard", nadomestni znak. Gledano s tehničnega vidika, podpira TDM ("Time-Division Multiplexing" časovno multipleksiranje) kakor tudi VoIP ("Voice over IP" govor preko IP) s tremi protokoli (SIP, H.323, MGCP ("Media Gateway Control Protocol" protokol za krmiljenje medijskih prehodov)). Za medomrežno povezavo z digitalno in analogno telefonsko opremo podpira Asterisk veliko različne strojne opreme. Nanj je možno priklopiti različne vmesnike in vmesniške kartice, kot na primer PSTN ("Public Switched Telephone Network" javno komutirano telefonsko omrežje), ISDN ("Integrated Services Digital Network" digitalno omrežje z integriranimi storitvami) (BRI ("Basic Rate Interface" osnovni vmesnik) oziroma PRI ("Primary Rate Interface" primarni vmesnik)) in GSM ("Global System for Mobile communications" globalni sistem za mobilne komunikacije). To pomeni, da lahko nanj povežemo skoraj vso že obstoječo telefonsko opremo, ne da bi za prehod na VoIP potrebovali še kakšne dodatne vmesnike [5]. Omogoča prilagodljive rešitve IP- telefonije, od majhnih okolij s 5 10 uporabniki, do velikih telefonskih central IP z več sto uporabniki. Temu primerna mora biti tudi strojna oprema (strežnik). Je popolnoma fleksibilen sistem, kar pomeni, da lahko dodajamo različne aplikacije, ki jih razvijemo sami in prilagodimo našim potrebam. 2.2 Sestava Pri prenosu govora preko interneta oziroma omrežja IP uporablja Asterisk tri protokole za VoIP, in sicer: SIP, H.323, MGCP.

14 Razvoj telefonske aplikacije v Asterisku Stran 4 Zelo pomemben je protokol IAX ("Inter-Asterisk Exchange" izmenjava med Asteriski), ki je glavni protokol za povezovanje več Asteriskov. Asterisk je sestavljen iz treh glavnih paketov: osnovnega programa Asterisk (asterisk), gonilnikov Zapata za telefonijo (zaptel), knjižnice PRI (libpri). Če želimo uporabljati samo omrežje VoIP, je edina zahteva namestitev osnovnega programa Asterisk. Gonilniki zaptel so potrebni, če želimo uporabiti analogno oziroma digitalno strojno opremo, knjižnica libpri pa je potrebna, če želimo uporabiti vmesnik ISDN PRI. 2.3 Možnosti Asterisk ponuja mnogo možnosti, za uporabo katerih se lahko posameznik odloči po lastnih željah in potrebah. Takšne možnosti so na primer [8]: konferenčni klici, pregled porabe po uporabnikih, snemanje pogovorov, avtomatska izbira najcenejše poti, glasba na čakanju, uporaba standardnih, video, brezvrvičnih ali programskih telefonov IP, poljubna določitev internih številk, avtentikacija uporabnikov, dodelitev uporabnikov v skupine in prevzem klica, grafični vmesnik za enostavno konfiguriranje in upravljanje s sistemom, povezljivost dveh ali več sistemov preko interneta, enostavna povezljivost z obstoječimi telefonskimi sistemi (vzporedno delovanje).

15 Razvoj telefonske aplikacije v Asterisku Stran Klicne možnosti Asterisk prav tako ponuja veliko klicnih možnosti, se pravi opcij, ki jih uporabimo bodisi pred ali med samim potekom klica. Nekatere od klicnih možnosti Asteriska so [8]: glasovna pošta, preusmeritev klica, neposredni klic na interno številko, posredovanje klicev, zapora odhodnega prometa, avtomatski odzivnik, preusmeritev klica ob zasedenosti, preusmeritev klica ob nedosegljivosti, obvestila o klicih preko elektronske pošte. 2.5 Podpora kodekov Asterisk podpira naslednje govorne kodeke [4]: G.711 (A-zakon in µ-zakon), G.722, G.723.1, G.726, G.729, GSM, ilbc, LPC10, Speex, ADPCM.

16 Razvoj telefonske aplikacije v Asterisku Stran 6 Asterisk podpira tudi video kodeke [4]: H.261, H.263, H.263p, H Kanal SIP Protokol SIP, pogosto uporabljen v telefonih VoIP, skrbi za vzpostavljanje in sproščanje klica, skupaj s kakršnokoli spremembo klica, kot je predaja klica. Namen protokola SIP je pomagati končnima točkama govoriti med seboj (če je možno, neposredno med seboj). Protokol SIP je signalizacijski protokol, kar pomeni, da je njegov edini namen omogočiti govor med dvema končnima točkama. Ne ukvarja se s prenosom medija klica (govora). Poznamo dve vrsti končnih točk: odjemalce in strežnike. Odjemalec je končna točka, ki prične zahtevo, strežnik pa to zahtevo obdela in ustvari odgovor. Ko želi končna točka priklicati drugo končno točko (kot na primer pri klicu med programskima telefonoma), tvori zahtevo in jo pogosto pošlje na proksi SIP. Strežnik proksi ugotovi cilj zahteve in jo pošlje naprej. Ko izvorna in ciljna točka uspešno vzpostavita klic, je medij prenesen s protokolom RTP ("Real-time Transport Protocol" protokol za prenos v realnem času) in poslan neposredno med končnima točkama. Proksiji SIP se ne ukvarjajo z mediji, ampak s paketi SIP [1]. Asterisk, po drugi strani, imenujemo "Back-To-Back User Agent" (B2BUA uporabniški agent od strani do strani), kar pomeni, da deluje kot končna točka v obeh vlogah, kot strežnik (prejemanje) in kot odjemalec (oddajanje). Ko na primer programski telefon kliče določeno razširitev, je klic vzpostavljen neposredno med programskim telefonom in Asteriskom. Če logika, ki jo zapišemo v Asterisk, ugotovi, da želimo klicati drugo končno napravo, deluje Asterisk tudi kot odjemalec končne naprave in vzpostavi novo povezavo, poznano kot kanal, do drugega telefona [1]. Govor med dvema telefonoma pa "teče" neposredno skozi Asterisk. Z drugimi besedami je kanal povezava, ki pripelje klic do oziroma od telefonske centrale Asterisk. Kanal je lahko povezava do običajne telefonske slušalke oziroma navadne telefonske linije ali do logičnega klica (klica preko interneta).

17 Razvoj telefonske aplikacije v Asterisku Stran 7 Vsak klic je tvorjen ali prejet na ločenem kanalu. Konfiguriranje kanalov SIP se izvede v datoteki sip.conf, kjer konfiguriramo uporabnike oziroma terminale. Vsakemu kanalu je potrebno z rezerviranimi spremenljivkami določiti vrednosti, ki bodo posameznega uporabnika enolično določale (konkretno definiranje si oglejte v podpoglavju 4.3). Ko imamo povezavo SIP vzpostavljeno, bo ime kanala imelo obliko: SIP/peer-id, kjer je peer ime uporabnika in id naključni identifikator, ki enolično identificira to povezavo [7]. 2.7 Klicni načrt Klicni načrt Asteriska specificiramo v konfiguracijski datoteki z imenom extensions.conf. Sestavljen je iz štirih glavnih delov [1]: kontekstov, razširitev, prioritet, aplikacij. 2.8 Konteksti Klicni načrt je razdeljen na dele, imenovane konteksti. Konteksti so poimenovane skupine razširitev, ki služijo več namenom. Preprečujejo interakcijo različnih delov klicnega načrta. Razširitev, ki je definirana v enem kontekstu, je popolnoma izolirana od razširitev, ki so definirane v kateremkoli drugem kontekstu, razen če je definirano drugače. Konteksti so definirani z imenom, ki ga vpišemo v oglate okepaje ([ ]). Ime je lahko sestavljeno iz vseh črk od A do Z (velike ali male črke), števk od 0 do 9, vezajev in podčrtajev. Na primer, kontekst za dohodne klice bi izgledal tako: [dohodni] Vsi ukazi, ki sledijo za imenom konteksta, so del tega konteksta, dokler ni definiran nov kontekst. Ko definiramo kanal, je eden od parametrov, ki je definiran v definiciji tega kanala, prav kontekst. Z drugimi besedami je kontekst točka v klicnem načrtu, kjer se povezave določenega kanala začnejo. Posebnost sta konteksta [globals] in [general], ki se nahajata na začetku vsakega klicnega načrta. Kontekst [general] opisuje splošne nastavitve

18 Razvoj telefonske aplikacije v Asterisku Stran 8 klicnega načrta, [globals] pa globalne spremenljivke. Morda najpomembnejša lastnost konteksta je zagotavljanje varnosti. Pri pravilni uporabi lahko uporabnikom dodelimo določene pravice (na primer klice v tujino), ki pa jih drugi uporabniki nimajo. Ob nepravilini konfiguraciji klicnega načrta lahko pride do hujših zlorab sistema [1]. 2.9 Razširitve Razširitve so v Asterisku definirane kot zaporedje korakov (vsak korak nosi določeno aplikacijo), ki so potrebni, da gre Asterisk skozi klic. Znotraj posameznega konteksta lahko definiramo poljubno mnogo razširitev. Ko je določena razširitev sprožena (z dohodnim klicem ali s števkami, izbranimi v določenem kanalu), Asterisk sledi korakom, definiranim za to razširitev. Zatorej so razširitve tiste, ki določajo, kaj se zgodi s klicem, ko gre skozi klicni načrt. Prav tako je treba poudariti, da je razširitev v Asterisku lahko tako število kakor tudi ime. Sintaksa za razširitev je sestavljena iz besede exten, sledi ji enačaj in simbol za "večje": exten => Celotna razširitev je sestavljena iz treh delov: imena oziroma številke razširitve, prioritete (vsaka razširitev lahko ima več korakov, številko koraka imenujemo prioriteta), aplikacije (ukaza), ki pri klicu izvede določeno akcijo. Ti trije deli razširitve so ločeni z vejicami [1]: exten => ime, prioriteta, aplikacija() 2.10 Prioritete Vsaka razširitev lahko ima več korakov, imenovanih prioritete. Vsaka prioriteta je zaporedno oštevilčena, začenši s številko 1, in izvede eno določeno aplikacijo. Za vsako naslednjo prioriteto uporabimo črko n ("next"). Vsakič ko Asterisk naleti na prioriteto z

19 Razvoj telefonske aplikacije v Asterisku Stran 9 imenom n, vzame številko prejšnje prioritete in ji prišteje 1. Namesto črke n lahko za vsako naslednjo prioriteto uporabimo številko, za ena večjo od prejšnje številke [1] Aplikacje Aplikacije so glavna gonilna sila celotnega klicnega načrta [1]. Vsaka aplikacija izvede določeno akcijo na trenutnem kanalu, kot na primer predvaja zvočni posnetek, sprejme ton DTMF ("Dual Tone Multi-Frequency" dvotonska večfrekvenčna signalizacija), pokliče drug kanal in podobno. Nekatere aplikacije, kot sta na primer Answer() in Hangup(), ne potrebujejo dodatnih navodil za izvedbo. Drugim moramo v oklepaje dati argumente, ki dodatno opisujejo, kaj naj naredi aplikacija. Opisali bomo le nekatere [3]: NoOp() ta aplikacija ne naredi ničesar, vendar je zelo uporabna pri iskanju napak, saj izpiše vrednosti na Asteriskovi konzoli. Set() nastavi spremenljivko kanala ali vrednost funkcije. Goto() prehod na določeno prioriteto, razširitev ali kontekst. GotoIf() pogojni Goto(). Playback() predvaja zvočni posnetek. Hangup() brezpogojno konča klic. Background() predvaja zvočni posnetek, medtem ko čakamo na vnos številke oziroma imena. WaitExten() čaka na vnos razširitve. Read() prebere spremenljivko preko DTMF. Macro() izvede določen makro. Dial() vzpostavi klic in povezavo do trenutnega kanala.

20 Razvoj telefonske aplikacije v Asterisku Stran Makri Makri so zeli uporabni pri izogibanju ponavljanju v klicnem načrtu. Definicija makra je zelo podobna definiciji konteksta. Makre definiramo z macro- pred imenom našega makra v oglatih oklepajih: [macro-ime] Pred imenom makra mora biti macro-. To makre razlikuje od normalnih kontekstov. Ukazi znotraj makra so skoraj enaki vsemu drugemu znotraj klicnega načrta. Edina razlika je, da makri uporabljajo le razširitev "s". Ko klici vstopijo v kontekst brez specifično določene razširitve, se posredujejo do razširitve s. Črka s označuje besedo start, saj se bo tukaj začel klic, če ni bilo prejetih nobenih informacij o klicu [1] Ujemanje vzorcev Ujemanje vzorcev nam omogoča implementacijo ene razširitve v klicnem načrtu, ki se bo ujemala z različnimi številkami. Pri uporabi ujemanja vzorcev obstajajo določene črke in simboli, ki označujejo, kaj naj se ujema. Vzorec se vedno začne s podčrtajem (_). Ta pove Asterisku, da bomo uporabili ujemanje vzorca in ne natančne vrednosti. Za podčrtajem lahko uporabimo naslednje oznake [1]: X pomeni katerokoli števko od 0 do 9, Z pomeni katerokoli števko od 1 do 9, N pomeni katerokoli števko od 2 do 9, [1-5] ujemanje s posamezno enomestno števko, v tem primeru 1, 2, 3, 4 ali 5,. ujemanje z enim ali več znaki ne glede na to, kateri so.

21 Razvoj telefonske aplikacije v Asterisku Stran NAMESTITEV ORODIJ 3.1 Namestitev Asteriska Asterisk namestimo na operacijski sistem Linux [1]. V našem primeru je namestitev potekala na operacijski sistem Linux CentOS 5.2. Že pred namestitvijo Asteriska je treba imeti nameščen spletni strežnik Apache in nekatere pakete, ki so potrebni za delovanje Asteriska samega. Te pakete namestimo z naslednjim ukazom: yum install y gcc libtermcap-devel gcc-c++ unixodbc-devel libtool Za namestitev najnovejše različice izvorne kode (v našem primeru je to različica ) naredimo naslednje korake (potrebujemo korenske pravice): # cd /usr/src # wget #tar zxvf asterisk-1.4-current.tar.gz # cd /usr/src/asterisk #make clean #./configure # make menuselect #make install #make samples Asterisk poženemo v datoteki /usr/sbin z ukazom "asterisk". Ukaz "make samples" ustvari primere konfiguracijskih datotek, potrebnih za delovanje centrale. V našem primeru sta to datoteki sip.conf in extensions.conf. V sip.conf bomo vpisali vse uporabnike oziroma terminale in njihove lastnosti, s katerimi bomo operirali in ki bodo del našega sistema. V extensions.conf pa bomo določili, kako bodo klici potekali. Prav tako bo za našo aplikacijo pomembna konfiguracijska datoteka func_odbc.conf, o kateri pa nekoliko več v naslednjem poglavju. Uporabljene bodo še nekatere datoteke, ki pa so pomembnejše pri vzpostavitvi podatkovne baze kot pri samem Asterisku in bodo opisane sproti.

22 Razvoj telefonske aplikacije v Asterisku Stran Namestitev podatkovne baze PostgreSQL Čeprav je na voljo veliko podatkovnih baz za okolje Linux, smo se odločili za PostgreSQL. Najprej namestimo strežnik PostgreSQL [1]: # yum install y postgresql-server Za prvi zagon podatkovne baze izvedemo ukaz: # service postgresql start Naslednji korak je tvorjenje uporabnika z imenom asterisk, s pomočjo katerega se bomo povezovali in urejali našo podatkovno bazo: # su postgres $ createuser P Enter name of user to add: asterisk Enter password for new user: Enter it again: Shall the new role be a superuser? (y/n) n Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) n CREATE USER Ker PostgreSQL ne "posluša" povezave TCP/IP, ki jo bo Asterisk uporabljal, moramo le-to omogočiti. To storimo tako, da v konfiguracijski datoteki, ki se nahaja v /var/lib/pgsql/data/postgresql.conf, spremenimo parametre na : listen_addresses = true port = 5432 Ko smo to storili, moramo v konfiguracijski datoteki, ki se nahaja v /var/lib/pgsql/data/pg_hba.conf, dovoliti uporabniku povezavo do strežnika PostgreSQL preko vtičnice TCP/IP. To storimo s spremembo konfiguracijske datoteke: host all asterisk md5

23 Razvoj telefonske aplikacije v Asterisku Stran 13 local all asterisk trust Sedaj lahko ustvarimo podatkovno bazo, ki jo bomo poimenovali asterisk, in nastavimo lastnika te baze, ki bo naš uporabnik asterisk. $ createdb owner=asterisk asterisk CREATE DATABASE Strežnik PostgreSQL ponovno poženemo: $ exit # service postgresql restart Povezavo do strežnika PostgreSQLlahko preverimo na naslednji način: # psql h U asterisk Password: 3.3 Namestitev in konfiguriranje ODBC Konektor ODBC je abstraktna plast podatkovne baze, ki Asterisku omogoča komunikacijo z več podatkovnimi bazami, ne da bi razvijalec moral ustvariti dodaten konektor za vsako podatkovno bazo, ki jo želi administrirati [1]. To prihrani veliko truda pri razvijanju in vzdrževanju kode. Pred namestitvijo konektorja v Asterisk moramo najprej namestiti ODBC na Linux sam (če tega že nismo storili ob instalaciji Asteriska). Za namestitev gonilnikov ODBC uporabimo ukaz: # yum install y unixodbc unixodbc-devel libtool-ltdl libtool-ltdl-devel Najprej je treba preveriti v /etc/odbcinst.ini, ali imamo pravilno konfiguriran gonilnik ODBC PostgreSQL. Izgledati mora tako: [PostgreSQL] Description = ODBC for PostgreSQL Driver Setup = /usr/lib/libodbcpsql.so = /usr/lib/libodbcpsqls.so

24 Razvoj telefonske aplikacije v Asterisku Stran 14 FileUsage = 1 Prav tako je treba preveriti, ali sistem lahko vidi gonilnik. To preverimo z ukazom: # odbcinst q d Rezultat mora biti: [PostgreSQL] Naslednji korak je konfiguriranje datoteke /etc/odbc.ini, kjer ustvarimo identifikator, ki ga bo Asterisk uporabljal za sklicevanje na to konfiguracijo. Datoteka je podobna tej: [asterisk-connector] Description Driver Database Servername UserName Password = PostgreSQL connection to 'asterisk' database = PostgreSQL = asterisk = localhost = asterisk = welcome Port = 5432 Protocol = 7.4 ReadOnly RowVersioning = No = No ShowSystemTables ShowOidColumn = No = No FakeOidIndex = No ConnSettings = Sedaj preverimo povezavo na našo bazo z aplikacijo isql. Aplikacija isql ne bo izvedla povezave, če se skušamo prijaviti kot korenski uporabnik. Pognana mora biti s strani lastnika baze. Ker je lastnik podatkovne baze astersik uporabnik asterisk, moramo

25 Razvoj telefonske aplikacije v Asterisku Stran 15 konfigurirati račun Linux z istim imenom. Po konfiguriranju novega računa preverimo delovanje: # su asterisk $ echo»select 1«isql v asterisk-connector Ko imamo unixodbc nameščen, konfiguriran in ko smo preverili, da deluje, moramo ponovno prevesti Asterisk, da namestimo in ustvarimo module ODBC. #cd /usr/src/asterisk-1.4 #make distclean #./configure #make menuselect #make install Sledi konfiguriranje konfiguracijske datoteke res_odbc.conf za dostop do naše baze. Povezave ODBC so konfigurirane v datoteki res_odbc.conf, ki se nahaja v datoteki /etc/asterisk. V tej datoteki nastavimo parametre, ki jih bodo različni moduli Asteriska uporabljali za povezavo do podatkovne baze. Datoteka res_odbc.conf: [asterisk] enabled => yes dsn => asterisk-connector username => asterisk password => welcome pooling => no limit => 0 pre-connect => yes Opcija dsn kaže na povezavo podatkovne baze, ki smo jo konfigurirali v etc/odbc.ini. Ko imamo datoteko res_odbc.conf konfigurirano, poženemo Asterisk in preverimo povezavo do podatkovne baze:

26 Razvoj telefonske aplikacije v Asterisku Stran 16 *CLI> odbc show Name: asterisk DSN: asterisk-connector Pooled: no Connected: yes

27 Razvoj telefonske aplikacije v Asterisku Stran KONFIGURIRANJE APLIKACIJE 4.1 Opis aplikacije Imamo člane laboratorija LMS vključno z vodjo. Praviloma vsak sedi v svoji sobi pri svojem telefonu in ima svojo interno telefonsko številko, ki je tu podana poleg imena člana: Zmago Brezočnik vodja (7210) Tatjana Kapus (7213) Bogdan Dugonik (7214) Robert Meolic (7215) Peter Vicman (7268) Boštjan Vlaovič (7217) Aleksander Vreže (7267) Andrej Romih (7212) Tim Kovše (7208) Vzemimo, da se občasno nekateri člani laboratorija nahajajo v drugem prostoru laboratorija in ne svojem. Da bi jih tudi takrat lahko poklicali in da bi imeli nadzor nad tem, ali so v službi, se morajo v vsakem prostoru, kamor pridejo (tudi v svojem), prijaviti na enem od telefonov v tem prostoru. Ko prostor zapustijo, pa se morajo odjaviti. Prijava in odjava potekata podobno. Vsak član naj ima svojo kodo PIN ("Personal Identification Number" osebna identifikacijska številka), ki mu jo določi administrator. Ob prihodu v prostor si izbere enega od telefonov članov laboratorija in se prične prijavljati, tako da vtipka zadnje tri cifre svoje telefonske številke. Cifre vtipka, tudi kadar se hoče odjaviti. Centrala preveri, ali so cifre od enega od članov laboratorija. Če niso, to javi uporabniku in postopek prijave oziroma odjave se konča. Če so cifre od enega od članov, ima član na voljo tri poskuse, da vtipka svojo PIN-kodo. Čim vtipka pravilno kodo, se nadaljuje postopek in član ne sme več vtipkati PIN-kode. Za vsako zaporedno napačno

28 Razvoj telefonske aplikacije v Asterisku Stran 18 vtipkanje kode pa je član opozorjen. Če tudi v tretjem poskusu ne vtipka svoje kode (tj. te, ki pripada njegovi telefonski številki), je član obveščen o neuspešnem poskusu. Če je član pravilno vtipkal PIN-kodo, se prijava oziroma odjava nadaljuje, tako da centrala preveri, ali je že od prej prijavljen. Če ni, si zabeleži, da se je član prijavil in na katerem telefonu (tj. na kateri telefonski številki). Če je, centrala preveri, ali je na isti številki, s katere se prijavlja. Če ni na isti, ga odjavi in prijavi na novi številki. Če je na isti, ga centrala vpraša, ali hoče ostati še naprej prijavljen ali naj ga odjavi. Pove mu tudi, katero cifro naj vtipka za ohranitev prijave, katero pa za odjavo. Glede na vtipkano cifro (na voljo je samo en poskus če cifra ni pričakovana, je član obveščen o napaki in postopek se konča brez spremembe statusa prijave) ostane član še naprej prijavljen ali pa ga centrala odjavi. Eden od namenov prijavljanja je, da lahko vsak član laboratorija prikliče vsakega drugega, četudi je v drugem prostoru laboratorija. Člani laboratorija se med seboj kličejo kot običajno, z internimi telefonskimi številkami, navedenimi zgoraj in v imeniku FERI. Ko eden od članov kliče drugega na njegovo številko, se najprej preveri, ali je član s to številko prijavljen. Če ni, se klic ne izvede in kličočemu centrala javi, da klicani ni prijavljen. Če je prijavljen, se klic usmeri na številko, na kateri je klicani prijavljen in klic se nadaljuje, kot je običaj. Posebnost je samo, da centrala za vsakega člana laboratorija povzroči drugačno zvonjenje, tako da član laboratorija, prijavljen na drugem telefonu, ve, da je klic za njega. Za vsakega člana laboratorija je način zvonjenja enolično določen, ne glede na to, na katerem telefonu naj mu zvoni. Člane laboratorija pa seveda lahko poskušajo z interno številko klicati tudi drugi zaposleni na FERI. Vsi ti imajo štirimestne interne številke, ki se pričnejo s 7, druga cifra je 0, 1 ali 2, preostali pa poljubni, vendar takšni, da številka ni enaka številkam članov laboratorija. Centrala mora ugotoviti, ali kliče drug zaposlen s FERI. V tem primeru skuša vzpostaviti klic do klicanega, samo če je prijavljen na svojem telefonu. Izjema je klicanje vodje laboratorija. Do tega se klic izvede v vsakem primeru, tudi če ni prijavljen nikjer ali če je prijavljen na drugem telefonu laboratorija. Če ni prijavljen, se klic izvede na njegovo številko, če je, pa se izvede na številko, na kateri je prijavljen. Člane laboratorija lahko kličejo tudi vsi, ki niso zaposleni na FERI, so pa zaposleni na eni od tehniških fakultet. Telefonske številke vseh zaposlenih na tehniških fakultetah so 7-

29 Razvoj telefonske aplikacije v Asterisku Stran 19 mestne. Zadnje štiri cifre so interna številka. Prve tri cifre so na FERI 220, na drugih tehniških fakultetah pa drugačne. Zunanji klici se usmerijo na klicano številko ne glede na to, ali je član s to številko kje prijavljen ali ne. Vzemimo še, da klicanemu članu laboratorija v primeru klica z drugih tehniških fakulteti na njegovem telefonu zvoni drugače kot za klice s FERI. Tako takoj sliši, ali je klic od zunaj, in se lahko hitro odloči, ali se bo nanj odzval ali ne. Seveda člani laboratorija lahko kličejo po celem FERI in vse na drugih tehniških fakultetah. Kličejo lahko samo, če so prijavljeni. Če niso, centrala ne izvede klica in člana opozori, da ni prijavljen. Vsi opisani klici se izvajajo s protokolom SIP. 4.2 Potek dela Z delom bomo začeli pri konfiguriranju terminalov. Ker bomo za aplikacijo potrebovali le protokol SIP, bomo parametre za posamezen terminal določili v konfiguracijski datoteki sip.conf. Sledila bo namestitev in konfiguriranje programskega telefona, ki bo v našem primeru X-lite podjetja CounterPath. Po upešnem konfiguriranju bomo v podatkovni bazi tvorili tabelo, kamor bomo vnesli vse člane LMS in jim dodelili različne vrednosti, kot so ime, priimek, PIN, prijavna številka in podobno. Nadaljevali bomo z najpomembnejšim delom naše aplikacije, s klicnim načrtom. Odprli bomo datoteko extensions.conf in definirali potek delovanja aplikacije. Na koncu bomo posneli zvočne posnetke, za katere smo uvideli, da so primerni pri vodenju člana skozi aplikacijo. 4.3 Konfiguriranje terminala Najprej se posvetimo konfiguracijski datoteki sip.conf in konfiguriranju terminala. Terminal bomo predstavili z imenom kabineta enega izmed članov laboratorija. Minimalna konfiguracija za en terminal oziroma enega uporabnika izgleda, kot prikazuje slika 4.1 [1].

30 Razvoj telefonske aplikacije v Asterisku Stran 20 Slika 4.1: Primer definiranja terminala v sip.conf [G_1102] ; predstavlja ime oziroma številko, s katero definiramo terminal in jo bomo v našem primeru uporabili za določanje lokacije, kjer bo eden od članov LMS prijavljen. type=friend ; določimo tip uporabnika. Izbiramo lahko med peer, user in friend. Peer terminal/uporabnik, ki lahko samo prejema pozive. User terminal/uporabnik, ki lahko samo prične pozive. Friend terminal/uporabnik, ki lahko tako prične kot prejema pozive. context=hotdesk ; določimo kontekst, v katerega gre klic na ta terminal. callerid=kapus <7213> ; prikaz imena ob klicu. secret=skrivnost ; izberemo geslo, ki ga nastavimo v terminalu samem. host=dynamic ; definiramo gostitelja, tako da določimo, kje v omrežju se terminal nahaja, ko želi Asterisk nanj poslati klic. To lahko storimo na dva načina, statično ali dinamično. Če želimo gostitelja definirati kot statičnega, damo spremenljivki host kot vrednost naslov IP terminala. Dinamično pomeni, da ko se bo terminal želel registrirati, bo Asterisk s strani tega telefona oziroma programskega telefona prejel paket REGISTER, ki bo Asterisku povedal, kateri naslov IP uporablja. Podobno naredimo za vse druge terminale (glejte Prilogo A):

31 Razvoj telefonske aplikacije v Asterisku Stran 21 G2_3N_52, G2_3N_58, G_203_Meolic, G_203_Vicman, G_218_Vlaovic, G_218_Vreze, G_218_Romih, G_218_Kovse. 4.4 Potek namestitve programskega telefona X-lite Programski telefon X-Lite podjetja CounterPath je zelo popularen pri uporabnikih Asteriska, saj je zelo enostaven za uporabo, funkcionalen in kar je najpomembnejše, zastonj. Naložimo ga s strani in namestimo v okolje Linux. Slika 4.2: Programski telefon X-lite

32 Razvoj telefonske aplikacije v Asterisku Stran 22 Za konfiguriranje pritisnemo gumb "Settings" na grafičnem vmesniku (kot je označeno na sliki 4.2). Izberemo System Settings SIP Proxy [Default]. Tako pridemo v privzeto konfiguracijo programskega telefona. Konfiguriramo ga, kot prikazuje slika 4.3. Slika 4.3: Konfiguriranje uporabnika Uporabnika konfiguriramo glede na konfiguracijo uporabnika v datoteki sip.conf. Pod "Domain" in "SIP Proxy" vnesemo naslov IP Asteriska, kar je v našem primeru Slika 4.4: Pravilno konfiguriran programski telefon

33 Razvoj telefonske aplikacije v Asterisku Stran 23 Na sliki 4.4 je možno videti, da smo terminal pravilno konfigurirali ("Logged in") z imenom G_1102, kar predstavlja ime kabineta. 4.5 Konfiguriranje podatkovne baze Najprej se povežemo na konzolo podatkovne baze z ukazoma [1]: # su - postgres $ psql - U asterisk - h localhost asterisk Password: Vnesemo geslo in ustvarimo tabelo z imenom ast_hotdesk: CREATE TABLE ast_hotdesk ( id serial NOT NULL, extension int8, first_name text, last_name text, cid_name text, cid_number varchar(10), pin int4, context text, status bool DEFAULT false, "location" text, login int8, CONSTRAINT ast_hotdesk_id_pk PRIMARY KEY (id) ) WITHOUT OIDS;

34 Razvoj telefonske aplikacije v Asterisku Stran 24 Nato napolnimo bazo z naslednjimi podatki: asterisk=> INSERT INTO ast_hotdesk ('extension', 'login', 'first_name', 'last_name', 'cid_name', 'cid_number', 'pin', 'context', 'location') \ VALUES (7213, '213', 'Tatjana', 'Kapus', 'Tatjana Kapus', ' ', '888', 'calls_tf', 'G_1102'); Na tem mestu je treba poudariti, da se bo vrednost lokacije spreminjala, tako kot se bo član prijavljal na različnih terminalih. Enako, z drugačnimi vrednostmi, storimo tudi za druge člane LMS. Vse podatke v tabeli ast_hotdesk lahko pogledamo z enostavnim stavkom SELECT iz konzole PostgreSQL: asterisk=> SELECT * FROM ast_hostdesk; ki nam prikaže: Slika 4.5: Grafična podoba podatkovne baze 4.6 Snovanje klicnega načrta Klicni načrt opisujemo po vrsti, začenši s prijavo in odjavo člana, nadaljujemo z opisom poteka internih klicev, vmes opisujemo funkcije iz konfiguracijske datoteke func_odbc.conf, zaključimo z opisom izvedbe zunanjih klicev. Komentar ločimo od programske kode s podpičjem (;). Celotno programsko kodo, brez komentarjev, si je

35 Razvoj telefonske aplikacije v Asterisku Stran 25 možno ogledati v Prilogi B in Prilogi C na koncu diplomskega dela. Pri snovanju klicnega načrta smo si nekoliko pomagali s podobno aplikacijo, "hotdesking" [1]. Odpremo datoteko extensions.conf, ustvarimo konteksta [globals] in [general] in definiramo: [globals] Brezocnik=SIP/G2_3N_52 Kovse=SIP/G_218_Kovse Kapus=SIP/G_1102 Dugonik=SIP/G2_3N_58 Meolic=SIP/G_203_Meolic Vicman=SIP/G_203_Vicman Vlaovic=SIP/G_218_Vlaovic Vreze=SIP/G_218_Vreze Romih=SIP/G_218_Romih ; definiramo globalne spremenljivke, na katere se bomo sklicevali, ko bomo hoteli klicati na primer preko kanala SIP/G_1102. [general] Sedaj ustvarimo kontekst hotdesk, začnemo z ujemanji vzorcev, ki bodo omogočili prijavo članom LMS: [hotdesk] exten => _2XX,1,NoOp() exten => _2XX,n,Set(E=${EXTEN}) exten => _2XX,n,Set(${E}_STATUS=${HOTDESK_INFO(status,${E})}) exten => _2XX,n,Set(${E}_PIN=${HOTDESK_INFO(pin,${E})}) exten => _2XX,n,GotoIf($[${ISNULL(${${E}_STATUS})}]?invalid_user,1) exten => _2XX,n,Goto(login,1)

36 Razvoj telefonske aplikacije v Asterisku Stran 26 ; ko se član LMS vsede h kateremukoli terminalu člana LMS, vtipka svojo prijavno številko, tj. zadnje tri števke svoje interne številke, za prijavo oziroma odjavo. To smo definirali z ujemanjem vzorca, ki se prične s števko 2 in še dvema števkama, ki predstavljata število med 0 in 9. Nato nastavimo status člana (ali je prijavljen ali odjavljen) in PIN člana. Prijavno številko uporabi func_odbc za preverbo v funkciji HOTDESK_INFO() klicnega načrta. Ta funkcija, ki smo jo definirali v konfiguracijski datoteki func_odbc.conf, izvede stavek SQL in vrne, karkoli je dobljeno iz podatkovne baze. Funkcijo HOTDESK_INFO() smo definirali tako: [INFO] prefix=hotdesk dsn=asterisk read=select ${ARG1} FROM ast_hotdesk WHERE extension = ${ARG2} Začnemo s predpono, ki pa je neobvezna. Če je posebej ne imenujemo, Asterisk doda ime ODBC, tako da bi naša funkcija bila poimenovana ODBC_INFO(). Atribut dsn pove Asterisku, katero povezavo iz res_odbc.conf naj uporabi. Ker bi lahko bilo konfiguriranih mnogo povezav podatkovne baze, tukaj določimo, katero uporabiti. Sedaj definiramo stavek SQL z atributom read. Funkcije klicnega načrta imajo dva formata, s katerima ju lahko prikličemo: enega za pridobivanje informacij in drugega za nastavljane informacij. Atribut read je uporabljen pri klicu naše funkcije HOTDESK_INFO() s formatom za pridobivanje informacij. Tako sta status oziroma PIN in razširitev, s katere član kliče, zajeta v stavku SQL, ki smo mu dodelili atribut read. Dostopna sta kot ${ARG1} in ${ARG2}. Preverimo, ali je član pravilno vtipkal prijavno številko oziroma ali takšna številka sploh obstaja v naši bazi. Če je ne najde, preidemo na razširitev invalid_user: exten => invalid_user,1,noop() exten => invalid_user,n,verbose(1 Hot Desk extension ${E} ne obstaja) exten => invalid_user,n,playback(silence/2&hotdesk/ne_obstaja) exten => invalid_user,n,hangup()

37 Razvoj telefonske aplikacije v Asterisku Stran 27 Ta nam predvaja zvočni posnetek in prekine pogovor. Za prijavno številko, ki obstaja, tj. se nahaja v bazi, pa preidemo na razširitev z imenom login. Vsak član ima svojo kodo PIN, ki mu jo določi administrator. exten => login,1,noop() exten => login,n,set(pin_tries=0) ; nastavimo spremenljivko z imenom PIN_TRIES na 0. exten => login,n,set(max_pin_tries=2) exten => login,n(get_pin),noop() ; poimenujemo prioriteto. exten => login,n,set(pin_tries=$[${pin_tries} + 1]) exten=>login,n,read(pin_entered hotdesk/vnesite_pin ${LEN(${${E}_PIN})}) ; predvajamo posnetek "Vnesi pin" in s funkcijo LEN preberemo vneseno. exten => login,n,gotoif($[${pin_entered} = ${${E}_PIN}]?valid_login,1) ; če se vneseni PIN in PIN, ki smo ga prebrali iz baze, ujemata, preidemo na razširitev valid_login. exten => login,n,playback(hotdesk/napacen_pin) ; če se ne ujemata, predvajamo "Napacen pin". exten => login,n,gotoif($[${pin_tries} <=${MAX_PIN_TRIES}]?get_pin:login_fail,1) ; dovolimo tri poizkuse vnosa kode PIN. Če tudi tretjič napačno vnesemo kodo PIN, skočimo na razširitev login_fail: exten => login_fail,1,noop() exten => login_fail,n,playback(silence/1&hotdesk/neuspesna_prijava) exten => login_fail,n,hangup() Če smo pravilno vnesli kodo PIN, ki pripada določenemu članu, preidemo na valid_login, ob tem pa je izgled naše baze na primer takšen kot na sliki 4.6.

38 Razvoj telefonske aplikacije v Asterisku Stran 28 Slika 4.6: Prijavljeni člani LMS exten => valid_login,1,verbose(1 Hot Desk Extension ${E} is changing status) exten => valid_login,n,verbose(1 Checking current status of extension ${E}) exten => valid_login,n,set(${e}_status=${hotdesk_info(status,${e})}) ; preverimo status kličočega. exten => valid_login,n,set(location=${cut(channel,/,2)}) exten => valid_login,n,set(location=${cut(location,-,1)}) Na tem mestu uporabimo spremenljivko CHANNEL, s pomočjo katere ugotovimo, s katere lokacije kliče član LMS. Ta spremenljivka ima ponavadi vrednost kot na primer SIP/G_ daec0. Najprej uporabimo funkcijo CUT(), s katero najprej odrežemo del niza SIP/. Zatem odrežemo še del niza -140daec0 in dodelimo dobljeno G_1102, kar predstavlja prostor, s katerega član kliče, spremenljivki LOCATION. exten => valid_login,n,gotoif($[${${e}_status} = 0]?8) ; preverimo, ali je član že od prej prijavljen. Če ni, preidemo na korak 8 razširitve valid_login. exten => valid_login,n,gotoif($[${${e}_status} = 1]?11) ; če je član prijavljen, preskočimo na korak številka 11. ; uporabimo funkcijo HOTDESK_STATUS, ki je definirana tako:

39 Razvoj telefonske aplikacije v Asterisku Stran 29 [STATUS] prefix=hotdesk dsn=asterisk write=update ast_hotdesk SET status = '${VAL1}', location = '${VAL2}' WHERE login = '${ARG1}' Sintaksa je zelo podobna sintaksi za atribut read. Prva stvar, v kateri se razlikujeta, je ta, da pri atributu write znotraj stavka SQL uporabljamo spremenljivki ${VALx} in ${ARGx}. Ti vsebujeta vrednosti, ki jih dodelimo funkciji v klicnem načrtu. Pri definirani funkciji HOTDESK_STATUS() imamo dve spremenljivki VAL in eno spremenljivko ARG, ki so bile določene v klicnem načrtu z izjavo: exten => valid_login,n,set(hotdesk_status(${e})=1\,${location}) ; prenašamo vrednost spremenljivke ${E} v funkcijo HOTDESK_STATUS, tako da je nato dosegljiva v stavku SQL znotraj func_odbc.conf s spremenljivko ${ARG1}. Nako prenašamo dve vrednosti: 1 in ${LOCATION}. Tako sta ti dve vrednosti dosegljivi stavku SQL s spremenljivkama ${VAL1} in ${VAL2}. Tako za vsakega člana, ki se prijavi, nastavimo status 1 in zapišemo, na kateri lokaciji se je prijavil. exten => valid_login,n,playback(hotdesk/uspesna_prijava) exten => valid_login,n,hangup() exten => valid_login,n,gotoif($[${location} = ${HOTDESK_LOCATION_INFO(${E})}]?13) ; če je član že prijavljen in se želi odjaviti iz istega prostora, kjer je že prijavljen, ali če pozabi, da je že prijavljen, preverimo, ali je lokacija, s katere kliče, enaka lokaciji, na kateri je prijavljen oziroma ki je zapisana v bazi. To storimo s funkcijo: [LOCATION_INFO] prefix=hotdesk dsn=asterisk read=select location FROM ast_hotdesk WHERE login= '${ARG1}'

40 Razvoj telefonske aplikacije v Asterisku Stran 30 Izberemo lokacijo, kjer je član prijavljen. Če se lokaciji ujemata, preidemo na korak 13, kjer predvajamo zvočni posnetek, ki članu ponudi možnost ostati prijavljen ali se odjaviti. To stori, tako da pritisne ponujeno števko na tipkovnici terminala. Če se lokaciji ne ujemata, preidemo na naslednji korak, pri katerem skočimo nazaj na korak 8 iste razširitve. Če se član pozabi odjaviti in se želi prijaviti na drugi lokaciji, ga aplikacija odjavi na stari lokaciji in prijavi na novi. exten => valid_login,n,goto(8) exten => valid_login,n,background(hotdesk/prijava_odjava) exten => valid_login,n,waitexten(3) ; čakamo na vnos člana. Ob pritisku tipke 1 na terminalu se predvaja zvočni posnetek, da se je član uspešno prijavil. Ker je član že bil prijavljen in je to morda pozabil, se predvaja samo ta posnetek brez kakršnekoli druge akcije. Ob pritisku števila 2 skočimo na razširitev z imenom logout. Če uporabnik vnese število, ki ni pričakovano, za to je v Asterisku rezervirana razširitev i, člana na to opozorimo. Prav tako ga opozorimo na napako, če poteče čas za vnos, za kar je rezervirana razširitev t. exten => 1,1,Playback(hotdesk/uspesna_prijava) exten => 1,n,Hangup() exten => 2,1,Goto(logout,1) exten => i,1,noop() exten => i,n,playback(hotdesk/napacno_stevilo) exten => i,n,hangup() exten => t,1,playback(hotdesk/napacno_stevilo) exten => t,n,hangup() Člana odjavimo z razširitvijo logout. Tako s pomočjo funkcije HOTDESK_STATUS() nastavimo status prijavnega števila na 0. Na tem mestu uporabimo spremenljivko kanala ${ODBCROWS}, ki je definirana s funkcijo HOTDESK_STATUS(). Ta nam pove, koliko vrstic je bilo spremenjenih s stavkom SQL UPDATE; predpostavljamo, da 1. Če je

41 Razvoj telefonske aplikacije v Asterisku Stran 31 vrednost ${ODBCROWS} manj kot 1, predpostavljamo, da je prišlo do napake, kar ponazorimo z razširitvijo error. exten => logout,1,noop() exten => logout,n,set(hotdesk_status(${e})=0) exten => logout,n,gotoif($[${odbcrows} < 1]?error,1) exten => logout,n,playback(silence/1&hotdesk/uspesna_odjava) exten => logout,n,hangup() Razširitev login_fail uporabimo, ko tudi tretjič narobe vtipkamo PIN-kodo ob prijavi oziroma odjavi člana. Aplikacija nas opozori, da je bila prijava neuspešna. exten => login_fail,1,noop() exten => login_fail,n,playback(silence/1&hotdesk/neuspesna_prijava) exten => login_fail,n,hangup() exten => error,1,noop() exten => error,n,playback(silence/1&hotdesk/napaka) exten => error,n,hangup() Če član ob prijavi oziroma odjavi vtipka napačno prijavno številko, ga na to opozorimo. exten => invalid_user,1,noop() exten => invalid_user,n,verbose(1 Hot Desk extension ${E} ne obstaja) exten => invalid_user,n,playback(silence/2&hotdesk/ne_obstaja) exten => invalid_user,n,hangup() include => hotdesk_outbound ; vključimo kontekst hotdesk_outbound, ki bo članom laboratorija omogočal odhodne klice. [hotdesk_outbound] exten => _X.,1,NoOp() exten => _X.,n,Set(LOCATION=${CUT(CHANNEL,/,2)})

42 Razvoj telefonske aplikacije v Asterisku Stran 32 exten => _X.,n,Set(LOCATION=${CUT(LOCATION,-,1)}) ; ponovno definiramo spremenljivko LOCATION z uporabo spremenljivke CHANNEL. exten => _X.,n,Set(WHO=${HOTDESK_PHONE_STATUS(${LOCATION})}) Definiramo spremenljivko WHO s pomočjo funkcije HOTDESK_PHONE_STATUS(): [PHONE_STATUS] prefix=hotdesk dsn=asterisk read=select login FROM ast_hotdesk WHERE location = '${ARG1}' AND status = '1' Če član ni prijavljen, ne more opravljati izhodnih klicev. Če je prijavljen, s pomočjo funkcije HOTDESK_INFO() pridobimo iz baze informacije o članu. exten => _X.,n,GotoIf($[${ISNULL(${WHO})}]?not_logged_in,1) ; če je spremenljivka WHO, ki mora vrniti prijavno številko klicatelja, nič oziroma ne obstaja, preidemo na razširitev z imenom not_logged_in. exten => _X.,n,Set(${WHO}_CID_NAME=${HOTDESK_INFO(cid_name,${WHO})}) exten => _X.,n,Set(${WHO}_CID_NUMBER=${HOTDESK_INFO(cid_number,${WHO})}) exten => _X.,n,Set(${WHO}_CONTEXT=${HOTDESK_INFO(context,${WHO})}) exten => _X.,n,Goto(${${WHO}_CONTEXT},${EXTEN},1) ; preidemo na kontekst, ki je članu določen v bazi, in sicer na številko, ki jo kliče, na prioriteto številka 1. Člana opozorimo, da ni prijavljen. exten => not_logged_in,1,noop() exten => not_logged_in,n,playback(silence/1&hotdesk/niste_prijavljeni) exten => not_logged_in,n,hangup()

43 Razvoj telefonske aplikacije v Asterisku Stran 33 [LMS] S tem kontekstom omogočimo članom laboratorija LMS klice med seboj oziroma dohodne klice drugih zaposlenih na FERI in z drugih TF (tehniških fakultet). exten => 7210,1,NoOp() exten => 7210,n,Set(E=${EXTEN}) exten => 7210,n,Set(LOCATION=${HOTDESK_LOCATION(${E})}) ; definiramo novo funkcijo HOTDESK_LOCATION(), ki iz baze prebere lokacijo, kjer je član prijavljen, glede na svojo razširitev. [LOCATION] prefix=hotdesk dsn=asterisk read=select location FROM ast_hotdesk WHERE extension= '${ARG1}' Najprej definiramo razširitev vodje laboratorija, ki je Do vodje laboratorija mora biti klic vzpostavljen v vsakem primeru, kar pomeni, da je dosegljiv na lokaciji, kjer je prijavljen oziroma na lastnem telefonu, če ni prijavljen nikjer. exten => 7210,n,GotoIf($[${ISNULL(${LOCATION})}]?6) exten => 7210,n,Dial(SIP/${LOCATION},30) exten => 7210,n,Dial(${Brezocnik},30) exten => 7210,n,Hangup() Drugače je za druge člane LMS. Do teh mora biti klic vzpostavljen na več načinov. Če pride klic od zaposlenega na FERI, ki ni član LMS, se klic do člana LMS izvede, samo če je prijavljen na svojem telefonu. Če ni prijavljen, klicatelja opozorimo, da številka trenutno ni dosegljiva. Če je dohodni klic enega izmed članov LMS, se klic izvede na lokacijo, kjer je prijavljen, oziroma se klicatelja opozori, če ni prijavljen nikjer. Za dohodne klice drugih zaposlenih na TF velja, da se klic izvede le na domač terminal. exten => 7208,1,NoOp() exten => 7208,n,Set(E=${EXTEN})

44 Razvoj telefonske aplikacije v Asterisku Stran 34 exten => 7208,n,GotoIf($[${CONTEXT}=FERI_others]?5) ; klic iz konteksta, imenovanega FERI_others (ta kontekst definiramo v datoteki sip.conf zraven tvorjenega uporabnika, ki ni član LMS, vendar je zaposlen na FERI, prav tako ga, kot bomo videli kasneje, definiramo v klicnem načrtu). Če pride takšen klic do enega izmed članov LMS, preidemo na korak 5, iz katerega preskočimo v makro others, drugače preidemo na naslednji korak oziroma v makro LMS. Spremenljivka CONTEXT [2] je v Asterisku rezervirana spremenljivka, ki podaja ime trenutnega konteksta. Tako se bo klic, ki bo prišel od drugih zaposlenih na FERI, začel v kontekstu FERI_others, kjer pa bomo vključili kontekste, na katere se bo ta klic lahko izvedel. exten => 7208,n,Macro(LMS) exten => 7208,n,Macro(others) exten => 7208,n,GotoIf($[${LOCATION}=G_218_Kovse]?8) ; če ugotovimo, da je lokacija, na kateri je član trenutno prijavljen, enaka domači lokaciji, preidemo na korak 8, kjer kličemo na domač terminal, če ne, preidemo v makro not_available: exten => 7208,n,Macro(not_available) exten => 7208,n,Dial(${Kovse},30) Člane laboratorija pa lahko prikličejo tudi drugi zaposleni na TF. exten => _220XXXX,1,NoOp() exten => _220XXXX,n,Set(E=${EXTEN:3}) ; ker drugi zaposleni na TF ne morejo priklicati članov LMS oziroma zaposlenih na FERI kar po internih številkah, prikličejo jih lahko z dodatkom številke 220 k interni številki, odrežemo prva tri števila celotne telefonske številke, tako da nam preostane samo interna številka člana LMS. exten => _220XXXX,n,GotoIf($[${E}=7210]?${E},6) ; če je dobljena spremenljivka E enaka 7210, torej enaka interni številki vodje laboratorija LMS, preidemo na to razširitev in na prioriteto številka 6, kjer se ne zgodi nič drugega kot klic na domač telefon vodje laboratorija LMS.

45 Razvoj telefonske aplikacije v Asterisku Stran 35 exten => _220XXXX,n,Goto(${E},8) ; podobno je za druge člane LMS. Če dobljena spremenljivka ni enaka vodji laboratorija, je enaka kateremu drugemu članu LMS. Tako preidemo na željeno interno številko, na prioriteto številka 8, kjer prav tako poizkuša nekdo iz konteksta external priklicati člana LMS na domač telefon. exten => logged_out,1,noop() exten => logged_out,n,playback(silence/1&hotdesk/ni_prijavljen) exten => logged_out,n,hangup() exten => i,1,noop() exten => i,n,playback(silence/2&hotdesk/ne_morete_klicati) exten => i,n,hangup() include => calls_feri include => calls_tf [macro-lms] exten => s,1,noop() exten => s,n,set(location=${hotdesk_location(${e})}) exten => s,n,gotoif($[${isnull(${location})}]?lms,logged_out,1) ; če je lokacija nič oziroma član ni prijavljen, preidemo nazaj na kontekst LMS, na razširitev logged_out, na prioriteto številka 1 in klicatelja opozorimo, da član trenutno ni prijavljen. Če je član prijavljen, ga lahko pokličemo na trenutno lokacijo. exten => s,n,dial(sip/${location},30) exten => s,n,gotoif($[»${dialstatus}«=»busy«]?7) exten => s,n,macro(not_available) exten => s,n,congestion() [macro-others] exten => s,1,noop()

46 Razvoj telefonske aplikacije v Asterisku Stran 36 exten => s,n,set(location=${hotdesk_location(${e})}) exten => s,n,gotoif($[${isnull(${location})}]?5) ; če član ni prijavljen, preidemo na korak 5 oziroma na makro not_available, kjer klicatelja, zaposlenega na FERI, opozorimo, da številka trenutno ni dosegljiva. exten => s,n,goto(lms,${e},6) ; če je član prijavljen, preidemo nazaj na kontekst LMS, razširitev, katero klicatelj kliče, na prioriteto 6. exten => s,n,macro(not_available) ; kličemo makro z imenom not_available. [macro-not_available] V tem makru predvajamo zvočni posnetek "Številka trenutno ni dosegljiva!". exten => s,1,noop() exten => s,n,playback(hotdesk/ni_dosegljiva) exten => s,n,hangup() Enak postopek velja za vse druge člane LMS. Definiramo makro za klice znotraj FERI. Člani laboratorija LMS lahko kličejo po vsem FERI z interno številko. Drugi zaposleni FERI so v datoteki sip.conf konfigurirani kot interna številka. [macro-calls_feri] exten => s,1,dial(sip/${e}) [calls_feri] exten => _7[0-1]XX,1,Set(E=${EXTEN}) ; nastavimo spremenljivko E, ki pove, katero številko je klical klicatelj, in preskočimo na makro calls_feri, kjer to številko z aplikacijo Dial() prikličemo. Enako velja za vse številke drugih zaposlenih na FERI, ki pa so od 7000 do 7299, vendar ne enake številkam članov LMS. exten => _7[0-1]XX,n,Macro(calls_FERI)

47 Razvoj telefonske aplikacije v Asterisku Stran 37 exten => _720[0-7],1,Set(E=${EXTEN}) exten => _720[0-7],n,Macro(calls_FERI) exten => 7209,1,Set(E=${EXTEN}) exten => 7209,n,Macro(calls_FERI) exten => 7211,1,Set(E=${EXTEN}) exten => 7211,n,Macro(calls_FERI) exten => 7216,1,Set(E=${EXTEN}) exten => 7216,n,Macro(calls_FERI) exten => _721[8-9],1,Set(E=${EXTEN}) exten => _721[8-9],n,Macro(calls_FERI) exten => _72[2-5]X,1,Set(E=${EXTEN}) exten => _72[2-5]X,n,Macro(calls_FERI) exten => _726[0-6],1,Set(E=${EXTEN}) exten => _726[0-6],n,Macro(calls_FERI) exten => 7269,1,Set(E=${EXTEN}) exten => 7269,n,Macro(calls_FERI) exten => _72[7-9]X,1,Set(E=${EXTEN}) exten => _72[7-9]X,n,Macro(calls_FERI) exten => i,1,noop() exten => i,n,playback(silence/2&hotdesk/ne_morete_klicati) exten => i,n,hangup() include => calls_tf Definiramo kontekst, ki bo ujel vsak klic s terminala, ki je član konteksta FERI_others. [FERI_others] include => LMS

48 Razvoj telefonske aplikacije v Asterisku Stran 38 ; vključimo kontekst LMS. Ponovno definiramo nov kontekst. Člani laboratorija lahko kličejo tudi vse druge zaposlene na TF, katerih številke se začnejo z 220. Tako druge zaposlene na TF definiramo s celotno številko, kot na primer [calls_tf] exten => _220XXXX,1,NoOp() exten => _220XXXX,n,Set(E=${EXTEN}) exten => _220XXXX,n,Dial(SIP/${E}) exten => i,1,noop() exten => i,n,playback(silence/2&hotdesk/ne_morete_klicati) exten => i,n,hangup() include => LMS [external] include => LMS ; kontekst, ki ujame vsak klic s terminala, ki je član konteksta external. Tako lahko ugotovimo, iz katerega konteksta pride klic in glede na to nastavimo določene akcije. 4.7 Snemanje zvočnih posnetkov Za potrebe aplikacije moramo posneti nekaj zvočnih posnetkov, ki bodo uporabnika vodili skozi celoten postopek prijave/odjave, klicev in podobnega. Kakovostne zvočne posnetke smo posneli kar s terminalom preko nekaj dodatnih vrstic v klicnem načrtu. exten => _66XX,1,Wait(2) exten => _66XX,n,Record(/tmp/prompt${EXTEN:2}:wav) exten => _66XX,n,Wait(1) exten => _66XX,n,Playback(/tmp/prompt${EXTEN:2}) exten => _66XX,n,Wait(2)

49 Razvoj telefonske aplikacije v Asterisku Stran 39 exten => _66XX,n,Hangup() Vse, kar ta del kode omogoča, je, da lahko s klicem na številke od 6600 do 6699 posnamemo svoje posnetke, ki jih Asterisk shrani v datoteko /tmp in vsakega poimenuje od prompt00.wav do prompt99.wav. Kasneje lahko te posnetke preimenujemo in jih obvezno premaknemo v privzet direktorij za zvočne posnetke Asteriska /var/lib/asterisk/sounds. Za večjo preglednost smo ustvarili dodatno datoteko z imenom /hotdesk, kar pomeni, da bomo uporabljali posnetke, shranjene v /var/lib/asterisk/sounds/hotdesk. Vsakič ko želimo uporabiti določen zvočni posnetek, to storimo, tako da primerni aplikaciji v klicnem načrtu dodamo pot do posnetka, ki je v našem primeru hotdesk/ime_posnetka. Posneli smo sledeče: vnesite_pin.wav: "Vnesite pin." napacen_pin.wav: "Napačen pin." uspesna_prijava.wav: "Prijava je bila uspešna." napacno_stevilo.wav: "Vnesli ste napačno število." uspesna_odjava.wav: "Odjava uspela." neuspesna_prijava.wav: "Prijava ni bila uspešna." napaka.wav: "Napaka." ne_obstaja.wav : "Ta številka ne obstaja." niste_prijavljeni.wav: "Niste prijavljeni." ni_dosegljiva.wav: "Številka trenutno ni dosegljiva." ni_prijavljen.wav : "Uporabnik ni prijavljen." ne_morete_klicati.wav : "Te številke ne morete klicati." prijava_odjava.wav : "Če želite še naprej biti prijavljeni, pritisnite 1, če se želite odjaviti, pritisnite 2."

50 Razvoj telefonske aplikacije v Asterisku Stran PRIMERI DELOVANJA APLIKACIJE S primeri bomo prikazali delovanje aplikacije. To bomo storili tako, da bomo prikazali posnetke iz Asteriskove konzole. Prikazali bomo vse od prijave člana, napačnega vnosa prijavne številke, napačnega vnosa PIN-kode do klicev znotraj FERI in do drugih zaposlenih na TF. 5.1 Prijava/odjava člana Terminal, ki ga ima član v svojem kabinetu oziroma laboratoriju, je predstavljen z imenom le-tega. Prijava poteka, tako da član vtipka zadnje tri cifre svoje interne številke. Aplikacija od člana zahteva vnos PIN-kode, ki mu jo določi administrator. Ob pravilno vneseni kodi dobimo izpis, prikazan na sliki 5.1. Slika 5.1: Uspešna prijava Iz slike in prvih šest prioritet razširitve hotdesk je razvidno, da je aplikacijo uporabil član s prijavno številko 210. Ob vnosu prijavne številke aplikacija preveri, ali član s to prijavno številko obstaja v bazi. Tako je v tretjem in četrtem koraku razvidno, da član s to prijavno številko obstaja, saj je aplikacija iz baze prebrala njegov status in njegovo PIN-kodo.

51 Razvoj telefonske aplikacije v Asterisku Stran 41 Naprej preide na razširitev login, kjer člana opozori, da mora vnesti svojo PIN-kodo. V našem primeru se v vrstici 16 lepo vidi, da jo je vnesel pravilno. Ob pravilno vneseni kodi aplikacija preveri, ali je član že od prej prijavljen, kar je razvidno v tretji prioriteti razširitve valid_login. Ker v našem primeru član ni prijavljen, preverimo v četrti prioriteti po vrsti, s katere lokacije kliče in to zapišemo v bazo. Prav tako spremenimo status člana na 1, kar pomeni, da je prijavljen. Nazadnje članu predvajamo posnetek, ki ga obvesti, da se je uspešno prijavil. Če se član zmoti in vtipka neobstoječo prijavno številko, ga na to aplikacija opozori. Na sliki 5.2 vidimo, da je član v prioriteti številka dve vnesel neobstoječo prijavno številko, 251. V naslednjih dveh vrsticah opazimo, da želi aplikacija preveriti status in PIN-kodo tega člana, vendar teh podatkov iz baze ne uspe dobiti, saj ne obstajajo. Tako člana z zvočnim posnetkom opozori, da ta prijavna številka ne obstaja. Slika 5.2: Vnos neobstoječe prijavne številke Član lahko največ trikrat vnese napravilno PIN-kodo. Ob vsakem nepravilnem poizkusu ga na to opozorimo. Ko to stori tudi tretjič, člana obvestimo, da prijava ni uspela. Na sliki 5.3 vidimo v vrstici šestnajst, da je član s prijavno številko 208 vnesel namesto svoje PINkode, ki je 777, 555. Ker je vnesel napačno PIN-kodo, ga v prioriteti številka osem razširitve login z zvočnim posnetkom opozorimo na napačno vneseno PIN-kodo in mu ponudimo ponoven vnos. Tako je iz vrstice sedemindvajset možno razbrati, da je član v drugem poizkusu pravilno vnesel svojo kodo. V bazo aplikacija zapiše status in lokacijo, kjer se je ta član prijavil in člana obvesti, da je bila prijava uspešna.

52 Razvoj telefonske aplikacije v Asterisku Stran 42 Slika 5.3: Vnos napačne PIN-kode Če je član prijavljen na določeni lokaciji in se želi s te lokacije odjaviti, ga aplikacija vpraša, ali želi še naprej biti prijavljen ali naj ga odjavi. Za odjavo mora pritisniti 2, če želi ostati prijavljen, pa 1. Tako lahko na sliki 5.4 v prioriteti številka tri razširitve valid_login vidimo, da je član s prijavno številko 210 bil prijavljen že od prej. Aplikacija najprej preveri v prioriteti sedem, ali je lokacija, s katere član kliče, enaka lokaciji, na kateri je bil nazadnje prijavljen. Ker se lokaciji ujemata, kar je razvidno iz enajste prioritete razširitve valid_login, kjer je število 1 pred vprašajem, kar pomeni resničnost izraza, preidemo na prioriteto trinajst, kjer aplikacija od člana zahteva vnos števila 1 za ohranitev prijave oziroma števila 2 za odjavo. V tem primeru je član izbral opcijo 1. Ker se s tem vnosom v bazi nič ne spremeni, člana obvesti, da je bila prijava uspešna in prekine trenutno sejo.

53 Razvoj telefonske aplikacije v Asterisku Stran 43 Slika 5.4: Vnos števila 1 za ohranitev prijave Podobno velja za izbiro števila 2, oziroma odjavo člana, kar ponazarja slika 5.5. Tudi tukaj je na prvem mestu vnos PIN-kode. Ob pravilnem vnosu aplikacija ugotovi, da član kliče z iste lokacije, kjer je bil že od prej prijavljen. Član, v tem primeru je to tisti s prijavno številko 210, vnese število 2, kar pomeni, da se želi odjaviti. Ob vnosu preide aplikacija na novo razširitev, imenovano logout, kjer v drugi vrstici te razširitve nastavi status kličoče prijavne številke na 0, kar pomeni, da je član odjavljen. Obvesti ga, da je bila odjava uspešna in prekine sejo.

54 Razvoj telefonske aplikacije v Asterisku Stran 44 Slika 5.5: Vnos števila 2 za odjavo Člana, ki se pozabi odjaviti, preden zapusti določeno lokacijo, in se želi prijaviti na novi lokaciji, aplikacija na stari lokaciji odjavi in prijavi na novi. Na sliki 5.6 vidimo, da se v prioriteti številka enajst razširitve valid_login lokaciji ne ujemata. Torej se je klicatelj pozabil odjaviti, ko je odšel z določene lokacije. Ko aplikacija to ugotovi, preide na prioriteto številka osem iste razširitve in nastavi za kličočo prijavno številko novo lokacijo. Člana obvesti, da se je uspešno prijavil in prekine sejo.

55 Razvoj telefonske aplikacije v Asterisku Stran 45 Slika 5.6: Odjava/prijava 5.2 Primeri klicev Če član ni prijavljen, ne more opravljati izhodnih klicev. Tak primer ponazarja slika 5.7. V prioriteti številka štiri je opaziti, da je spremenljivka WHO prazna, kar pomeni, da kličoči član ni prijavljen. Če spremenljivka WHO iz baze ne dobi vrednosti prijavne številke, ki jo po definiciji zahteva, preide s pomočjo aplikacije GotoIf na razširitev not_logged_in. Ta članu v drugi vrstici predvaja zvočni posnetek, da ni prijavljen. Tako aplikacija članu, ki ni prijavljen, ne omogoča opravljanja izhodnih klicev.

56 Razvoj telefonske aplikacije v Asterisku Stran 46 Slika 5.7: Član klicatelj ni prijavljen Primer, ko je član klicatelj prijavljen, vendar klicani član ni prijavljen, predstavlja slika 5.8. Slika 5.8 : Klicani član ni prijavljen

57 Razvoj telefonske aplikacije v Asterisku Stran 47 Član z interno številko 7210 kliče na interno številko V prvih devetih vrsticah aplikacija izpiše podatke o klicatelju in preide v kontekst calls_tf, ki je članu določen s konfiguracijo baze. Ker pa klicatelj ne opravlja klica v sklopu tega konteksta, je v tem kontekstu vključen kontekst LMS, ki pa omogoča klice znotraj laboratorija. Tako pridemo v prioriteto številka štiri, ki skoči v makro, imenovan LMS, kateri preveri, kje se klicani član nahaja. Ker, kot se vidi v prioriteti številka dve makra LMS, aplikacija ni uspela iz baze pridobiti spremenljivke LOCATION, preide na razširitev logged_out. To pomeni, da član, ki je bil klican, ni prijavljen na nobeni lokaciji. Klicatelju predvaja posnetek o nedosegljivosti uporabnika in prekine sejo. Naslednji primer je primer klica med dvema članoma LMS. Takšno situacijo predstavlja slika 5.9. Član z interno številko 7210 kliče na interno številko Tako tudi v tem primeru aplikacija najprej izpiše podatke o klicatelju in preide v klicateljev privzeti kontekst. V tretji prioriteti najprej preveri, ali je klic zunanji. Ker ni, preide v makro, imenovan LMS. Najprej v drugi prioriteti preveri lokacijo klicanega, v tretji preveri, ali je morda član odjavljen in nato prikliče lokacijo člana. V tem primeru je to G_1102. Slika 5.9 : Klic med članoma LMS

58 Razvoj telefonske aplikacije v Asterisku Stran 48 Primer klica, ko člana LMS kliče drug zaposlen na FERI, je ponazorjen na sliki Član je prijavljen na svoji lokaciji. Klic je izveden s številke 7277 na številko Drugi zaposleni na FERI vstopijo v klicni načrt v kontekstu, imenovanem FERI_others, ki vključuje kontekst LMS. Tako aplikacija ugotovi, da prihaja klic od zunaj. V tretji prioriteti konteksta FERI_others aplikacija ugotovi, da je prišel klic s strani drugih zaposlenih na FERI. Po tej ugotovitvi skoči v makro, imenovan others, kjer ugotovi, ali je član sploh prijavljen (druga prioriteta makra others). Ker je aplikacija ugotovila, da je član prijavljen, izstopi iz makra in preide nazaj v kontekst LMS na razširitev, ki je enaka klicani številki, na prioriteto šest. To prikazuje četrta vrstica makra others. V naslednjem koraku preveri, ali je lokacija člana enaka njegovi domači lokaciji. Ob tej pozitivni ugotovitvi prikliče to lokacijo, ki je v tem primeru G_203_Meolic. Slika 5.10 : Klic člana s strani drugih zaposlenih na FERI Če član ni prijavljen na svoji lokaciji, je prijavljen kje drugje oziroma sploh ni prijavljen, in kliče drug zaposlen na FERI, se le-temu javi, da številka trenutno ni dosegljiva. Izjema je vodja laboratorija, do katerega se klic izvede v vsakem primeru, na lokacijo, kjer je prijavljen oziroma na domačo lokacijo, če ni prijavljen nikjer. Takšna primera predstavljata sliki 5.11 in Na sliki 5.11 je možno videti, da je aplikacija odkrila, da klicani član ni prijavljen na svojem terminalu. To ponazarja šesta prioriteta konteksta LMS in razširitev, ki je v tem

59 Razvoj telefonske aplikacije v Asterisku Stran 49 primeru enaka klicani številki, Takoj zatem skoči aplikacija v makro, imenovan not_available. Ta javi klicatelju, zaposlenemu na FERI, ki ni član LMS, da številka trenutno ni dosegljiva. Slika 5.11 : Član ni prijavljen na svojem terminalu Do vodje laboratorija se klic izvede v vsakem primeru. Tako je na sliki 5.12, v tretji prioriteti, možno videti, da vodja ni prijavljen na nobeni lokaciji. V takšni situaciji izvedemo klic na domači telefon vodje laboratorija, kar prikazuje prioriteta, označena s številko šest. Tako je klic izveden na G2_3N_52. Slika 5.12 : Klic vodje laboratorija s strani drugih zaposlenih FERI Predstavimo še klic, ki pride s strani drugih zaposlenih na TF. Ta vstopi v klicni načrt v kontekstu external. Slika 5.13 prikazuje tak klic. Takšen klic se v vsakem primeru izvede le na domač terminal člana LMS. Tako je iz priložene slike možno videti, da je nekdo z

60 Razvoj telefonske aplikacije v Asterisku Stran 50 drugih tehniških fakultet klical številko Tej številki je aplikacija "odrezala" prve tri števke. Tako je preskočila na to klicano razširitev in iz prioritete številka štiri skoči na številko osem, kjer se izvede klic na domač terminal. V tem primeru je to G_218_Kovse. Slika 5.13 : Zunanji klic Člani LMS lahko kličejo vse druge zaposlene na FERI, ki niso člani LMS, kakor tudi vse druge zaposlene na preostalih TF. Na sliki 5.14 vidimo primer klica, ko član, kot se vidi iz podatkov o klicatelju v prvih devetih prioritetah, Robert Meolic, kliče na številko Tako v deveti prioriteti konteksta hotdesk aplikacija preide v privzeti kontekst člana klicatelja, ki je v tem primeru calls_feri. V drugi prioriteti tega konteksta vstopi v makro calls_feri, kjer se vzpostavi seja do kličočega. Slika 5.14: Klic člana do zaposlenega na FERI

61 Razvoj telefonske aplikacije v Asterisku Stran 51 Nazadnje vidimo na sliki 5.15 klic člana Tima Kovšeta na številko , kar pomeni klic do zaposlenega na eni od preostalih TF. Aplikacija podobno kot v prejšnjem primeru preide v deveti prioriteti konteksta hotdesk v privzet kontekst člana, calls_feri. Ker pa v tem primeru klic ni namenjen številki, ki bi bila v sklopu tega konteksta, je v kontekst calls_feri vključen kontekst calls_tf, ki članu omogoča klice tudi do preostalih zaposlenih na TF. Tako je klic v resnici v kontekstu calls_tf, vendar Asteriskova konzola izpisuje ime privzetega konteksta. Tukaj aplikacija pod spremenljivko E, druga prioriteta, izpiše številko kličočega in s pomočjo aplikacije Dial, tretja prioriteta, prikliče to številko. Slika 5.15: Član kliče zaposlenega na drugi TF

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX 3.5 1. Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nastavitve strežnika ESX 3. Namestitev in nastavitve VM

Prikaži več

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: +386 1 729 6 460 Faks.: +386 1 729 6 466 www.nevtrin.si info@elektrina.si USB RFID READER Navodila za uporabo?

Prikaži več

(Microsoft Word - MSDN AA Navodila za \232tudente FS.doc)

(Microsoft Word - MSDN AA Navodila za \232tudente FS.doc) 1. Pogoji uporabe programske opreme Pred uporabo programske opreme iz programa MSDNAA morate prebrati in se strinjati s pogoji in določili Licenčne pogodbe za končnega uporabnika programske opreme MSDN

Prikaži več

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX 3.5 1. Dodajanje uporabnikov vajexx v skupino Vaje 2. Kopiranje Win2003 strežnika in registracija na

Prikaži več

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte Navodila za uporabo programske opreme OTRS verzija 2.2.3 Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski

Prikaži več

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str

Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna str Navodila za programsko opremo FeriX Namestitev na trdi disk Avtor navodil: Martin Terbuc Datum: December 2007 Center odprte kode Slovenije Spletna stran: http://www.coks.si/ Elektronski naslov: podpora@coks.si

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev TIK terminal nima povezave s strežnikom Ob vpisu v TIK Admin se pojavi napis ni povezave s strežnikom Na terminalu je ikona 1. preverimo ali je pravilno nastavljen IP strežnika 1. Preverimo datoteko TIKSAdmin.INI

Prikaži več

Microsoft Word - CN-BTU4 Quick Guide_SI

Microsoft Word - CN-BTU4 Quick Guide_SI Bluetooth Dongle Artikel: CN-BTU4 NAVODILA v1.0 Sistemske zahteve Zahteve za PC: - Proc.: Intel Pentium III 500MHz or above. - Ram: 256MB ali več. - Disk: vsaj 50MB. - OS: Windows 98SE/Me/2000/XP - Prost

Prikaži več

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov Gospodarski subjekti Definicija: V skladu z 2. členom Izvedbene uredbe Komisije (EU) 2018/574

Prikaži več

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij.

Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij. Protokoli v računalniškem komuniciranju TCP, IP, nivojski model, paket informacij. Protokoli - uvod Protokol je pravilo ali zbirka pravil, ki določajo načine transporta sporočil po računalniškem omrežju

Prikaži več

Navodila za uporabo Mini snemalnik

Navodila za uporabo Mini snemalnik Navodila za uporabo Mini snemalnik www.spyshop.eu Pred vami so navodila za pravilno uporabo mini snemalnika in opis funkcionalnosti. Lastnosti snemalnika: Naziv Mere Teža Kapaciteta spomina Snemanje Format

Prikaži več

CD190/195 Slovenian Quick start guide

CD190/195 Slovenian Quick start guide Registrirajte izdelek in pridobite podporo na www.philips.com/welcome CD190 CD195 Vodnik za hiter začetek 1 Povezava z drugimi napravami 2 Začetek uporabe 3 Uporaba Pomembna varnostna navodila Uporabljajte

Prikaži več

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje:

Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: Zbornica zdravstvene in babiške nege Slovenije Zveza strokovnih društev medicinskih sester, babic in zdravstvenih tehnikov Slovenije Stanje: 17.07.2013 Ver. 2.9.1.2 Spletni portal članov uporabniška navodila

Prikaži več

NETGEAR R6100 WiFi Router Installation Guide

NETGEAR R6100 WiFi Router Installation Guide Blagovne znamke NETGEAR, logotip NETGEAR in Connect with Innovation so blagovne znamke in/ali registrirane blagovne znamke družbe NETGEAR, Inc. in/ali njenih povezanih družb v ZDA in/ali drugih državah.

Prikaži več

Modem in krajevno omrežje Uporabniški priročnik

Modem in krajevno omrežje Uporabniški priročnik Modem in krajevno omrežje Uporabniški priročnik Copyright 2008 Hewlett-Packard Development Company, L.P. Informacije v tem priročniku se lahko spremenijo brez prejšnjega obvestila. Edine garancije za HP-jeve

Prikaži več

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni RAM stroj Nataša Naglič 4. junij 2009 1 RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni trak, pomnilnik ter program. Bralni trak- zaporedje

Prikaži več

Nameščanje Adopt Open Java Development Kit 8

Nameščanje Adopt Open Java Development Kit 8 Nameščanje Adopt Open Java Development Kit 8 za Windows x64 IZUM, 2019 IZUM, COBISS, COMARC, COBIB, COLIB, CONOR, SICRIS, E-CRIS so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod...

Prikaži več

UNI_Lubej_Marko_1984_

UNI_Lubej_Marko_1984_ Marko Lubej RAZVOJ SISTEMA ZA OBVEŠČANJE VELIKEGA ŠTEVILA UPORABNIKOV TELEKOMUNIKACIJSKIH OMREŽIJ Diplomsko delo Maribor, maj 2009 I Diplomsko delo univerzitetnega študijskega programa RAZVOJ SISTEMA ZA

Prikaži več

Naziv storitve Enota mere Tarifa Cena brez davka v EUR Cena z davkom v EUR Stopnja davka MOBILNI NAROČNIŠKI PAKETI IN STORITVE Cene veljajo od

Naziv storitve Enota mere Tarifa Cena brez davka v EUR Cena z davkom v EUR Stopnja davka MOBILNI NAROČNIŠKI PAKETI IN STORITVE Cene veljajo od Naziv storitve Enota mere Tarifa Cena brez davka v EUR Cena z davkom v EUR Stopnja davka MOBILNI NAROČNIŠKI PAKETI IN STORITVE Cene veljajo od 19.4.2016 dalje. Enotni paket Naročnina 3,22 3,93 22% 9,89

Prikaži več

Microsoft Word - CNR-MPV2 Quick Guide_SI

Microsoft Word - CNR-MPV2 Quick Guide_SI Canyon multimedijski MP3 predvajalnik Artikel: CNR-MPV2 Opozorilo: Pred uporabo pozorno preberite navodila za uporabo. Podrobna navodila se nahajajo na priloženem CD mediju. Opozorilo: Pred uporabo napolnite

Prikaži več

Nameščanje Adopt Open Java Development Kit 8

Nameščanje Adopt Open Java Development Kit 8 Nameščanje Adopt Open Java Development Kit 8 za Windows x64 IZUM, 2019 IZUM, COBISS, COMARC, COBIB, COLIB, CONOR, SICRIS, E-CRIS so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod...

Prikaži več

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk 1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatkov in njihov prenos med spletnimi mesti. Obrazec v

Prikaži več

Navodila za nastavitev mail odjemalca na ios in Android napravah TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomoč

Navodila za nastavitev mail odjemalca na ios in Android napravah TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomoč TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomočjo aplikacije Outlook, katero lahko prenesete s pomočjo trgovine App Store. Ko aplikacijo zaženete se vam pojavi naslednje

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : ržavni izpitni center *M15178112* SPOMLNSKI IZPITNI ROK Izpitna pola 2 Četrtek, 4. junij 2015 / 90 minut ovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero ali

Prikaži več

Linksys PLEK500 User Guide

Linksys PLEK500 User Guide Uporabniški priročnik Linksys PLEK500 Omrežni vmesnik Powerline Vsebina Pregled............... 2 Funkcije..................... 2 Kako deluje omrežje Powerline 3 Primer namestitve 3 Namestitev omrežja Powerline.....

Prikaži več

Strojna oprema

Strojna oprema Asistenta: Mira Trebar, Miha Moškon UIKTNT 2 Uvod v programiranje Začeti moramo razmišljati algoritmično sestaviti recept = napisati algoritem Algoritem za uporabo poljubnega okenskega programa. UIKTNT

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev INTRANET - DETEKTIV Detektivska zbornica Republike Slovenije Pozdravljeni, v kratki predstaviti in navodilih za delo z intranet sistemom Detektiv. Intranet članom Detektivske zbornice RS omogoča, da: -

Prikaži več

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik

Microsoft Word - CNR-BTU3_Bluetooth_vmesnik CNR-BTU3 Bluetooth vmesnik A. Vsebina pakiranja Bluetooth USB Adapter Bluetooth programska oprema in CD z gonilniki Navodila za uporabo in CD 1. Namestitev Bluetooth programske opreme za Windowse 1. Vstavite

Prikaži več

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc) MORSE UČENJE PO KOCHOVI METODI Računalniški program za učenje skupaj z nekaterimi dodatnimi datotekami dobite na spletni strani avtorja: http://www.g4fon.net/. Zanimive strani so tudi: - http://www.qsl.net/n1irz/finley.morse.html

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev IZKUŠNJE PRI PRILAGODITVI E-STORITEV AJPES ZAHTEVAM EIDAS ZA ČEZMEJNO PRIZNAVANJE MARJAN BABIČ, AJPES Vsebina Razlogi za vključitev v projekt CEF Telecom Izvajalno okolje AJPES in način integracije s SI-PASS

Prikaži več

Navodila za namestitev odjemalca ibsreport2 produkcijsko okolje (poročanje Banki Slovenije) Avgust 2017

Navodila za namestitev odjemalca ibsreport2 produkcijsko okolje (poročanje Banki Slovenije) Avgust 2017 Navodila za namestitev odjemalca ibsreport2 produkcijsko okolje (poročanje Banki Slovenije) Avgust 2017 1. Uvod Navodilo je namenjeno tehničnemu osebju pri pošiljateljih poročil oziroma poročevalcih, ki

Prikaži več

Vaja04_Ver02

Vaja04_Ver02 Vaja 04 Varnost: Zaščita aplikacije, omejitev dostopa 1. Uredite prijavo in odjavo uporabnika brez uporabe menuja Special/Security. Nadgradite aplikacijo iz vaje 2. Kreirajte okno tipa Replace Začetno

Prikaži več

Kratka navodila za uporabo razširjevalnika dosega WiFi AC750 model EX3800

Kratka navodila za uporabo razširjevalnika dosega WiFi AC750 model EX3800 Hiter začetek Razširjevalnik dosega WiFi AC750 Model EX3800 Začetek uporabe Razširjevalnik dosega WiFi NETGEAR doseg omrežja WiFi poveča tako, da okrepi obstoječi signal WiFi in izboljša splošno kakovost

Prikaži več

PowerPoint Presentation

PowerPoint Presentation Novosti Državnega centra za storitve zaupanja SI-TRUST Mag. Aleš Pelan, Ministrstvo za javno upravo 11.12.2018 ... 2000 2001 2015 2018 Overitelj na MJU Državni center za storitve zaupanja Novosti v letu

Prikaži več

Microsoft Word - Trust-CDsize-12052_12579_14070-al-cp_v5.0.doc

Microsoft Word - Trust-CDsize-12052_12579_14070-al-cp_v5.0.doc PRIROČNIK ZA UPORABO manual Version 5.0 SI TABLET TB-1100 / TB2100 TABLET TB-3100 / TB-4200 1 A B TABLET TB-2100-3100-4200 2 3 4 5 A 6 7 B 8 9 10 11 B A C D 12 A B 13 14 C 15 16 17 18 PRIROČNIK ZA UPORABO

Prikaži več

NETGEAR R6250 Smart WiFi Router Installation Guide

NETGEAR R6250 Smart WiFi Router Installation Guide Blagovne znamke NETGEAR, logotip NETGEAR in Connect with Innovation so blagovne znamke in/ali registrirane blagovne znamke družbe NETGEAR, Inc. in/ali njenih povezanih družb v ZDA in/ali drugih državah.

Prikaži več

Hiter začetek Razširjevalnik dosega WiFi N300 Model EX2700

Hiter začetek Razširjevalnik dosega WiFi N300 Model EX2700 Hiter začetek Razširjevalnik dosega WiFi N300 Model EX2700 Začetek uporabe Razširjevalnik dosega WiFi NETGEAR doseg omrežja WiFi poveča tako, da okrepi obstoječi signal WiFi in izboljša splošno kakovost

Prikaži več

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl

Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubl Sistemi Daljinskega Vodenja Vaja 3 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubljani matej.kristan@fe.uni-lj.si Česa smo se naučili

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev Izkušnje pri prilagoditvi e-storitev AJPES zahtevam eidas za čezmejno priznavanje Marjan Babič, AJPES 11. 12. 2018 Vsebina Razlogi za vključitev v projekt CEF Telecom Izvajalno okolje AJPES in način integracije

Prikaži več

Chapter 1

Chapter 1 - 1 - Poglavje 1 Uvod v podatkovne baze - 2 - Poglavje 1 Cilji (Teme).. Nekatere domene, kjer se uporabljajo podatkovne baze Značilnosti datotečnih sistemov Problemi vezani na datotečne sisteme Pomen izraza

Prikaži več

Miluma Trader Miluma Trader navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati Miluma Trader. 1. Preverite spletno stran Ta po

Miluma Trader Miluma Trader navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati Miluma Trader. 1. Preverite spletno stran Ta po navodila: V nadaljevanju sledijo osnovna navodila, kako začeli uporabljati. 1. Preverite spletno stran Ta posnetek zaslona vam prikazuje, da morate v levem vrhnjem kotu preveriti, če se nahajate na pravi

Prikaži več

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI IZUM, 2015 COBISS, COMARC, COBIB, COLIB, IZUM so zaščitene znamke v lasti javnega zavoda IZUM. KAZALO VSEBINE 1 Uvod... 1 2 Uporaba tiskalnika...

Prikaži več

Diapozitiv 1

Diapozitiv 1 9. Funkcije 1 9. 1. F U N K C I J A m a i n () 9.2. D E F I N I C I J A F U N K C I J E 9.3. S T A V E K r e t u r n 9.4. K L I C F U N K C I J E I N P R E N O S P A R A M E T R O V 9.5. P R E K R I V

Prikaži več

Darko Pevec 1.a Informatika

Darko Pevec 1.a Informatika Darko Pevec 1.a Informatika Kazalo KAZALO...2 UVOD...3 DANAŠNJE RAZMERE...4 DSL...4 TEHNOLOGIJE XDSL...4 UPORABA HITRIH POVEZAV...5 PASOVNA ŠIRINA PRENOSA...6 NAČIN DELOVANJA XDSL TEHNOLOGIJ...6 TEHNOLOGIJA

Prikaži več

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO Bluetooth slušalka Plantronics Explorer 10 Kataloška št.: 132

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO Bluetooth slušalka Plantronics Explorer 10 Kataloška št.: 132 SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 132 63 11 www.conrad.si NAVODILA ZA UPORABO Bluetooth slušalka Plantronics Explorer 10 Kataloška št.: 132 63 11 KAZALO UVOD...3 VSEBINA PAKETA...3 SESTAVNI

Prikaži več

Microsoft PowerPoint - seminar_ pptx

Microsoft PowerPoint - seminar_ pptx Leatalske informacije in ARO Slovenia Control Igor Čučnik, ARO Aleš Omahne, NOTAM Uroš Grošelj, AIP Brnik, 12.5.2018 Letalske informacije AIP AIP AMDT AIP SUP AIC NOTAM Serija A, B in C VFR karta Spletna

Prikaži več

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr

NAVODILA ZA UPORABO K01-WIFI Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shr NAVODILA ZA UPORABO Hvala, ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta in jih shranite za prihodnjo rabo Vsebina 1. Pregled 2. Sistem 3. Prednosti 4. Upravljanje

Prikaži več

Hiter začetek Razširjevalnik dosega WiFi N300 Model WN2000RPTv3

Hiter začetek Razširjevalnik dosega WiFi N300 Model WN2000RPTv3 Hiter začetek Razširjevalnik dosega WiFi N300 Model WN2000RPTv3 Začetek uporabe Razširjevalnik dosega WiFi NETGEAR doseg omrežja WiFi poveča tako, da okrepi obstoječi signal WiFi in izboljša splošno kakovost

Prikaži več

Microsoft Word - CNC obdelava kazalo vsebine.doc

Microsoft Word - CNC obdelava kazalo vsebine.doc ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo mesto, april 2008 Ime in priimek študenta ŠOLSKI CENTER NOVO MESTO VIŠJA STROKOVNA ŠOLA STROJNIŠTVO DIPLOMSKA NALOGA Novo

Prikaži več

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo

Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefo Poročilo za 1. del seminarske naloge- igrica Kača Opis igrice Kača (Snake) je klasična igrica, pogosto prednaložena na malce starejših mobilnih telefonih. Obstaja precej različic, sam pa sem sestavil meni

Prikaži več

TNUV Lab

TNUV Lab TNUV - VAJA 5 doc. dr. Marko Meža 2013/14 Cilji vaje Predvajanje multimedijskih vsebin MediaPlayer http://developer.android.com/training/building-multimedia.html http://developer.android.com/guide/topics/media/mediaplayer.html

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, Verzija 1.0

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, Verzija 1.0 TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM POGOSTA VPRAŠANJA IN ODGOVORI Ljubljana, 12.11.2018 Verzija 1.0 KAZALO 1 REGISTRACIJA... 3 1.1 Katere podatke potrebujem za registracijo/kreiranje

Prikaži več

DCS-2330L_A1_QIG_v1.00(EU).indd

DCS-2330L_A1_QIG_v1.00(EU).indd HD WIRELESS N OUTDOOR CLOUD CAMERA DCS-2330L KRATKA NAVODILA ZA UPORABO VSEBINA PAKETA HD WIRELESS N OUTDOOR CLOUD CAMERA DCS-2330L NAPAJALNI ADAPTER ADAPTER ETHERNET KABEL (CAT5 UTP) MED POSTAVITVIJO,

Prikaži več

innbox_f60_navodila.indd

innbox_f60_navodila.indd Osnovna navodila Komunikacijski prehod Innbox F60 SFP AC Varnostna opozorila Pri uporabi opreme upoštevajte naslednja opozorila in varnostne ukrepe. Da bi v največji meri izkoristili najnovejšo tehnologijo

Prikaži več

Podatkovni model ER

Podatkovni model ER Podatkovni model Entiteta- Razmerje Iztok Savnik, FAMNIT 2018/19 Pregled: Načrtovanje podatkovnih baz Konceptualno načtrovanje: (ER Model) Kaj so entite in razmerja v aplikacijskem okolju? Katere podatke

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : Državni izpitni center *M17178111* SPOMLADANSKI IZPITNI ROK Izpitna pola 1 Četrtek, 1. junij 2017 / 90 minut Dovoljeno gradivo in pripomočki: Kandidat prinese nalivno pero

Prikaži več

Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, m

Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, m Navodila za uporabo aplikacije mlist - neposredni mentorji za Zdravniško zbornico Slovenije pripravila Gooya, interaktivni mediji, d.o.o. Ljubljana, marec 2019 Vsebina 1 Dostop do aplikacije... 3 1.1 Android...

Prikaži več

Universal WiFi Range Extender WN3000RP Installation Guide

Universal WiFi Range Extender WN3000RP Installation Guide Navodila za namestitev kompleta Powerline Nano500 XAVB5101 2012 NETGEAR, Inc. Vse pravice pridržane. Nobenega dela tega dokumenta ni dovoljeno reproducirati, prenašati, prepisovati, shranjevati v sistemu

Prikaži več

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO TP LINK dvopasovni gigabitni WLANusmerjevalnik N600 Kataloška

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO TP LINK dvopasovni gigabitni WLANusmerjevalnik N600 Kataloška SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 98 68 78 www.conrad.si NAVODILA ZA UPORABO TP LINK dvopasovni gigabitni WLANusmerjevalnik N600 Kataloška št.: 98 68 78 KAZALO 1. VSEBINA PAKETA...3 2. PRIKLOP

Prikaži več

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje priročno programsko okolje tolmač interpreter (ne prevajalnik)

Prikaži več

Microsoft Word - eDenar - navodila za uporabo osebnega portala clana doc

Microsoft Word - eDenar - navodila za uporabo osebnega portala clana doc Navodila za uporabo osebnega portala člana 13.11.08 Pozor: Ta navodila so le v pomoč uporabnikom. V kolikor so navodila v nasprotju s splošnimi pogoji poslovanja kluba, veljajo splošni pogoji poslovanja

Prikaži več

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO DVB T, DVB C TV ključek PCTV Systems Quatro Kataloška št.: 67

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO DVB T, DVB C TV ključek PCTV Systems Quatro Kataloška št.: 67 SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 67 80 13 www.conrad.si NAVODILA ZA UPORABO DVB T, DVB C TV ključek PCTV Systems Quatro Kataloška št.: 67 80 13 KAZALO VSEBINA PAKETA...3 NAMESTITEV IN UPORABA...3

Prikaži več

Priročnik za uporabnika SLO _09

Priročnik za uporabnika SLO _09 24849802-04_09 KAZALO SPLOŠNE INFORMACIJE................................................................. Pag. 4 Tehnične značilnosti.................................................................................

Prikaži več

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA KATALOG ZNANJA 1. IME PREDMETA ZBIRKE PODATKOV I ZBIRKE PODATKOV II 2. SPLOŠNI CILJI Splošni cilji predmeta so: razvijanje sposobnosti za uporabo znanstvenih metod in sredstev, razvijanje odgovornosti

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev Dostopnost elektronskih virov za slepe, slabovidne in druge osebe z motnjami branja Kristina Janc ZSSML - 27. Seja TIFLO sekcije 22.3.2012 Možnost izkoriščanja elektronskih virov za slepe, slabovidne in

Prikaži več

PowerPointova predstavitev

PowerPointova predstavitev INFORMATIKA Tečaj za višjega gasilca OGZ PTUJ 2017 PRIPRAVIL: ANTON KUHAR BOMBEK, GČ VSEBINA TEORETIČNA PREDAVANJA INFORMACIJSKI SISTEMI SISTEM OSEBNIH GESEL IN HIERARHIJA PRISTOJNOSTI PRAKTIČNE VAJE ISKANJE

Prikaži več

Šolski center Celje Srednja šola za kemijo, elektrotehniko in računalništvo ELEKTRONSKA REDOVALNICA RAZISKOVALNA NALOGA AVTORJI Aleš Budna Jure Ulaga

Šolski center Celje Srednja šola za kemijo, elektrotehniko in računalništvo ELEKTRONSKA REDOVALNICA RAZISKOVALNA NALOGA AVTORJI Aleš Budna Jure Ulaga Šolski center Celje Srednja šola za kemijo, elektrotehniko in računalništvo ELEKTRONSKA REDOVALNICA RAZISKOVALNA NALOGA AVTORJI Aleš Budna Jure Ulaga Nik Perčič MENTOR Dušan Fugina, prof. Celje, marec

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1,

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1, TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, 14. 03. 2019 KAZALO 1 Namen...3 2 Registracija...4 3 Vnos gesla in aktivacija računa...6 4 Prijava...7

Prikaži več

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1

TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, Verzija 1.1 TRGOVSKI PORTAL SPLETNA APLIKACIJA NAMENJENA TRGOVCEM NAVODILA ZA REGISTRACIJO IN PRIJAVO Ljubljana, 14. 03.2019 Verzija 1.1 KAZALO 1 NAMEN...3 2 REGISTRACIJA...4 3 VNOS GESLA IN AKTIVACIJA RAČUNA...6

Prikaži več

Sistemi Daljinskega Vodenja Vaja 1 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubljani

Sistemi Daljinskega Vodenja Vaja 1 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubljani Sistemi Daljinskega Vodenja Vaja 1 Matej Kristan Laboratorij za Strojni Vid Fakulteta za elektrotehniko, Univerza v Ljubljani matej.kristan@fe.uni-lj.si Sistemi Daljinskega Vodenja Ime: Matej Kristan Docent

Prikaži več

Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadalj

Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadalj Splošni pogoji poslovanja 1. Uvodna določba 1) Splošni pogoji poslovanja so pravni dogovor med končnim uporabnikom (fizična ali pravna oseba, v nadaljevanju»naročnik«) in družbo VI NOVA d.o.o. (v nadaljevanje»ponudnik«).

Prikaži več

Microsoft Word - NAVODILA ZA UPORABO.docx

Microsoft Word - NAVODILA ZA UPORABO.docx NAVODILA ZA UPORABO VODILO CCM-18A/N-E (K02-MODBUS) Hvala ker ste se odločili za nakup našega izdelka. Pred uporabo enote skrbno preberite ta Navodila za uporabo in jih shranite za prihodnjo rabo. Vsebina

Prikaži več

Cenik storitev KRS Analogna televizija Mesečna naročnina za paket * Cena / mesec Osnovna zelena KTV naročnina 16,53 Osnovna zelena KTV naročnina-nekod

Cenik storitev KRS Analogna televizija Mesečna naročnina za paket * Cena / mesec Osnovna zelena KTV naročnina 16,53 Osnovna zelena KTV naročnina-nekod Cenik storitev KRS Analogna televizija * Osnovna zelena KTV naročnina 16,53 Osnovna zelena KTV naročnina-nekodiran rumen paket DTV brez opreme 19,90 Naročnina osnovna analogna in digitalna TV-nekodiran

Prikaži več

OBVESTILO O GRADNJI IN OBRATOVANJU JAVNEGA TELEKOMUNIKACIJSKEGA OMREŽJA

OBVESTILO O GRADNJI IN OBRATOVANJU JAVNEGA TELEKOMUNIKACIJSKEGA OMREŽJA Priloga Obrazec za obvestilo o zagotavljanja javnih komunikacijskih omrežij oziroma izvajanju javnih komunikacijskih storitev Izpolni agencija Vpisna št. v ur. evidenco operaterjev Osnovni podatki o operaterju

Prikaži več

Diapozitiv 1

Diapozitiv 1 Pogojni stavek Pogojni (if) stavek Tip bool Primerjanje Uranič Srečo If stavek Vsi dosedanji programi so se izvajali zaporedoma, ni bilo nobenih vejitev Program razvejimo na osnovi odločitev pogojnega

Prikaži več

Microsoft Word - M docx

Microsoft Word - M docx Š i f r a k a n d i d a t a : Državni izpitni center *M12224223* Višja raven JESENSKI IZPITNI ROK Izpitna pola 3 Pisno sporočanje A) Pisni sestavek (v eni od stalnih sporočanjskih oblik) (150 180 besed)

Prikaži več

Cenik storitev KRS Analogna televizija Mesečna naročnina za paket * Cena / mesec Osnovna zelena KTV naročnina 16,53 Osnovna zelena KTV naročnina-nekod

Cenik storitev KRS Analogna televizija Mesečna naročnina za paket * Cena / mesec Osnovna zelena KTV naročnina 16,53 Osnovna zelena KTV naročnina-nekod Cenik storitev KRS Analogna televizija * Osnovna zelena KTV naročnina 16,53 Osnovna zelena KTV naročnina-nekodiran rumen paket DTV brez opreme 19,90 Naročnina osnovna analogna in digitalna TV-nekodiran

Prikaži več

ACAD-BAU-Analiza-prostorov

ACAD-BAU-Analiza-prostorov ANALIZA PROSTOROV Ko obdelujemo večje projekte, je analiza prostorov zelo pomembna v vseh fazah projektiranja. Pri idejnem snovanju moramo npr. za določeno površino trgovske namembnosti zagotoviti primerno

Prikaži več

Microsoft Word - Splosni pogoji za uporabnike storitve_ONA_ doc

Microsoft Word - Splosni pogoji za uporabnike storitve_ONA_ doc Splošni pogoji in navodila za uporabnike storitev ONA V veljavi od 25.08.2015 1. Splošne določbe Splošni pogoji in navodila določajo način uporabe storitev ONA, ki jih nudi tehnični izvajalec (v nadaljevanju

Prikaži več

Microsoft Word - UP_Lekcija04_2014.docx

Microsoft Word - UP_Lekcija04_2014.docx 4. Zanka while Zanke pri programiranju uporabljamo, kadar moramo stavek ali skupino stavkov izvršiti večkrat zaporedoma. Namesto, da iste (ali podobne) stavke pišemo n-krat, jih napišemo samo enkrat in

Prikaži več

TNUV Lab5

TNUV Lab5 TNUV - VAJA 5 doc. dr. Marko Meža Cilji vaje Predvajanje multimedijskih vsebin MediaPlayer http://developer.android.com/training/building-multimedia.html http://developer.android.com/guide/topics/media/mediaplayer.html

Prikaži več

Slajd 1

Slajd 1 REPUBLIKA SLOVENIJA MINISTRSTVO ZA JAVNO UPRAVO 1 EU ENOTNI DIGITALNI PORTAL: PRIHAJA NOVA EU UREDBA Alenka Žužek Nemec, Tina Kuliš DNEVI SLOVENSKE INFORMATIKE 18. april 2018 Ko podjetja ali državljani

Prikaži več

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO WLAN usmerjevalnik TP LINK Archer C5 Kataloška št.:

SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: NAVODILA ZA UPORABO WLAN usmerjevalnik TP LINK Archer C5 Kataloška št.: SLO NAVODILA ZA UPORABO IN MONTAŽO Kat. št.: 75 31 33 www.conrad.si NAVODILA ZA UPORABO WLAN usmerjevalnik TP LINK Archer C5 Kataloška št.: 75 31 33 KAZALO 1. PRIKLOP STROJNE OPREME...3 2. KONFIGURACIJA

Prikaži več

Diapozitiv 1

Diapozitiv 1 Računalništvo in informatika Program: Mehatronika dr. Hubert Fröhlich, univ. dipl. el. Podatkovne baze 2 Podatkovne baze Podatki osnova za odločanje in izvajanje akcij tiskana oblika elektronska oblika

Prikaži več

Navodilo Telemach

Navodilo Telemach Nastavitve za: MOJ TELEMACH Registracija: Na spletni strani Moj Telemach (http://moj.telemach.si) se pomaknite na spodnji del strani in pritisnite gumb REGISTRIRAJ SE. 1. korak Odpre se novo okence, kamor

Prikaži več

Microsoft Word - Telefonska pomoc v dvigalih na navadnem PSTN-GSM telefonskem omrezju 4.2 sloveno.doc

Microsoft Word - Telefonska pomoc v dvigalih na navadnem PSTN-GSM telefonskem omrezju 4.2 sloveno.doc Telefonska pomoč v dvigalih na navadnem PSTN telefonskem omrežju. Telefonska pomoč v dvigalih na mobilnem GSM telefonskem omrežju. Priročnik za inštalaterja Verzija 4.2 PSTN Verzija 2.0 GSM SLO PRIROČNIK

Prikaži več

Microsoft PowerPoint - p_TK_inzeniring_1_dan_v5_shortTS.ppt [Compatibility Mode]

Microsoft PowerPoint - p_TK_inzeniring_1_dan_v5_shortTS.ppt [Compatibility Mode] Telekomunikacijski inženiring dr. Iztok Humar Vsebina Značilnosti TK prometa, preprosti modeli, uporaba Uvod Značilnosti telekomunikacijskega prometa Modeliranje vodovno komutiranih zvez Erlang B Erlang

Prikaži več

PowerPoint Presentation

PowerPoint Presentation INFORMACIJSKI SISTEM MFERAC - LETA 2022 mag. Andreja Sladoje Jemec, Sanja Štumberger Kovačič Ministrstvo za finance 10.12.2018 Vsebina predstavitve 1. Projekt MFERAC05 in izhodišča prenove 2. Izvajanje

Prikaži več

APS1

APS1 Algoritmi in podatkovne strukture 1 Visokošolski strokovni študij Računalništvo in informatika Abstraktni podatkovni tipi Jurij Mihelič, UniLj, FRI Podatkovni tipi Razvil Pascal, Oberon itd. Software is

Prikaži več

Navodilo za urejanje zavarovanj po šifri podlage za zavarovanje 033 prek portala e-vem Ljubljana, oktober 2015

Navodilo za urejanje zavarovanj po šifri podlage za zavarovanje 033 prek portala e-vem Ljubljana, oktober 2015 Navodilo za urejanje zavarovanj po šifri podlage za zavarovanje 033 prek portala e-vem Ljubljana, oktober 2015 Kazalo vsebine 1. Pooblastilo za izvajanje postopkov prek portala e-vem... 4 2. Prijava v

Prikaži več

Cenik ES_spremembe_marec2013_ČISTOPIS_Sprememba_

Cenik ES_spremembe_marec2013_ČISTOPIS_Sprememba_ Cenik elektronskih storitev Na podlagi 332. člena Zakona o trgu finančnih instrumentov in 34. člena Statuta Ljubljanske borze vrednostnih papirjev, d. d., Ljubljana z dne 27.5.1997, z zadnjimi spremembami

Prikaži več

Delavnica Načrtovanje digitalnih vezij

Delavnica Načrtovanje digitalnih vezij Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Digitalni Elektronski Sistemi Osnove jezika VHDL Strukturno načrtovanje in testiranje Struktura vezja s komponentami

Prikaži več

NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta

NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta NAVODILA ZA IZPOLNJEVANJE ELEKTRONSKEGA OBRAZCA ZA PRIJAVO IN PREKLIC DIGITALNIH POTRDIL Verzija Datum Opis sprememb dokumenta dokumenta 1.0 22.11.2013 Prva verzija dokumenta 1.1 15.04.2015 Dodana možnost

Prikaži več

11/21/2017 SQL-ODBC Povezava do podatkovne baze modul pyodbc povezovalni niz (eksplicitno, ali z uporabo DSN) In [6]: import pyodbc from future import

11/21/2017 SQL-ODBC Povezava do podatkovne baze modul pyodbc povezovalni niz (eksplicitno, ali z uporabo DSN) In [6]: import pyodbc from future import Povezava do podatkovne baze modul pyodbc povezovalni niz (eksplicitno, ali z uporabo DSN) In [6]: import pyodbc from future import print_function # Kompatibilnost s Pythonom 2.7 in 3.x # Eksplicitna prijava

Prikaži več

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA PODATKI VLADNIH INFORMACIJSKIH SISTEMOV MED ZAHTEVAMI PO JAVNI DOSTOPNOSTI IN VAROVANJEM V ZAPRTIH SISTEMIH mag. Samo Maček, mag. Franci Mulec, mag. Franc Močilar UVOD Razvrščanje dokumentov: odprta družba,

Prikaži več

Microsoft Word - Skype_clanek2 _2_.doc

Microsoft Word - Skype_clanek2 _2_.doc P2P telefonija: Skype Darko Bodnaruk, Janez Sterle, dr. Andrej Kos, dr. Janez Bešter Laboratorij za telekomunikacije, Fakulteta za elektrotehniko, Univerza v Ljubljani Povzetek Članek predstavlja inovativen

Prikaži več

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2

Microsoft Word - ELEKTROTEHNIKA2_ junij 2013_pola1 in 2 Šifra kandidata: Srednja elektro šola in tehniška gimnazija ELEKTROTEHNIKA PISNA IZPITNA POLA 1 12. junij 2013 Čas pisanja 40 minut Dovoljeno dodatno gradivo in pripomočki: Kandidat prinese nalivno pero

Prikaži več

Microsoft Word Navodila za povezavo naprave v oblak_SLO

Microsoft Word Navodila za povezavo naprave v oblak_SLO Navodila za povezavo naprave v oblak Navodila naj se predajo končnemu uporabniku. SLO Id.: 17-16-14-2968-03 5.2017 Navodila za povezavo naprave v oblak Id.: 17-16-14-2968-03 5.2017 Natisnjeno v Sloveniji,

Prikaži več

Splošni pogoji uporabe 1188, in 1180 Nosilec storitev zagotavljanja univerzalne službe za dajanje informacij o naročnikih preko klicnih števi

Splošni pogoji uporabe 1188, in 1180 Nosilec storitev zagotavljanja univerzalne službe za dajanje informacij o naročnikih preko klicnih števi Splošni pogoji uporabe 1188, 080 1188 in 1180 Nosilec storitev zagotavljanja univerzalne službe za dajanje informacij o naročnikih preko klicnih številk 1188 in 080 1188 ter zagotavljanja službe za dajanje

Prikaži več