65
I Tine Uršič UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN Diplomsko delo Visokošolski strokovni študijski program Maribor, januar 2013

UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

I

Tine Uršič

UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN

Diplomsko delo Visokošolski strokovni študijski program

Maribor, januar 2013

Page 2: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

II

Diplomsko delo visokošolskega strokovnega študijskega programa

UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN

Študent: Tine Uršič

Študijski program: VS Računalništvo in informatika

Smer: Informatika

Mentor:

Lektorica:

prof. dr. MARJAN HERIČKO

Tjaša Petkovšek Tončič

Maribor, januar 2013

Page 3: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

III

Page 4: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

IV

ZAHVALA

Zahvaljujem se mentorju za pomoč in vodenje

pri opravljanju diplomskega dela.

Posebna zahvala gre članom družine in

prijateljem za pomoč, spodbudo in potrpežljivost

v času mojega študija.

Page 5: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

V

UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN

Ključne besede: programska oprema, prenos govora, Tehnologija VoIP UDK: 004.41:004.5(043.2)

Povzetek V sklopu diplomskega dela smo razvili aplikacijo, katere cilj je nižanje stroškov

klicev s pomočjo tehnologije VoIP. Ta za komunikacijo uporablja protokol IP in

zaobide potrebo po navadnih in dražjih GSM klicih.

V času načrtovanja aplikacije je bilo okolje Symbian najbolj razširjena mobilna

platforma za dovolj zmogljive, t.i. »pametne telefone«, ki lahko poganjajo VoIP

aplikacije. Izbrali smo skupek knjižnic, poimenovanih Qt, ki omogočajo enostavno

prenosljivost na druge platforme.

Podrobno je opisan postopek izbire orodij in razvoja aplikacije, ki vsebuje

načrtovanje, gradnjo, namestitev in testiranje na mobilni napravi.

V zaključku so na realnih podatkih mobilnih operaterjev izračunani stroški VoIP

klicev, ki so znatno nižji od navadne tehnologije GSM. Predstavljena so tudi izhodišča

za optimizacijo in nadgradnjo obstoječe rešitve, ki bi omogočila v celoti izkoristiti

potencial tehnologije VoIP.

Page 6: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

VI

VOIP TEHNOLOGY ON SYMBIAN MOBILE PHONES

Key words: software, voice transfer, VoIP technology

UDK: 004.41:004.5(043.2)

Abstract

The purpose of this B.Sc. diploma is to present the development of an application

aiming to reduce the call costs using VoIP technology. It uses the IP protocol for

communication and thus circumvents the need for standard and more expensive GSM

calls.

At the time of the planning, the Symbian environment had been the most widespread

mobile platform for the more advanced, so called »smart phones«, which are able to

run VoIP applications. We have chosen a framework called Qt, which also enables

easier transfer to other platforms.

The dissertation provides a detailed description of the procedure of tool-selection

and application development, which includes planning, building, installing and testing

on the mobile device.

In the conclusion we have provided the calculations of the costs of VoIP calls,

based on real data obtained from mobile service providers. The VoIP costs are

substantially lower than those of standard GSM technology. Apart from the analysis we

have also added some ideas for optimization and upgrade of the current solution, which

put to light the untapped potential of the VoIP technology.

Page 7: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

VII

VSEBINA

1   UVOD ........................................................................................................................ 1  

2   TRG MOBILNIH KOMUNIKACIJ ...................................................................... 3  

2.1   CENE POGOVOROV ................................................................................................ 3  

2.2   CENE APARATOV .................................................................................................. 4  

2.3   IZBIRA CILJNE SKUPINE MOBILNIH NAPRAV .......................................................... 5  

3   UPORABLJENE TEHNOLOGIJE ........................................................................ 7  

3.1   PLATFORMA SYMBIAN .......................................................................................... 7  

3.1.1   Definicija ...................................................................................................... 7  

3.1.2   Zgodovina ..................................................................................................... 7  

3.1.3   Različice ........................................................................................................ 8  

3.1.4   Razvoj aplikacij ............................................................................................ 9  

3.2   KNJIŽNICE QT ....................................................................................................... 9  

3.2.1   Kaj je Qt? ...................................................................................................... 9  

3.2.2   Knjižnica Qt in platforma Symbian ............................................................ 10  

3.3   TEHNOLOGIJA VOIP ........................................................................................... 11  

3.3.1   Kaj je VoIP? ............................................................................................... 11  

3.3.2   Protokol SIP ............................................................................................... 12  

3.3.2.1   Standard IMS ....................................................................................... 14  

3.4   KNJIŽNICA PJSIP ................................................................................................ 14  

3.4.1   Kaj je PJSIP? .............................................................................................. 14  

3.4.2   Odločitev za knjižnico PJSIP ...................................................................... 15  

4   RAZVOJ APLIKACIJE ........................................................................................ 16  

4.1   VZPOSTAVITEV RAZVOJNEGA OKOLJA ................................................................ 16  

4.1.1   Kaj potrebujemo? ....................................................................................... 16  

4.1.2   Namestitev in konfiguracija ........................................................................ 16  

4.2   OSNOVNI PRIMER ................................................................................................ 17  

4.3   UPORABA KNJIŽNICE PJSIP ................................................................................ 18  

4.3.1   Prevajanje ................................................................................................... 18  

4.3.2   Testi preko ukazne vrstice ........................................................................... 19  

Page 8: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

VIII

4.3.3   Rezultati prvih testov .................................................................................. 20  

4.3.4   Optimizacija ................................................................................................ 21  

4.3.5   Tehnologija VAS ......................................................................................... 21  

4.3.6   Rezultati z uporabo tehnologije VAS .......................................................... 22  

4.4   ARHITEKTURNI NAČRT APLIKACIJE ..................................................................... 23  

4.5   RAZVOJ VMESNIKA ............................................................................................. 25  

4.6   RAZVOJ GRAFIČNEGA UPORABNIŠKEGA VMESNIKA IN GLAVNE FUNKCIONALNOSTI

28  

4.6.1   Definicija osnovnih podprtih funkcij .......................................................... 28  

4.6.2   Grafično oblikovanje .................................................................................. 29  

4.6.2.1   Izbira in postavitev gradnikov ............................................................. 30  

4.6.2.2   Uporaba CSS ....................................................................................... 31  

4.6.2.3   Izdelava grafične podobe ..................................................................... 32  

4.6.3   Podpora zvočnim zapisom .......................................................................... 34  

4.6.4   Razvoj izbranih funkcionalnosti ................................................................. 35  

4.6.5   Testiranje .................................................................................................... 36  

4.7   PODPISOVANJE SYMBIAN APLIKACIJ ................................................................... 38  

4.8   NAMEŠČANJE IN UPORABA .................................................................................. 39  

4.8.1   Orodje Nokia Smart Installer ..................................................................... 39  

4.8.2   Uporaba ...................................................................................................... 40  

5   ANALIZA STROŠKOV ......................................................................................... 43  

5.1   MERITVE PRENOSA PODATKOV ........................................................................... 43  

5.2   IZRAČUN DEJANSKIH STROŠKOV ......................................................................... 44  

5.3   PRIMERJAVA Z GSM KLICI ................................................................................. 44  

6   IDEJE ZA OPTIMIZACIJO IN NADGRADNJO .............................................. 46  

6.1   OPTIMIZACIJA ..................................................................................................... 46  

6.2   AVDIO KODEKI ................................................................................................... 46  

6.3   DODATNE FUNKCIONALNOSTI ............................................................................. 47  

6.4   PREHOD NA DRUGE PLATFORME ......................................................................... 48  

7   SKLEP ..................................................................................................................... 50  

8   VIRI, LITERATURA ............................................................................................. 51  

Page 9: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

IX

UPORABLJENE KRATICE

3G – 3rd generation mobile telecommunications (mobilno omrežje tretje generacije)

3GPP – Third Generation Partnership Programme (partnerski projekt za tretjo

generacijo)

API – Application Programming Interface (aplikacijski programski vmesniki)

APS – Audio Proxy Server (zvočni namestniški strežnik)

CSS – Cascading Style Sheets (prekrivni slogi)

DLL – Dynamic Link Library (knjižnica dinamičnih povezav)

EPL – Eclipse Public Licence (splošna Eclipse licenca)

EU – European Union (Evropska unija)

GPL – General Public License (licenca splošnega dovoljenja)

HTTP – Hypertext Transfer Protocol (hipertekstovni transportni protokol)

IETF – Internet Engineering Task Force (delovna skupina za internetsko inženirstvo)

iLBC – internet Low Bitrate Codec (internetni kodek z nizko bitno hitrostjo)

IM – Instant Messaging (takojšnje sporočanje)

IMS – IP Multimedia Subsystem (IP multimedijski podsistem)

KDE – K Desktop Environment (namizno okolje K)

LAN – Local Area Network (lokalno omrežje)

MGCP – Media Gateway Control Protocol (krmilni protokol za nadzor medijskih

prehodov)

POP3 – Post Office Protocol version 3 (protokol za dostavo elektronske pošte)

RFC – Request for Comments (zahteva po razlagi)

RTP – Real-time Transport Protocol (realno-časovni protokol)

SCTP – Stream Control Transfer Protocol (protokol za krmiljenje prenosa podatkov)

SDK – Software Development Kit (razvojni paket)

Page 10: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

X

SF – Symbian Foundation

SFL – Symbian Foundation License (licenca Symbian Foundationa)

SIP – Session Initiation Protocol (protokol za vzpostavitev seje)

SMTP – Simple Mail Transfer Protocol (preprost protokol za prenos elektronske pošte)

SRTP – Secure Real-time Transport Protocol (varni realno-časovni protokol)

TCP – Transmission Control Protocol (protokol za nadzor prenosa)

TLS – Transport Layer Security (zaščita prenosne ravni)

UDP – User Datagram Protocol (nepovezovalni protokol za prenašanje paketov)

USB – Universal Serial Bus (univerzalno serijsko vodilo)

VAS – VoIP Audio Services (zvočne storitve VoIP)

VoIP – Voice over IP (govor preko IP)

Page 11: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 1

1 UVOD

Primarni cilj diplomskega dela je razvoj aplikacije za mobilno platformo Symbian, ki

združuje in izkorišča tehnologije za prenos govora preko podatkovne povezave, hkrati pa

želimo čim bolj znižati stroške pogovorov.

V diplomskem delu so prikazani rezultati analize trga mobilnih telekomunikacij s

poudarkom na stroških pogovorov in prenosa podatkov. Cene pogovorov z mobilnimi

telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna

ali stacionarna, omrežja pa so nekajkrat višje. Še višji strošek predstavlja cena pogovora v

primeru mobilnega gostovanja v tujini (roaming).

Morebitna rešitev je tehnologija VoIP. Ta omogoča cenovno ugodne pogovore preko

podatkovne povezave. Problem nastane, ker ni vsaka naprava dovolj zmogljiva za tako

zahtevne operacije, kot je realnočasovno kodiranje zvoka. Na srečo velik delež trga

predstavljajo t.i. pametni mobilniki, katerih zmogljivost omogoča integracijo zahtevnejše

programske opreme, zato se v diplomskem delu osredotočamo nanje. Za implementacijo te

tehnologije smo izbrali knjižnico PJSIP.

V nadaljnjem raziskovanju je bila izbrana osnovna mobilna platforma Symbian, za

katero smo razvili aplikacijo s podporo tehnologiji VoIP. Platforma Symbian je opisana v

tretjem poglavju. V času načrtovanja po raziskavah v Evropski Uniji platforma Symbian na

področju pametnih mobilnih naprav številčno prevladuje nad ostalimi konkurenti. Za

poenostavitev razvoja je Nokia kupila knjižnice Qt, ki jih podpira večina novejših

aparatov.

Nokia, kot lastnik platforme Symbian, se v zadnjih letih zelo trudi poenostaviti razvoj

aplikacij. To se kaže v pospešenem razvoju knjižnic Qt in lastnega razvojnega okolja, na

katerem so osnovani predvsem novejši aparati. Med podprtimi so najštevilčnejši Symbian

S60 tretje in pete izdaje, ki posledično predstavljajo glavno ciljno skupino uporabniške

rešitve – aplikacije, razvite v tem diplomskem delu.

Page 12: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 2

Opisan je celoten razvojni cikel aplikacije. Začne se z namestitvijo razvojnega okolja,

nato je podan primer uporabe izbranih knjižnic. V nadaljevanju je izdelan podroben načrt

aplikacije, ki mu sledi razvoj API vmesnika in grafičnega vmesnika, podpisovanje

Symbian aplikacije, nameščanje in uporaba na mobilni napravi.

Cilj aplikacije je znižanje stroškov komuniciranja preko mobilnih aparatov. Analiza

