Compilatore CPL per reti
SIP con tecnologie JAVA
avanzate
Relatori:
Ing. Maurizio Morisio
Ing. Paolo Falcarin
Dott.ssa Patricia Lago
Candidato:
Marco De Nittis
Scenario - NGN
NGN – Next Generation Network:
 Reti di Telecomunicazione
 Astrazione delle interfacce
• Convergenza (PSTN – IP)
 Servizi
• Interoperabilità e riusabilità
Services
Applications
Common API
PSTN
2
IP
GSM
Settembre 2003
Protocollo SIP
SIP – Session Initiation Protocol
Gateway
PSTN-VoIP
Proxy Server
SIP
Rete IP
Proxy
Server
PSTN
Rete IP
sip:[email protected]
Terminali SIP - VoIP
3
Settembre 2003
Personalizzazione profili
Esempio: redirezione condizionale
•Profili cablati
•Complicato modificare
Profile
Server
INVITE
sip:[email protected]
Proxy
[email protected]
Setup
Chiamata
Voice mailbox
4
Settembre 2003
Linguaggio CPL
CPL – Call Processing Language (IETF)
 Struttura semplice basata su XML
 Comportamento all’arrivo di una chiamata
<cpl>
<incoming>
<time-switch>
<time dtstart="20030703T180000" duration="PT8H" freq="daily">
<location url="sip:[email protected]" clear="yes" />
</time>
</time-switch>
</incoming>
</cpl>
5
Settembre 2003
Obiettivo
Creazione di un’architettura software
con le seguenti caratteristiche:





6
Gestione profili utente di telefonia IP
Supporto reti SIP (Session Initiation Protocol)
Velocità di setup chiamate
Semplicità di personalizzazione profili
Funzionalità Java avanzate
Settembre 2003
Soluzioni realizzate
Obiettivo: migliori prestazioni
 Profili come classi Java
• Creazione classi runtime
• Compilatore CPL – Java
• Dynamic Classloading
 Cache
• Riduzione delle chiamate remote
7
Settembre 2003
Architettura
Attivazione profili
Cache
Profile
Manager
JAIN SIP
Proxy
Gestione dei profili
Memorizzazione
Profili
Repository
Tomcat
Profile
Server
Manager
Gestione
delle chiamate
Rete IP
8
Settembre 2003
Scenario – Chiamata
3. Controllo Cache
4. Richiesta Profilo
2. Richiesta
Profilo
Profile
Manager
JAIN SIP
Proxy
5. Profilo
Repository
6. Restituzione
Profilo
7. Inoltro chiamata SIP
1. Chiamata SIP
Rete IP
8. Comunicazione VoIP
9
Settembre 2003
Scenario – Inserimento profili
Profile
Manager
4. Notifica
(RMI)
Tomcat
2. Compilazione
profilo
Profile
Server
Manager
JAIN SIP
Proxy
1. Profilo CPL
(HTTP)
3. Memorizzazione
Repository
Utente
10
Settembre 2003
Gestione dei profili
 Creazione profili
• Una classe Java per ogni profilo
• Compilatore CPL verso Java
• Memorizzazione del bytecode
 Uso dei profili
• Classloader personalizzato
• Creazione oggetti profilo
tramite reflection
• L’implementazione può cambiare
runtime
• Meccanismo di cache
Script CPL
Compilatore
CPL
Classe Java
(bytecode)
Dynamic
Classloading
Oggetto
Profilo
 Operazioni indipendenti
11
Settembre 2003
Strumenti utilizzati
 SIP Proxy
• Implementazione NIST (National Institute
of Standard and Technologies)
 JAIN SIP (Java API for Integrated Network)
• Specifica JCP v1.1 – estensione Java
• Implementazione NIST v1.2
 Web server (Apache Tomcat)
• Java Server Pages
12
Settembre 2003
Risultati ottenuti
Rapidità di chiamata:
 Ordine dei decimi di secondo
 Paragonabile al proxy originale
T (s)
0.8
0.6
Proxy SIP non modificato
0.4
Proxy con ProfileManager
0.2
Prima
Chiamata
13
Chiamate
Successive
Settembre 2003
Confronti
Prestazioni migliori rispetto ad altre
soluzioni:
 Interpretazione CPL
 Chiamate a profile server remoto
Soluzione con server remoto
Proxy
14
RPC
Profile
Server
Soluzione con ProfileManager
Proxy
Profili
Profile
Server
Manager
Settembre 2003
Sviluppi futuri
Miglioramenti:
 Aspect-Oriented Programming
• Indipendenza dal proxy utilizzato
 Estensione ad altri linguaggi (SCML)
 Protocollo di aggiornamento dei profili
Altre applicazioni:
 Generica architettura per la gestione dei
profili
15
Settembre 2003