Dekodiranje dtmf signala u androidu. Jednostavna kontrola uređaja putem telefona ili DTMF dekodera. Kako bi se android aplikacija pozvala iz druge aplikacije, možete koristiti eksplicitne i implicitne namjere. U izričitoj namjeri stoji da

  • 10.02.2022

Pošaljite svoj dobar rad u bazu znanja je jednostavno. Upotrijebite obrazac u nastavku

Studenti, diplomski studenti, mladi znanstvenici koji koriste bazu znanja u svom studiju i radu bit će vam jako zahvalni.

Objavljeno na http://www.allbest.ru/

Uvod

Razvoj znanstvenog i tehnološkog napretka u svijetu pridonio je raširenom brzom širenju mobilnih komunikacija početkom 21. stoljeća, a to je zbog potrebe stalnog boravka u području pristupa, na mjestima gdje je fiksna telefonska komunikacija nemoguća. .

Zahvaljujući trendu pada cijena na tržištu, gotovo svaki građanin Rusije ima pristup svom osobnom mobitelu.

Mnogi telekomunikacijski operateri pružaju mobilne usluge. Zahvaljujući razvoju internetskih tehnologija postala je popularna IP telefonija koja ima niz prednosti u odnosu na klasičnu mobilnu telefoniju, primjerice razgovor zaštićen od prisluškivanja ili snimanja razgovora na poslužitelju, korištenje kratkih brojeva i komunikaciju bez uključenost pružatelja usluga.

Postoji nekoliko načina za komunikaciju između VoIP poslužitelja i mobilnog telefona. Jedna od najočitijih je internetska veza, koju obično mora platiti mobilni operater, koji nema posebne koristi od jeftinije internetske veze za VoIP od vlastitih telefonskih usluga. Stoga bi cijene za tarifu sa stabilnim internetom, koja je neophodna za razgovore putem IP telefonije, mogle biti precijenjene.

Postoji način komunikacije s VoIP poslužiteljem, koji se obično naziva povratnim pozivom, kada se poslužitelju kaže koji broj treba nazvati, a poslužitelj poziva pretplatnika natrag, povezujući se s brojem koji pretplatnik poziva. Ovaj se broj može prenijeti putem interneta, SMS-a ili tonskog biranja (DTMF).

Nije uvijek moguće slati SMS ili koristiti internet, pogotovo ako je pretplatnik u roamingu. Često je jedina dostupna komunikacijska metoda "tradicionalni" mobilni poziv. Postoji način na koji možete komunicirati s VoIP poslužiteljem putem mobilnog poziva; za to se koristi DTMF povratni poziv prema sljedećem algoritmu:

1. Pretplatnik "A" poziva broj telefonskog poslužitelja

Slika 1. Korak 1

2. Telefonski poslužitelj se prekida

Slika 2. Korak 2

3. Telefonski poslužitelj ponovno poziva pretplatnika "A" i čeka odgovor

Slika 3 Korak 3

4. Pretplatnik "A" odgovara na poziv

Slika 4. Korak 4

5. U tonskom biranju, pretplatnik "A" bira broj pretplatnika "B"

Slika 5. Korak 5

6. Poslužitelj pokreće poziv pretplatniku "B"

Slika 6. Korak 6

7. Nakon inicijalizacije, poslužitelj povezuje vezu pretplatnika "A" i pretplatnika "B". Pretplatnik "A" već čuje biranje pretplatnika "B".

Slika 7. Korak 7

Pretplatnik "B" odgovara na poziv. Oba korisnika mogu razmjenjivati ​​glasovne poruke.

Slika 8. Korak 8

Kao rezultat toga, pretplatnik "A" i pretplatnik "B" upućuju dolazni poziv, te mogu međusobno komunicirati putem telefonskog poslužitelja.

Postoji Callthrough metoda, koja, za razliku od povratnog poziva, ne zahtijeva od poslužitelja povratni poziv pretplatniku "A", ali s tim u vezi pretplatnik "A" plaća odlazni poziv.

Osnova za razvoj

Glavni nedostatak inicijalizacije povratnog poziva korištenjem DTMF-a je taj što pretplatnik "A" mora ručno birati broj pretplatnika "B" nakon što ga poslužitelj pozove natrag. U evidenciji poziva na telefonu pretplatnika „A“ odlazni pozivi ostaju broj koji je on birao, odnosno broj poslužitelja, a u dolaznim pozivima broj povratnog poziva koji ga je nazvao. Ove informacije za korisnika su neinformativne. Telefonski poslužitelj može se konfigurirati tako da pretplatnik "A" bude pozvan povratnim pozivom s različitih brojeva. To znači da će korisnik imati veliki broj nepoznatih brojeva u zapisniku poziva. Ove informacije su suvišne i treba ih sakriti od pretplatnika. Usluge povratnog poziva često ne rade bez izravnog DTMF pristupa, već koriste internetsku vezu, SMS ili posebnu SIM karticu.

Svrha razvoja

Razviti radni prototip aplikacije koja će olakšati korištenje funkcije DTMF telefonije za povratni poziv na android uređajima.

Anketni i analitički dio

stanični

Stanična komunikacija - bežična komunikacija, čije su pristupne zone podijeljene na heksagonalne ćelije slične saću. Jedno takvo pristupno područje osigurava bazna stanica. Mnoštvo takvih baznih stanica koje čine stanična područja naziva se mobilnom mrežom, a uređaji koji koriste mobilnu mrežu nazivaju se mobiteli. U staničnoj mreži, svaka ćelija koristi drugačiji skup frekvencija od susjednih stanica kako bi se izbjegle smetnje i osigurala zajamčena propusnost za svaku ćeliju.

Značajke mobilne mreže:

· Korištenje više baznih stanica pruža više mogućnosti od korištenja jednog velikog odašiljača. Svakoj ćeliji se može dodijeliti više frekvencija koje odgovaraju baznoj stanici. Grupa frekvencija može se ponovno koristiti ako susjedne ćelije koriste različite frekvencije.

Slika 9. Shema ponovne upotrebe frekvencija (F1-F4 - frekvencije)

· Mobilni uređaji koriste manje energije za komunikaciju s tornjem, dakle kako je za pronalazak potreban manje snažan signal zbog bližeg položaja komunikacijskog tornja

· Veće područje pokrivenosti od jednog zemaljskog odašiljača, tako da se dodatni tornjevi mogu dodati u područja s slabom pokrivenošću, gdje signal ne doseže dobro zbog smetnji.

Prilikom raspoređivanja ćelija najbolje je izbjegavati preklapanje staničnih zona; između ćelija ne smije biti praznog prostora. Stoga geometrijski oblik poklopca mogu biti oblici poput trokuta, kvadrata ili šesterokuta. Oblik pokrivanja od antena najsličniji je šesterokutu.

Uređaji koji upravljaju signalima i usmjeravaju ih s jednog mobitela na drugi nazivaju se automatske telefonske centrale (PBX). Trenutno su gotovo sve PBX elektroničke.

Dialer (dialer) - dio sučelja telefonskog aparata koji vam omogućuje prijenos broja telefonskog aparata s kojim se PBX treba povezati. Dugo su se koristili pulsni brojčanici koji su formirali impulse, gdje je svaka znamenka odgovarala svom broju impulsa.Na telefonskom aparatu je bio disk s 10 rupa.Princip povezivanja na PBX bio je sljedeći:

Na telefonu se disk pomiče od točke s navedenim brojem, što navija oprugu. Kada se disk otpusti, opruga se počinje savijati, disk se počinje kretati u suprotnom smjeru. Skup impulsa odgovara zatvaranju i otvaranju telefonske linije. Pauze se prave između niza impulsa kako bi se razlikovao skup jednog znaka od drugog. Ova metoda biranja je prilično nezgodna, pretplatnik mora nekoliko puta uzeti disk i čekati dok se ne vrati na svoje mjesto. Nakon toga se pojavio impulsni skup tipki, koji je uklonio ovaj nedostatak.

Trenutno se za biranje broja koristi dvotonski višefrekventni signal (Dual Tone Multi-Frequency, DTMF). DTMF se može koristiti za interne naredbe telefonske mreže. U DTMF-u se odaslana znamenka kodira signalom dobivenim zbrajanjem dvaju sinusnih napona određene frekvencije. U svakoj se koriste dvije grupe po četiri frekvencije audio raspona.

Tablica 1. Podudarnost frekvencija i simbola za DTMF biranje

Izravan pristup sustavu (DISA) -- funkcija izravnog pristupa, mogućnost pretplatnika da dobije pristup upravljanju telefonskom centralom ili telefonskim poslužiteljem putem DTMF signala s telefona.

Pregled tržišta mobitela

Prihodi tvrtki koje se bave mobilnom komunikacijom u Rusiji rastu, o čemu svjedoče i njihova izvješća, a ista izvješća pokazuju da veliki udio prihoda dolazi od mobilnih komunikacija. U interesu je i običnog privatnog korisnika i korporativnog igrača smanjiti troškove mobilne komunikacije. Jedan od načina je analizirati usluge korištene za mjesec i odabrati najprikladniju tarifu mobilnog operatera.

Tržište mobilnih komunikacija u Moskvi sastoji se od tri igrača, čija se distribucija može vidjeti na:

Dijagram 1: distribucija glavnih igrača na staničnom tržištu

Usporedba lokalne cijene u Moskvi