stroškov klicev je predstavljena v petem poglavju. S pomočjo specifičnih orodij merimo

prenos podatkov med klici in na podlagi uradnega cenika mobilnega operaterja izračunamo

dejanske stroške. Sledi primerjava stroškov med GSM in VoIP klici.

Osredotočili smo se tudi na optimizacijo delovanja aplikacije, njenega grafičnega

vmesnika in zvočnih zapisih. Navedene so tudi številne morebitne funkcionalne

nadgradnje, saj uporabljene tehnologije omogočajo še veliko več, kot je predstavljeno v tej

diplomski nalogi. Mogoč je celo prehod na druge platforme.

Delo se zaključi s sklepom, ki predstavlja sedmo poglavje. Poleg opisanega temeljnega

okvirja diplomske naloge je izpostavljena tudi ideja o globalnem prehodu s starejšega

GSM sistema na novejši in naprednejši sistem VoIP.

Page 13: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 3

2 TRG MOBILNIH KOMUNIKACIJ

2.1 Cene pogovorov

Eden izmed glavnih razlogov za izdelavo te diplomske so visoki stroški pogovorov

preko mobilnih omrežij. V Tabeli 2.1 so razvidne trenutno aktualne cene klicev največjega

operaterja pri nas – Mobitela.

Tabela 2.1: Mobitelov cenik pogovorov za osnovni paket (dne 1. 12. 2012)

Storitev Cena Klic v Mobitelovo omrežje 0,08763 €/min Klic v druga mobilna omrežja 0,16274 €/min Klic v stacionarna omrežja 0,17944 €/min Klici v Slovenijo in države EU-območja 0,348 €/min Sprejeti klici v državah EU 0,096 €/min Odhodni klic v slovenijo (Hrvaška – Evropa, izven EU) 1,150 €/min Dohodni klic (Hrvaška – Evropa, izven EU) 0,400 €/min Odhodni klic v slovenijo (ZDA) 3,700 €/min Dohodni klic (ZDA) 2,000 €/min

Iz razpredelnice je razvidno, da so cene pogovorov znotraj operaterja dokaj ugodne in

ne predstavljajo večjega stroška, zaradi katerega bi bilo vredno iskati alternativne rešitve.

Sploh za nezahtevnega uporabnika, katerega trajanje pogovorov obsega le po nekaj minut

dnevno. Znesek je lahko pod 20 € mesečno, brez posebnih varčevalnih ukrepov.

Drugačna zgodba se odvija v primeru zahtevnejšega uporabnika mobilnega telefona.

Za primerjavo vzemimo poslovneža, ki govori po več ur na dan, pri tem kliče tudi v druga

omrežja: mobilna in stacionarna, lokalna in mednarodna. Določeno število dni preživi v

tujini, kjer se mobilnik povezuje v načinu gostovanja. Stroški takšnega uporabnika lahko

narastejo nad 500 € mesečno, kar ni več zanemarljiva vsota. Jasno je, da bo poslovnež iskal

alternativno vrsto komunikacije, ki pa funkcionalno ne sme odstopati od trenutnega

delovanja.

Page 14: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 4

2.2 Cene aparatov

Pri višini mesečnih izdatkov, ki je nakazana z zgornjim primerom, se napredni

uporabnik ne sprašuje več, kateri mobilni telefon kupiti. Za ceno mesečnih pogovorov si

lahko privošči aparat visokega ranga, ki ima večjo procesorsko moč in številne dodatne

funkcije.

Po drugi strani si dandanes takorekoč že vsakdo lahko privošči boljšo napravo, saj so

relativno poceni. Če bi uporabnikom ponudili enostavno in uporabno rešitev, bi jo

preizkusil praktično vsak.

Današnji aparati srednjega razreda so že dovolj zmogljivi za napredno uporabo. To

pomeni, da nanje lahko naložimo lastne domorodne (angl. native) aplikacije in izvajamo

tudi tako zahtevne operacije, kot je realnočasovno kodiranje zvoka. Pogoji za uspešno

delovanje so:

• zmogljivejši procesor,

• nalaganje zahtevnejših aplikacij,

• hitrejše brezžične povezave in

• dovolj ostalih potrebnih resursov.

Natančni podatki o zadostni zmogljivosti se od naprave do naprave razlikujejo zaradi

različnih verzij operacijskega sistema in različnega nabora funkcij, ki jih ta podpira.

Povsem mogoče je, da nekoliko starejši aparat deluje bolje kot novejši z zmogljivejšim

procesorjem. Zato se je za naš projekt zastavil drugačen pogoj: aparat mora imeti

specifično podporo za kodiranje zvoka. To je samo po sebi izločilo naprave, ki bi bile

premalo zmogljive.

S temi lastnostmi že zadostimo glavnim pogojem za izvedbo zastavljenega projekta.

Page 15: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 5

2.3 Izbira ciljne skupine mobilnih naprav

V EU je imela v času zasnove diplomskega dela platforma Symbian na področju

pametnih mobilnih naprav številčno prevlado nad ostalimi konkurenti. To prikazuje

»comScore« raziskava za leto 2010, objavljena na »allaboutsymbian.com« (slika 2.1).

Slika 2.1: Delež naročnikov pametnih mobilnikov glede na platformo [3]

Diagram na sliki 2.1 prikazuje deleže naročnikov glavnih petih platform, na katerih

delujejo pametni mobilniki.

Po podatkih podjetja comScore za leto 2011 se je delež pametnih mobilnikov v Evropi

povečal za 44 odstotkov. Od vseh aktivnih uporabnikov mobilne telefonije je kar 38

odstotkov takih, ki uporabljajo pametno mobilno napravo [22].

Symbian je glede na 2010 leto izgubil 16 odstotkov trga. Številka se je znižala

predvsem na račun platforme Android, ki je v velikem vzponu. Kljub temu je Symbian še

vedno ostal na prvem mestu [22].

Page 16: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 6

Razvidno je, da platforma Symbian v času zasnove diplomskega dela uživa prevlado

nad konkurenti, kar pa ne pomeni, da lahko ostale platforme zanemarimo. Idealna bi bila

skupna med-platformska rešitev, ki bi delovala na napravah različnih proizvajalcev in

operacijskih sistemov.

Nokia, ki je lastnik platforme Symbian, se v zadnjih letih zelo trudi poenostaviti

razvoj aplikacij. To se kaže v pospešenem razvoju knjižnic Qt in lastnega razvojnega

okolja, na katerem bazirajo predvsem novejši aparati. Med podprtimi so najštevilčnejši

Symbian S60 tretje in pete izdaje, ki posledično predstavljajo glavno ciljno skupino našega

dela. V letu 2011 je izšlo že nekaj Symbian^3, ki predstavljajo najnovejšo različico naprav

Symbian. Te imajo knjižnice Qt že prednaložene; več dejstev o tem sledi v naslednjih

poglavjih.

Page 17: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 7

3 UPORABLJENE TEHNOLOGIJE

3.1 Platforma Symbian

3.1.1 Definicija

Symbian je operacijski sistem in programska platforma, namenjena pametnim

mobilnikom, ki se razvija pod okriljem Nokie [5].

Zadnja različica, poimenovana Symbian^3, je bila uradno izdana v zadnjem četrtletju

2010. Prvi aparat s tem sistemom je bil Nokia N8. Maja 2011 je prišla nadgradnja »Anna«

in nato avgusta še »Nokia Belle«. Najnovejši telefon, ki temelji na tej platformi, je »Nokia

808 PureView«, ki je izšel junija 2012 [5].

Symbian OS je bil izvirno produkt podjetja Symbian Ltd. in je potomec Psion

programske opreme EPOC. Deluje izključno na procesorjih ARM, obstajala pa je tudi

neuradna različica za platformo x86 [5].

Platforma Symbian je zelo razširjena po vsem svetu. Zadnja različica je prevedena v

48 jezikov, ki so dostopni v dodatnih jezikovnih paketih. Vsi paketi privzeto vsebujejo

angleščino. V prvem četrtletju 2011 je, kljub pet-odstotnemu padcu v primerjavi z letom

prej, vodil na lestvici tržnega deleža z 29.2 odstotki. Skupaj s starejšo različico (t.i.

»Symbian OS«), naj bi bilo do junija 2010 prodanih 385 milijonov naprav [5].

3.1.2 Zgodovina

Platforma Symbian je produkt združitve programskih rešitev več podjetij: Nokia, NTT

DoCoMo, Sony Ericsson in Symbian Ltd.

Decembra 2008 je Symbian Ltd. kupilo podjetje Nokia in posledično postalo glavni

akter razvoja, saj je od tedaj imelo v lasti Symbian OS in uporabniški vmesnik. Symbian

naj bi gradila odprtokodna skupnost pod vodstvom SF (Symbian Foundation), ki se je

uradno začel z delom aprila 2009. Osnovni cilj je bil objaviti izvorno kodo celotne

platforme Symbian pod določenimi licencami. Težava je nastala, ker so bile nekatere

Page 18: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 8

komponente licencirane s tretje strani. Tako se je delež kode objavil le v omejeni licenci

SFL (Symbian Foundation License). Določena koda pa je bila dostopna le podjetjem –

članicam združenja SF [5].

Novembra 2010 je zaradi slabe podpore ustanovnih članic SF postal le organizacija za

licenciranje, medtem pa je Nokia objavila, da bo sama prevzela neposreden nadzor nad

platformo Symbian. Do aprila 2011 je Nokia dokončno opustila odprtokodni projekt

platforme [5].

3.1.3 Različice

Symbian^1, ki je prva različica, vsebuje Symbian OS in peto izdajo S60. Ta verzija

nikoli ni bila vključena v odprtokodni projekt.

Symbian^2 je bila prva različica, ki je bila deloma izdana pod licenco EPL, večina

izvorne kode pa je bila dostopna članicam SF.

Symbian^3 je bil napovedan februarja 2010. Predstavljal naj bi naslednjo generacijo

platforme, namenjene pametnim mobilnim napravam. Vsebuje veliko novih

funkcionalnosti, kot na primer: 2D in 3D grafično arhitekturo, izboljšan uporabniški

vmesnik, podporo zunanjim zaslonom preko vmesnika HDMI. Omogoča tudi več domačih

zaslonov (homescreen), ki jih lahko uporabnik prilagodi svojim potrebam [5].

Najbolj zanimiva različica za diplomsko delo je Symbian^1, ker predstavlja najbolj

razširjeno platformo med uporabniki v času zasnove diplomskega dela [23]. Symbian^1

delimo na tretjo (3rd) in peto (5th) izdajo. Glavna razlika med njima je na dotik občutljiv

zaslon pete izdaje, ki je praviloma tudi večji, z višjo gostoto slikovnih točk (en. pixels).

Predstavniki mobilnih aparatov tretje izdaje so: Nokia 5730 XpressMusic, C5-00, E5-00,

E71, E78 itd. Predstavniki pete izdaje pa: Nokia 5800 XpressMusic, C5-03, C6-00, X6 itd

[5].

Page 19: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 9

3.1.4 Razvoj aplikacij

Za izbrano platformo in ciljno skupino aparatov smo nato poiskali primerno razvojno

okolje.

Skozi leta obstoja platforme Symbian se je osnovala velika skupnost razvijalcev, ki so

zgradili ogromno število aplikacij, velik del odprtokodnih. Standardno razvojno okolje je

temeljilo na Symbian C++.

Več platform Symbian je nudilo svoja razvojna orodja (angl. »software development

kit« – SDK). To so knjižnice in dokumentacija, ki omogočajo razvoj aplikacij za to

platformo. Vključen je bil tudi Symbian emulator za operacijski sistem Windows. Med

največje platforme spadata UIQ in S60. Posamezni produkti ali družine mobilnih telefonov

so pogosto omogočali prenos SDK oziroma SDK razširitev tudi preko proizvajalčevih

spletnih strani [5].

Slaba stran programskega okolja Symbian C++ je čas učenja, ki ga razvijalec porabi,

da lahko začne graditi aplikacije. Nujna je namreč uporaba naprednih funkcij, ki otežujejo

razvoj predvsem enostavnih programov. Ta kompleksnost naj bi izhajala še iz devetdesetih

let, ko so bile strožje strojne omejitve mobilnih naprav. Razvijalec se je moral osredotočiti

na nižjenivojske podrobnosti, namesto na specifične funkcije aplikacije. Zahteven je bil

tudi razvoj uporabniškega vmesnika [5].

Z razvojnim okoljem C++ s Qt SDK, ki se je uveljavil leta 2010, so bile naštete

slabosti odpravljene.

3.2 Knjižnice Qt

3.2.1 Kaj je Qt?

C++ je programski jezik, ki je še danes med razvijalci zelo razširjen. Sam po sebi ne

