Facoltà di Ingegneria Supporto di ENUM, NAT e Audioconferenze per architettura SIP-Sapientel, e...
-
Upload
leonardo-colli -
Category
Documents
-
view
217 -
download
2
Transcript of Facoltà di Ingegneria Supporto di ENUM, NAT e Audioconferenze per architettura SIP-Sapientel, e...
Facoltà di Ingegneria
Supporto di ENUM, NAT e Audioconferenze per architetturaSIP-Sapientel, e creazione del Wiki per utenti
e sviluppatori
27 Marzo 2007
RelatoreProf. Alessandro Falaschi
LaureandoGaetano Sorrentino
1/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
VOIP – Voice Over Internet ProtocolInstradamento delle chiamate vocali su Internet
Commutazione a pacchetto, mentre nel PSTN (Public Switched Telephone Network) commutazione di circuito
Vantaggi :
• Possibilità di integrazione e convergenza con altri servizi come Instant Messaging, posta elettronica e posta vocale, trasmissione dati.• Flessibilità: i dati (vocali, testuali, video) possono essere rielaborati a livello locale • Dati in formato digitale: possibilità di compressione, criptazione, maggiore robustezza • Costi competitivi rispetto a PSTN
Svantaggi :
• Problemi di QoS (Quality Of Service)• Impossibilità di effettuare chiamate d’emergenza
2/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SIP – Session Initiation ProtocolIl VoIP richiede due protocolli di comunicazione paralleli :
1. Trasporto dei dati (RTP)2. Segnalazione della conversazione
Per la segnalazione esistono protocolli proprietari (IAX, Skype, SCCP) e standardizzati (SIP, H.323, XMPP)
SIP H.323
- Sviluppato da IETF- Relativamente semplice (~250 pagine di specifica)- Architettura modulare, flessibile - E’ facilmente estensibile in modo da supportare nuovi servizi- URI della forma sip:[email protected]
- Sviluppato da ITU-T- Standard ad ombrello- Monolitico,rigido (pila di protocolli e codec predefinita)- Complesso (~1500 pagine di specifica)- Supporto audio,video,dati (T.120)- Supporto conferenze- Ottima integrazione con PSTN- URI della forma h323:[email protected]
Vengono preferiti protocollistandardizzati.
In Sapientel si è scelto di affidarsi al protocollo SIP
Breve confronto SIP-H323
3/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SAPIENTEL – Cosa è
• Server VoIP in ambito accademico
• Progetto iniziato 2 anni fa
Scopi : - Comunicazione tra studenti, Docenti, ricercatori ecc. - Mobilità - Raggiungibilità
Architettura
4/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SAPIENTEL – Componenti
• SIP Server usando SER (SIP Express Router)
• Media Server per audioconferenze usando SEMS (SIP Express Media Server)
• Registrazione account su database usando MySql
• Interfaccia grafica tramite SERWEB
• Problema del NAT, risolto con Mediaproxy
• Videoconferenze (sperimentale) con OpenMCU
• Raggiungibilità al proprio numero di telefono fisso tramite ENUM
5/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SAPIENTEL – Novità
Differenze tra la precedente versione di Sapientel e l’attuale
SapientelIeri
SapientelOggi
- SIP server usando OpenSER - SIP server usando SER
- Database MySql - Database MySql
- Interfaccia web: SERweb adattato a Openser
- Interfaccia web: SERweb personalizzato e localizzato
- Nessun media server - Audioconferenze tramite SEMS
- Videoconferenze tramite OpenMCU
- Nessun supporto ENUM - Supporto ENUM
- Nessun supporto NAT - Supporto NAT tramite
Mediaproxy
- Restrizione degli accessi tramite email
- Restrizione degli accessi tramite
gettone di autorizzazione
6/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SER (Sip Express Router) – Cosa è
Server SIP con funzioni di :- SIP registrar, proxy, redirect server- Instant Messaging- Voicemail- Gestione domini multipli- Gestione presenze
• Costituito da un core principale per la segnalazione e il processamento dei messaggi SIP e una serie di moduli per le funzioni aggiuntive
• Cuore di SER, è il file di configurazione ser.cfg
7/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SER – Accessibilità
Limitazione di accesso alle risorse ai soli utenti registrati su database (possibilità di riavviare il server senza perdere le informazioni degli utenti)
• Soluzione scelta : database MySql
• SER offre il supporto a MySql fornendo i tools:
- Creazione del database (ser_mysql.sh)
- Popolazione del database (serctl)
• Implementazione agendo sul file ser.cfg
fifo_db_url="mysql://utente:password@localhost/ser“loadmodule "/usr/local/lib/ser/modules/mysql.so"loadmodule "/usr/local/lib/ser/modules/auth.so" #-----------------------------------# Sezione REGISTER Message Handler#-----------------------------------if (!www_authorize("","subscriber")){ www_challenge("","0"); break; };if (!check_to()){ sl_send_reply("401","Unauthorized"); break; };consume_credentials();
8/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SER – ENUM
Necessità di convergenza tra linee PSTN e VoIP
• A partire da un numero telefonico, ENUM consente :
- Traduzione PSTN -> URI- Raggiungibilità dal proprio numero fisso- Mobilità- Chiamate SIP e H.323- Inviare fax- Inviare email
Semplice scenario VOIP
9/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SER – ENUMAlgoritmo per la traduzione di URI
Numero da chiamare : +39 06 44585482
Vengono eliminati i caratteri non numerici e si ottiene:390644585482
Si inverte il numero:284585446093
Viente inserito un punto tra ogni cifra:2.8.4.5.8.5.4.4.6.0.9.3
Si aggiunge il suffisso “.e164.arpa”, ossia il dominio ENUM:2.8.4.5.8.5.4.4.6.0.9.3.e164.org
Il risultato è compatibile con la tecnologia DNS e viene trattato come:ZONA DNS
Il server DNS che gestisce questa zona conterrà un record NAPTR per risolvere la query:$ORIGIN 2.8.4.5.8.5.4.4.6.0.9.3.e164.orgIN NAPTR 10 100 “u” “E2U+sip” “!^.*$!sip:[email protected]!”
URI SIP finale da chiamare:sip:[email protected]
10/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SER – ENUM (RFC 3761)
Le URI vengono associate ai nomi DNS (corrispondenti ai numeri E.164)mediante i record NAPTR (Naming Authority Pointer)
• Abilitazione in Sapientel all’ inbound ENUM, agendo sul file di configurazione di SER, aderendo al servizio offerto da e164.org
loadmodule "/usr/local/lib/ser/modules/enum.so“
#---------------------------
# Sezione di Instradamento
#---------------------------
if(uri=~"sip:\+[0-9]+@"){ if(!enum_query("e164.org.")) {enum_query("e164.arpa."); };};
$ORIGIN 2.8.4.5.8.5.4.4.6.0.9.3.e164.orgIN NAPTR 10 100 “u” “E2U+sip” “!^.*$!sip:[email protected]!”
Esempio di record NAPTR :
Numero Telefonico(E.164) Nome
DNS
URI
URI
NAPTR ….
ENUMENUM
11/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SER – Attraversamento NAT (Network Address Translation)
• Problema per chi si trova dietro router
• Difficoltà nelle applicazioni end-to-end point
• Causa : il pc in rete lan accede ad internet con l’IP pubblico del NAT/Router
Possibili soluzioni :
• STUN Server (Simple Traversal of UDP through NATs) RFC 3489
• IP forwarding configurando il router
• Triangolazione Mediaproxy
12/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SER – NAT Traversal : Mediaproxy
Strumenti offerti da SER per risolvere il problema NAT:
• RTPProxy : - scritto in C - non permette di distribuire il carico - non fornisce strumenti di monitoraggio
• Mediaproxy : - scritto in Python - permette l’uso di DNS srv records, per distribuire il carico - dotato di interfaccia grafica per monitorare il traffico
SOLUZIONESOLUZIONESCELTASCELTA
13/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SER – NAT Traversal : Mediaproxy
Mediaproxy in azione :
• Parte software a sè stante
• Modulo da caricare in SER
• Socket di comunicazione con SER
• Comunicazione RTP transita per il mediaproxy
Implementazione modificando il file di configurazione di SER
Client SIP Client SIP
Proxy SIP
Mediaproxy
RTP
RTP
RTPRTP
SIPSIP
SIPSIP
NATNAT(87.10.123.456)(87.10.123.456)
NATNAT(82.18.123.456)(82.18.123.456)
(192.168.1.3)(192.168.1.3) (192.168.2.6)(192.168.2.6)
socket
14/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SEMS (Sip Express Media Server) – Cosa è
• Media (Application) Server
• Struttura modulare, scalabile grazie ai plug-ins
• Poggia sullo stack SIP di SER - comunicazione tramite socket
• Strutturato con 2 strati :
- control layer : per la segnalazione
- media layer : gestione dell’ RTP
15/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SEMS – Applicazioni
• Applicazioni fornite di default con SEMS (non attivate in Sapientel) :
- Voicemail- Mailbox- Ann_b2b- Conf_auth
• Applicazioni attivate in Sapientel :
- Echo : digitando echo (o il numero 110) dal proprio UA- Test : digitando test (o il numero 111) dal proprio UA- Conference : digitando conf (o il numero 112) dal proprio UA
Benvenuto in Sapientel, questo è un semplice annuncio che indica il corretto funzionamento…
16/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SEMS – Video conferenze?
• Prevista l’implementazione nelle prossime versioni di SEMS
Alternativa
OpenMCU (basato su H.323)
• Necessita di un gateway SIP – H.323
• Soluzione trovata : Yate (Yet Another Telephony Engine)
- Offre un proprio stack SIP- Fornisce un gateway SIP – H.323 (flusso video abilitato da un lavoro di tesi appena concluso)
• Integrazione del gateway nelle prossime versioni di Sapientel
17/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SERWEB – Cosa è
Interfaccia grafica per la registrazione degli account
Distribuito dagli stessi sviluppatori di SER-SEMS (Iptel.org)
• Limitazione degli accessi tramite un token
• Personalizzazione
• Localizzazione
18/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SERWEB – Condizionamento per la fruizione dei servizi
• Perché? Per non essere troppo permissivi e consentire l’accesso a chiunque
• Soluzione precedente : controllo tramite email
• Soluzione attualeSoluzione attuale :
- Diffondibile tramite email, telefono, chat ecc.
- Implentazione modificando il codice HTML/php di SERWEB
- Registrazione per i solo possessori di email @uniroma1.it
- Troppo restrittiva, non si accettano soggetti esterni
registrazione previa conoscenza di un gettone di autorizzazione (token)
19/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SERWEB – Personalizzazione & Localizzazione
• Distribuito originariamente in Inglese, Tedesco, Ceco
• Localizzazione italiana dell’interfaccia e delle email inviate :
- modifiche ai file mail_register.txt, mail_forgot_pass_conf.txt, mail_forgot_pass_pass.txt
- creazione del file italiano-utf-8.php
• Personalizzazione con un footer comune a tutte le pagine :
-Modifica del codice html nel file /tamplate/_tail.tpl
20/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
SERWEB – Personalizzazione & Localizzazione
Risultato finale
21/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
• Pubblicazione di Sapientel
• Interazione tra utenti
• Aggiornabile da chiunque
• Istruzioni d’uso e documentazione
• Sezioni dedicate agli utenti e team di sviluppo
Il Wiki
Basato su www.pmwiki.org
22/22
Gaetano Sorrentino
Supporto di Enum, NAT e audioconferenze per architettura SIP-Sapientel e creazione del wiki per utenti e sviluppatori
Tesi di Laurea in Ingegneria Elettronica
• Proseguimento del progetto Sapientel iniziato dai colleghi A.Calvo e continuato da A.Fiaschi.
• Approfondimento degli aspetti teorici di alcuni componenti, inserimento di nuovi e al contempo renderli funzionanti per garantire al meglio a Sapientel, il funzionamento per cui è stato ideato.
• Avere un server VoIP funzionante per la Facoltà di Ingegneria.
• Diffusione del progetto per ulteriori sviluppi tramite il wiki.
CONCLUSIONI