Tri glavna igrača na moskovskom tržištu imaju slične cijene paketa koje se mogu usporediti. Na primjer, tarife klase "Smart" za MTS, "All Inclusive" za Megafon i "Sve za" za Beeline. Ove tarife nude paket opcija i pretplatu za njih. Usporedimo tarife sa sličnim cijenama iz ovih klasa. Paketi usluga mogu uključivati ​​SMS, MMS, Internet i druge usluge, ali u ovoj analizi oni se ne uzimaju u obzir jer nas zanima cijena poziva. Iz istog razloga nema detaljnog opisa nijansi tarifa, ako one izravno ne utječu na cijenu, međutim, možete vidjeti da se kvaliteta komunikacije u različitim područjima područja može jako razlikovati među operaterima. Također nije potrebno izračunavati troškove poziva ako je mjesečno ograničenje tarife prekoračeno, jer će osoba koja kontrolira troškove odabrati pravu tarifu za sebe, međutim, vrijedi napomenuti da cijena nakon prekoračenja limita može biti prilično visoka. Vrijedi napomenuti da su dolazni pozivi unutar Rusije za sve tri grupe paketa besplatni.

Minimalna cijena je paketne tarife "Smart mini" - 200 ?, "All inclusive XS" - 199 ? i "Sve za 200" - 200 ?. Postoje neke značajke za pozive unutar mreže operatera. U "Smart mini" i "All Inclusive XS" pozivi diljem Rusije, a u "Sve za 200" samo u Moskvi i Moskovskoj regiji. Cijene su od 15.05.2015.

Tablica 3. Minimalne cijene paketa

Kao što se može vidjeti iz tablice, tarifne opcije su vrlo slične. Pozivi unutar mreže su najjeftiniji. Pretplatnicima drugih operatera je skuplje zvati, posebno izvan moskovske regije.

Iako ova tarifa nije namijenjena za pozive u druge zemlje, osoba će možda morati nazvati izvan svoje zemlje, stoga je vrijedno razmotriti međunarodne tarife za pozive u druge zemlje.

Tablica 4. Minimalne cijene paketa (pozivi u inozemstvu)

CIS, rubalja po minuti

24 Također za Republiku Krim i grad Sevastopolj

Europa, rubalja po minuti

Ostale zemlje, rublje po minuti

SAD, rubalja po minuti

Kanada, rubalja po minuti

Australija i Oceanija, rubalja po minuti

Azija, rubalja po minuti

CIS unutar mreže, rubalja po minuti

Sjeverna i Srednja Amerika (bez SAD-a i Kanade), rubalja po minuti

Kao što se može vidjeti iz tablice, stope za pozivi u druge zemlje već su sasvim drugačiji. Beeline pruža mogućnost pozivanja Beeline brojeva u drugim zemljama po niskoj cijeni. Megafon ima veće razlike u cijenama za različite zemlje, dok MTS, naprotiv, ima jedinstvenu cijenu za Europu i jedinstvenu cijenu za sve ostale zemlje.

Tablica 5. Tarife malih paketa

Kao iu slučaju minimalnih paketa, uvjeti su vrlo slični, ali je cijena već drugačija.

Cijene poziva u druge zemlje za MTS pakete za "Smart" pakete se ne razlikuju, kao za Megafon za pakete "All Inclusive", ali za Beeline u paketima "Sve za" cijene za inozemstvo su malo drugačije:

· U tarifi "Sve za 400": uvjeti "Sve za 200" + prvih 10 minuta dnevno koštaju 5 ?, ako zovete u zemlje ZND-a, Krim i Sevastopolj.

· U tarifi "Sve za 600": uvjeti "Sve za 400" + prvih 10 minuta dnevno koštaju 7 ?, ako zovete u Azerbajdžan, Bjelorusiju i Moldaviju

· U tarifi "Sve za 900": uvjeti "Sve za 600" + prvih 10 minuta dnevno koštaju 5 ?, ako pozivate u Europu, SAD i Moldaviju

· U tarifi "Sve za 1500": uvjeti "Sve za 900" + do Maldiva, Madagaskara, Burundija, Sjeverne Koreje, Papue Nove Gvineje, Sejšela, Somalije, Tokelaua, Tunisa jedna minuta košta 55 ?

Tablica 6. Prosječne cijene paketa

Uz jednake lokalne tarife, cijena poziva prema drugim operaterima u Rusiji na Megafonu je 3,3 puta jeftinija.

Tablica 7. Tarifni paketi su iznad prosjeka

Uz jednake lokalne tarife, cijena poziva prema drugim operaterima u Rusiji na MTS-u je 3,3 puta jeftinija.

Tablica 8. Veliki tarifni paketi

Ove lokalne tarife imaju gotovo iste uvjete.

Izlaz

Cijene paketa su vrlo isplative ako ih koristite za pozive unutar mreže. Cijene konkurentskih operatera održavaju se na približno istoj razini. Za običnog pretplatnika koji govori 20-60 minuta dnevno, takve su tarife prikladne. Ako osoba treba razgovarati više od 120 minuta dnevno, tada će morati uzeti skuplje tarifne pakete od 1500 do 2500, što je već prilično skupo.

Međunarodni roaming ima svoje uvjete koji se međusobno razlikuju. Ovaj roaming je skup za sva tri operatera, tridesetominutni razgovor može premašiti cijenu paketa usluga. Ako pretplatnik mora zvati u druge zemlje, trebate odabrati drugu tarifu.

Tarife za pozive u druge zemlje

Tarife za pozive u druge zemlje uvjetno su podijeljene u tri skupine:

1. Tarife za rodbinu i prijatelje turista

2. Tarife za migrante

3. Tarife za gospodarstvenike

Tarife za rodbinu i prijatelje turista

Za usporedbu, prema tarifama za rodbinu i prijatelje turista uzeto je pet popularnih ljetovališta ::

1. Španjolska

Pozivi prema takvim destinacijama uzimaju se u obzir samo za pozive na mobitel, jer je malo vjerojatno da će turist tijekom cijelog putovanja sjediti u blizini fiksnog telefona.

MTS ima tarifnu opciju "Povoljni međunarodni pozivi". Mjesečna pretplata iznosi 50?. Pozivi na ovih pet odredišta koštat će 10 rubalja po minuti. Tarifna opcija je kompatibilna s drugim tarifama, poput "Smart".

Beeline ima tarifu "Dobrodošli". Cijena prijelaza na ovu tarifu je 150 ?, za tarifu nema mjesečne pretplate, ali postoji dnevna naknada od 4,45 ? za opcije uključene u tarifu. Cijena poziva prema Turskoj je 6 ? u minuti. Nažalost, nema podataka o drugoj od pet turističkih zemalja. Na stranici s cijenama:

http://moskva.beeline.ru/customers/products/mobile/tariffs/details/dobro-pozhalovat/

Slika 10. Snimak zaslona područja s tarifne stranice Beeline "Dobrodošli"

Prijelaz na koji se preusmjerava na adresu:

http://moskva.beeline.ru/customers/products/mobile/roaming/roaming-new/

U sučelju stranice sadrži tri hiperveze.

Slika 11. Sučelje stranice "Roaming, međugradska i međunarodna komunikacija".

"Roaming na putovanju po svijetu", "Roaming na putovanju po Rusiji" i "Pozivi od kuće u druge gradove i zemlje". Očito bi cijene za pozive u druge zemlje trebale biti na trećoj hipervezi. Stranica na ovoj poveznici pruža sučelje za traženje informacija na poslužitelju Beeline.

Slika 12. Snimak zaslona sa stranice "Pozivi od kuće u druge gradove i zemlje" nakon zahtjeva "Cipar" po stopi "Dobrodošli"

Ako provjerite cijenu, na primjer, za Cipar, tada će umjesto cijena za Cipar biti naznačeni opći uvjeti tarife. Za Cipar neće postojati posebni uvjeti. U odlomku "Pozivi u druge zemlje" nalazi se hiperveza "Prema tarifama za međunarodne pozive" s adresom:

http://moskva.beeline.ru/customers/products/mobile/roaming/

Za koje ove informacije nisu dostupne, kao što je ranije prikazano.

Teško je zaključiti jesu li informacije namjerno skrivene ili je riječ o pogrešci u dizajnu sučelja. Trenutno nisam dobio nikakva razumna objašnjenja od predstavnika Beelinea, pa smatram da je nemoguće usporediti Beeline tarife u nedostatku službenih informacija.

Megafon za pozive u druge zemlje nudi opciju "Poziv u sve zemlje" Prvih 30 dana naplaćuje se 60 €, a zatim dnevna naknada od 2 €. u danu. Pozivi prema Italiji, Španjolskoj, Cipru i Grčkoj koštaju 6? u minuti, a Turskoj 8? u minuti.

Tarife za migrante

U tarifama za migrante uzimaju se u obzir cijene za zemlje ZND-a i susjedne zemlje.

MTS u opciji "Povoljni međunarodni pozivi" omogućuje pozive prema ZND (osim Azerbajdžana i Bjelorusije) po cijeni od 15 ? po minuti i u Azerbajdžan i Bjelorusiju po cijeni od 20? u minuti.

