• Non ci sono risultati.

PROCEDURE IMS IN UNO SCENARIO SEMPLIFICATO COSTITUITO DA UN SOLO DOMINIO DI RETE

6.7 Immediate Messaging

Immediate messaging è la versione adottata dalla piattaforma IMS del servizio instant messaging. Per supportare tale servizio viene usato il metodo SIP Message, tramite cui si possono inviare messaggi di testo in modalità real time.

Durante una sessione di immediate messagging il terminale genera una richiesta di Message, con il contenuto desiderato e mette nel Request-URI l'indirizzo del terminale destinatario. La richiesta è instradata dal mittente attraverso l'infrastruttura IMS in modo analogo alle richieste già analizzate in precedenza, sino a giungere al destinatario.

Si può rispondere ad una richiesta di Message inviando un altro messaggio che include la replica, così da creare un dialogo interattivo.

Il contesto di questa sessione esiste solo nella mente dei due terminali, a differenza dei dialoghi session-based. Infatti non ci sono strutture coinvolte: ciascun immediate messaging è una transazione indipendente e non è legata a richieste inviate precedentemente. Nella figura 6.48 è mostrata la procedura di immediate messaging.

In figura 6.49 è riportato lo scambio di pacchetti durante una sessione d'immediate messaging tra due utenti.

figura 6.49:Scambio di messaggi durante una sessione d'Immediate Messaging

La struttura e singoli campi di una richiesta di Message sono sostanzialmente uguali a quelli di un messaggio di Invite già analizzati in precedenza. In maniera analoga viene svolto l'instradamento del messaggio verso il destinatario. Viene mostrato nella figura 6.50 il contenuto di questo messaggio così da evidenziare tali somiglianze con i precedenti messaggi di richiesta.

Marco (vedi campo From) invia il messaggio “come stai federica” presente nel Message body a Federica (campo To).Inoltre sono presenti i campi P-Preferred- Identity e P-Access-Network-Info tipici delle richieste IMS.

Successivamente viene analizzato in dettaglio il procedimento di routing della richiesta di message.

Internet Protocol, Src: 10.0.0.2 (10.0.0.2), Dst: 10.0.0.1 (10.0.0.1) User Datagram Protocol, Src Port: 5060 (5060), Dst Port: 4060 (4060) Session Initiation Protocol

Request-Line: MESSAGE sip:federica@openims.test SIP/2.0 Message Header

Via: SIP/2.0/UDP 10.0.0.2:5060;rport;branch=z9hG4bK825924475 Route: <sip:pcscf.openims.test:4060;lr>

Route: <sip:orig@scscf.openims.test:6060;lr>

From: "Marco" <sip:marco@openims.test>;tag=940308787 To: <sip:federica@openims.test>

Call-ID: 146808962@10.0.0.2 CSeq: 20 MESSAGE Max-Forwards: 70 User-Agent: eXosip/2.2.2

P-Preferred-Identity: "Marco" <sip:marco@openims.test> P-Access-Network-Info: IEEE-802.11a

Content-Type: text/plain Content-Length:24 Message body

Line-based text data: text/plain come stai federica?

figura 6.50:Messaggio di MESSAGE(1)

Il P-CSCF, ricevuto il messaggio di Message, rimuove il suo indirizzo dal campo Route e lo aggiunge nel campo Via; inoltre rimuove l'identificativo in P- Preferred-Identity, controlla se è valido e lo mette in P-Asserted-Identity; infine aggiunge la sezione P-Charging-Vector dove descrive le informazioni di tariffazione e instrada il Message al S-CSCF. Viene mostrato tale messaggio nella figura 6.51.

Internet Protocol, Src: 10.0.0.1 (10.0.0.1), Dst: 10.0.0.1 (10.0.0.1) User Datagram Protocol, Src Port: 4060 (4060), Dst Port: 6060 (6060) Session Initiation Protocol

Request-Line: MESSAGE sip:federica@openims.test SIP/2.0 Message Header

Via: SIP/2.0/UDP 10.0.0.1:4060;branch=z9hG4bKab8c.aa4541e4.0 Via: SIP/2.0/UDP 10.0.0.2:5060;rport=5060;branch=z9hG4bK825924475 Route: <sip:orig@scscf.openims.test:6060;lr>

From: "Marco" <sip:marco@openims.test>;tag=940308787 To: sip:federica@openims.test