zagotavlja obsežnih knjižnic razredov, ki bi olajšale razvoj grafičnih uporabniških

vmesnikov (angl. graphical user interface, GUI). Razvijalec mora tako sam ustvariti

Page 20: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 10

potrebne gradnike, uporabiti že obstoječe okrnjeno ogrodje ali pa kupiti komercialno

rešitev drugih proizvajalcev.

Knjižnica Qt je odgovor na veliko razvojnih težav – je namreč celovita rešitev za

razvoj predvsem grafičnih uporabniških vmesnikov in ena izmed najpreprostejših za

uporabo. Na voljo je pod različnimi licencami, med drugim tudi pod prosto licenco GPL.

Dodatna pomembna lastnost ogrodja Qt je med-platformska kompatibilnost. To pomeni, da

lahko z njim ustvarjeni programi tečejo na različnih operacijskih sistemih, kot so npr.

GNU/Linux, Mac OS X, Microsoft Windows in trenutno, nam pomembnejši, Symbian.

Zaradi teh lastnosti je knjižnica Qt na splošno vse bolj priljubljena, posledično pa se je tudi

njen razvoj v zadnjem času občutno pospešil. Aplikacije, ki bazirajo na knjižnicah Qt, so

med drugim tudi Autodesk Maya, Google Earth, Skype, VLC media player, VirtualBox in

Mathematica. Knjižnica Qt je tudi osnova namiznemu okolju KDE (»K Desktop

Environment«) [6].

3.2.2 Knjižnica Qt in platforma Symbian

Knjižnica Qt in platforma Symbian sta dobila skupno točko, ko je Nokia kupila

podjetje Trolltech ASA junija 2008. Začel se je pospešen razvoj knjižnic Qt za platformo

Symbian. Prva različica razvojnega okolja Nokia Qt SDK je postala dostopna javnosti

junija 2010. Obenem je bila dana na voljo tudi izvorna koda. Namen tega je bil, da se

privabi še več razvijalcev; ne samo uporabnikov teh knjižnic, ampak tudi razvijalcev, ki bi

pripomogli k izboljšavi in razvoju Qt gradnikov. Dodatna sprememba je bila nova licenca

LGPL, ki je prišla v veljavo januarja 2009. Ta je pritegnila še različne odprtokodne ne-

GPL projekte [5].

Trenutna verzija okolja SDK vsebuje: Qt 4.7.3, Qt Creator, Qt Mobility 1.3 in Qt

simulator. Qt Creator je integrirano razvojno okolje (integrated development environment,

oziroma IDE). Razvito je posebej za delo s knjižnico Qt, podprto je na več platformah,

vsebuje pa tudi zmogljivo orodje za gradnjo uporabniškega vmesnika. Qt Mobility so

dodatne knjižnice, ki omogočijo lažji dostop do standardnih funkcij mobilnih telefonov,

kot so: kontakti, kamera, lokacija, večpredstavnost, senzorji itd. Qt simulator je hitra,

procesorsko nezahtevna aplikacija, ki simulira delovanje mobilne naprave [6].

Page 21: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 11

Naštete funkcionalnosti so pripomogle, da odločitev glede izbire programskega okolja

za izvedbo diplomskega projekta ni bila težka. Edina alternativa za razvoj domorodnih

aplikacij na platformi Symbian je Symbian C++, ki je omenjen v poglavju 3.1.4. Tam je že

omenjena slaba stran, to je čas učenja, ki ga razvijalec porabi, da doseže polno

produktivnost.

Prihod knjižnic Qt, ki sicer izhajajo iz enakega jezika kot Symbian C++, je s svojim

naprednim ter hkrati enostavnim konceptom zelo olajšal delo razvijalcem na platformi

Symbian.

3.3 Tehnologija VoIP

3.3.1 Kaj je VoIP?

VoIP oziroma »Voice over Internet Protocol« je na področju telefonije tehnologija

prihodnosti. VoIP izkorišča širokopasovni internetni dostop za usmerjanje telefonskih

klicev tako do drugih VoIP telefonskih priključkov oziroma rešitev, kot tudi do klasičnih

telefonskih priključkov [14].

Z uvedbo VoIP dobimo cenejšo rešitev, kot jo ponuja mobilna telefonija. To velja za

primer, ko je na voljo dovolj poceni podatkovna povezava. Za izvedbo rešitve VoIP

namreč ni potrebnih nobenih sprememb na komunikacijski infrastrukturi, saj se uporabi

obstoječa povezava do interneta, ki pa mora biti dovolj zmogljiva in zanesljiva. To pomeni,

da je zanesljivost delovanja povsem odvisna od hitrosti in zanesljivosti podatkovne

povezave.

Pri tem je pomembno izbrati pravo vrsto implementacije protokola. Obstaja več

različnih implementacij: H.323, IP Multimedia Subsystem (IMS), Media Gateway Control

Protocol (MGCP), Real-time Transport Protocol (RTP), Session Description Protocol

(SDP) in Session Initiation Protocol (SIP).

Page 22: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 12

3.3.2 Protokol SIP

Protokol SIP (Session Initiation Protocol) je signalizacijski protokol, ki se uporablja za

upravljanje predvsem govornih, pa tudi ostalih večpredstavnostnih komunikacijskih sej z

enim ali več udeleženci. Protokol SIP omogoča tudi izvedbo konferenčnih sistemov,

takojšnje sporočanje (IM – instant messaging), deljenje informacij o statusu posameznih

odjemalcev (presence) in pretočne (streaming) prenose podatkov. Podpira torej tudi

prenose datotek in videotelefonijo [18].

Signalizacijski protokol SIP sta izdelovala Henning Schlzrinne in Mark Handley.

Njuno delo se je začelo leta 1996. Najnovejša različica specifikacije je RFC 3261, ki ga je

oblikovala medmrežna delovna skupina IETF. Novembra 2000 je bil protokol SIP potrjen

in sprejet kot 3GPP signalizacijski protokol. Od takrat je stalen element IP

multimedijskega podsistema (IMS), zgrajenega za pretakanje na IP temelječih

večpredstavnostnih storitev v mobilnih sistemih [18].

Protokol SIP je protokol na aplikacijskem nivoju. Napisan je tako, da sicer lahko

medij, uporabljen v seji, uporablja katerikoli transportni protokol, a se običajno uporablja

RTP (Real-time Transport Protocol). Je neodvisen od osnovnega transportnega sloja, kar

pomeni, da ga lahko izvajamo na protokolih TCP, UDP ali SCTP. V osnovi je zelo

enostaven z omejenim naborom ukazov. Je berljivega tekstovnega tipa, ki vključuje

nekatere elemente protokolov HTTP (Hypertext transfer protocol) in SMTP (Simple Mail

Transfer Protocol) [18].

Page 23: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 13

Slika 3.1: Struktura nešifriranega SIP protokola [20]

Kar se tiče varnosti, je rešitev za samo signalizacijo šifriranje nad nivojem prometa

paketov. To opravlja Transport Layer Security (TLS), ki je standardna rešitev za širšo

paleto medmrežnih protokolov, kot so HTTP, IMAP, POP3 itd.

Za šifriranje pogovora se uporablja standard SRTP (Secure Real-time Transport

Protocol), ki je tokovni kodirno-dekodirni protokol (stream cipher). Pogoj uporabe teh

tehnologij je, da jih poznajo vse naprave, ki med seboj komunicirajo.

Protokol SIP smo izbrali zato, ker je najbolj razširjen in omogoča najlažjo

implementacijo na ciljni platformi. Uporabljamo lahko storitve kateregakoli ponudnika, ki

podpira omenjeni protokol. S tem je omogočena takorekoč neomejena uporaba, ker je

izbira ponudnikov velika.

Nekateri telefoni podjetja Nokia privzeto že vsebujejo enostavnega odjemalca VoIP,

kar pomeni, da je implementacija tega protokola izvedljiva. Da nismo uporabili

obstoječega odjemalca, je več razlogov. Glavni je ta, da te podpore nimajo vsi telefoni. Naš

cilj pa je namestiti aplikacijo na čim več različnih aparatov. Drugi razlog je kompatibilnost

med različnimi izvedbami in neodvisnost od prednaložene implementacije. Potrebujemo

čim bolj univerzalno rešitev.

Page 24: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 14

Naslednji logičen korak je bil najti že razvito implementacijo protokola SIP, ki bo

kompatibilna z večjim delom platforme Symbian.

3.3.2.1 Standard IMS

IMS oziroma IP multimedijski podsistem je 3GPP standard, ki definira vzpostavitev

omrežja za kontrolo seje in omogoča konvergenco storitev. Omogoča multimedijske

storitve, storitve z dodano vrednostjo in nove možnosti uporabe naprav pri komuniciranju.

To ni storitev, ampak je arhitektura, ki je osnovana na protokolu SIP in omogoča napredne

storitve in aplikacije na vrhu paketno preklapljanega omrežja. Cilj pa ni le omogočanje

trenutnih novih storitev, ampak tudi vseh morebitnih storitev v prihodnosti.

Temelječ na standardnem protokolu IP, IMS omogoča aplikacijam na IP napravah, da

vzpostavijo povezavo z drugimi IP napravami na enostaven in varen način. Torej,

multimedijska seja med dvema IMS uporabnikoma, med IMS uporabnikom in

uporabnikom na internetu ter med dvema uporabnikoma na internetu je vzpostavljena

preko popolnoma enakega protokola [19].

3.4 Knjižnica PJSIP

Posebna analiza za izbiro izmed množice implementacij protokola SIP ni bila

potrebna, saj je ena izmed prvih najdenih rešitev zadostila pogojem. To je knjižnica PJSIP.

3.4.1 Kaj je PJSIP?

PJSIP je množica odprtokodnih knjižnic, napisanih v programskem jeziku C, ki

omogočajo enostavnejši razvoj VoIP aplikacij.

Page 25: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 15

Slika 3.2: Arhitekturni diagram knjižnic PJSIP [8]

Glavne prednosti knjižnice PJSIP [8]:

• prenosljivost – podprte so različne platforme (med drugim: MS Windows,

Windows Mobile, Linux, Unix, MacOS X in tudi Symbian);

• majhnost – celotna paleta SIP funkcij zasede manj kot 150KB prostora;

• visoka zmogljivost – pomeni manjšo porabo procesorskega časa in opravljenih

več SIP transakcij/klicev na sekundo;

• veliko število funkcij;

• velika zbirka dokumentacije.

3.4.2 Odločitev za knjižnico PJSIP

Dokaj jasen odgovor poda opis lastnosti v prejšnji točki. Torej glavne prednosti, ki so

odločale o uvedbi teh knjižnic, so:

• podpora platformi Symbian,

• zmogljivost,

• majhnost in

• dobra dokumentacija.

Vse osnovne zahteve so pokrite, sledi začetek razvoja aplikacije.

Page 26: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 16

4 RAZVOJ APLIKACIJE

V tem poglavju je opisan razvoj aplikacije, ki bo omogočala pogovore preko brezžične

oziroma 3G povezave na mobilnem aparatu.

4.1 Vzpostavitev razvojnega okolja

4.1.1 Kaj potrebujemo?

Na uradni strani Qt so navodila za namestitev okolja. V osnovi so to: knjižnice Qt, Qt

Creator in Symbian 3rd SDK. To zadošča za razvoj Qt aplikacij za platformo Symbian. Pri

tem manjka še podpora za dostop do standardnih funkcij mobilnih telefonov, kot sta dostop

do kontaktov in nadzor omrežnih povezav. Zato je potrebna še dodatna knjižnica: Qt

Mobility.

Za uporabo knjižnic PJSIP potrebujemo še dodatno aplikacijo: Carbide C++. PJSIP je

namreč preveden za nekoliko starejši Symbian OS, ki je sicer v osnovi enak, a je celoten

projekt napisan z orodjem Carbide C++. To ne predstavlja težave, saj je potrebno le

prevesti projekt in nato v Qt projektu uporabiti kreirano knjižnico PJSIP (Dynamic Link

Library ali krajše: DLL).

4.1.2 Namestitev in konfiguracija

Qt knjižnice, Qt Creator, Symbian 3rd in Carbide C++ imajo svoje namestitvene

čarovnike, ki vodijo uporabnika skozi korake namestitve. Pri tem je potrebno paziti, da se

vse skupaj namesti na isti disk (posledica prenosa Qt tehnologije iz Linux okolja). Qt

Mobility pa je le dodatek k obstoječim Qt knjižnicam in Symbian SDK.

Po uspešni namestitvi so na voljo, v možnostih pod menijem »Qt4«, podatki zaznanih

različicah Symbian SDK, Qt in Carbide, kot kaže slika 4.1.

Page 27: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 17

Slika 4.1: Qt Creator okno z možnostmi, ki prikazuje nastavitve

4.2 Osnovni primer