Beeline ima posebne uvjete za Tadžikistan u tarifi "Dobrodošli". Za pozive na brojeve Beeline 1 minuta - 7 ?, sljedeće minute 1 ?. Za pozive na Beeline brojeve Armenije, Kazahstana, Kirgizije i Kyivstar brojeve Ukrajine - 2,5? u minuti. Za pozive na druge brojeve u Tadžikistanu, Armeniji, Ukrajini, Kazahstanu, Kirgistanu, kao i na sve brojeve u Turkmenistanu - 7 ? u minuti. Poziv u Azerbajdžan i Bjelorusiju košta 13? u minuti. Na brojeve Uzbekistanskog Beelinea - 3? u minuti, preostalih 4? u minuti.

U opciji "Pozovi sve zemlje" pozivi s Megafona prema Azerbajdžanu i Bjelorusiji koštaju 15 ? po minuti, u Ukrajinu - 10? po minuti, Armenija, Kazahstan i Kirgistan - 8 ? u minuti, u Tadžikistanu i Turkmenistanu - 6 ? po minuti, u Uzbekistan - 5 ? u minuti. Megafon također ima posebnu opciju "Tadžikistan +" za Tadžikistan. Prva minuta razgovora košta 7?, do 20. minute minuta košta 1?, a od 21. minute 7?.

Tarife za gospodarstvenike

Poslovni čovjek može imati potrebu komunicirati s bilo kojom od zemalja. Svrha ovog pregleda je usporediti razinu cijena za različite tarife, a ne napraviti potpunu usporedbu cijena za sve zemlje, pa je odabrano 5 zemalja u koje je gospodarstvenik mogao nazvati.

3. Njemačka

5. UK

MTS u opciji "Povoljni međunarodni pozivi" omogućuje pozive prema Kini za 1,5 ? po minuti, US 5 ? u minuti, Njemačka i Velika Britanija 10 ? u minuti, u Japan na 25 ? u minuti.

Beelineova tarifa "Dobrodošli" nudi pozive u Kinu za 2 ? u minuti.

Megafon u opciji "Pozovi sve zemlje" nudi pozive u Kinu za 1? po minuti, US 4? u minuti, Njemačka u 6? u minuti, Velika Britanija u 11 ? u minuti, u Japan u 9? u minuti.

Izlaz

Za razmatrana turistička odredišta najisplativija je opcija iz Megafona "Pozovi sve zemlje". Podaci o Beelineu nisu dovoljni.

U područjima koja se smatraju migrantima, cijene Beelinea i Megafona se natječu, MTS je najskuplji.

U područjima koja se smatraju poslovnim ljudima, cijene MTS-a i Megafona se natječu, nema dovoljno podataka o Beelineu.

Roaming

Mnogi operateri pružaju usluge roaminga kada je moguće ići sa SIM karticom njihovog operatera u mrežu drugog operatera. Postoji međugradski i međunarodni roaming. Roaming na velike udaljenosti može biti potreban ako pretplatnik putuje vlakom. Takav pretplatnik može brzo promijeniti poziciju na karti, pa ne može kupiti lokalnu SIM karticu od lokalnog operatera za svaku točku kroz koju putuje.

Međunarodni roaming obično je skuplji od međugradskog roaminga.

Za međunarodni roaming, MTS nudi uslugu Zero Without Borders. Pretplata za ovu uslugu iznosi 60 ? u danu. Za neka odredišta dolazni pozivi mogu biti besplatni prvih 10 minuta, ali nakon što se potroši ograničenje od 200 minuta mjesečno, svaka dolazna minuta koštat će 25? u minuti.

Za Grčku, Njemačku i Tursku bit će isplativije koristiti uslugu Free Travel. Pretplata je 100? u danu. Usluga nudi 60 minuta dnevno za dolazne i odlazne pozive na ruske brojeve.

Tablica 9. Cijena za "Zero Without Borders" po turističkim destinacijama

Najvjerojatnije migrantima neće biti teško stjecati lokalne tarife, pa se ovaj smjer neće razmatrati zasebno za zemlje ZND-a.

Poduzetnicima je važno da uvijek budu u kontaktu, na istom broju, pa je malo vjerojatno da će pristati promijeniti SIM karticu na lokalnu.

Slika 13. Cijena za Zero Without Borders po poslovnoj liniji

Njemačka

Velika Britanija

Dolazni pozivi (prvih 10 minuta), rubalja po minuti

Dolazni pozivi (od 11 minuta), rubalja po minuti

Odlazni pozivi na ruske brojeve (1 minuta i počevši od 6 minuta), rubalja po minuti

Odlazni pozivi na ruske brojeve (od 2 do 5 minuta), rubalja po minuti

Odlazni pozivi na brojeve zemlje domaćina, rublja po minuti

Odlazni pozivi na brojeve drugih zemalja, rubalja po minuti

Za međunarodni roaming, Beeline pruža uslugu My Planet. Cijena povezivanja usluge je 25 €. Za sva turistička odredišta dolazni pozivi koštaju 15 ? po minuti, odlazeći u bilo koju zemlju i unutar zemlje domaćina 25 ? u minuti. Iste cijene za blisko inozemstvo i prethodno spomenuta područja za poslovanje, s izuzetkom Japana, za koji dolaze 19 ? u minuti, a odlaznih 49 u minuti.

Za međunarodni roaming, Megafon nudi dvije opcije: "Cijeli svijet" i "Oko svijeta". "Cijeli svijet" nudi 30 minuta dnevno besplatnih dolaznih poziva uz mjesečnu naknadu od 39 ? u udarcima. "Around the World" povezuje se za 15 ? i ima dnevnu pretplatu od 9?. Dolazni i odlazni pozivi unutar Europe i ZND-a, Turske, Abhazije i Južne Osetije koštaju 6 ? u minuti, za Japan 9 ? u minuti, za SAD i Kinu 36 ? u minuti. Za pozive u Rusiju, Megafon koristi povratni poziv.

Izlaz

Međunarodni roaming, za razliku od ostalih tarifa, može imati plaćeni dolazni poziv, cijene mogu doseći 200 ? u minuti.

Pregled tržišta VoIP komunikacije

Osim mobilnih operatera, postoje operateri koji pružaju usluge Voice over IP (VoIP) telefonije. Glavna razlika ove veze je korištenje interneta za povezivanje pretplatnika. Neke tvrtke nude razne VoIP usluge, često je povezivanje dva ili više pretplatnika jedne VoIP tvrtke putem interneta besplatno. Takve usluge pružaju proizvodi Skype, Hangouts, Viber.

VoIP može komunicirati ne samo preko Interneta, već i preko mobilne mreže. Za to se koriste GSM-VoIP pristupnici. Za VoIP poslužitelj možete konfigurirati usmjeravanje najniže cijene - automatski odabir rute za poziv ovisno o broju. Poslužitelj sam bira najpovoljniju tarifu za pristup mreži, a samim tim i cijena komunikacije pada.

Cijene VoIP-a mogu ovisiti o tečaju ili biti navedene u drugoj valuti, za usporedbu, sve cijene će biti preračunate u rublje po tečaju od 26. svibnja 2015. naznačenom na web stranici Središnje banke Ruske Federacije. cijena za ovaj datum:

Tablica 10. Tečaj na dan 26.05.2015

Skype nudi sljedeće cijene za pozive na ciparske brojeve mobitela:

Tablica 12. Skype cijene za pozive na Cipar

Skype nudi sljedeće tarife za pozive na turske brojeve mobitela:

Tablica 13. Skype cijene za pozive u Tursku

Skype nudi sljedeće cijene za pozive na američke mobilne i fiksne telefone:

Tablica 14. Skype cijene za pozive u SAD

Skype nudi sljedeće cijene za pozive na brojeve mobitela u Japanu:

Tablica 15. Skype cijene za pozive u Japan

Skype nudi sljedeće cijene za pozive na mobilne i fiksne telefone u Kini:

Tablica 16. Skype cijene za pozive u Kinu

Prema razmatranim tarifama za Skype, možemo zaključiti da mogu biti isplativije od sličnih tarifa za tri lidera u mobilnim komunikacijama.

Viber

Viber Out nudi sljedeće cijene:

Tablica 17. Viber Out Cijene

VoIP poslužitelj se može instalirati na obično računalo, pa se VoIP rješenja često koriste unutar tvrtki za komunikaciju s kupcima ili za intranet komunikaciju. Ovom vezom može upravljati administrator sustava. On može postaviti sigurnost komunikacije i snimati razgovore. Poslužitelj se može konfigurirati s DISA tako da klijenti koji pozivaju mogu unositi naredbe u DTMF načinu rada koje će virtualna PBX prihvatiti. Također možete konfigurirati pristupnik za takav poslužitelj, koji će vam omogućiti pozivanje i primanje mobilnog signala.

Izlaz

Korištenje VoIP-a može smanjiti troškove komunikacije, posebno tamo gdje postoji besplatan i stabilan internet. Uz VoIP, ne morate brinuti o roamingu. Tarife za VoIP nisu tako komplicirane kao tarife mobilnih operatera.

Pregled telefonskog povratnog poziva

U praksi internetska komunikacija ima ograničeno područje pokrivenosti, a sama internetska usluga košta. Istodobno, cijene VoIP-a ostaju atraktivne.

Ako postoji veza putem interneta, ali je nestabilna, u pomoć priskače usluga povratnog poziva. Broj na koji pretplatnik želi nazvati šalje se VoIP poslužitelju, a poslužitelj već poziva pretplatnika putem mobilnog kanala, nakon toga počinje birati drugog pretplatnika i povezuje ova dva pretplatnika. Ukoliko nije moguće koristiti internet, možete poslati SMS na broj VoIP poslužitelja s brojem pretplatnika "B" kojeg zove pretplatnik "A". Postoje i SIM kartice koje imaju potrebne parametre za Callback telefoniju. Ovi operateri štede novac korištenjem VoIP-a, pa su njihove cijene jeftinije.

