Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
La mia tesina di maturità verte sul Voice over IP. La tecnologia VoIP (Voice over IP) è sempre più diffusa nella società della comunicazione, utilizzata tramite il tradizionale computer o attraverso sempre più sofisticatri dispositivi mobili. In Telecomunicazioni e Informatica, con Voice over IP si intende una tecnologia che rende possibile effettuare una conversazione telefonica sfruttando una connessione Internet o una qualsiasi altra rete dedicata (a commutazione di pacchetto) che utilizzi il protocollo IP per il trasporto dei dati. Più specificamente con VoIP si intende l'insieme dei protocolli di comunicazione di strato applicativo che rendono possibile tale tipo di comunicazione. Grazie a numerosi provider VoIP è possibile effettuare telefonate anche verso la rete telefonica tradizionale (PSTN).
In generale il VoIP consente una comunicazione audio-video real-time o multicast, su rete a pacchetto (es. videotelefonata, videochiamata e videoconferenza). I primi sistemi di voce su IP permettevano solo la comunicazione tra due computer collegati in rete che usavano lo stesso software.
Elettronica - Linea analogica (Filtro passa-basso, catena di acquisizione).
Sistemi - Modello Client/Server, Protocollo SIP.
Informatica - Linguaggio Javascript.
Area di Progetto - Matteo Lo Duca Voice over IP (VoIP)
A.S. ‘12/’13
VInf./a
3 Specifiche tecniche
3.1 Messaggi di richiesta e risposta
Per effettuare una chiamata e avere il controllo della stessa si utilizza una
comunicazione tra User Agent Client e User Agent Server, tramite i messaggi
definiti dal protocollo SIP, essi sono in formato testo e molto simili a quelli usati dal
protocollo HTTP per lo scambio di pagine web. I messaggi sono di richiesta e risposta.
Gli User Agent Client inviano messaggi di richiesta, e vengono instradati fino a
raggiungere gli User Agent Server di destinazione i quali spediranno le risposte ai
client in chiamata. Ciascun server ha all'interno un «Registrar» che è un particolare
server utile a registrare gli utenti VoIP.
I messaggi di richiesta SIP Sono:
INVITE: invita uno o più utenti a partecipare ad una sessione e negoziazione dei
parametri di chiamata.
conferma che l’UAC ha ricevuto una risposta finale ad una richiesta.
ACK:
BYE: indica l'abbandono della sessione da parte di un utente.
CANCEL: annulla una richiesta . 6
Area di Progetto - Matteo Lo Duca Voice over IP (VoIP)
A.S. ‘12/’13
VInf./a
OPTIONS: Richiede informazioni sullo stato di un server, sui tipi di flussi di dati
che può accettare e generare, sui metodi supportati.
REGISTER: Registra l'indirizzo di uno User Agent all'interno di un server..
Le risposte, analogamente a HTTP, sono rappresentate da un codice di stato di tre cifre di
cui la prima identifica la tipologia di risposta:
(1XX) Provisional: la richiesta è stata ricevuta, ma il server la sta ancora
processando.
(2XX) Success: la richiesta ha avuto successo.
(3XX) Redirection: la richiesta deve essere smistata ad un nuovo indirizzo.
(4XX) Request Failure: la richiesta non è andata a buon fine.
(5XX) Server Failure: il server non riesce a processare la richiesta.
(6XX) Global Failure: nessun server può elaborare la richiesta.
3.2 Specifica dei dati Call
$.phono Id
apiKey State
sessionId < extend >
audio ring
answer
incomingCall hangup
error error
connect() answer()
disconnect() hangup()
connected() digit(string)
dial(destination, pushToTalk(boolean)
config) talking(boolean)
tones(boolean) mute(boolean)
headset(boolean) hold(boolean)
wideband(boolean) volume(int)
ringTone(string) gain(int)
ringbackTone(string)
La libreria Phono offre una classe principale contenente le funzioni principali per stabilire o
terminare una connessione con un altro interlocutore, oppure ricevere informazioni su una
chiamata ricevente, e garantire segnalazioni di eventuali errori sulla chiamata. A questa si
estente la classe “Call”, che a differenza della preccedente gestisce la chiamata: se un
interlocutore è libero o occupato, la regolazione del volume di entrata e di uscita, la
possibilità di attivare la modalità Push To Talk.
7
Area di Progetto - Matteo Lo Duca Voice over IP (VoIP)
A.S. ‘12/’13
VInf./a
3.3 Struttura dei programmi applicativi
Il sistema è stato configurato con le librerie offerte da “phono.com”: “l'SDK Phono fornisce
un object-oriented API JavaScript per incorporare l'audio bidirezionale e chat su qualsiasi
pagina web. L'SDK Phono è una pura soluzione per lavorare semplicemente dal lato client
e non richiede neccessariamente logica o esperienza lato server da parte del
programmatore, perchè tutta la comunicazione viene gestita in modo trasparente dal cloud
di VoxeoLabs”.
stato quindi solamente neccessario includere la libreria in Javascript e implementare
È
le varie funzioni per avere un prodotto funzionante e compatibile con gli ultimi
browser in circolazione:
Per effettuare la chiamata è stata utilizzata la funzione “dial (destination, config)”,
“$.phono”
che applicata al nostro oggetto acquista la forma di un cellulare virtuale.
Stabilisce un input per avere la connessione a un numero di telefono (se il server né
il protoccolo “sip:” prima dell’indirizzo
dà la possibilità), oppure aggiungendo
fornito dal server si può efetturare una chiamata a un device connesso sulla linea
internet.
l’evento di controllo “incomingCall”
Per ricevere la chiamata è stato utilizzato
appartenente alla funzione “Events()”, l’utilizzo è un semplice confronto tra lo stato
di chiamata attuale del nostro cellulare virtuale e gli eventi in arrivo a esso, per
esempio, se si stà ricevendo una chiamata sul nostro client, l’evento di controllo
risulterà positivo.
Per avere informazioni sullo stato della chiamata (es. Occupato, Libero, Non
disponibile), sono state utilizzate glie eventi forniti sempre dalla funzione
denominate dial, la stessa utilizzata per effettuare una chiamata.
3.4 Strumenti Utilizzati
Microsoft Share Point Designer 2007 offre, in un ambiente IT gestito, strumenti avanzati
necessari per realizzare siti di web interessanti e accattivanti e per compilare rapidamente
8
Area di Progetto - Matteo Lo Duca Voice over IP (VoIP)
A.S. ‘12/’13
VInf./a
applicazioni che supportano il flusso di lavoro. È stato utilizzato come editor di codice
HTML e javascript.
FileZilla Client e Hosting Linux FileZilla è una soluzione gratuita per la gestione e il
l’hosting
trasferimento dei file in FTP, invece, Linux permette di registrare un dominio con
estensione a scelta fra quelle disponibili e di disporre di uno spazio su disco illimitato per
pubblicare le proprie pagine ed i propri files. Basandosi sulla piattaforma Linux il servizio
supporta in modo nativo i linguaggi Perl e PHP. È stato utilizzato per la simulazione di uno
dei due client. 9
Area di Progetto - Matteo Lo Duca Voice over IP (VoIP)
A.S. ‘12/’13
VInf./a
4 Conclusione l’unico
Il progetto è completo e funzionante, problema riscontrato è nella
comununicazione tra i due client quando resiede sullo stesso hosting, però è possibile
trovare una soluzione utilizzando il client fornito come esempio sul sito phono.com, per
la simulazione del chiamate o del ricevente. Sono stati riscontrati pure dei fattori positivi
e dei fattori negativi, sull’utilizzo delle chiamate Voip, per esempio un prodotto che
fornisce una chiamata tramite internet ha dei vantaggi:
dei costi: Consente un abbattimento dei costi notevole, sia per
- L’abbattimento
chiamate nazionali che internazionali o intercontinentali.
- Agevolazioni in campi lavorativi: il VoIP può essere utilizzato sia all'interno
di una stessa azienda, sia per telefonate più complesse, come teleconferenze in
multi-point. Inoltre si può utilizzare una sola rete integrata per voce e dati, che
garantisce una riduzione dei bisogni totali di infrastruttura e, in ambito
aziendale uno scambio agevolato delle informazioni.
Ma allo stesso tempo porta dei svantaggi:
- Qualità non perfetta: utilizzando la stessa linea per trasmettere sia voce
(telefonate) che dati (download e upload di file e pagine internet), la qualità
della voce durante una telefonata potrebbe calare e, in caso di black-out
elettrico non sarebbe possibile effettuare telefonate.
- Numerazioni speciali non raggiungibili: Un ulteriore svantaggio è dato dalla
impossibilità di alcuni operatori di chiamare i numeri di emergenza (es.: 112,
113, 115, 118 etc.) e alcuni numeri speciali (es.: 144, 166, 187, 192, 193, 199,
848, 878, 899 etc.). 10
Area di Progetto - Matteo Lo Duca Voice over IP (VoIP)
A.S. ‘12/’13
VInf./a
5 Bibliografia e sitografia
Libri
Sistemi: elaborazione e trasmissione delle informazioni
Per Periti Informatici
3 Reti e protocolli
di Fabrizia Scorzoni
Siti internet
http://it.wikipedia.org/wiki/Voice_over_IP (Paragrafo 1).
http://phono.com/docs (Paragrafo 3.3).
http://voip.html.it/articolo06.aspx (Paragrafo 2.2.1 e 3.1.1).
http://www.dii.unisi.it/.../ClientServer.pdf (Paragrafo 2.2).
http://www.aruba.it/ (Paragrafo 2).
http://voxeolabs.com/ (Paragrafo 2).
http://www.mondovoip.com/vantaggi.htm (Paragrafo 4).
http://www.mondovoip.com/svantaggi.htm (Paragrafo 4).
11
Area di Progetto - Matteo Lo Duca Voice over IP (VoIP)
A.S. ‘12/’13
VInf./a –
Appendice Codice pagine web
Codice della pagina web per effettuare una chiamata (phono2.html):
<html>
<head>
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script src="http://s.phono.com/releases/0.6/jquery.phono.js"></script>
<style type="text/css">
.style1 { background-image: url('4777-samsung-s3570-chat-silver-tim-italia_0.jpg');
}
.style2 { margin-top: 0px;
}
.style3 { text-align: left;
}
</style>
</head>
<body>
<table style="width: 800px; height: 826px" class="style1">
<tr> <td style="width: 668px"
valign="top" class="style3">
<form method="post">
<input name="#numero" type="text" style="width: 253px; height: 123px"><br>
<input id="call" type="button" disabled="true" value="Loading..." class="style2" /></form>
</td>
</tr>
</table>
<span id="status"></span><script> 12
Area di Progetto - Matteo Lo Duca Voice over IP (VoIP)
A.S. ‘12/’13
VInf./a $(document).ready(function(){
var phono = $.phono({
apiKey: "",
onReady: function() {
$("#call").attr("disabled", false).val("Chiama!");
}
});
$("#call").click(function() {
$("#call").attr("disabled", true).val("Busy");
phono.phone.dial("#numero", {
onRing: function() {
$("#status").html("Ringing");
},
onAnswer: function() {
$("#status").html("Answered");
},
onHangup: function() {
$("#call").attr("disabled", false).val("Call");
$("#status").html("Hangup");
}
});
});
})
</script>
</body>
</html> 13
Area di Progetto - Matteo Lo Duca Voice over IP (VoIP)
A.S. ‘12/’13
VInf./a 14
Area di Progetto - Matteo Lo Duca Voice over IP (VoIP)
A.S. ‘12/’13
VInf./a
Codice della pagina web per la ricezione di una chiamata (phono.html):
<html>
<head>
<script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
<script src="http://s.phono.com/releases/0.6/jquery.phono.js"></script>
</head>
<body>
<input id="call" type="button" disabled="true" value="Loading..." />
<span id="status"></span>
<script>
$.phono({
onReady: function() {
alert("My address is sip:" + this.sessionId);
},
phone: {
onIncomingCall: function(event) {
var call = event.call;
alert("Incoming call");
}
}
});
</script>
</body>
</html> 15
Voice over IP (VoIP)
La voce attraverso la rete Internet
di Matteo Lo Duca
5^ Inf A.S. 2012 - 2013
Il primo telefono
• Le prime implementazioni del telefono
erano basate sul trasporto del suono
attraverso l'aria, piuttosto che tramite
segnali elettrici generati dalla voce. Telettrofono, invenzione del telefono elettrico
• L'invenzione del telefono elettrico è
attribuita al fiorentino Antonio
Meucci che nel 1871 dimostrò il
funzionamento del suo apparecchio
che chiamò "telettrofono".
Antonio Meucci Linea analogica
• La linea telefonica analogica utilizza le
frequenze comprese tra 300 Hz e 3.4 kHz. Filtro passa-basso passivo
• I segnali analogici vengono trasportati sulle
reti primarie come flusso di dati digitali
dopo un campionamento.
• Frequenza di campionamento a 8 kHz
(8,000 campioni numerici al secondo)
Filtro passa-basso attivo
Voice over IP
• Voice over IP (Voce tramite protocollo Internet), si intende una tecnologia che rende possibile effettuare una
conversazione telefonica sfruttando una connessione Internet o una qualsiasi altra rete dedicata a
commutazione di pacchetto che utilizzi il protocollo IP.
Abstract
It describes the IT system for the simulation of a call via
the Internet, treating in particular the system
architecture and its functionalities. It describes in a
more detailed way the Sip protocol operations, the
Phono SDK (libraries) and the Client/Server Model.
Modello Client/Server
Il client si occupa di:
– Abilitare l’utente a spedire una richiesta di
informazione al server.
– Formatta la richiesta in modo che il server possa
capirla.
– Formatta la risposta del server in modo che l’utente
possa leggerla.
Il server si occupa di :
– Riceve una richiesta da un client e processa la
richiesta.
– Risponde, spedendo l’informazione richiesta, al
client. Protocollo SIP
Affinché l'interazione tra client e server possa essere effettuata, è necessario che entrambi
utilizzino un linguaggio comune, ovvero un protocollo applicativo.
• In telecomunicazioni il protocollo SIP
(Session Initiation Protocol) è un
protocollo di rete basato su IP.