Za prikaz delovanja okolja je podan sledeč osnoven primer:

V aplikaciji Qt Creator v glavnem meniju izbira »new project« ustvari nov projekt.

Odpre se okno, kjer čarovnik med drugim ponudi možnost »Qt Gui Application«. Vpraša

še po ciljni poti, kjer se bo projekt nahajal. V naslednjem koraku lahko kot ciljno napravo

ponudi Symbian mobilnik ali Symbian emulator. Ob koncu čarovnika se ustvarijo potrebne

projektne datoteke. Mainwindow.ui predstavlja formo aplikacije. Na to formo smo dodali

oznako (QLabel) z vsebino »Hello world!«, kar po tradiciji predstavlja eno najosnovnejših

testov delovanja.

Ker smo za ciljno napravo izbrali emulator, se pri zagonu aplikacije ta odpre in prikaže

formo, kot je vidno na sliki 4.2.

Page 28: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 18

Slika 4.2: Prikaz rezultata v emulatorju

4.3 Uporaba knjižnice PJSIP

4.3.1 Prevajanje

PJSIP nudi na svoji spletni strani navodila, kako prevesti knjižnice za platformo

Symbian. Slediti je potrebno korakom: prenos aktualne verzije (1.6), namestitev Carbide

C++, Symbian S60 3rd SDK, Nokia PC Suite.

Po uspešnem uvozu projekta v Carbide je po navodilih potrebna še konfiguracija

knjižnic PJSIP. To je prikladno omogočeno preko ene same datoteke »config_site.h«. V

tem začetnem stadiju smo pustili kar privzete nastavitve. Potrebno je bilo le preimenovati

vzorčno »sample_config_site.h« v omenjeno »config_site.h«. Brez te datoteke se projekt

ne prevede.

Ostane še prevajanje projekta. Tukaj se je pokazala prva napaka, saj je protokol SRTP

(omenjen v SIP poglavju) privzeto omogočen, razvojno okolje pa še ni vsebovalo podpore

za protokol SRTP. Začasno smo v nastavitvah izključili SRTP z dodano vrstico:

#  undef  PJMEDIA_HAS_SRTP

Po tem posegu se je PJSIP projekt prvič uspešno prevedel brez napak.

Page 29: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 19

4.3.2 Testi preko ukazne vrstice

Knjižnicam je priložena testna aplikacija, ki deluje preko ukazno vrstičnega vmesnika.

Sledili smo navodilom iz namestitvenega postopka, ki vsebujejo dodatne korake za

ustvarjanje in uspešen zagon aplikacije.

Pomemben je dodaten korak, ki ga tukaj prvič srečamo – podpisovanje aplikacije.

Platforma Symbian ima namreč dokaj zaprt sistem nameščanja aplikacij in ne dovoli

namestitve nepravilno podpisanih aplikacij na mobilni aparat. Nivoji podpisovanja so

natančno določeni. Za razvijalce obstaja tudi možnost samo-podpisanega (angl. self-

signed) certifikata, ki ima sicer omejene pravice, a še vedno zadostne za testno aplikacijo.

Ta nastavitev se nahaja v orodju Carbide C++, kot kaže slika 4.3.

Slika 4.3: Možnosti podpisovanja v orodju Carbide C++

Po uspešnem kreiranju in podpisovanju je bila Symbian namestitvena datoteka

(končnica .sis) pripravljena. Zaradi realnejših testov smo emulator zamenjali s pravo

mobilno napravo. V našem primeru je bil to model Nokia N78.

Za poganjanje aplikacij na aparatu preko orodja Carbide je potrebno nanj namestiti

dodatek, ki omogoča komunikacijo med mobilnikom in računalnikom. Ta se imenuje »App

TRK«. Namestitev je enostavna preko čarovnika znotraj orodja Carbide C++. TRK se

Page 30: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 20

požene na aparatu, v nastavitvah se lahko izbere vrsto povezave, ki je lahko Bluetooth ali

USB. Status povezave je viden tudi v orodju Carbide.

PJSIP testna aplikacija je bila nato uspešno pognana na aparatu (slika 4.4).

Slika 4.4: Ukazno vrstična aplikacija

Ker so naslov in nastavitve strežnika SIP vpisane v kodo projekta, je potrebno za

testiranje klicev postaviti vrednosti povezave. Uporabili smo obstoječi lokalni strežnik

Asterisk1 in nanj preko etherneta povezan samostojen telefonski aparat. Nato smo

aplikacijo ponovno prevedli in namestili. Povezava mobilne naprave je bila vzpostavljena

preko lokalnega brezžičnega omrežja.

4.3.3 Rezultati prvih testov

Testni sistem je deloval. Lahko smo izvedli klic in se na drugi strani oglasili, prav tako

je bilo uspešno prejetje klica. Malce težaven je špartanski uporabniški vmesnik ukazno

vrstične aplikacije, a kljub temu so bili omenjeni testi uspešno izvedeni.

Na večjo težavo smo naleteli pri sami kvaliteti zvoka. Le-ta je bil nečist, se zatikal in

časovni zamik je bil nepričakovano dolg, tudi po nekaj sekund.

Prvi rezultati testnega sistema so bili slabši od pričakovanih. Prvi pomislek je bil, da

testni srednjerazredni mobilnik ne bi imel dovolj procesorske moči za obdelavo zvoka.

1 Asterisk je odprtokodna programska oprema, ki omogoča implementacijo IP telefonije.

Page 31: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 21

Tudi pri pregledu telefonov, ki imajo prednaložen odjemalec VoIP, smo opazili, da med

njimi ni modela N78 [17].

4.3.4 Optimizacija