Takve usluge pruža MTS. Broju pretplatnika dodaje se kod *137*, a na kraju #. Nakon slanja zahtjeva, dolazi do dolaznog poziva, ako na njega odgovorite, započinje veza s pretplatnikom poslanim u zahtjevu. Cijena povratnog poziva ovisi o državi prebivališta pretplatnika.

Megafon također pruža takve usluge: povratni poziv može se dogoditi tijekom normalnog biranja ako je aktivirana usluga "Around the World".

Postoji još jedan način prijenosa broja pretplatnika "B" s pretplatnika "A" na poslužitelj - korištenjem DTMF signala. Ova metoda je dobra jer svaki moderni telefon može generirati DTMF signale, a dolazni pozivi su besplatni za mnoge operatere.

Budući da svaki telefon s operativnim sustavom Android može generirati DTMF signale, ova metoda je najsvestranija, zahtijeva minimalnu vezu dodatnih usluga i ne zahtijeva SIM karticu. Upravo ovu metodu vlasnici vlastitih VoIP poslužitelja mogu koristiti za povezivanje pretplatnika.

Analiza programa čija se funkcionalnost može koristiti za olakšavanje korištenja funkcije povratnog poziva

izravna provedba aplikacije za DTMF povratni poziv bez upućivanja na operatera teško je pronaći.

Postoje implementacije funkcija koje mogu biti korisne kada koristite DTMF povratni poziv.

Jedna od ovih implementacija najčešće se naziva prefiksom. Ovi programi hvataju dolazni ili odlazni poziv i dodaju mu tzv. prefiks ili sufiks, odnosno popunjavaju telefonski broj prije ili iza broja, dobiva se ovakav broj: prefiks xxxxxxxxx sufiks , gdje je x bilo koji simbol broja.

Zadatak ovih programa u implementaciji povratnog poziva bit će dodavanje DTMF signala nakon određenog događaja.

Prefiks

Najbliži rješenju ovog problema je Prefixer od 253° Ispod. Ovaj program sadrži pravila u kojima možete konfigurirati:

c. Raspored rada programa

d. Broj koji će biti zabilježen u zapisniku poziva

e. Brojevi na kojima će pravilo funkcionirati

Kao što slijedi iz sučelja programa, pravila se mogu konfigurirati i za dolazne i za odlazne pozive. To jest, program bi trebao dodati broj kada stigne dolazni poziv. U teoriji, ako unesete sufiks "," za stanku ili ";" da biste čekali ton biranja, možete poslati DISA broj.

Slika 14. Snimka zaslona prefiksa " ali

Za odlazne pozive program stvarno dodaje prefiks i sufiks, ali za dolazne pozive, suprotno konfiguriranim pravilima, ne dodaje ništa. To jest, u praksi se ne može koristiti za DTMF povratnu komunikaciju, ali se može koristiti za implementaciju povratnog poziva od MTS-a.

Postoji način za upisivanje određenog znaka ili grupe znakova na tipkovnici. Najčešće se programi s takvom funkcionalnošću koriste za proširenje funkcija tipkovnice ili kontrolnog sučelja Androida. Kako pretplatnik ne bi unio cijeli broj iz memorije kada ga Callback server pozove, može koristiti emulaciju pritiskanja broja. U tom slučaju, telefon će slati DTMF signale, kao da ih je korisnik sam unio. Postoji dosta programa s ovom funkcijom.

tipkovnica za igru

Za testiranje ove mogućnosti korištena je Gamekeyboard iz Locneta. Za korištenje programa potrebna su root prava. Ovaj program sadrži makronaredbe u koje možete zapisati koji će se znakovi unositi s kojim intervalom. Možete prilagoditi veličinu i položaj na zaslonu virtualnog gumba koji će aktivirati makronaredbu. Prilično je teško napraviti makronaredbu za ovaj program s telefona, pa je njegov opseg ograničen na mali broj omiljenih brojeva. Ovaj program podržava profile, tako da je teoretski moguće razviti aplikaciju koja će kreirati makronaredbu za birani broj i povezati s gumbom. Ovo rješenje će omogućiti pretplatniku da ne pohranjuje pretplatnički broj u memoriju i da ne bira cijeli broj. Međutim, i dalje su potrebne dodatne radnje korisnika.

Root prava - prava pristupa svim funkcijama UNIX sustava. Budući da je Android operativni sustav sličan UNIX-u, on također pruža root prava, ali proizvođači telefona često im ograničavaju pristup. Proizvođač može programski zakomplicirati dobivanje root prava, zabraniti bljeskanje. Proizvođač može pružiti alat za dobivanje root prava, ali uz odricanje od jamstava korisnika koji je dobio root prava. Unatoč tome, događa se da je jedini način implementacije neke funkcionalnosti imati root pristup.

Izlaz

Većina rješenja za DTMF povratni poziv vezana je uz korištenje određenog operatera. Iako postoje softverski alati koji olakšavaju korištenje DTMF povratnog poziva, ne postoji sveobuhvatno rješenje koje se posebno bavi ovim problemom. Za vlasnike vlastitih poslužitelja korisno je omogućiti VoIP komunikaciju korištenjem DTMF metode.

Tehnološki dio

Analiza razvojnih alata za Android

Glavni jezik za pisanje prilagođenih aplikacija za Android je Java. Programsko sučelje (API) za rad s Android funkcijama uključuje korištenje Jave. Za izradu aplikacija napisanih na Javi za Android, koristite alate za izradu iz Android Software Sevelopment Kit (SDK). Postoji način za pisanje aplikacija na C/C++ kako bi se aplikacije brže izvodile. Za to se koristi Native Development Kit. Postoji C# razvojno rješenje pod nazivom Xamarin koje vam omogućuje izradu aplikacija na više platformi. Za razvoj Pythona na Androidu možete koristiti jedno od nekoliko rješenja navedenih u tablici:

Tablica 18. Usporedba python implementacija za Android

Python za Android

Android skriptiranje

Python na čipu

Okvir kivy vam omogućuje stvaranje aplikacija na više platformi. Može se povezati s pythonom za Android. Tada postaje moguće pisati multi-platformske aplikacije koje će raditi na Androidu. Tu je i omot za pozivanje Java klasa iz Android API-ja pod nazivom PyJNIus.

Rješenja kao što su kivy ili Xamarin imaju prednosti ako je aplikacija razvijena ne samo za Android, već i za druge platforme. Međutim, kada koristite značajke specifične za Android, morate koristiti Android API. To ne daje prednosti zadatku, budući da Android ima svoje specifičnosti s radom telefonskih funkcija.

Sadržaji za razvoj Androida - SDK Alati

Glavni alat za razvoj Androida uključen je u paket SDK alata. Ovaj paket uključuje alate za rad s virtualnim uređajima. Android Virtual Device Manager (AVD) dizajniran je za pokretanje i konfiguriranje emulatora. Za izradu emulatora koristi se slika sustava. Takve se slike mogu preuzeti u grafičkom ili konzolnom sučelju programa Android SDK Manager. U sučelju Android SDK Managera, za jednu verziju Androida, možete odabrati više slika koje će oponašati različite uređaje.

Slika 15. Snimka zaslona Android SDK Manager GUI

Jedan važan alat je Android Debug Bridge (adb), program dizajniran za otklanjanje pogrešaka na Android uređajima. Adb se pokreće iz naredbenog retka i kontrolira preko sučelja konzole. Adb radi s različitim uređajima spojenim na računalo:

Uređaji povezani putem USB-a

Wi-Fi povezani uređaji

Emulirani uređaji

adb dopušta:

instalirati ili ukloniti aplikacije s uređaja

raditi s naredbenom ljuskom uređaja

rad s upraviteljem paketa

pokrenuti namjeru

rad s LogCatom

SDK uključuje veliki skup alata koji su na neki način integrirani u razvojna okruženja, na primjer, Build Tools uključeni su u Eclipse ili Android Studio.

Integrirano razvojno okruženje android studio

Trenutno je službeno integrirano razvojno okruženje (IDE) za Android Android Studio. Ovaj IDE temelji se na IntelliJ IDEA tvrtke JetBrains i uključuje niz značajki:

· Gradle skripte za izgradnju apk-a

Izgradite varijante i generirajte mnoge apk

Predlošci koda

Uređivač slojeva (izgledi)

Potpisivanje aplikacije

Ugrađena podrška za Google Cloud Platform i mogućnost integracije Google Cloud Messaginga i App Enginea

Android Studio vam omogućuje paralelnu instalaciju ugrađenih aplikacija na nekoliko uređaja povezanih putem adb-a.

Android Studio podržava sustave kontrole verzija.

Uređivač izvornog koda u Android Studiju ima niz značajki koje olakšavaju razvoj:

dovršavanje riječi

Pomoć za greške u kodu

Isticanje sintakse za java i xml datoteke

automatski uvoz iz Android biblioteke ako se koristi klasa iz nje

zasiviti varijable koje nisu korištene

komentiranje redaka koda

skakanje kroz različite datoteke projekta u potrazi za odabranom riječi