P-Asserted-Identity: "Marco" <sip:marco@openims.test>

P-Charging-Vector: icid-value="P-CSCFabcd4671427a0000000b"; icid-generated-at="10.0.0.1"; orig-ioi="openims.test"

Il S-CSCF, ricevuto il messaggio di Message, rimuove il suo indirizzo dal campo Route e lo aggiunge nel campo Via. Infine lo invia all’ S-CSCF riferito al terminale chiamato.

User Datagram Protocol, Src Port: 6060 (6060), Dst Port: 6060 (6060) Session Initiation Protocol

Request-Line: MESSAGE sip:federica@openims.test SIP/2.0 Message Header

Via: SIP/2.0/UDP 10.0.0.1:6060;branch=z9hG4bKab8c.1a993aa2.0 Via: SIP/2.0/UDP 10.0.0.1:4060;branch=z9hG4bKab8c.aa4541e4.0 Via: SIP/2.0/UDP 10.0.0.2:5060;rport=5060;branch=z9hG4bK825924475 From: "Marco" <sip:marco@openims.test>;tag=940308787

To: sip:federica@openims.test …

figura 6.52:Messaggio di MESSAGE(3)

Il S-CSCF, ricevuto il messaggio di Message, rimuove il suo indirizzo dal campo Route e lo aggiunge nel campo Via; infine lo invia al P-CSCF. Tale messaggio è mostrato in figura 6.53.

Internet Protocol, Src: 10.0.0.1 (10.0.0.1), Dst: 10.0.0.1 (10.0.0.1) User Datagram Protocol, Src Port: 6060 (6060), Dst Port: 4060 (4060) Session Initiation Protocol

Request-Line: MESSAGE sip:federica@10.0.0.3:5060 SIP/2.0 Message Header

Route: <sip:term@pcscf.openims.test:4060;lr>

Via: SIP/2.0/UDP 10.0.0.1:6060;branch=z9hG4bKab8c.2a993aa2.0 Via: SIP/2.0/UDP 10.0.0.1:6060;branch=z9hG4bKab8c.1a993aa2.0 Via: SIP/2.0/UDP 10.0.0.1:4060;branch=z9hG4bKab8c.aa4541e4.0 Via: SIP/2.0/UDP 10.0.0.2:5060;rport=5060;branch=z9hG4bK825924475 From: "Marco" <sip:marco@openims.test>;tag=940308787

To: sip:federica@openims.test …

figura 6.53:Messaggio di MESSAGE(4)

Il P-CSCF ricevuto il messaggio, rimuove il suo indirizzo dal campo Route, lo aggiunge nel campo Via e invia il messaggio a Federica.

Federica riscontra il messaggio ricevuto da Marco, inviandogli una risposta 200 OK mostrata nella figura 6.54.

Internet Protocol, Src: 10.0.0.3 (10.0.0.3), Dst: 10.0.0.1 (10.0.0.1) User Datagram Protocol, Src Port: 5060 (5060), Dst Port: 4060 (4060) Session Initiation Protocol

Status-Line: SIP/2.0 200 OK Message Header

Via: SIP/2.0/UDP 10.0.0.1:4060;branch=z9hG4bKab8c.ba4541e4.0

Via: SIP/2.0/UDP 10.0.0.1:6060;received=10.0.0.1;rport=6060;branch=z9hG4bKab8c.2a993aa2.0 Via: SIP/2.0/UDP 10.0.0.1:6060;branch=z9hG4bKab8c.1a993aa2.0

Via: SIP/2.0/UDP 10.0.0.1:4060;branch=z9hG4bKab8c.aa4541e4.0 Via: SIP/2.0/UDP 10.0.0.2:5060;rport=5060;branch=z9hG4bK825924475 From: "Marco" <sip:marco@openims.test>;tag=940308787

To: <sip:federica@openims.test>;tag=1667301512 Call-ID: 146808962@10.0.0.2

CSeq: 20 MESSAGE User-Agent: eXosip/2.2.2

Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, MESSAGE, INFO, REFER, UPDATE

Content-Length: 0

figura 6.54:Messaggio 200 OK(5)

Successivamente può inviare a sua volta un richiesta di Message con il contenuto multimediale della propria risposta.

CAPITOLO 7

SESSSIONI IMS IN UNO SCENARIO COSTITUITO DA DUE