Dokumentacija knjižnice PJSIP opisuje postopke za uporabo tehnologij APS (Audio

Proxy Server – https://trac.pjsip.org/repos/wiki/APS) in VAS (VoIP Audio Services).

Uporaba ene ali druge tehnologije omogoča manjši časovni zamik (ang. »low latency«),

usmerjanje zvoka (ang. »audio routing«) in že vgrajeno izločevanje odbojev (ang. »echo

cancelling). Tehnologija VAS je podprta na skoraj vseh S60 tretje in pete izdaje, medtem

ko tehnologija APS podpira le nekatere naprave s S60 tretje izdaje. VAS je novejša, bolje

zastopana tehnologija in je priporočena rešitev podjetja Nokia za razvoj nedomorodnih

(ang. »3rd party«) VoIP aplikacij [10].

Zaradi podanih razlogov smo izbrali tehnologijo VAS.

4.3.5 Tehnologija VAS

Na vrsti je bil naslednji test: z VAS podprta verzija testne PJSIP aplikacije. Najprej je

potrebno spremeniti datoteko z nastavitvami:

• omogočiti VAS:

#define PJMEDIA_AUDIO_DEV_HAS_SYMB_VAS 1

in

• določiti VAS verzijo:

#define PJMEDIA_AUDIO_DEV_SYMB_VAS_VERSION 1

Potrebno je še aktivirati VAS v vsaki izmed uporabljenih datotek .mmp1, kar omogoči

ukaz:

#define SND_HAS_VAS 1

1 Datoteka projekta, uporabljena pri razvoju Symbian aplikacij.

Page 32: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 22

S temi spremembami se je aplikacija uspešno prevedla, kar pa ni dovolj za uspešen

test. Prva težava je ta, da tehnologija VAS ni podprta na Symbian emulatorju, kar niti ne

moti, saj smo za izvajanje testov uporabili namensko napravo (N78). Drugi in edini večji

problem se je pokazal pri podpisovanju aplikacije.

Za uporabo tehnologije VAS (ali APS) je potreben gonilnik t.i. MultimediaDD

(Multimedia Device Driver), ki omogoča neposreden dostop do določenih sistemskih

modulov, kot so multimedijski aplikacijski vmesniki (API – Application programming

interface). Med te spada tudi zvok. MultimediaDD spada v skupino omejenih zmogljivosti

in se lahko omogoči le s certifikatom razvijalca (angl: developer certificate). Postopek za

pridobitev certifikata je zapleten in dolgotrajen, a brez tega ni mogoče nadaljevati projekta,

zato mu je potrebno slediti. Koraki so podrobneje opisani v poglavju 4.7.

S pridobljenim certifikatom smo končno lahko podpisali aplikacijo in jo pognali na

mobilnem telefonu.

4.3.6 Rezultati z uporabo tehnologije VAS

Testni sistem je bil delujoč, kot že prvič. Prav tako je bilo moč izvajati klice v obeh

smereh. Na uporabniškem vmesniku ni bilo sprememb, zato je testiranje enako nerodno, a

še vedno zadostno.

Rezultati so bili več kot zadovoljivi. Zvok je čist in brez zatikanj. Časovni zamik je

dobrih 300ms, kar je za neoptimizirani sistem zelo dobro. Razlika glede na prve teste je

bila očitna, pogovor po odprti liniji je postal nemoteč in razumljiv. Testni aparat Nokia

N78 je zlahka procesiral zvok in promet paketkov.

Za testiranje kvalitete zvoka nismo uporabili dragih naprav ali posebnih pripomočkov.

Obstaja namreč kar nekaj različnih standardov za določanje kvalitete zvoka, kot je npr.

točkovanje MOS, in razne namenske aplikacije za testiranje zvoka, kot je npr. AQuA

(Audio Quality Analyser). Kljub temu je test pokazal, da tehnologija VoIP deluje na

srednjem rangu aparatov zadovoljivo dobro.

Page 33: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 23

4.4 Arhitekturni načrt aplikacije

Da bo aplikacija delujoča, ni potrebno uvajanje posebne strukture. Dovolj bi bilo, če bi

obstoječo PJSIP aplikacijo dodelali z nekaj grafičnimi gradniki kar v Carbide C++. To bi

sicer omejilo uporabo le na platformo Symbian. Pomenilo bi tudi, da mora biti celotna

aplikacija odprtokodna, kot narekuje PJSIP licenciranje.

Ta rešitev ne bi bila najbolj smiselna, saj je na eni strani knjižnica PJSIP, ki je podprta

na več platformah in je lahko predstavljena kot dinamična knjižnica povezav, na drugi

strani pa ogrodje Qt, ki prav tako deluje na več platformah. Izkoristiti te prednosti je

logičen korak. Čeprav je v začetku nekaj več dela, taka aplikacija postane neodvisna od

operacijskega sistema, kar pomeni lažji morebitni prenos na druge platforme. Poleg

naštetega je razvoj grafičnega vmesnika v okolju Carbide C++ zelo zahteven, predvsem

glede naprednih gradnikov, saj jih tako rekoč ni.

Strukturo aplikacije smo razdelili na štiri nivoje.

1. nivo je grafični uporabniški vmesnik, preko katerega se uporabniku signalizira

stanje linije in druge indikatorje, hkrati pa sprejema ukaze uporabnika.

2. nivo predstavlja zgornji del funkcionalnosti aplikacije, ki upravlja s statusi

klicev, pravilno signalizacijo, upošteva posebnosti platforme Symbian,

predvaja zvokovne datoteke, hkrati pa sprejema, posreduje in izvaja ukaze

prvega nivoja.

3. nivo je ovojnica (angl. wrapper), ki skrbi za komunikacijo med knjižnico in

aplikacijo. Predstavljen je kot API vmesnik.

4. spodnji nivo je knjižnica PJSIP.

Prvi trije nivoji so strnjeni v svojo aplikacijo, ki se licencira po potrebi, medtem ko se

spodnji nivo (knjižnica) pusti odprtokoden, kot narekuje licenca GPL. Ta ločitev je

Page 34: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 24

smiselna tudi pri nadgradnji, ker se lahko aplikacija nadgrajuje neodvisno od knjižnice.

Podobno velja za podpisovanje aplikacije s strani podjetja Nokia, ki je potrebno za širšo

distribucijo.

Slika 4.5: Diagram glavnih razredov z osnovnimi metodami aplikacije

Na sliki 4.5 prikazan glavni razred »MainWindow« uporablja ostale razrede aplikacije.

Predstavlja centralni razred aplikacije. Med drugim vsebuje več metod, ki omogočajo

delovanje in povezovanje vseh nivojev: od spodnje knjižnice do uporabniškega grafičnega

vmesnika. Poleg metod so še pripadajoči objekti za kontakte, SIP račun in poseben objekt

razreda »TLIB_PJSIP_Library«, poimenovan »SipLibrary«. Preko SipLibrary se tvori

komunikacija spodnjega nivoja med aplikacijo in knjižnico PJSIP.

Page 35: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 25

4.5 Razvoj vmesnika

V arhitekturnem načrtu aplikacije je kot tretji nivo opisana ovojnica (angl. wrapper) in

omogoča lažji dostop do dinamične knjižnice PJSIP. Funkcije knjižnice interpretira in

poenostavi na način, da so lažje za uporabo z vidika aplikacije. Ta nivo zato imenujemo

API vmesnik za knjižnico.

Sama knjižnica je že prevedena za Symbian. Poskrbeti je bilo še potrebno, da je

skupek uporabljenih metod izpostavljen in tako dostopen iz zunanjih aplikacij. Izdelali smo

nov razred, ki zna komunicirati s to knjižnico. Ker bo celotni grafični vmesnik izdelan z

orodjem Qt Creator, je smiselno, da se z njim ustvari nov projekt »Qt Gui Application«.

Za začetek smo dodali novo datoteko: pjsip_api.h (slika 4.6 in slika 4.7), ki je zaglavna

datoteka (angl. header file). Hkrati dodamo še pjsip_api.cpp (slika 4.8), kjer je izvorna

koda.

Slika 4.6: Del pjsip_api.h kode; razred, ki predstavlja klic in pripadajoče podatke

class TLIB_PJSIP_Call : public QObject { Q_OBJECT public: TLIB_PJSIP_Call(unsigned int CallID, unsigned short CallType) { LIB_CallID = CallID ; LIB_CallType = CallType ; } ~TLIB_PJSIP_Call() ; QString LIB_RemoteAddress ; QString LIB_LocalAddress ; QString LIB_RemoteContact ; QString LIB_LocalContact ; unsigned int LIB_CallID ; unsigned short LIB_CallState ; unsigned short LIB_CallType ; } ;

Page 36: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 26

Slika 4.7: Del pjsip_api.h kode; razred, ki predstavlja knjižnico PJSIP

Slika 4.8: Del pjsip_api.cpp kode; razred, ki predstavlja knjižnico PJSIP

1. //PJSIP direktive 2. #define PJMEDIA_SRTP_DISABLED 1

3. #define PJMEDIA_HAS_THREADS 0 4. #define PJMEDIA_HAS_SRTP 0 5. #define SND_HAS_APS 0 6. #define SND_HAS_VAS 1 7. #define SND_HAS_MDA 0 … 20. //Inicializacija knjižnice dinamičnih povezav 21. int TLIB_PJSIP_Library::LIB_InitInstance(void) 22. { 23. if (LIB_LibraryHandle == NULL) { 24. LIB_LibraryHandle = new QLibrary("LIB_PJSIP.dll", this) ; 25. return 1; 26. } 27. return 0 ; 28. } …

55. //Funkcija, ki prikliče obstoječ klic, ki je na čakanju 56. int TLIB_PJSIP_Library::LIB_UA_CallRetrieve(int CallID, char * MessageData) 57. { 58. TLIB_PJSIP_Call* Call = LIB_FindCallID(CallID) ; 59. if (LIB_LibraryHandle == NULL) 60. return -1 ; 61. 62. PJSIP_UA_CallRetrieve _CVP_UA_CallRetrieve = 63. (PJSIP_UA_CallHold)LIB_LibraryHandle->resolve("PJSIP_UA_CallRetrieve") ; 64. if ((_CVP_UA_CallRetrieve) && (Call)) { 65. return _CVP_UA_CallRetrieve(Call->LIB_CallID, MessageData) ; 66. } else 67. return -1 ; 68. }

1. class TLIB_PJSIP_Library : public QObject 2. { 3. Q_OBJECT 4. public: 5. TLIB_PJSIP_Library() ; 6. int LIB_InitInstance(void) ; 7. void LIB_DoneInstance(void) ; 8. public: 9. TLIB_PJSIP_Call* LIB_ActiveCall ; 11. TLIB_PJSIP_Call* LIB_FindCallID(unsigned int CallID) ; 12. void LIB_SetActiveCall(TLIB_PJSIP_Call* NewActiveCall) ; 13. void LIB_AddCall(TLIB_PJSIP_Call* Call) ; 14. void LIB_RemoveCall(TLIB_PJSIP_Call* Call) ; … 30. public: 31. QLibrary* LIB_LibraryHandle ; 32. int LIB_UA_InitSocket() ; 33. int LIB_UA_Initialize(int OwnerData) ; 34. void LIB_UA_Finalize(void) ; 35. int LIB_UA_Listen(char* LocalAddress, int LocalPort, void* EventHandler) ; 36. int LIB_UA_AccountAdd(char* UserDisplayName, char* UserName, char* UserDomain, char* 37. UserPassword, char* RegistrarServer, char* Realm, int Expires, int OnlineStatus) ; 38. int LIB_UA_AccountDelete(pj_uint32_t AccountID) ; 39. int LIB_UA_CallMake(int AccountID, char* RemoteAddress) ; 41. int LIB_UA_CallAnswer(int CallID, int StatusCode) ; 42. int LIB_UA_CallHangup(int CallID, int StatusCode) ; 43. int LIB_UA_CallHold(int CallID, char * MessageData) ; 44. int LIB_UA_CallRetrieve(int CallID, char * MessageData) ; 45. public slots: 46. void LIB_SetCallState(TLIB_PJSIP_Call* Call, unsigned int NewCallState) ; 47. signals: 48. void LIB_CallStateHandler(TLIB_PJSIP_Call* Call, unsigned int NewCallState) ; 49. private: 50. QList<TLIB_PJSIP_Call*> LIB_CallList ; 51. } ; 52. 53. //Glavni upravljavec dogodkov/sporočil 54. typedef void TLIB_SIP_MessageHandler(TLIB_SIP_MessageStruct* MessageStruct) ;

Page 37: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 27

Zaenkrat so implementirane le osnovne metode za nadzor klicev. Na sliki 4.7 so

razvidne metode za nov odhodni klic, dvig prihajajočega klica, prekinitev aktivnega klica,

priklic klica, ki je na čakanju, in postavitev aktivnega klica na čakanje.

Iz programske kode na sliki 4.8 je razvidno delovanje programskega vmesnika, ki

komunicira s knjižnico. Najprej se naloži knjižnica PJSIP (»LIB_PJSIP.dll«), nato se po

potrebi kliče njene vsebovane metode. Na primeru (slika 4.8) je prikazana funkcija

»LIB_UA_CallRetrieve« (vrstica 56), ki prikliče nazaj klic, ki je bil postavljen na čakanje.

Sprejema parametra ID klica in kazalec na vsebino sporočila, ki vsebuje dodatne

informacije o klicu. Najprej se preveri obstoj knjižnice PJSIP in nato proži metodo za

priklic klica »PJSIP_UA_CallRetrieve«. Funkcija vrne rezultat uspešnosti priklica, da se

lahko zgornji sloj odzove in uporabniku na zaslonu prikaže ustrezno stanje.

V tej fazi so grafični gradniki le osnovni – tolikšni, da je moč testirati metode

vmesnika. Podrobnejša izdelava celotnega grafičnega vmesnika je opisana v naslednjem

poglavju (4.6). Uporabljeni gradniki so: osnovni QMainWindow, QPushButton, QLineEdit

in QGridLayout. Razen zadnjega so vsi osnovni, podobne poznamo že iz drugih razvojnih

okolij. QGridLayout je Qt novost in predstavlja enega izmed elementov, ki pripomore k

boljši razporeditvi grafičnih objektov na formi. Tukaj je uporabljen za razporeditev

gumbov in tekstovnega polja (slika 4.9), predvsem zaradi spremembe velikosti okna.

Glavno okno se namreč vedno prilagodi ločljivosti zaslona in s tem se morajo dinamično

prilagoditi vse vidne komponente, tako po velikosti kot po poziciji.

Slika 4.9: Izgled aplikacije na N78

Page 38: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 28

V začetnem nalaganju aplikacije je dodana izvorna koda za celozaslonski način

prikaza, inicializacijo PJSIP knjižnice in prijavo na strežnik.

Slika 4.10: Del kode mainwindow.cpp; zagon

Dodamo še nekaj osnovnih funkcij na prikazane gumbe. Med njimi je glavna zelena

»call/answer« tipka, preko katere lahko sprožimo nov klic ali pa se oglasimo na

prihajajočega.

Z manjšimi začetnimi težavami in popravki v kodi je bila aplikacija delujoča. Tako kot

pri knjižnici PJSIP priloženi testni aplikaciji je bila mogoča osnovna manipulacija klicev.

Ker je spodnja knjižnica DLL praktično enaka, je tudi kvaliteta prenesenega zvoka na

istem nivoju.

4.6 Razvoj grafičnega uporabniškega vmesnika in glavne funkcionalnosti

Pred nami je bil obsežnejši del razvoja. Spodnji nivoji, opisani v prejšnjih poglavjih, so

v večini že bili razviti in testirani, mi smo jih le uporabili. Manjkal je celoten zgornji nivo

aplikacije, vključno z grafičnim vmesnikom. Potrebna je dobra kombinacija oblike in

funkcionalnosti, da bo končni produkt uporaben in bo služil svojemu namenu.

4.6.1 Definicija osnovnih podprtih funkcij

SIP kot protokol je opisan že v poglavju 3.3.2. Ta tehnologija omogoča več načinov

komunikacije: glasovne ali video klice in takojšnje sporočanje. Poleg tega podpira tudi

deljenje statusa odjemalcev, prenose datotek in poleg ostalega tudi nekatere spletne igre.

71. //Delovanje v celozaslonskem načinu 72. MainWindow::showFullScreen(); 73. 74. LIB_PJSIP_DefaultLibrary = new TLIB_PJSIP_Library(); 75. if (LIB_PJSIP_DefaultLibrary != NULL) 76. { 77. //Inicializacija knjižnice 78. LIB_PJSIP_DefaultLibrary->LIB_UA_Initialize(1000); 79. 80. //Povezava posredovalca sporočil 81. LIB_PJSIP_DefaultLibrary->LIB_UA_Listen(NULL, 0x0000, (void*)LIB_PJSIP_MessageHandler); 82. 83. //Povezava na SIP strežnik (parametri računa so fiksni) 84. LIB_PJSIP_DefaultLibrary->LIB_UA_AccountAdd("101", "101", "192.168.1.10", "123", 85. "192.168.1.10", "asterisk", 120, 0); …

Page 39: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 29

Tudi Qt in Symbian imata nekaj možnosti za nadgradnjo, kot na primer: naprednejši

uporabniški vmesnik, predvajanje videa in zvoka, napredno povezljivost itd.

Implementacija vsega naštetega bi bila sicer zanimiva, a je bila za ta projekt prevelik

zalogaj. Osredotočili smo se na glasovne klice in naprednejši uporabniški vmesnik. To

pokrije osnovno platformo, ki jo bo v bodoče enostavneje nadgrajevati z dodatno

funkcionalnostjo. Natančneje, podprte morajo biti sledeče funkcije:

• osnovna povezljivost na internet na platformi Symbian,

• grafični uporabniški vmesnik, ki se bo znal prilagoditi vsakemu zaslonu ne

glede na njegovo ločljivost. Uporaben mora biti tako na starejših napravah S60

tretje generacije, ki za navigacijo uporabljajo tipke, kot tudi na aparatih pete

generacije, ki imajo na dotik občutljiv zaslon. Mogoča naj bo morebitna

kompatibilnost s Symbian^3,

• povezava na SIP strežnik,

• osnovna manipulacija klicev: klicanje, prejemanje klica, zavrnitev, prekinitev.

Na uporabniškem vmesniku se morajo odražati vsa stanja klica.

4.6.2 Grafično oblikovanje

Do te faze se je porajalo že kar nekaj idej, kakšen naj bi bil osnovni izgled. To gre

predvsem na račun spoznavanja orodja Qt Creator. Ta predstavlja zmogljivo orodje za

oblikovanje in s tem odpira veliko možnosti za olepšavo in poenostavitev, hkrati pa ne

omejuje funkcionalnosti.

Omejitve in zahteve, ki jih je potrebno opredeliti, so predvsem na nivoju platforme

Symbian. Aparati, na katerih bo tekla aplikacija, imajo več različnih vrst ekranov. Pri tem

ni mišljena le gola ločljivost zaslona, temveč tudi gostota slikovnih pik (angl. »pixel

density«) in razmerje stranic (pokončna oziroma ležeča lega). Poleg tega pridejo v poštev

tudi na dotik občutljivi zasloni, ki so v zadnjih letih čedalje bolj priljubljeni. Ti ponavadi

omogočajo tudi dinamično spremembo orientacije zaslona glede na lego aparata, čemur bi

se morala aplikacija samodejno odzvati in po potrebi prilagoditi.

Page 40: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 30

Grafični uporabniški vmesnik mora podpreti tudi vse funkcionalnosti telefona SIP, ki

jih podpira API. To pomeni, da se morajo odražati vsa stanja klica in trenutna povezava s

strežnikom. Uporabniku mora omogočati interakcijo s klici, ki se dinamično spreminja

glede na stanje klica. Na voljo naj bodo še zgodovina klicev in kontakti.

4.6.2.1 Izbira in postavitev gradnikov

Ker Symbian nima določenega standardnega stila, ki bi narekoval obliko in postavitev

objektov, kot je to npr. na operacijskem sistemu iOS (iPhone, iPad), moramo sami določiti

uporabniku čim bolj prijazno postavitev. Edina priporočena praksa je ta, da naj glavni

menijski gumbi stojijo na spodnjem robu ekrana.

Upoštevajoč vse prednosti in omejitve platforme Symbian in knjižnic Qt je nastala

grafična struktura objektov aplikacije, razvidna iz diagrama na sliki 4.11.

Slika 4.11: Diagram osnovne postavitve grafičnih elementov aplikacije

Na glavno okno, poimenovano MainWindow, so postavljeni trije gradniki. Zgornji

»TopFrame« predstavlja glavo, na kateri so logo, ime in ikone, ki prikazujejo različna

stanja. Spodnji »BottomFrame« vsebuje le dva gumba: levi »btnLeft« in desni »btnRight«.

Ta dva gumba predstavljata t.i. softkeys1, katerih funkcija se dinamično spreminja glede na

stanje aplikacije. Desni odpre aktualni meni, medtem ko levi zapre odprti meni oziroma

izvede trenutno akcijo.

Centralni del aplikacije prikazuje vsebino. Za lažjo navigacijo med okni skrbi

komponenta z zavihki (angl. tabs). Vsak zavihek ima svojo ikono in svoj namen. Za prikaz

vseh podatkov je potrebnih pet zavihkov:

Page 41: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 31

• prvi zavihek »tbHome« predstavlja domačo stran, kjer je poleg logotipa prikazan še

trenutni čas in datum,

• »tbNumpad« predstavlja številčnico - tukaj lahko odtipkamo telefonsko številko,

• »tbHistory« je seznam preteklih klicev,

• na zavihku »tbContacts« je seznam kontaktov,

• nastavitve aplikacije lahko spreminjamo na zadnjem oknu »tbSettings«.

4.6.2.2 Uporaba CSS

Poleg pravilne izbire in postavitve komponent je pomemben tudi njihov izgled. Okna,

teksti, ozadja, robovi, ikone, slike in ostali elementi imajo veliko različnih lastnosti, kot so:

barva, prosojnost, oblika in debelina črt. Ti parametri se lahko tudi dinamično spreminjajo

glede na stanje določene komponente. Primer je gumb, ki je lahko neoznačen, označen ali

udrt/aktiviran.

Iz drugih orodij smo vajeni, da je za kaj več kot spremembo barve ozadja že potrebno

pisati novo komponento, ki morda izhaja iz osnovne, a z novimi lastnostmi, ki jih je

potrebno razviti. Medtem pa Qt že v osnovi podpira večino oblikovnih parametrov pri

vsaki grafični enoti. Osnova enotam je namreč QWidget, ki podpira prekrivne sloge (CSS

– »Cascading style sheet«). Komponente, ki izhajajo iz nje, imajo še svoje dodatne

parametre, tako da lahko oblikujemo praktično vse vidne dele. To olajša delo tako

oblikovalcem, kot tudi razvijalcem, ki morajo ustvarjeno obliko nato implementirati.

Slika 4.12: Primer oblikovanja s pomočjo CSS

QPushButton { background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #000000, stop:1 #666666); border: 2px solid black; border-radius: 6px; color: white; font: arial; font-size: 24px; } QPushButton:pressed { background-color: black; color: gray; border: 2px solid red; }

Page 42: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 32

Koda slike 4.12 oblikuje gumb (QPushButton). Za barvo ozadja je izbran poševni

gradient. Začne se s črno iz levega zgornjega kota, nato se proti spodnjem desnem prelije v

siv odtenek. Debelina zunanjega roba je 2 slikovni točki, je črne barve in ima zaobljen rob

v velikosti 6 slikovnih točk. Pisava je Arial, bele barve in velikosti 24 slikovnih točk.

Drugi del oblikuje isti gumb, ampak v pritisnjenem (angl. pressed) stanju. Upoštevajo se le

spremembe glede na osnovno stanje, ki so: menjava barve ozadja v popolnoma črno, barva

pisave postane siva in zunanji rob se obarva rdeče. Slika 4.13 prikazuje obe stanji, kot ju

vidi uporabnik.

Slika 4.13: Izgled obeh stanj gumba (Levo je osnovno, desno pa pritisnjeno stanje.)

4.6.2.3 Izdelava grafične podobe

Osnovni gradniki so določeni. Sledi podrobnejše oblikovanje:

• izbira osnovnih barv in stilov,

• izbira ikon in slik,

• velikost in postavitev komponent.

Vse mora sovpadati z določeno funkcionalnostjo, ki jo mora podpirati celoten

uporabniški vmesnik.

Za osnovno verzijo je bil določen temnejši stil, privzeta Arial pisava. Gumbi imajo dve

stanji, osnovno in pritisnjeno, kot kaže slika 4.13.

Pri grafičnem oblikovanju pa ni pomemben le stil, ampak tudi velikost in postavitev.

To predstavlja svojevrsten izziv za oblikovalca, ki oblikuje za mobilne naprave. Te imajo

lahko zelo različne lastnosti zaslonov, ki se jim je potrebno prilagajati.

Page 43: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 33

Kot omenjeno, ni razlika le v številu slikovnih točk (angl. pixels), ampak tudi v

razmerju stranic, ki se lahko spreminja celo med samim delovanjem aplikacije in ne le ob

zagonu. Primeren bi bil N71 (tretja izdaja), kjer je osnovna postavitev zaslona ležeča, kar

je redkost, a se med delovanjem ne spreminja. Z razvojnega vidika je zahtevnejši X6 (peta

izdaja), ki lahko svojo privzeto pokončno lego dinamično spreminja z ležečo, glede na

orientacijo telefona.

Poleg tega je pomembna tudi gostota slikovnih točk (angl. »pixel density«), ki se

razlikuje predvsem med Symbian tretje in pete izdaje. Torej, če je velikost pisave določena

statično v slikovnih točkah, se lahko zgodi, da bo na zaslonu z nizko gostoto slikovnih točk

besedilo (pre)veliko, hkrati pa bo na drugem zaslonu z visoko gostoto skoraj neberljivo

majhno.

X6 ima, kot drugi aparati pete izdaje, na dotik občutljiv zaslon. Tudi to je potrebno

upoštevati pri razvoju grafične podobe, kar pomeni, da morajo biti grafične komponente

temu prilagojene, posebno gumbi.

Eden izmed pomembnejših ciljev projekta je podpreti čim širši nabor različnih

zaslonov. Zato je potrebno nasloviti vse opisane probleme. V ta namen imajo že osnovni

Qt gradniki napredne oblikovne lastnosti s poudarkom na prilagajanju različnih ločljivosti.

Za začetek se določijo velikosti objektov, a ne le osnovna višina in širina, temveč tudi

njune minimalne in maksimalne vrednosti. Poleg tega označimo še horizontalno in

vertikalno politiko obnašanja pri spremembah velikosti, kjer lahko izbiramo med

nespremenljivo, samodejno, maksimalno, minimalno in drugimi.

Naslednji korak je uporaba razporeditvenih gradnikov, ki znajo dinamično prilagajati

velikost in postavitev vsebovanih objektov. QGridLayout je omenjen že v poglavju 4.5 in

prikazan na sliki 4.9. Poleg te razporeditve se uporabljata tudi QHBoxLayout in

QVBoxLayout. Oba znata razporediti objekte, a vsak le v svojo smer, horizontalno ali

vertikalno. Uporabljata se za razporeditev teksta, panelov, gumbov, vnosnih polj itd.

Page 44: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 34

Za pravilne razmike med objekti skrbi »Spacer«, ki je prav tako razdeljen v dve

komponenti, vertikalno in horizontalno. Ta razmika osnovna »softkey« gumba (»btnLeft«

in »btnRight«), ki sta postavljena na spodnjem panelu.

Slika 4.14: Končni izgled osnovne maske

Pred končnim izdelkom je bilo izdelanih nekaj prototipnih različic, a večjih težav pri

samem izgledu aplikacije ni bilo. Na sliki 4.14 je poleg omenjenih grafičnih prijemov

razvidnih še nekaj dodatnih manjših oblikovnih in funkcionalnih komponent.

Kot načrtovano, je grafična podoba ostala relativno enostavna.

4.6.3 Podpora zvočnim zapisom

Knjižnica PJSIP omogoča uporabo široke palete kodekov. Najširše uporabljeni so:

G.711, G.722, G.723.1, G.726, G.729, GSM, iLBC in Speex [21].

Page 45: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 35

Za osnovni kodek je bil izbran iLBC zaradi sledečih faktorjev:

• na voljo je brezplačno in ne potrebuje nikakršnih licenc;

• široka kompatibilnost;

• širok frekvenčni razpon;

• visoka odpornost pri izgubi paketkov;

• lokalne podpore testnega sistema.

4.6.4 Razvoj izbranih funkcionalnosti

Aplikacija mora podpirati knjižnico SIP, tudi v navezi z uporabniškim vmesnikom, ki

mora odražati ne samo stanja linij, ampak opravljati še druge naloge. Izbrane so bile še

sledeče dodatne funkcionalnosti:

• prikaz stanja povezave (povezan/nepovezan),

• prikaz datuma in časa,

• maska s tipkovnico z možnostjo izvedbe klica,

• seznam zgodovine klicev,

• seznam kontaktov in

• osnovne nastavitve SIP računa.

Predpogoj prikaza stanja uspešne povezave je delujoče omrežje in uspešen klic metode

LIB_UA_AccountAdd, ki vrne status povezave na SIP strežnik. PJSIP zna sam javiti, ko

povezava pade. V tem primeru se status povezave obarva rdeče in aplikacija se samodejno

poskuša ponovno povezati na omrežje in SIP strežnik.

Maska s tipkovnico je povsem standardna številčnica, ki je del tako rekoč vsakega

telefona. Omogoča vnos in klicanje poljubne številke.

Po vsakem končanem klicu se tvori nov zapis na seznamu zgodovine klicev. Vsak tak

zapis vsebuje naslednje podatke:

Page 46: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 36

• smer klica oziroma zgrešen klic,

• ime in priimek kontakta,

• telefonsko številko,

• datum in čas klica.

V kolikor številke ni bilo mogoče najti med kontakti na aparatu, se ime in priimek ne

izpišeta, ostali podatki pa še vedno ostanejo prikazani. Seznam je voden lokalno v začasni

datoteki. Trenutno je prikazanih le zadnjih 30 klicev.

Še en modul, brez katerega si je težko zamisliti telefon, je seznam kontaktov. Vsak

kontakt ima ikono, ki je trenutno generična, ime, priimek in pripadajočo številko. Poleg

tega je za lažje izbiranje dodan še dinamični iskalnik, ki za vsak podan znak najde

najustreznejši kontakt. Tega seznama trenutno ni moč spreminjati v sami aplikaciji.

4.6.5 Testiranje

Najprej se je testiralo obnašanje novega uporabniškega vmesnika. V nekaterih primerih

so se grafični gradniki napačno raztegnili po ekranu, kar je bilo z nekaj prilagajanja CSS

nastavitev odpravljeno. Potrebno je bilo tudi prilagoditi barve in velikosti ozadij in ikon.

Večjih težav pri tem ni bilo.

Sledi testiranje povezave na strežnik in testi klicev. Po opravljeni konfiguraciji

lastnega lokalnega strežnika se nov testni SIP račun uspešno poveže. Pojavi se prva večja

težava: klici se prekinejo takoj po vzpostavitvi povezave, torej takoj po dvigu

prihajajočega klica. Po nekaj ponovitvah in poskusu izločevanja razlogov za napako, se

stanje ne izboljša.

Ker protokol SIP temelji na enostavni tekstovni vsebini in ne uporabljamo zaščite

SRTP, pomeni, da bi lahko zajemali prenos podatkov in lažje razhroščevali komunikacijo s

strežnikom. Strežnik SIP smo namesto na mrežno stikalo povezali kar na mrežni HUB, ki

omogoča spremljanje vsega mrežnega prometa na vseh vratih. Na HUB smo priključili še

osebni računalnik in namestili vsestranski Wireshark (aplikacija za analizo paketov).

Page 47: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 37

Iz paketkov ni bilo težko razbrati težave. Pri pogajanju za kodek (angl. codec

negotiation) je prišlo do napake. Izbrani iLBC namreč ni bil podprt na strani strežnika.

Potrebna je bila rekonfiguracija strežnika in težava je bila odpravljena. Po tem so se klici

brez težav izvajali.

Naslednja večja napaka se je dogajala pri testiranju na X6 (peta izdaja). V nekaterih

primerih se je prenos glasu popolnoma ustavil za nekaj sekund. To se pri generičnem

testiranju, z aparatom na mizi, ni dogajalo. Po nekaj testih je postalo očitno, da je za

napako kriva aplikacija sama. Ob določeni rotaciji telefona med pogovorom se je namreč

menjavala tudi orientacija telefona iz ležeče v pokončno ali obratno. »Prijazen«

uporabniški vmesnik je ob tem ponovno izrisal vse objekte in jih prilagodil novi postavitvi.

Ob tem je prišlo do dodatnega procesiranja in centralna procesna enota ni več zmogla

hkrati obdelovati še zvoka.

Razne optimizacije prehoda med stanji, kot so zmanjšanje ozadja in odstranjevanje ne

nujnih sprememb velikosti, so sicer omilile očitno prekinitev, a brez zadovoljivega učinka.

Začasna rešitev je bila, da se za čas klica samodejna prilagoditev orientacije kar izklopi.

Čeprav to ni najbolj elegantna poteza, je bil problem odpravljen in ni več prihajalo do

nevšečnih zamikov med pogovorom.

Po opravljenih osnovnih testih je bila večina hroščev odpravljenih. Testiranje je sicer

potekalo v lokalnem, nadzorovanem okolju, a potrebno je poudariti, da je kvaliteta

pogovora venomer presenečala. Zvok je bil čist, brez zatikanj, šumenja ali pretiranega

časovnega zamika, vse dokler so bile povezave preko LAN omrežja.

Testiranje izven laboratorijskega okolja predstavlja naslednji korak testiranja. Rezultati

pri povezavi preko interneta (vsaj preko drugega ponudnika dostopa) niso veliko odstopali

od lokalnih testov. Edina razlika je bila v nekoliko povišanem časovnem zamiku, a skoraj

neopazna.

Nekoliko večje težave je predstavljala 3G povezava, saj je njena kvaliteta zelo nihala.

Ob zelo dobri povezavi je bil pogovor jasen s še vedno nemotečim časovnim zamikom. Ko

Page 48: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 38

se je signal poslabšal, a bi glede na hitrost prenosa podatkov še moral zadostovati, se je

tudi kvaliteta občutno poslabšala. Prihajalo je tudi do izgube glasu za sekundo ali dve. Še

slabše je bilo ob izgubi signala, saj je klic nemalokrat obvisel.

Poleg izbire kodekov knjižnica PJSIP omogoča konfiguracijo veliko dodatnih

parametrov, s katerimi bi lahko odpravili omenjene hrošče ali vsaj optimizirali do meje

uporabnosti tudi v slabših situacijah.

Kljub nekaterim težavam so opravljeni testi pokazali, da je koncept delujoč do

predvidene meje.

4.7 Podpisovanje Symbian aplikacij

Zaradi uporabe gonilnika, ki omogoča neposreden dostop do določenih sistemskih

modulov, je potrebno aplikacijo podpisati s posebnim certifikatom. V nadaljevanju so na

kratko opisani koraki postopka podpisovanja, ki običajno traja več dni.

1. Nakup TC certifikata TrustCenter (Verisign in ostali niso več podprti). Sledimo

čarovniku na trustcenter.de. Preden lahko certifikat prevzamemo, je potrebno

plačilo, ki znaša 150 €.

2. Sledi izvoz privatnega in javnega ključa iz TC certifikata, čemur pravijo

»Publisher ID«.

3. S to identifikacijo pošljemo na Nokio zahtevek za certifikat razvijalca. To

storimo s posebnim orodjem: »Developer Certificate Request creation tool«.

Poleg naštevanja potrebnih zmogljivosti (na primer »MultimediaDD«), je

potrebno vnesti tudi IMEI1 kode vseh naprav, na katerih bo aplikacija tekla.

1 IMEI je 15-mestna serijska številka aparata. Ponavadi se nahaja na nalepki pod baterijo, dostopna pa je tudi

programsko.

Page 49: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 39

Omejitev je sicer visoka (1000 naprav), a je postopek neroden za večje število

ciljnih aparatov.

S pridobljenim certifikatom smo končno lahko podpisali aplikacijo in jo pognali na

mobilnem telefonu.

Opisani koraki so sicer zamudni, a ne preveč zapleteni. Nekaj težav predstavlja slaba

dokumentacija, predvsem zaradi strani www.symbiansigned.com, ki opravlja delo

podpisovanja. V času razvoja je bilo več spletnih povezav za pomoč več mesecev

nedelujočih. Tudi povezava do orodja za podpisovanje ni delovala. Aplikacijo je potrebno

poiskati preko foruma za podporo na www.nokia.com.

Po opravljenem postopku je podpisovanje za dodatne telefone zelo hitro, saj le

vpišemo potrebne kode IMEI v orodje »Developer Certificate Request creation tool« in na

spletni strani oddamo ustvarjeno datoteko. Nekaj trenutkov kasneje je na voljo nov

certifikat.

4.8 Nameščanje in uporaba

Namestitev aplikacije lahko sprožimo na več načinov:

• Nokia PC Suite (povezava preko USB kabla oziroma Bluetooth vmesnika);

• prenos datoteke na napravo preko USB kabla (naprava deluje kot zunanji disk), kjer

se požene namestitev;

• prenos datoteke na SD kartico (preko čitalca kartic); kartica se vtakne v telefon in

namestitev se požene lokalno.

4.8.1 Orodje Nokia Smart Installer

Nokia Smart Installer je rešitev, ki pripomore k enostavnejši namestitvi aplikacij, ki

bazirajo na knjižnicah Qt.

Page 50: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 40

Po uspešno ustvarjeni .SIS datoteki aplikacije je priporočljivo pripeti še Smart

Installer. Pri tem se velikost namestitvene .SIS datoteke poveča za približno 1MB. To

lahko omogočimo v orodju Qt Creatorju ali pa ročno iz ukazne vrstice.

Ob korakih namestitve na aparat se najprej požene Smart Installer, ki preveri, katere

knjižnice Qt aplikacija potrebuje in jih po potrebi samodejno nadgradi. V primeru, da

ciljna naprava še nima niti osnovnega Qt Core, se ta prenese preko podatkovne povezave z

interneta in namesti pred aplikacijo. Ko so vse potrebne knjižnice nameščene, se

namestitev aplikacije nadaljuje.

V primeru, da Nokia Smart Installer ni uporabljen, je potrebno manjkajoče knjižnice

ročno namestiti, preden se lahko aplikacija, ki bazira na Qt, požene.

4.8.2 Uporaba

Po uspešni namestitvi na aparatu N78 se lahko aplikacija požene. Prikaže se osnovno,

domače okno, kot kaže slika 4.14. V zgornjem desnem robu je prikazan status povezave na

strežnik. Zelen obroček pomeni, da je povezava vzpostavljena. V spodnjem, glavnem

meniju lahko poleg domačega okna izbiramo med številčnico (slika 4.15), zgodovino

klicev (slika 4.16) in kontakti (slika 4.17).

Page 51: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 41

Slika 4.15: Številčnica

Slika 4.16: Zgodovina klicev

Slika 4.17: Kontakti

Slika 4.18: Nastavitve računa

Page 52: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 42

Slika 4.18 prikazuje nastavitve računa, ki so dostopne preko desnega spodnjega gumba

»Menu«. Za dodatne informacije in lažje testiranje je dodano tudi okno, ki izpiše sistemske

informacije, kot kaže slika 4.19.

Slika 4.19: Izpis sistemskih informacij

Klice lahko izvedemo na več načinov:

• s pomočjo številčnice, kjer odtipkamo želeno številko in pritisnemo zeleni

gumb za klicanje;

• na zgodovini se označi želen klic in pritisne levi spodnji gumb za klicanje;

• na seznamu kontaktov se kliče izbrani kontakt z levim spodnjim gumbom.

Ob prihajajočem klicu levi spodnji gumb dvigne klic, desni pa ga zavrne.

Page 53: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 43

5 ANALIZA STROŠKOV

Primarni cilj aplikacije je znižanje stroškov komuniciranja preko mobilnih aparatov.

Ker je aplikacija razvita do meje uporabnosti, smo lahko začeli z meritvami dejanskega

prenosa podatkov in na tej podlagi tudi izračun stroškov.

5.1 Meritve prenosa podatkov

Za ugotavljanje dejanskega prenosa podatkov med SIP klicem lahko uporabimo več

načinov. V tem primeru je najlažja in tudi uporabljena opazovanje v Symbian vgrajenega

števca. Čeprav bi to že zadostovalo za potrebe te analize, smo rezultate dodatno preverjali

še s programom Wireshark1.

Generični koraki postopka testa:

• ponastavitev števca za prenos podatkov in štoparice;

• SIP klic iz aplikacije na drugega odjemalca SIP, hkrati začnemo meriti čas in

podatke;

• prekinitev klica po petih minutah, zaustavitev prenosa podatkov in štoparice;

• beleženje rezultatov.

Izvedenih je bilo več testov. Končne rezultate predstavlja povprečje vseh zabeleženih

testov. Posebnih odstopanj pri testiranju na lokalnem brezžičnem omrežju ali 3G povezavi

ni bilo.

Za vse klice smo uporabili kodek iLBC, katerega povprečna poraba prenosa podatkov

po specifikacijah je 15,2 Kb/s. To je enosmerna poraba. Rezultati, doseženi pri opravljenih

testih, so bili, kot pričakovano, višji.

1 Wireshark je aplikacija za analizo omrežnega prometa. Služi za analizo prometa neposredno iz omrežja, zna

pa tudi shranjevati promet za kasnejšo analizo.

Page 54: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 44

Celotna poraba dvosmernega pogovora, ki je trajal 5 minut, je znašala 2758 KB. To

pomeni, da se je vsako sekundo preneslo skoraj 9,2 KB podatkov. Opravljenih je bilo še

več testnih pogovorov, a večjih odstopanj ni bilo.

5.2 Izračun dejanskih stroškov

Pri testih na brezplačnem brezžičnem omrežju so stroški seveda nični. Vendar

brezplačne povezave niso vedno na voljo. V takih primerih pride v poštev prenos podatkov

preko omrežja 3G. Pokritost je sicer precej obširna, ampak uporaba tega omrežja

predstavlja dodatne stroške. Na podlagi doseženih rezultatov lahko sedaj izračunamo

okvirne stroške, ki nastanejo ob pogovorih preko 3G povezave.

Predpostavimo, da smo povezani na Mobitelovo mobilno omrežje. Cena prenesenih

podatkov ni enaka za vse naročniške pakete, zato vzemimo vsem paketom enotni zakup

500MB podatkov, kar po trenutnem ceniku stane 12 €. Upoštevajoč porabo 9,2 KB/s bi

pomenilo, da bi z zakupljeno količino lahko opravili preko 905 minut oziroma dobrih 15 ur

pogovorov. Po tej predpostavki bi znašala cena za minuto pogovora le 0,01326 €.

5.3 Primerjava z GSM klici

Zaradi raznolikih ugodnosti in različnih paketov vsakega ponudnika je težko

neposredno primerjati navadno GSM telefonijo in prenos podatkov. Najbližje realnemu

primeru bi bil Mobitelov Osnovni paket, katerega naročnina stane 8,99 € mesečno in ne

vsebuje posebnih ugodnosti. Najcenejša možnost klica je klic v omrežje Mobitel, ki stane

0,08763 €/min. V primerjavi s stroški pogovorov preko podatkovne povezave,

izračunanimi v točki 5.2, je cena šest in pol krat višja.

Torej, kolikšno skupno dolžino klicev bi morali opraviti, da se investicija v zakup

500MB prenosa podatkov izplača? Odgovora ni težko pridobiti iz podanih podatkov. Če bi

opravili mesečno 137 minut pogovorov na GSM omrežju znotraj operaterja, bi nastali

stroški enaki zakupu 500 MB podatkov. To pomeni, da v kolikor čas pogovorov presega

izračunanih 137 minut, postane zakup podatkov cenejša varianta.

Page 55: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 45

Poudariti je potrebno, da je primer vzet za klice izključno znotraj operaterjevega

omrežja, kar je najcenejša izmed GSM storitev, tudi brezplačna brezžična povezava sploh

ni bila upoštevana. Poleg tega obstajajo še drugi paketi, tako za GSM klice, kot tudi za

podatkovni prenos podatkov. Izbrati bi morali individualno glede na potrebe uporabnika.

Drugi, bolj kontrasten primer bi temeljil na pogovorih s tujino. Za klic v sosednjo

Hrvaško odštejemo v redni tarifi 0,35887 €/min, v nižji pa 0,28376 €/min. To pomeni za

klicatelja 27-krat višjo ceno po redni tarifi in 21-krat višjo po nižji, kot preko 3G omrežja.

Vse to pod pogojem, da tudi klicani uporablja SIP račun. Prav tako ne smemo

zanemariti njegovih stroškov prenosa podatkov. Vsekakor v tujini ne bi bilo smiselno

uporabljati lastne 3G podatkovne povezave, saj lahko stroški narastejo nerazumljivo

visoko. Če nadaljujemo na primeru Hrvaške, cenejša varianta znaša za 100kB podatkov 0,4

€ ali drugače zapisano 4 €/MB. Za primerjavo – zakup 500MB paketa pri nas stane le 0,03

€/MB, kar je vratolomnih 133-krat manj kot enaka količina porabljena na Hrvaškem.

Skratka prenos podatkov v mobilnem gostovanju v tujini ni priporočljiv. Ena izmed rešitev

je brezžična povezava, ki ponavadi ni težko dostopna. Druga pa je zakup paketa za prenos

podatkov ponudnika mobilnih storitev v gostujoči državi.

Page 56: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 46

6 IDEJE ZA OPTIMIZACIJO IN NADGRADNJO

6.1 Optimizacija

Aplikacija je v trenutni obliki zadovoljivo delujoča tako na starejših, kot tudi novejših

različicah mobilnih telefonov. Ostalo pa je še kar nekaj prostora za optimizacijo predvsem

grafičnega uporabniškega vmesnika.

Na modelu N78 so kljub nekaterim osnovnim prilagoditvam ostali teksti in nekateri

grafični objekti preveliki. Po drugi strani pa je marsikaj premajhno na večjih, na dotik

občutljivih ekranih. Razlike v uporabniški izkušnji so opazne. Knjižnice Qt omogočajo še

marsikaj več, kot je uporabljeno. Potrebno bi bilo podrobneje proučiti možnosti in jih

vključiti, da bi se aplikacija še bolj prilagodila vsaki napravi.

Hitrost delovanja je sicer zadovoljiva, ampak bi lahko še zmanjšali odzivne čase.

Nekaj mogočih izboljšav:

• menjava .png z .gif (kjer je smiselno),

• optimizacija drugih grafičnih objektov,

• boljše dinamično kreiranje objektov,

• uporaba vmesnega pomnilnika,

• optimizacija večjih seznamov (kontakti, zgodovina).

Nekatere izmed naštetih bi rešili že z uporabo dodatnih naprednih objektov knjižnice

Qt, ki so že optimizirane.

6.2 Avdio kodeki

V tej verziji aplikacije je uporabljen iLBC kot edini kodek. To omeji kompatibilnost in

s tem tudi uporabnost. Prav tako ni dostopnih dodatnih nastavitev.

Page 57: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 47

Uporabljena knjižnica PJSIP podpira tudi sestavo lestvice uporabe kodekov. To

pomeni, da se ob prvi povezavi na drugo napravo sistem samodejno dogovori za

uporabljen kodek. Upošteva se tudi prioriteta lestvice. V primeru, da ni medsebojno

združljivih kodekov, se postopek klica prekine.

Uporaba te funkcionalnosti bi povečala obseg naprav in programske opreme, s

katerimi se lahko aplikacija povezuje.

6.3 Dodatne funkcionalnosti

Naštetih je bilo že več različnih dodatnih funkcij, ki jih podpirajo uporabljene knjižnice in

arhitektura. Med njimi najbolj uporabne:

• takojšnje sporočanje (instant messaging),

• indikacija prisotnosti (presence),

• SMS sporočila,

• večjezičnost,

• snemanje klica,

• prenos datotek ali videa.

Poleg teh bi lahko dodali tudi več možnosti, ki bi pripomogle k prijaznejši uporabniški

izkušnji:

• več podatkov o klicih,

• več podatkov in možnost urejanja kontaktov,

• prenos imenika z aparata,

• statistika porabe (trenutna in pretekla),

• prikaz porabe baterije,

Page 58: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 48

• sekundarni klic,

• lastni zvokovni učinki,

• lastna grafična podoba,

• shranjevanje seznama strežnikov,

• izbira med brezžično in 3G povezavo,

• vklop/izklop gostovanja v tujini,

• zaznava navadnih GSM klicev, itd.

6.4 Prehod na druge platforme

Ena glavnih prednosti izbranih knjižnic, tako PJSIP kot okolja Qt, je podpora različnim

platformam. Ker je tudi arhitektura aplikacije grajena po teh načelih, je morebitna podpora

drugih sistemov ne samo omogočena, ampak tudi zelo poenostavljena. Paziti je potrebno

na Symbian specifične ukaze, ki jih je potrebno nadomestiti z ustreznimi ukazi na ciljnem

sistemu. Količina takih ukazov je odvisna od namena uporabe. Vzemimo, da aplikacija

dostopa do telefonskega imenika, stanja osnovnih klicev, posebnih poti na disku,

orientacije telefona in podobno. V takem primeru bo več izjem v kodi, ki jih je potrebno

ločiti pri implementaciji na različnih platformah. Še vedno to pomeni le nekaj dodatnih

vrstic kode, ki v celotnem ciklu prehoda ne pomenijo veliko dodatnega dela. Večino teh

izjem pokrivajo same knjižnice s svojimi vmesniki in ovojnicami, razvijalec jih mora le

pravilno uporabiti.

Pri prehodu na drugo platformo ne smemo pozabiti na morebitno prestrukturiranje

grafičnega uporabniškega vmesnika. Nekatere platforme imajo povsem začrtan stil in

postavitev elementov, kar je priporočeno ali pa celo zahtevano upoštevati.

PJSIP podpira poleg Symbiana med drugim tudi: Windows, MacOS X, Unix in Linux

na različnih procesorjih. Obstajata tudi različici za Android in iOS. Qt je podprt na

Page 59: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 49

sistemih: Symbian, Windows, Linux in Max OS X. Prav tako pa obstaja neuradna različica

za Android, ki je bil v času zaključka diplomskega dela še v razvoju.

Med samim razvojem odjemalca SIP je bila že izdelana tudi različica za Windows,

ampak le kot prototip. Za uspešen prevod kode aplikacije je bilo potrebno popraviti le

nekaj nastavitev Qt Creatorja (npr. menjava prevajalnika) in pa seveda prevod nove

knjižnice PJSIP za okolje Windows, ki ni vsebovala tehnologije VAS. Razen zvočnih

učinkov, katerih Symbian koda in knjižnice so bile določene z direktivami prevajalnika, je

bilo moč tako klicati, kot prejemati klice. Konceptna različica, ki je dokazala enostavnost

prehoda na drugo plaftormo, je bila izdelana v pičlih nekaj urah.

Page 60: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 50

7 SKLEP

Primarni cilj diplomskega dela je bil razvoj aplikacije za mobilno platformo Symbian,

ki združuje in izkorišča novejše in nekatere starejše tehnologije za prenos govora preko

podatkovne povezave.

Za dosego zastavljenega cilja smo izbrali več tehnologij, protokolov in orodij, ki

nudijo široko paleto načinov uporabe in s tem napredek za razvoj storitev naslednje

generacije: knjižnice Qt, s katerimi je poenostavljen razvoj zahtevnega in dinamičnega

uporabniškega vmesnika, ter knjižnico PJSIP s svojo implementacijo protokola SIP, ki je

hitra, majhna in zanesljiva. Vse skupaj na temeljih, ki jih nudi tehnologija VoIP.

Življenjski cikel nastale aplikacije še ni končan, saj omenjene tehnologije omogočajo

še veliko možnosti za optimizacijo in nadgradnjo.

Sekundarni cilj dela je bil potrditi, da je mogoče s skupkom obstoječih in enostavno

dostopnih tehnologij znatno zmanjšati stroške na tako razširjenem področju, kot so mobilni

pogovori. Pri tem pa celo izboljšati uporabniško izkušnjo, bodisi z izboljšanim prenosom

zvoka, ki ga omogočajo že uveljavljeni protokoli in kodeki, bodisi z drugimi razširitvami,

kot je na primer varnost.

Izdelan delujoč prototip s svojo večnivojsko fleksibilnostjo nakazuje, da je prišel čas,

ko bi že bilo smiselno v celoti, ali vsaj delno, mobilno telefonijo prenesti na novejše in

naprednejše tehnologije. Trenutno privzeti – a stari – standardi nas omejujejo s svojimi

redkimi, nerazširljivimi storitvami in pretiranimi stroški.

Page 61: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 51

8 VIRI, LITERATURA

[1] Frank H. P. Fitzek, Tommi Mikkonen, Tony Torp, Qt for Symbian, 1. Izd., John Wiley & Sons Ltd., 2010

[2] Jasmin Blanchette, Mark Summerfield. C++ GUI Programming with Qt 4, 2. izd., Prentice Hall Open Source Software Development Series, February 04, 2008

[3] All about Symbian, comScore data shows smartphone situation in Europe, http://www.allaboutsymbian.com/news/item/11342_comScore_data_shows_smartphone.php (pridobljeno dne 1. 9. 2011)

[4] Nokia, Qt - A cross-platform application and UI framework, http://qt.nokia.com/products/ (pridobljeno dne 1. 9. 2011)

[5] Wikipedia, the free encyclopedia, Symbian, http://en.wikipedia.org/wiki/Symbian (pridobljeno dne 1. 9. 2011)

[6] Wikipedia, the free encyclopedia, Qt (framework), http://en.wikipedia.org/wiki/Qt_(framework) (pridobljeno dne 1. 9. 2011)

[7] Symbian.org, Qt Quick Start, http://developer.symbian.org/wiki/index.php/Qt_Quick_Start (pridobljeno dne 1. 9. 2011)

[8] PJSIP, http://www.pjsip.org/ (pridobljeno dne 1. 9. 2011)

[9] PJSIP, Building and Debugging PJSIP on Symbian S60 3rd Edition Device using Carbide C++, http://trac.pjsip.org/repos/wiki/Getting-Started/Symbian (pridobljeno dne 1. 9. 2011)

[10] PJSIP, VAS, https://trac.pjsip.org/repos/wiki/VAS (pridobljeno dne 1. 9. 2011)

[11] Nokia, VoIP Audio Service API, http://wiki.forum.nokia.com/index.php/VoIP_Audio_Service_API (pridobljeno dne 1. 9. 2011)

[12] Nokia, The Style Sheet Syntax, http://doc.qt.nokia.com/4.6/stylesheet-syntax.html (pridobljeno dne 1. 9. 2011)

[13] Symbian Signed, https://www.symbiansigned.com (pridobljeno dne 1. 6. 2011)

[14] Alarix, VoIP, http://www.alarix.si/Rešitve/VoIP/tabid/73/Default.aspx (pridobljeno dne 1. 6. 2011)

[15] Wikipedia, the free encyclopedia, Transport Layer Security, http://en.wikipedia.org/wiki/Transport_Layer_Security (pridobljeno dne 1. 9. 2011)

[16] Mobitel, Cenik, http://www.mobitel.si/ceniki.aspx (pridobljeno dne 1. 6. 2011)

Page 62: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 52

[17] Nokia, VoIP support in Nokia devices, http://wiki.forum.nokia.com/index.php/VoIP_support_in_Nokia_devices (pridobljeno dne 1. 6. 2011)

[18] Wikipedia, the free encyclopedia, Session Initiation Protocol, http://en.wikipedia.org/wiki/Session_Initiation_Protocol (pridobljeno dne 1. 9. 2011)

[19] Wikipedia, the free encyclopedia, IP Multimedia Subsistem, http://en.wikipedia.org/wiki/IP_Multimedia_Subsystem (pridobljeno dne 1. 9. 2011)

[20] Oracle, The SIP Servlet Tutorial, http://docs.oracle.com/cd/E19502-01/821-0203/gflsc/index.html (pridobljeno dne 1. 6. 2011)

[21] About.com, VoIP Codecs, http://voip.about.com/od/voipbasics/a/voipcodecs.htm (pridobljeno dne 1. 6. 2011)

[22] comScore.com, Android Captures #2 Ranking Among Smartphone Platforms in EU5, http://www.comscore.com/Press_Events/Press_Releases/2011/9/Android_Captures_number_2_Ranking_Among_Smartphone_Platforms_in_EU5 (pridobljeno dne 15. 3. 2012)

[23] Wikipedia, the free encyclopedia, S60 (software platform), http://en.wikipedia.org/wiki/S60_(software_platform) (pridobljeno dne 1. 9. 2011)

Page 63: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 53

Page 64: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 54

Page 65: UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH … · 2017-11-28 · telefoni so znotraj omrežja operaterja praviloma dokaj ugodne. Pri klicih v druga, mobilna ali stacionarna, omrežja

Uporaba tehnologije VoIP na mobilnih napravah Symbian Stran 55