Android Studio je moćan alat koji se preporučuje za razvoj Androida, pa je donesena odluka da se koristi u razvoju.

telefonsko programiranje povratnog poziva za android

Pregled programskog jezika Python

Python je jezik visoke razine koji kombinira nekoliko programskih paradigmi kao što su:

· Objektno orijentirano programiranje. Sve u pythonu je objekt: nizovi, klase, brojevi itd. Ako, na primjer, uzmemo broj "1" i dodamo mu broj "2":

tada će se metoda __add__ zapravo pozvati na objektu 1, koji će primiti tip Integer, tako da će sljedeći unos dati isti rezultat:

· Dinamično tipkanje. Vrsta se postavlja automatski tijekom izvođenja programa. Prednost ove vrste tipkanja je jednostavnost pisanja programa i brz razvoj ove metode od strane programera. U pythonu možete sami odrediti tip. Pomoću funkcije "type" možete saznati vrstu objekta. Uz pomoć funkcija "int" i "float" možete promijeniti vrstu. Dakle, broj 1 možete predstaviti kao niz s vrijednošću 1 ili kao broj s pomičnim zarezom. Primjer:

>>> b = str(1)

>>> c = float(1)

Ako provjerite vrstu varijabli, tada će "a" imati "int", "b" će imati "str", a "c" će imati "float"

>>> vrsta ispisa (a)

>>>vrsta ispisa (b)

>>>vrsta ispisa (c)

Jako tipkanje. Python se obično naziva jako tipiziranim objektnim jezikom.

· Funkcionalno programiranje. U pythonu možete koristiti rekurzije, lijenu evaluaciju i funkcije višeg reda

· Imperativno programiranje. Python podržava proceduralni metod programiranja, u pythonu možete koristiti module.

Python se smatra prilično jednostavnim jezikom i najpopularnijim je fakultetskim jezikom u SAD-u.

Python kod se izvršava redak po red, pa se često greška u kodu može primijetiti tek nakon izvršavanja ovog retka. Programima stvorenim s pythonom za android potrebno je mnogo vremena da se pokrenu.

Za pokretanje takve aplikacije tehničko sredstvo mora biti komunikacijski uređaj sa sljedećim karakteristikama:

· Uređaj mora imati 10 MB slobodne memorije u internoj memoriji kako bi instalirao aplikaciju i pohranio njezine podatke.

Uređaj mora imati sljedeći softver:

a. Android 2.2 i noviji

b. OpenGL ES 2.0

Zahtjevi za internu memoriju nastaju zbog činjenice da će instalirana aplikacija sadržavati python za android i kivy. Python za android zahtijeva OpenGL ES 2.0, koji je dostupan u Androidu od verzije 2.2.

Pregled programskog jezika Java

Java je objektno orijentirani programski jezik. Uz pomoć kompajlera, Java izvorni kod se pretvara u bajt kod koji sadrži skup uputa za Java stroj. Ovaj pristup osigurava neovisnost od platforme. U slučaju razvoja Android Java, Dalvik je stroj. Korištenje takvog stroja može uvelike smanjiti produktivnost.

Koncept Jave u smislu objektne orijentacije sličan je pythonu: “Java ima posebnu superklasu Object i sve klase su njezine podklase. Stoga se referentna varijabla klase Object može odnositi na objekt bilo koje druge klase.

Java ima fleksibilan sustav kontrole pristupa koji je postavljen modifikatorima klase private, public, protected ili odsutnošću modifikatora:

Tablica 19. Modifikatori i pristup u Javi

Razvoj sučelja za pojednostavljeno korištenje telefonske funkcije uzvratiti poziv

Najjednostavnije sučelje za korisnika je standardno sučelje njegovog sustava. Algoritam poziva kada se koristi Callback funkcija ne bi se trebao razlikovati od uobičajenog algoritma inicijalizacije poziva.

Sučelje takvog programa trebalo bi pomoći implementaciji sljedećih funkcija:

1. Nazovite natrag

o Pokretanje aplikacije prilikom iniciranja poziva iz kontakt knjige (Kontakti)

o Pokretanje poziva na telefonski poslužitelj

o Primanje poziva od telefonskog poslužitelja

o Utvrđivanje da je veza uspostavljena

o Analiza DTMF signala s poslužitelja

o Prijenos DTMF signala tijekom poziva

2. Rad s poviješću

o Mogućnost brisanja informacija iz evidencije sustava povijesti poziva

o Mogućnost dodavanja informacija u zapisnik povijesti poziva sustava

3. Postavke

o Omogućite/onemogućite profil

o Mogućnost odabira profila

o Mogućnost prilagođavanja profila

o Mogućnost dodavanja profila

o Mogućnost brisanja profila

4. Profili

o Mogućnost promjene broja poslužitelja

o Mogućnost postavljanja bijelog popisa brojeva poslužitelja

o Mogućnost određivanja vremena čekanja na povratni poziv od poslužitelja

o Mogućnost određivanja intervala između poslanog DTMF signala

Algoritam aplikacije s takvim funkcijama je sljedeći:

Korisnik prvi put otvara aplikaciju i stvara profil. U profilu korisnik navodi broj telefonskog poslužitelja. Korisnik unosi na bijelu listu one brojeve s kojih će ga telefonski poslužitelj nazvati. Vrijeme čekanja korisnik određuje u postavkama. Ako nema povratnog poziva s poslužitelja, korisnik će moći nastaviti koristiti telefoniju bez ručnog isključivanja aplikacija.

Nakon postavljanja aplikacije, korisnik može nazvati pretplatnika iz kontakt knjige. U ovom trenutku pojavit će se izbornik za odabir aplikacije s kojim možete upućivati ​​pozive. Ako korisnik odabere DTMF povratni poziv, tada će aplikacija pohraniti kontakt broj, a sama aplikacija će pokrenuti poziv poslužitelju. Kada se poslužitelj prekine i uzvrati poziv, aplikacija će odgovoriti na poziv i birati spremljeni broj tonskim biranjem, nakon čega će korisnik morati pričekati vezu s pozvanim pretplatnikom.

Nakon završetka razgovora, dnevnik poziva treba sadržavati broj pretplatnika kojeg je korisnik nazvao. Obračun vremena razgovora trebao bi početi od trenutka biranja.

Razvoj prototipa koji demonstrira mogućnosti za pojednostavljenje korištenja funkcije povratnog poziva

Na temelju njihovih stvarnih mogućnosti i nula iskustva u razvoju pod Android, razvijeni su minimalni zahtjevi za prototip:

1. Prototip mora raditi na svim modernim Android uređajima od Androida 2.1 do Androida 5.1

2. Prototip bi trebao olakšati biranje pretplatničkog broja kada telefonski poslužitelj uzvrati poziv

3. Prilikom pozivanja pretplatničkog broja putem prototipa, poziv se mora inicirati na broj telefonskog poslužitelja i istovremeno zapamtiti broj koji je pretplatnik nazvao

Inicijalizacija poziva na određeni broj

Prva faza razvoja bila je pisanje aplikacije koja može uputiti poziv na broj naveden u kodu aplikacije. Ova metoda, kada su vrijednosti varijabli tvrdo kodirane u kodu, a ne preuzete iz vanjskih izvora, naziva se tvrdo kodiranje. Ova metoda se koristi posebno za brzo testiranje aplikacije kako ne biste morali svaki put birati broj.

Odlučeno je pisati u programskom jeziku python, budući da imam iskustva s pisanjem na tom jeziku. Za njegovu implementaciju bilo je potrebno povezati Java klasu android.intent.action.CALL iz Android API-ja. Svrha ove aplikacije je testirati može li aplikacija nazvati bilo kojeg pretplatnika. Ova funkcija je potrebna kako bi nakon poziva pretplatnika "A" na broj pretplatnika "B", započeo poziv na broj telefonskog poslužitelja. Nakon implementacije ove funkcije postalo je jasno da, unatoč mom iskustvu, pisanje aplikacija za python iskače puno neočiglednih problema, a kao rezultat toga, gotova aplikacija se predugo učitava, što je vrlo kritično za telefoniju . Također je postalo očito da bi bilo vrlo teško razumjeti API bez poznavanja programskog jezika Java. Budući da je i dalje bilo potrebno razumijevanje programskog jezika Java, a konačni rezultat u Javi dao je prednosti, odlučeno je da se funkcija za Javu prepiše koristeći Android Studio. Ovdje je kod završne funkcije u Javi:

javni nevažeći poziv (prikaz pogleda) (

mNumberTextView.setText("Poziv na " + tel.getText() + " Inicijalizirano");

String toDial = "tel:" + tel.getText().toString();

startActivity(nova namjera(Intent.ACTION_CALL, Uri.parse(toDial)));

Primanje broja iz kontakt knjige

Kako bi se android aplikacija pozvala iz druge aplikacije, možete koristiti eksplicitne i implicitne namjere. Eksplicitna namjera specificira koju klasu treba pozvati:

namjera intent_about = nova namjera(MainActivity.this, AboutActivity.class);

startActivity(namjera_o);

AboutActivity.class aktivnost je napisana u Android.Manifest.xml, tako da sustav zna koju aktivnost pokrenuti.

U implicitnoj namjeri, umjesto klase koja se pokreće, naznačena je radnja na koju bi sustav trebao reagirati. U standardnom imeniku kontakata (Kontakti) u androidu, kada se iz njega pozove, događa se radnja ACTION_CALL_PRIVELEGED. Broj "tel:" prosljeđuje se ovoj radnji. Na primjer, možemo koristiti adb za pozivanje ove radnje tako što ćemo napisati:

adb -e shell am start -a android.intent.action.CALL_PRIVILEGED -d tel:911

Gdje je 100 broj na kojem će telefon zvoniti. Ako napišete naredbu

adb shell am start -a android.intent.action.CALL -d tel:911

U tom slučaju neće biti poziva jer neće biti privilegija za pozivanje takvog broja. Ovisno o potrebi, različite aplikacije mogu koristiti različite radnje. Ako se ne očekuju hitni pozivi, koristit će se ACTION_CALL. To je češće za pozive iz preglednika ili aplikacije s kontaktnim brojem.

Na nekim firmware-ima alternativna aplikacija može se koristiti kao knjiga kontakata. Izvorni kod ove aplikacije može biti zatvoren. Ako je u takvim aplikacijama poziv pokrenut nekako drugačije, tada može biti teško pogoditi kroz koju namjeru je poziv pokrenut. U tom slučaju možete instalirati alternativni imenik kontakata s Google Playa ili drugih pouzdanih izvora.

Da bi program presreo implicitnu namjeru, morate dodati filtar namjere u AndroidManifest.xml:

Budući da trebate uzeti samo broj iz imenika kontakata, na shemi je naznačeno "tel".

Operativni sustav Android sada će od vas tražiti da pozovete aplikaciju svaki put kada se pozove namjera ACTION_CALL ili ACTION_CALL_PRIVILEGED.

Da bi aplikacija koristila broj koji je bio u "tel", trebamo koristiti metodu getData () u klasi koja nam je potrebna:

plutajući prozor s gumbom

Postoji biblioteka pod nazivom StandOut s kojom možete stvoriti plutajući prozor. Knjižnica je otvorenog koda i ima primjere. Ova se knjižnica distribuira pod besplatnom MIT licencom. Ova licenca vam omogućuje slobodnu redistribuciju softvera koji sadrži ovu biblioteku. Knjižnica se isporučuje kakva jest, autori ne snose odgovornost za štetu koju bi ona mogla prouzročiti.

Značajke ove biblioteke:

· Pružanje vlastitog POGLEDA. Jednostavna integracija.

Plutajući dekorateri prozora:

1. plutajući naslov prozora

2. gumb koji minimizira plutajući prozor

3. gumb koji zatvara plutajući prozor

4. gumb za promjenu veličine prozora

Minimizirani prozor se može vratiti

Izrada prozora različitih vrsta

Prozori se mogu premještati

Prilikom testiranja primjera iz ove biblioteke, ustanovljeno je da plutajući prozori mogu biti na vrhu svih prozora, uključujući i tijekom poziva. Ova se značajka može koristiti za stvaranje gumba koji će birati željeni broj u biraču tijekom poziva.

Da biste kreirali prozor, morate napisati klasu koja će biti proširenje klase StandOutWindow:

javna klasa FloatingButton proširuje StandOutWindow(

public void createAndAttachView(int id, FrameLayout okvir) (

LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);

View view = inflater.inflate(R.layout.floating_button, frame, true);

A u res/layoutima postoji sloj s opisom sučelja ovog prozora floating_button.xml.

Gumb za plutajući prozor

Slični dokumenti

    Arhitektura i povijest Android operativnog sustava. Programski jezik Java. Odabir alata za implementaciju Android aplikacije. Softverska implementacija Android aplikacije. Provođenje testiranja razvijenog softvera.

    seminarski rad, dodan 18.01.2017

    Pregled mobilnog OS Android. Izbor alata i tehnologija. Dizajniranje GUI prototipa. Karakteristike i opis korisničkog sučelja. Dizajn i razvoj baze podataka. Definirajte popis potrebnih dozvola.

    seminarski rad, dodan 13.09.2017

    Pregled postojećih popularnih preglednika vremena za Android OS. Operativni sustavi modernih pametnih telefona. Ključne značajke Androida, Java tehnologija. Razvoj softverskog dijela, izbor jezika, opis algoritma, njegova logička struktura.

    seminarski rad, dodan 16.04.2014

    Implementacija telefonije preko IP mreže korištenjem skupa protokola i opreme. Razvoj podsustava dinamičkog usmjeravanja poziva za sustav naplate i upravljanja u mreži IP telefonije. Osnovni zahtjevi za grafičko korisničko sučelje.

    rad, dodan 08.11.2015

    Razvoj aplikacija za pametne telefone na Android OS-u za mrežu ljekarni "Ljekarna". Arhitektura operativnog sustava Android. Arhitektura i implementacija aplikacije. Njegova funkcionalnost. Opis mobilne aplikacije. Izračun troškova izrade proizvoda.

    diplomski rad, dodan 17.06.2017

    Karakteristike operativnog sustava Android koji se koristi za mobilne telefone. Izrada Android projekta u razvojnom okruženju Eclipse. Opća struktura i funkcije manifestne datoteke. Komponente Android aplikacije. Metode označavanja.

    seminarski rad, dodan 15.11.2012

    Opća shema Android aplikacije. Razvoj aplikacije za učenje za operativni sustav Android, čija je svrha razvoj govora kroz izgovor jezikoslovaca. Opis komponenti razvijene aplikacije, njezino testiranje.

    rad, dodan 04.02.2016

    Osnovni pojmovi IP telefonije i vrste strukture mreža IP telefonije. Cisco Systems glasovni pristupnici za IP telefoniju. IP IVR kao sredstvo za automatsko odgovaranje na pozive. Prednosti izgradnje distribuiranog Kontakt centra, arhitektura njegove izgradnje.

    rad, dodan 21.04.2016

    Opće karakteristike Android operativnog sustava. Razvoj aplikacije na temelju izrade upravitelja datoteka. Korištenje aplikacije za pristup datotekama pohranjenim u "pohrani u oblaku" na Internetu. Izračun troškova softvera.

    rad, dodan 03.04.2015

    Razvoj softvera za Android platformu verzija 2.3: informativna aplikacija za navijače nogometne reprezentacije, s mogućnošću pregleda događaja, statistike i drugih informacija o momčadi i njezinom uspjehu. Ispis JsonDataManager.java.

Zdravo.
Želite li kontrolirati nešto na mobitelu, pa čak i bez ikakvih zamršenih mikrokontrolera? Ako da, dobrodošli pod kat.

Nedavno je bilo nekoliko recenzija GSM modula na Muski, kao što je SIM800, pomoću kojih možete kontrolirati bilo što preko mobilne mreže. Ali problem je u tome što svi zahtijevaju povezivanje s mikrokontrolerom, pisanje firmwarea i druge stvari koje su teške za neupućenu osobu. Druga krajnost je: "i ja sam zalemio relej na vibracijski motor telefona, sve radi kod mene" :)) I to je moguće, ali nemojte se iznenaditi ako će vaš staklenik pokušati zaliti pumpu vodom iz dobro zamrznuta, nakon SMS poruke "S novom godinom!" od nepoznatog pošiljatelja
Općenito, odlučio sam popuniti prazninu između ova dva rješenja i ponuditi svoje.

Danas ćemo govoriti o dekoderu DTMF signala ili, na jednostavan način, tonskom signalu.
Znatiželjnici znaju čitati
Tehnologija je prilično zastarjela, ali je još uvijek podržavaju svi telefoni.
Zapravo, to je tonsko biranje koje koristite kada zovete neku instituciju, a telefonska sekretarica vam kaže: “ako znate pretplatnički broj, pritisnite “1”, ako želite saznati o našim novim ponudama pritisnite “2” i tako dalje. Pritiskom na tipku sa željenim brojem na telefonu šaljete signal određenog tona preko govornog kanala. Svaki znak na tipkovnici telefona ima svoju "melodiju". Taj zvuk DTMF dekoder dekodira, pretvarajući ga u signale na svojim izlazima.


Ploča je sastavljena na mikrosklop, napaja se od 5 volti i ima sljedeće izlaze: Q1-Q4-diskretni izlazi, StQ/StQ invertirani-izlazi koji se aktiviraju svaki put kada se signal ispravno prepozna. Audio IN ako ne želite koristiti zalemljeni 3,5 mm priključak. GND/VCC napajanje, 5 volti.
Izlazi Q1-Q4 rade prema tablici:

Na primjer, sada imam dvije srednje LED diode na ploči, izlazi Q2 i Q3 su radili, gledamo tablicu - to odgovara pritisnutoj tipki "6". Ako pritisnem tipku "1", tada će raditi izlaz Q1, ako "2", onda Q2. Ako je "3", tada će izlazi Q1 i Q2 "zasvijetliti" u isto vrijeme. itd.
Općenito, ovo je 4-bitni kod. Ako ga dešifrirate posebnim mikrosklopom, možete dobiti 16 izlaza.
Inače, Ali prodaje ploču već s dekoderom, ali košta više. Opcija za napredne je da sve ovo povežem s mikrokontrolerom, ja sam to napravio, čak možete postaviti i lozinku - nazvao sam, birao lozinku, dobio pristup kontroli...
Ali to više nije u okviru mog članka, jer. Na početku članka obećao sam da će sve biti jednostavno.

I tako, uzimamo tranzistor KT815, otpornik od 1,1 kΩ ili tako nešto, relej od 12 V i stabilizator LM7805. Preostali dijelovi (zaštitna dioda 1N4007 na svitku releja, žuti keramički kondenzatori 0,1 mikrofarada i elektrolitički 1000 mikrofarada) su poželjni, ali radi i bez njih. Visokotonac je spojen na relej kao opterećenje.
Neću crtati dijagram, instalacija je zglobna, sve se može vidjeti na fotografiji:


S druge strane:


Ukupno napajanje konstrukcije je 12 V, jer to zahtijeva relej, ali za ploču ga stabilizator smanjuje na 5 V.
Spojimo 3,5 mm priključak na ploči s kabelom na izlaz za slušalice telefona, postavimo automatsko podizanje slušalice i gotovi ste. Sada, ako nazovete telefon spojen na ploču, pričekajte da se slušalica isključi, pritisnite "1", relej će raditi, zujalica će početi pištati. Ako pritisnete "2", sve će se isključiti. Usput, bez obzira što planirate kontrolirati, preporučio bih vam da ostavite zujalicu. Ovo je zgodno, jer se to može čuti na telefonu, a na taj način možete dobiti i neku vrstu povratne informacije: zvali ste, čujete bip, što znači da je opterećenje uključeno :)

Napravio kratak video koji pokazuje kako sve to radi.

Planiram kupiti +128 Dodaj u favorite Svidjela mi se recenzija +72 +169

Radio kontrolirani modeli koriste RF krugove koji imaju ograničen radni raspon, ograničeni frekvencijski raspon i probleme s usklađivanjem s kontrolerima. Korištenje mobilnog telefona za upravljanje modelom izbjegava ove nedostatke. Kod korištenja mobilnog telefona, modelom se može upravljati po cijelom području pokrivenosti operatera i bez problema raditi s vanjskim uređajima.

Dok izgled i mogućnosti modela mogu jako varirati, svi modeli imaju mehanički dio i dio koji model pokreće. Upravljanje modelom uključuje tri faze: primanje naredbi, obradu i izvršenje. U pravilu, naredbe daju vanjski senzori, mikrokontroler je uključen u obradu, a motori se koriste za izvršenje.

Pregled

U ovom stroju za upravljanje se koriste dva mobilna telefona - jedan je u vašim rukama kao daljinski upravljač, drugi je instaliran na modelu kao prijemnik. S vašeg telefona se prima poziv na telefon modela, a kada tijekom poziva pritisnete tipke, s mobilnog telefona se prima višefrekventni signal. Taj se signal naziva višefrekvencijski dvotonski (DTMF).
Koristeći MT8870 DTMF dekoder, DTMF se dekodira u binarni kod, koji obrađuje ATmega16 mikrokontroler, a zatim naređuje pokretaču motora.

Kao što vidite, ovaj model je prilično jednostavan i ne zahtijeva izradu složenih odašiljača.
DTMF signal se koristi za biranje telefonskog broja ili glasovni automatski odgovor.
Signal se sastoji od dva sinusna signala fiksne frekvencije i lako se dekodira u binarni kod i obrnuto. Za kodiranje znaka u DTMF signal potrebno je zbrojiti dva sinusna signala. Na primjer, ako trebate prenijeti broj 5, tada će frekvencija jednog signala biti 1336 Hz, a drugog 770 Hz, a mi ćemo taj signal primiti na drugom telefonu.

Opis kruga

Blok dijagram pokazuje kako uređaj radi. Njegove glavne komponente su DTMF dekoder, mikrokontroler i drajver motora.

MT8870 čip se koristi kao DTMF dekoder. Koristi metode digitalnog prepoznavanja signala i daje signal na 4 pina. Također ne zahtijeva prethodno filtriranje ulaznog signala. Kada se ulazni signal primijeni na PIN2 (B-), dekodirani signal izlazi na pinove Q1 (pin11) do (pin14).

ATmega16 je 8-bitni CMOS mikrokontroler baziran na naprednoj AVR RISC arhitekturi s malom potrošnjom energije. Ima 16KB programabilnu flash memoriju, 512B EEPROM, 1KB SRAM, 32 I/O linije i 32 registra. S pinova mikrokontrolera PD0 - PD3 i PD7 šalje se signal na izlaze IN1 - IN4 i EN1-EN2 upravljačkog programa motora L293d. Prekidač S1 se koristi za ručno resetiranje.

Program

Mikrokontroler je programiran pomoću WIN AVR. Ako ne znate kako to učiniti, pogledajte, tamo je sve detaljno opisano. Izvorna i heksadecimalna datoteka priložene su članku. Ako je instaliran WinAVR, onda ne bi trebalo biti problema s otvaranjem.

Raditi

Kako biste kontrolirali model, morate nazvati model modela s bilo kojeg telefona. Kada se uređaj automatski javi, pritisnite sljedeće tipke:
2 - kretanje naprijed.
4 - skrenite lijevo.
8 - kretanje u suprotnom smjeru.
6 - skrenite desno.
5 - zaustavljanje.

Popis stavki:
DTMF dekoder MT8870 - 1.
Mikrokontroler Atmega16 - 1.
Vozač motora L293d - 1.
OU Cd7004 - 1.
Dioda 1N4007 - 1.
Otpornik 100 kOhm - 2.
Otpornik 10 kOhm - 5.
Otpornik 330 kOhm - 1.
Kondenzator 0,47uF - 1.
Kondenzator 0,1uF - 1.
Kondenzator 22pF - 4.
Kvarc 3,57 MHz - 1.
Kvarc 12 MHz - 1.
Trenutačno dugme - 1.
Motori (6V, 50 o/min) - 2 ili 4 za pogon na sve kotače.
Baterija 6V - 1.
Kotači - 4.
Mobitel - 2.
Zvučnik (hands-free) - 1.

Morate pričvrstiti telefon na kućište. Telefon je povezan s robotom preko hands-free slušalica.

veza bez ruku
Koristio sam handsfree s mini jack konektorom.

Ispod možete preuzeti izvorni kod programa i firmvera

Popis radio elemenata

Oznaka Tip Vjeroispovijest Količina BilješkaDućanMoja bilježnica
IC1 DTMF dekoderMT88701 U bilježnicu
IC2 MK AVR 8-bitni

ATmega16

1 U bilježnicu
IC3 Vozač elektromotoraL293D1 U bilježnicu
IC4 IC-ovi međuspremnika, upravljački programi

SN74LS04

1 U bilježnicu
D1 ispravljačka dioda

1N4007

1 U bilježnicu
C1 Kondenzator0,47uF1 U bilježnicu
C2, C3, C5, C6 Kondenzator22 pF4 U bilježnicu
C4 Kondenzator0,1uF1 U bilježnicu
R1, R2 Otpornik

100 kOhm

2 U bilježnicu
R3 Otpornik

330 kOhm

1 U bilježnicu
R4-R8 Otpornik

10 kOhm

5 U bilježnicu
XTAL1 Kvarcni rezonator3,57 MHz1 U bilježnicu
XTAL2 Kvarcni rezonator12 MHz1

DTMF (dvotonska višefrekvencijska) je ton koji se generira kada se pritisnu tipke telefona.
DTMF se široko koristi u radu telefonskih sekretarica (IVR), za različite interaktivne sustave. Što se tiče VoIP-a, kada se radi s raznim kodecima, DTMF zahtijeva dosta pažnje, tako da se njegov rad mora jasno razumjeti.

Gateway prema zadanim postavkama šalje DTMF u RTP stream ( unutar pojasa), ovo dobro funkcionira kada koristite kodek visoka brzina prijenosa G.711, tj. ako glasovni tok nije komprimiran.
Glavni problem s DTMF-om javlja se kada se koriste kompresijski algoritmi kao što je kodek G.729. Činjenica je da kada se komprimira, kvaliteta glavnog toka primjetno se pogoršava, a iako to gotovo ne utječe na sposobnost pretplatnika da se međusobno razumiju, DTMF ton više nije dovoljno jasan i percipira se pogrešno.

Ovaj problem je riješen sa DTMF relej, u kojem se DTMF signali prenose odvojeno od RTP toka, ili izvan benda.

Pogledajmo nekoliko primjera.


Slika prikazuje dijagram povezivanja telefonije kroz H.323 pristupnik.

Na PSTN sekciji, DTMF se šalje unutar pojasa, tj. ne postoji čak ni koncept DTMF releja, budući da je to analogna linija.

DTMF relej postaje neophodan samo u odjeljku VoIP, gdje je moguće koristiti metode kompresije.
Također možete reći da:
- unutar pojasa DTMF relej će ići unutar RTP toka, tj. na slici duž crvene RTP linije.
- izvan benda DTMF relej ide uz signalizaciju, tj. duž zelenih linija na slici.

Na parcelama telefon-CUCM I CUCM-H.323 Gateway koristi se različita signalizacija, što znači različite DTMF relejne metode. SCCP poruke koje sadrže DTMF u svom kodiranju dolaze sa strane telefona, signalizacija zajedno s DTMF dolazi od H.245 poruka sa strane H.323 pristupnika.
CUCM u našem slučaju djeluje kao DTMF prosljeđivač između različitih vrsta signalizacije.

Lokacija uključena telefon-CUCM samo ćemo moći izvan benda jer SCCP telefon ne podržava unutar pojasa.
Lokacija uključena CUCM-H.323 Gateway Moguće metode su unutar pojasa, i izvan benda. U ovom slučaju, u slučaju SCCP telefona, omogućiti unutar pojasa trebat će koristiti MTP.

Također morate razumjeti da su DTMF postavke za H.323 Trunk postavke za ovaj trank za rad s Dial-peer-om na fizičkom H.323 Gatewayu.

Ovisno o protokolu signalizacije (H.323, SIP, MGCP, SCCP), postoje različite metode za implementaciju DTMF Relaya. U svakom slučaju, Call Manager CUCM u početku pokušava raskopirati metodu koja je zajednička svima. Ako nije pronađena opća metoda, pokušava se koristiti MTP.

H.323 DTMF podrška

Cisco Gateways podržava sljedeće metode DTMF Relaya:

  • Cisco vlasništvo: - unutar pojasa DTMF relej. DTMF se šalje u istom RTP streamu kao i glas, ali su DTMF tonovi kodirani malo drugačije, što im omogućuje da se uspješno razlikuju i primaju s druge strane. DTMF uzorci su identificirani kao RTP nosivost tipa 121. Metoda radi samo ako postoji Cisco oprema s obje strane, i ista metoda
  • H.245 Alfanumerički:-Izvanpojasni DTMF relej. Odvaja DTMF od RTP toka i šalje ih H.245 Poruke s indikacijom korisničkog unosa. Ova metoda ne šalje dužina tona: uvijek se pretpostavlja da je duljina tona 500msec.
    U ovom primjeru kliknuli smo na "5".

    Otklanjanje pogrešaka: otklanjanje pogrešaka h245 asn1

  • H.245 signal:-Izvanpojasni DTMF relej. Ova metoda može poslati duljinu tona ( dužina tona).

    Otklanjanje pogrešaka: otklanjanje pogrešaka h245 asn1

  • NTE:- unutarpojasni DTMF relej. Radi kao Cisco vlasnički, DTMF se šalje na istom RTP streamu kao i glas, koristeći RTP vrsta tereta. Drugi korisni teret ne dopušta komprimiranje DTMF uzoraka. Za razliku od Cisco vlasništvo, NTE koristi standard RFC 2833.

    Otklanjanje pogrešaka: otklanjanje pogrešaka h245 asn1

Sljedeće su naredbe dostupne na Cisco ruteru:

Router(config-dial-peer)#dtmf-relay ? cisco-rtp Cisco Proprietary RTP h245-alfanumerički DTMF relej putem H245 Alfanumerički IE h245-signalni DTMF relej putem H245 signala IE rtp-nte RTP Imenovani telefonski događaj RFC 2833 usmjerivač (config-dial-peer)#

Najbolja vježba:
Na dialpireu je najbolje izdavati naredbe poput ove:

Dial-peer voice 3000 voip opis Dugi pozivi odredišni uzorak ... cilj sesije ipv4:192.168.0.11 dtmf-relej h245-signal h245-alfanumerički cisco-rtp rtp-nte kodek g711ulaw no vad

U tom slučaju, obje strane mogu međusobno pregovarati o odgovarajućoj metodi dtmf-relaya.

Za određivanje odabrane metode DTMF releja:
prikaži aktivni glas poziva

Router#show call active voice ........... PeerAddress=5001 ........... tx_DtmfRelay=rtp-nte

Stoga CUCM automatski provjerava koja je DTMF metoda prikladna za obje strane.
Što se tiče pristupnika H.323 u CUCM-u, nema DTMF postavki. CUCM prihvaća postavku druge strane.

MGCP DTMF podrška

Sljedeće metode DTMF Relay dostupne su za MGCP:

  • Cisco vlasništvo: DTMF se šalje u istom RTP streamu kao i glas, ali su DTMF tonovi kodirani malo drugačije, što im omogućuje da se uspješno razlikuju i primaju s druge strane. DTMF uzorci su identificirani kao RTP nosivost tipa 121. Metoda funkcionira samo ako obje strane imaju Cisco opremu i ako je odabrana slična metoda (ništa se ne pregovara).
  • NSE: NSE je u biti Cisco Proprietary NTE. Metoda funkcionira samo ako obje strane imaju Cisco opremu i ako je odabrana slična metoda (ništa se ne pregovara).
  • NTE: zauzvrat, može raditi u dva načina:
    - Način rada kontroliran pristupnikom (NTE GW): Pristupnici sami međusobno pregovaraju o DTMF-u razmjenom informacija o mogućnostima u SDP porukama. Ovaj proces je transparentan za agenta poziva. U isto vrijeme, oba pristupnika imaju pokrenut MGCP i oba su povezana na isti CUCM.
    - Način rada pod kontrolom agenta (NTE CA): U pregovaranju se koristi Call Agent, t.j. djeluje u ime MGCP pristupnika (SDP poruke se šalju agentu). Ovaj način rada može se koristiti kada drugi pristupnik nije MGCP-Gateway. Nakon pregovaranja, agent poziva daje upute pristupniku o RTP-NTE vrijednostima primljenim s druge strane.
  • izvan benda: Tonovi se šalju u CUCM pomoću MGCP poruka, tj. izvan RTP toka (izvan pojasa). CUCM zauzvrat prima DTMF i prenosi ga drugoj strani.

MGCP koristi DTMF relej samo za kodeke niske brzine (G729, iLBC, GSM, itd.). Za kodeke brzine prijenosa bit će poslan G711 DTMF unutar pojasa.

U slučaju MGCP-a, možemo odabrati hoće li DTMF postavke diktirati Call Agent (CUCM) ili će se koristiti one postavljene na Gatewayu.
Idemo na CUCM: Uređaj > Pristupnik, odaberite odgovarajući MGCP pristupnik.
Zanima nas rubrika Vrsta DTMF releja.

Prilikom odabira Trenutna GW konfiguracija, koristit će se postavka na pristupniku.
Na IOS Gatewayu možemo postaviti DTMF sljedećom naredbom:

Router(config)#mgcp dtmf-relay voip kodek sav način rada ? cisco Postavite mgcp dtmf-relay način da bude cisco onemogućen Postavite mgcp dtmf-relejni način da bude onemogućen nse Postavite mgcp dtmf-relejni način da bude nse nte-ca Postavite mgcp dtmf-relejni način da bude nte-ca nte-gw Postavite mgcp dtm -relejni način rada da bude nte-gw izvan pojasa Postavite mgcp dtmf-relejni način da bude izvan pojasa

Ako izložimo drugi izbor na CUCM-u, na primjer cisco, odgovarajuću gornju naredbu će unijeti automat (MGCP mehanizmi).

Primijećen je bug s MGCP:

CSCta69407 Pojedinosti o grešci(Kada se koristi bilo koju vrstu unutarpojasne DTMF signalizacije (RTP-NTE, NSE ili Cisco Proprietary) DSP-ovi ne isključuju OOB dtmf signalizaciju pomoću mgcp paketa. Stoga će se duple znamenke na završnom GW-u vidjeti kao one koje dolaze iz rtp i drugi koji dolaze iz CUCM-a)

raditi okolo: Upotrijebite tip mgcp dtmf-releja izvan pojasa.

SIP DTMF podrška

SIP standardno šalje DTMF unutar pojasa, ali možemo koristiti sljedeće opcije:

  • RTP-NTE (NTE ili RFC 2833) - unutar pojasa DTMF relej. Koji koristi RTP glasovne pakete Događaja imenovane telefonije (NTE) za prijenos DTMF informacija. U ovom slučaju, SDP se koristi za pregovore između čvorova vrijednosti payload type=NTE. Iako formalno ovo unutar pojasa, ali u stvarnosti se ton u audio streamu neće čuti, budući da NTE paketi nisu glasovni
    RTP-NTE ne radi sa SCCP telefonima jer SCCP telefoni koriste samo izvanpojasni DTMF relej. Iz tog razloga, MTP se mora koristiti zajedno s RTP-NTE.
  • SIP INFO - izvan benda(OOB) DTMF relej. DTMF informacije se šalju u SIP INFO porukama. Oni. ako pristupnik primi INFO poruku, emitira odgovarajući ton.
  • SIP OBAVIJESTI - izvan benda(OOB) DTMF relej. ili se još zove Izvanpojasni DTMF relej baziran na NOTIFY. Ova vrsta DTMF releja koristi NOTIFY za prijenos tonova. Ova metoda je kompatibilna sa SCCP telefonima, a može se koristiti i s analognim telefonima spojenim na FXS portove na pristupniku.
  • KPML - izvan benda(OOB) DTMF relej. Kada koristite jezik za označavanje pritiskom na tipku, SIP telefon šalje broj znamenku po znamenku. Ova metoda je slična SIP OBAVIJESTI, s jedinom razlikom što daje svaku znamenku zasebno.
router(config-dial-peer)#session protocol sipv2 router(config-dial-peer)#dtmf-relay ? cisco-rtp Cisco Proprietary RTP h245-alfanumerički DTMF relej putem H245 Alfanumerički IE h245-signalni DTMF relej preko H245 signala IE rtp-nte RTP Imenovani telefonski događaj RFC 2833 sip-kpml DTMF DTMF relej/sip-kpml DTMF DTMF relej preko SIP-BBCNO Relay preko H245 signala putem SIP NOTIFY usmjerivača poruka(config-dial-peer)#

Ovdje vidimo nekoliko dostupnih metoda, samo sa
- RTP-NTE (NTE ili RFC 2833);
- SIP OBAVIJESTI;
- SIP-KPML.