Chapitre 3
Protocole SIP
Introduction
SIP est un protocole de signalisation défini par l’IETF
(Internet Engineering Task Force) permettant
l’établissement, la libération et la modification de
sessions multimédias.
Il hérite de certaines fonctionnalités des protocoles http
(Hyper Text Transport Protocl) utilisé pour naviguer sur
le WEB, et SMTP (Simple Mail Transport Protocol)
utilisé pour transmettre des messages électroniques (E-
mails).
Introduction
SIP s’appuie sur un modèle transactionnel
client/serveur comme http.
L’adressage utilise le concept d’URL SIP
(Uniform Resource Locator) qui ressemble à une
adresse E-mail.
Introduction
Chaque participant dans un réseau SIP est donc
adressable par une URL SIP.
Par ailleurs, les requêtes SIP sont acquittées par
des réponses identifiées par un code numérique.
D’ailleurs, la plupart des codes de réponses SIP
ont été empruntés au protocole http.
Introduction
Par exemple, lorsque le destinataire n’est pas
localisé, un code de réponse « 404 Not Found »
est retourné.
Une requête SIP est constituée de headers
comme une commande SMTP.
Introduction
SIP a été étendu afin de supporter de nombreux
services tels que la présence, la messagerie
instantanée (similaire au service SMS dans les
réseaux mobiles), le transfert d’appel, la
conférence, les services complémentaires de
téléphonie, etc
Introduction
SIP a été retenu par le 3GPP pour l’architecture
IMS (IP Multimedia Subsystem) comme
protocole pour le contrôle de session et le
contrôle de service.
Il remplacera à terme les protocoles ISUP(utilisé
pour le contrôle d’appel dans le Réseau
Téléphonique Commuté)
Introduction
Le protocole SIP n’est qu’un protocole de
signalisation.
Une fois la session établie, les participants de la
session s’échangent directement leur trafic
audio/vidéo à travers le protocole RTP (Real-
Time Transport Protocol)
Introduction
Par ailleurs, SIP n’est pas un protocole de réservation
de ressource, il ne peut donc pas assurer la QoS.
Il s’agit d’un protocole de contrôle d’appel et non de
contrôle du média.
SIP n’est pas non plus un protocole de transfert de
fichier tel que HTTP, utilisé afin de transporter de
grands volumes de données.
Introduction
Il a été conçu pour transmettre des messages de
signalisation courts afin d’établir, maintenir et
libérer des sessions multimédia.
Des messages courts non relatifs à un appel
peuvent néanmoins être transportés par SIP à la
manière des SMS.
Entités SIP
SIP définit deux types d’entités : les clients et les
serveurs.
Un client est une application qui émet des
requêtes SIP alors qu’un serveur est une entité
qui répond à des requêtes SIP.
SIP est donc un protocole client/serveur.
Entités SIP
Clients et serveurs SIP
Entités SIP
Clients et serveurs SIP
Proxy server (serveur de proxy): joue les rôles de client et de serveur. Il
reçoit des requêtes de clients qu’il traite lui-même ou qu’il relaye à
d’autres serveurs après avoir éventuellement réalisé certaines
modifications sur ces requêtes
Un serveur proxy est une sorte de pont qui vous relie au reste
d'Internet. Normalement, lorsque vous naviguez sur Internet,
vous vous connectez directement au site Web qui vous
intéresse. Un proxy établit à votre place la communication
Entités SIP
Clients et serveurs SIP
Le serveur de redirection (Redirect server): est un serveur qui accepte
des requêtes SIP, traduit l’adresse SIP de destination en une ou plusieurs
adresses réseau et les retourne au client.
Entités SIP
Clients et serveurs SIP
Contrairement au Proxy server, le Redirect server ne relaye pas de
requêtes SIP.
Entités SIP
Clients et serveurs SIP
L’agent utilisateur (User agent) est une application qui joue les rôles client
et serveur.
Entités SIP
Clients et serveurs SIP
L’agent utilisateur client
(UAC, User agent client) est
une application qui émet des
requêtes SIP.
Entités SIP
Clients et serveurs SIP
L’agent utilisateur serveur (UAS, User
agent server) est une application qui
accepte des requêtes SIP et qui
contacte l’utilisateur.
Entités SIP
Une réponse de l’utilisateur est retournée par
l’agent utilisateur serveur. Tout équipement SIP
(e.g., PC ou Téléphone IP avec applicatif SIP)
implantera les fonctions agent utilisateur client et
agent utilisateur serveur.
SIP permet justement l’établissement de sessions
entre User agents.
Entités SIP
Clients et serveurs SIP
L’enregistreur (Registrar) est un serveur qui
accepte les requêtes SIP REGISTER. SIP
comme H.323 dispose de la fonction
d’enregistrement d’utilisateurs.
Entités SIP
Clients et serveurs SIP
L’utilisateur indique par un message
REGISTER émis au Registrar, l’adresse où
il est joignable.
Entités SIP
Clients et serveurs SIP
L’enregistreur est une fonction associée à un
Proxy server ou à un Redirect server. Un
utilisateur peut s’enregistrer sur différents
terminaux SIP
La passerelle SIP (SIP Gateway) interconnecte
un réseau SIP à un réseau utilisant un autre
protocole de signalisation (e.g., H.323, Q.931,
ISUP).
Un SIP Gateway est considéré comme un user
agent puisqu’il est apte à émettre et accepter
des requêtes SIP.
Entités SIP
Entités SIP
Gateway SIP
Entité SIP
Entité SIP
Les requêtes SIP: INVITE
Le RFC 3261 définit six requêtes ou méthodes SIP.
La méthode INVITE est utilisée afin d’établir une
session entre User agents.
INVITE correspond au message ISUP IAM ou au
message Q.931 SETUP et contient les informations
sur l’appelant et l’appelé et sur le type de flux qui
seront échangés (voix, vidéo, etc.).
Les requêtes SIP: INVITE
Lorsque le User agent ayant émis la méthode SIP
INVITE reçoit une réponse finale à l’invitation, il
confirme la réception de cette réponse par une
méthode ACK.
Une réponse par exemple « busy » est considérée
comme finale alors qu’une réponse telle que
« ringing » signifiant que l’appelé est alerté, est
une réponse provisoire.
Les requêtes SIP: BYE
La méthode BYE permet la libération d’une
session préalablement établie.
Elle correspond au message RELEASE des
protocoles ISUP et Q.931.
Un message BYE peut être émis par l’appelant
ou l’appelé.
La méthode REGISTER est utilisée par un User agent afin d’indiquer
au Registrar son adresse IP ainsi que son adresse SIP (SIP URL).
Ainsi le Registrar connaît la localisation de l’utilisateur.
Comme dans le cas du Gatekeeper, le User agent peut connaître par
avance son Registrar (adresse IP du Registrar préconfigurée dans le
User agent) auquel cas il émet une méthode REGISTER uniquement
à ce Registrar.
Sinon, le User agent émet le message à tous les Registrars en utilisant
une adresse IP multicast
Les requêtes SIP: REGISTER
Les requêtes SIP: CANCEL
La méthode CANCEL est utilisée afin de mettre fin à des
requêtes en cours.
Si un User agent s’enregistre auprès de plusieurs
terminaux, un message INVITE envoyé à ce User agent
sera dupliqué et relayé à l’ensemble de ces terminaux.
Lorsque l’utilisateur accepte l’appel sur un des
terminaux, une méthode CANCEL est émise vers les
autres terminaux afin d’annuler les requêtes INVITE en
cours.
Les requêtes SIP: OPTIONS
La méthode OPTIONS est utilisée afin
d’interroger les capacités et l’état d’un User
agent ou d’un serveur.
La réponse contient ses capacités (e.g., type de
média étant supporté) ou le fait que le User agent
soit indisponible.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Deux User agents SIP sont connectés à un réseau
IP. On suppose qu’ils connaissent leurs adresses
IP respectives.
La signalisation SIP est directement échangée
entre les User agents sans impliquer de Proxy
server ou de Redirect server.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
L’appelant Mary commence par émettre un
message SIP INVITE à destination de l’appelé
Mark.
Le message INVITE contient l’ensemble des
informations sur le type de session à établir. Il
peut s’agir d’une session, audio, vidéo, etc.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Chaque champ est appelé en-tête (Header) et a la
forme : « Header : valeur CRLF ». CRLF
correspond au caractère de terminaison de ligne.
CRLF: carriage return/line feed
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylorsip:mary.taylor@cegetel.fr
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
La première ligne du message, appelée
start line (ligne de début) liste la
méthode, ici INVITE, la requête URI
(Uniform Resource Indicator) et le
numéro de version du protocole SIP
utilisé (2.0). La requête URI est une
forme particulière d’URL SIP et
indique l’entité destinataire.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylorsip:mary.taylor@cegetel.fr
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
Chaque entité SIP qui émet ou relaye
un message SIP insère son adresse de
host ou adresse IP dans ce Header Via
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylorsip:mary.taylor@cegetel.fr
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
S’il s’agit d’une adresse de host, cette
dernière peut être traduite en une
adresse IP par le DNS.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylorsip:mary.taylor@cegetel.fr
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
Le Header Via contient la version du
protocole SIP, puis UDP indiquant un
transport UDP, un espace, suivi du
nom de host ou de l’adresse IP, de deux
points et d’un numéro de port SIP. Ici,
il s’agit du port SIP par défaut, à savoir
5060.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylorsip:mary.taylor@cegetel.fr
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
Le Header Via assure que la réponse
suivra le même chemin que la requête.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
 indiquer le nombre maximum de
proxy servers pouvant router la
méthode jusqu’au destinataire.
 Entier décrémenté à chaque saut
 Le message est éliminé quand Max-
Forwards=0
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor <sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
indiquer les adresses SIP de l’émetteur
et du récepteur de la requête.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
Lorsqu’un label de nom est utilisé
(dans l’exemple, Mary Taylor et Mark
Rich), alors l’URL SIP est délimitée
par des crochets et permet de router le
message.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
Le Header Call-ID (identifiant unique
pour chaque appel) a une forme
similaire à celle d’une adresse
électronique mais ne fait que
représenter un identificateur permettant
de désigner sans ambiguïté une session
SIP.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
L’émetteur de la requête choisit une
chaîne de caractères unique qu’il
suffixe par le caractère « @ » et par
son nom de host afin de disposer d’un
identificateur globalement unique.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
Il est constitué par un numéro suivi du
nom de la méthode SIP. Dans
l’exemple, il s’agit de la méthode
INVITE.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
Le numéro est incrémenté pour chaque
nouvelle méthode SIP émise. Le
numéro de séquence initial choisi dans
l’exemple est 1 mais il est possible de
commencer par n’importe qu’elle
valeur.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
Le Header Contact permet à l’appelant
d’indiquer l’adresse IP à laquelle il
peut recevoir des messages SIP de la
part de l’appelé directement, sans
implication du proxy server dans le
routage de ces messages.
Obligatoires: To, From, Via, Max-Forwards, Contact, Call-ID et C-Seq
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Le message INVITE contient les champs suivants :
INVITE sip : mark.rich@teleom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact: sip:mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length:162
Les Headers content type et content
length indiquent que le corps du
message est une structure décrite avec
SDP (Session Description Protocol) et
contient 162 octets.
Obligatoires: To, From, Via, Max-Forwards, Contact, Call-ID et C-Seq
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Corps des messages SIP
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Corps des messages SIP
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Corps des messages SIP
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP sans serveur
Paramètres SDP Nom de paramètre
v=0 Version du protocole SDP (0)
o=Mary 123456 123456 IN IP4
station1@cegetel.fr
Origine de la session décrite à travers le
username (Mary), l’dentificateur de la session
(123456), la version de la session, le type de
réseau (IN=Internet), le type d’adresse
(IP4=IPv4), et l’adresse réseau de la machaine
où la session a été créée.
s=annonce importante Nom de la session. Il s’agit d’une chaîne de
caractère qui peut être affichée aux participants
de la session.
c= IN IP4 192.190.132.20 Données de connexion incluant le type de
réseau (IN=Internet), le type d’adresse
(IP4=IPv4).
t=0 0 Instant de la session. Il indique les instants de
début et de fin de session.
m=audio 45450 RTP/AVP 0 Type de média (audio), port de transport où la
voix ou la vidéo paquétisée doit être envoyée
(45450), le protocole de transport (RTP) et le
type de format (AVP 0=G.711 -law)
Champs SDP de la requête INVITE dans l’exemple
IPV4 et IPV6
• IPv4 et IPv6 sont deux versions du protocole Internet, utilisées pour identifier et
localiser les dispositifs sur un réseau. La principale différence réside dans le format
des adresses.
• IPv4 utilise des adresses de 32 bits, ce qui offre environ 4,3 milliards d'adresses
uniques. Cela a suffi pendant un certain temps, mais avec l'explosion d'Internet et
le nombre croissant d'appareils connectés, on a réalisé que ces adresses allaient
bientôt manquer.
• C'est là qu'intervient IPv6, avec ses adresses de 128 bits. Cela offre un nombre
astronomique d'adresses uniques (environ 3.4 x 10^38), ce qui devrait suffire pour
tous les appareils imaginables, même ceux que nous n'avons pas encore inventés.
• IPv6 est comme la bibliothèque infinie des adresses IP, tandis qu'IPv4 est un peu
plus comme une bibliothèque avec un nombre fini de livres.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
La réponse au message SIP INVITE est le
message 180 RINGING. Cette réponse indique
que le terminal de l’appelé a reçu le message
INVITE et que l’alerte du demandé a été
déclenchée.
Cette alerte du demandé peut être matérialisée par
une sonnerie ou un texte s’affichant sur l’écran du
combiné.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Les réponses SIP sont des nombres dont le
premier chiffre indique la classe de réponse.
1XX signifie « réponse d’information » et donc
informe sur l’état d’avancement de l’appel.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
La réponse 180 Ringing a la structure suivante :
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP station1.cegetel.fr:5060
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 1 INVITE
Contact:sip:mark.rich@193.188.23.16
Content-Length: 0
La réponse 180 RINGING est
créée en copiant un certain
nombre des headers du message
INVITE en particulier From,
To, Call-ID, Via et en rajoutant
une ligne de début de réponse
contenant la version du
protocole SIP suivie du type de
réponse.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
La réponse 180 Ringing a la structure suivante :
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP station1.cegetel.fr:5060
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 1 INVITE
Contact:sip:mark.rich@193.188.23.16
Content-Length: 0
Les headers From et To ne sont
pas inversés dans la réponse car
ils indiquent la direction de la
requête et non celle de la
réponse.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
La réponse 180 Ringing a la structure suivante :
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP station1.cegetel.fr:5060
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 1 INVITE
Contact:sip:mark.rich@193.188.23.16
Content-Length: 0
Le Header Contact indique
l’adresse IP où l’appelé peut
directement recevoir des
requêtes SIP sans que celles-ci
soient routées par le proxy
server.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Une réponse 200 OK est retournée à l’appelant
lorsque l’appelé décroche et donc accepte
l’appel.
Les réponses 2XX indiquent que la requête a été
acceptée. Le corps de la réponse 200 OK
contient les informations du média de Mark.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
SIP/2.0 200 OK
Via : SIP/2.0/UDP station 1.cegetel.fr :5060
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 1 INVITE
Contact:sip:mark.rich@193.188.23.16
Content-Type:application/sdp
Content-Length:162
v=0
o=Mark 123456 123456 IN IP4
machine1.telecom-dev.fr
s=annonce importante
c=IN IP 193.188.23.16
m=audio 52140 RTP/AVP 0
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Mary doit confirmer la réception de la réponse
200 OK par une requête ACK.
Cette confirmation signifie que Mary peut
supporter le média proposé par Mark.
Toute réponse à une méthode INVITE est
acquittée par une méthode ACK.
Dès lors, les canaux RTP et le canal RTCP sont
ouverts et utilisés par Mary et Mark pour la
communication téléphonique.
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
ACK sip:mark.rich@telecom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 2 ACK
Content-Length: 0
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Mary envoie une requête BYE pour terminer la session.
BYE sip:mark.rich@telecom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 3 BYE
Content-Length: 0
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Mark renvoie la réponse de confirmation suivante:
SIP/2.0 200 OK
Via: SIP/2.0/UDP station1.cegetel.fr:5060
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
CSeq: 3 BYE
Content-Type: application/sdp
Content-Length : 0
Scénarios d’appel SIP: Exemple
d’établissement d’appel avec SIP sans serveur
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
Afin qu’un User agent (dans l’exemple
précédent, Mary) puisse directement envoyer un
message INVITE à un User agent server (dans
l’exemple précédent, Mark), il lui faut connaître
son adresse IP.
Cela n’est pas toujours le cas.
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
A chaque connexion, cette adresse peut donc
changer pour un terminal donné.
Dans ce cas, c’est le proxy server qui traduira
l’adresse URL du destinataire en une adresse IP.
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
Dans l’exemple suivant, Mary appelle Mark à travers un
Proxy server. Mary ne connaissant pas l’adresse IP de
Mark, recherche dans le DNS à partir du nom de
domaine de l’URL SIP de Mark (telecom-dev.fr)
l’adresse IP du proxy server qui contrôle ce domaine
(proxy.telecom-dev.fr).
Le message INVITE émis par Mary est donc envoyé à
l’adresse IP du Proxy server du domaine telecom-dev.fr.
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
INVITE sip :mark.rich@telecom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 1 INVITE
Contact : sip :mary.taylor@192.190.131.20
Content-Type : application/sd
Content-Length :162
v=0
o=Mark 123456 123456 IN IP4
machine1.telecom-dev.fr
s=annonce importante
c=IN IP 192.190.132.20
t= 0 0
m=audio 45450 RTP/AVP 0
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
Le Proxy server du domaine telecom-dev.fr recherche
l’URL SIP (mark.rich@telecom-dev.fr) dans sa base de
données ou grâce à un service de localisation et localise
Mark.
Notons que Mark s’est forcément enregistré à la fonction
Registrar de son domaine. Il est donc déclaré dans la
base de données mise à jour par la fonction Registrar.
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
Le message INVITE est alors relayé par le Proxy
server à l’adresse IP de Mark. Un second header
Via est rajouté, contenant l’adresse du Proxy.
Cela permettra aux réponses retournées par Mark
de suivre le même chemin que celui emprunté
par le message INVITE.
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
INVITE sip :mark.rich@telecom-dev.fr SIP/2.0
Via: SIP/2.0/UDP proxy.telecom-dev.fr:5060
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 1 INVITE
Contact : sip :mary.taylor@192.190.131.20
Content-Type : application/sd
Content-Length :162
v=0
o=Mark 123456 123456 IN IP4
machine1.telecom-dev.fr
s=annonce importante
c=IN IP 192.190.132.20
t= 0 0
m=audio 45450 RTP/AVP 0
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
La réponse 180 RINGING est retournée par le terminal de Mark au
terminal de Mary à travers le Proxy server.
La réponse reçue par le Proxy server est :
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP proxy.telecom-dev.fr:5060
Via: SIP/2.0/UDP station1.cegetel.fr:5060
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 1 INVITE
Contact : sip :mark.rich@193.188.23.16
Content-Length : 0
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
Le proxy server vérifie que le premier header
Via contient son adresse (proxy.telecom-dev.fr),
supprime ce header et renvoie la réponse à
l’adresse présente dans le header Via suivant
(station1.cegetel.fr) au port UDP 5060.
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
La réponse reçue par Mary est :
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP station1.cegetel.fr:5060
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 1 INVITE
Contact : sip :mark.rich@193.188.23.16
Content-Length : 0
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
L’utilisation de headers Via simplifie grandement le relayage
de réponses sans traitement particulier ni accès à des bases de
données.
L’envoi d’une requête a nécessité un accès au DNS par le User
agent client et un accès à une base de données par le Proxy
server.
Par ailleurs, cela permet de s’assurer que les réponses passent
par les mêmes Proxy servers que les requêtes correspondantes.
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
Lorsque Mark accepte l’appel, la réponse 200 OK est
émise au Proxy server :
SIP/2.0 200 OK
Via: SIP/2.0/UDP proxy.telecom-dev.fr:5060
Via: SIP/2.0/UDP station1.cegetel.fr:5060
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 1 INVITE
Contact : sip :mark.rich@193.188.23.16
Content-Type :application/sdp
Content-Length : 162
v=0
o=Mark 123456 123456 IN IP4
machine1.telecom-dev.fr
s=annonce importante
c=IN IP 193.188.23.16
t= 0 0
m=audio 52140 RTP/AVP 0
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
Le proxy server retire le premier header Via contenant son adresse et relaye le
message au terminal de Mary.
Mary retourne un message ACK à Mark relayé par le Proxy server après avoir
rajouté un champ Via comme dans le cas du message INVITE précédent :
ACK sip:mark@telecom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 2 ACK
Content-Length : 0
Scénarios d’appel SIP: Exemple d’établissement
d’appel avec SIP avec proxy server
Le proxy server participe au routage de la
signalisation entre User agents alors que les User
agents établissent directement des canaux RTP
pour le transport de la voix ou de la vidéo
paquetisée sans implication du Proxy server dans
ce transport.
Les réponses SIP
Après avoir reçu et interprété une requête SIP, l’appelé
retourne une réponse SIP. Il existe six classes de
réponses :
• Classe 1xx : Information, la requête a été reçue, et est
en cours de traitement.
• Classe 2xx : Succès, la requête a été reçue, comprise et
acceptée.
• Classe 3xx : Redirection, l’appel requiert d’autres
traitements avant de pouvoir déterminer s’il peut être
réalisé.
Les réponses SIP
• Classe 4xx : Erreur requête client, la requête ne
peut pas être interprétée ou servie par le serveur.
La requête doit être modifiée avant d’être
renvoyée.
• Classe 5xx : Erreur serveur, le serveur échoue
dans le traitement d’une requête apparemment
valide.
• Classe 6xx : Echec global, la requête ne peut
être traitée par aucun serveur.
Les réponses SIP
Les réponses SIP
Les réponses SIP
Les réponses SIP
Les réponses SIP
Les requêtes et réponses SIP contiennent des
adresses émission et destination SIP.
Ces adresses SIP sont des URLs SIP (Uniform
Ressource Locator) et ont une forme similaire à
une adresse e-mail c’est-à-dire user@host.
Les réponses SIP
• La partie user est identifiée soit par un nom,
soit par un numéro de téléphone.
• La partie host est représentée soit par un nom
de domaine, soit par une adresse de réseau.
Les méthodes SIP
La version 2.0 du protocole SIP est constituée de
six méthodes (RFC 3261) : INVITE,
REGISTER, BYE, ACK, CANCEL et
OPTIONS. Huit méthodes supplémentaires ont
été rajoutées au protocole. Ces méthodes sont
SUBSCRIBE (RFC 3265), NOTIFY (RFC 3265)
REFER (RFC 3515), MESSAGE (RFC 3428),
INFO (RFC 2976), PRACK (RFC 3262) et
UPDATE (RFC 3311).
Les méthodes SIP
Une entité SIP peut souscrire à un événement
afin d’être notifiée de son occurrence.
La requête SUBSCRIBE permet la souscription
alors que la requête NOTIFY est utilisée afin de
notifier l’occurrence de l’événement souscrit.
Les méthodes SIP
La méthode REFER renvoie le récepteur vers
une ressource identifiée dans la méthode.
REFER permet d’émuler différents services ou
applications dont le transfert d’appel.
Les méthodes SIP
La méthode MESSAGE permet le transfert de
messages courts et ainsi permet d’émuler le
service SMS avec le protocole SIP.
Les méthodes SIP
La méthode INFO permet de transférer des
informations de signalisation durant l’appel.
Les méthodes SIP
La méthode PRACK permet d’acquitter la
réception de réponses provisoires.
Les méthodes SIP
La méthode UPDATE permet à un user agent de
mettre à jour les paramètres d’une session
multimédia. (e.g., flux média et leurs codecs),
avant qu’elle soit établie.
Les méthodes SIP: Méthode INVITE
La méthode INVITE permet l’établissement
d’une session entre User agents.
Cette méthode est similaire au message SETUP
du protocole de signalisation Q.931 ou IAM du
protocole ISUP. Une réponse finale à une
méthode INVITE (e.g., 200 OK) est acquittée
par une requête ACK.
Les méthodes SIP: Méthode INVITE
Une invitation SIP réussie est constituée d’une
requête INVITE suivie par ACK ; La requête
INVITE demande à l’appelé de rejoindre une
conférence particulière ou un appel téléphonique.
Après que l’appelé ait décidé de participer à
l’appel (il répond par 200 OK), l’appelant confirme
la réponse à l’appelé en lui envoyant une méthode
ACK.
Les méthodes SIP: Méthode INVITE
Dans une requête INVITE figurent les
différentes informations qui permettent à
l’appelé de se joindre à la session.
L’appelé répond en retournant des informations
sur le type de média qu’il veut utiliser.
Les méthodes SIP: Méthode INVITE
Si une requête INVITE ne contient pas
l’information concernant le média décrite par le
biais du protocole SDP (Session Description
Protocol)
 alors la méthode ACK la contiendra.
Les méthodes SIP: Méthode INVITE
La méthode INVITE contient un header Call-ID
unique utilisé pour la durée de l’appel.
Les messages SIP envoyés dans le contexte de cet
appel ont un header Call-ID ayant la même valeur.
Un header Cseq doit être initialisé à une valeur
entière qui n’est pas nécessairement 1.
Cseq est incrémenté pour toute nouvelle requête
pour le même Call-ID.
Les méthodes SIP: Méthode INVITE
Les headers From et To renseignent l’adresse
SIP de l’appelant et de l’appelé respectivement.
Les méthodes SIP: Méthode INVITE
Si l’émetteur d’une requête INVITE souhaite
modifier les caractéristiques de la session, il
renvoie alors une nouvelle requête INVITE qui
contient le même Call-ID que celui de la requête
INVITE précédente, mais un Cseq dont la valeur a
été incrémentée.
Cela permet au récepteur de différencier les deux
requêtes INVITE.
Les méthodes SIP: Méthode ACK
• La méthode ACK est utilisée afin d’acquitter les
réponses finales de requêtes INVITE.
• L’émetteur de la méthode INVITE, à la réception
de la réponse 200 OK, envoie la méthode ACK.
• Cette requête ACK peut contenir un corps de
message si le message INVITE n’a pas fourni de
description de média.
Les méthodes SIP: Méthode REGISTER
La méthode REGISTER est utilisée par un User
agent afin d’indiquer à la fonction Registrar
(physiquement implantée dans un Proxy server ou
Redirect server) son adresse IP courante et son URL
SIP pour laquelle il souhaite recevoir des appels.
Cette méthode est similaire au message
RegistrationRequest (RRQ) du protocole RAS H.323.
Les méthodes SIP: Méthode REGISTER
Si un usager SIP veut renvoyer ses appels de son
domaine courant à un autre domaine (e.g., du
domaine cegetel.fr au domaine
francetelecom.com), il lui suffit d’indiquer à la
fonction Registrar son adresse SIP du domaine
francetelecom.com.
Les méthodes SIP: Méthode REGISTER
L’enregistrement SIP n’est pas requis pour
permettre à un User agent d’utiliser un Proxy
server afin d’effectuer des appels sortants.
Par contre, un User agent doit s’enregistrer pour
recevoir des appels entrants de Proxy servers.
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
Mary s’identifie sur la
machine station1.cegetel.fr.
Une méthode REGISTER a
alors été mise à la fonction
Registrar locale
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
Le champ Via de la méthode
contient le chemin suivi par
la requête jusque-là.
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
Il contient donc l’adresse de
la station de Mary. Le champ
Via indique par ailleurs que la
méthode REGISTER est
transportée par le protocole
UDP.
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
Le Header Max-Forwards
indique le nombre maximum
de proxy servers pouvant
router la méthode
REGISTER.
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
Le header From indique
l’adresse de l’entité ayant
initié l’enregistrement. Il
s’agit de Mary. Le header To
indique l’adresse de
l’utilisateur enregistré
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
L’adresse de la fonction
REGISTRAR n’est indiquée
que dans la première ligne de
la commande REGISTER.
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
Un User agent utilisera un
même Call-ID pour
l’ensemble de ses
enregistrements.
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
Le header Expires est
optionnel et exprime une
durée d’enregistrement
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
S’il est absent, alors l’URL
SIP sera supprimé de la table
d’enregistrement de la
fonction Registrar au bout
d’une heure après
l’enregistrement.
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
La fonction Registrar
retourne une réponse 200 OK
en cas de succès de
l’enregistrement.
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
Les headers Via, From, To,
Call-ID et Cseq ont la même
valeur que dans la requête
REGISTER ;
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
Le header Expires de la
réponse 200 OK peut
indiquer une valeur égale ou
inférieure à celle spécifiée
dans la requête REGISTER ;
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement avec SIP
Le champ Contact indique les
différentes adresses
auxquelles l’usager SIP est
joignable.
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement sur plusieurs terminaux
Un utilisateur
peut s’enregistrer
sur plusieurs
terminaux
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement sur plusieurs terminaux
Dans ce cas, les
méthodes INVITE à
délivrer à cet
utilisateur sont
relayées vers tous
les terminaux
auxquels il s’est
enregistré.
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement sur plusieurs terminaux
Pour annuler un
enregistrement avant
l’expiration, il suffit
d’envoyer une
commande REGITER à
la fonction Registrar
avec un header Expires
dont la valeur est
positionnée à 0.
Les méthodes SIP: Méthode REGISTER
Exemple d’enregistrement sur plusieurs terminaux
Pour annuler son
enregistrement de tous
les terminaux, il faut
positionner la valeur
Expires de la requête
REGISTER à la valeur
0 et indiquer dans le
champ Contact la
valeur « * ».
Les méthodes SIP: Méthode CANCEL
La méthode CANCEL est utilisée pour
suspendre une requête en cours mais n’a aucun
effet sur une requête déjà exécutée.
Si un utilisateur s’est enregistré sur différents
terminaux SIP, alors son adresse SIP sera
traduite en plusieurs adresses SIP.
Les méthodes SIP: Méthode CANCEL
Un Proxy server ayant à délivrer un appel à cet
utilisateur, enverra la requête INVITE reçue à
tous les terminaux auprès desquels l’utilisateur
s’est enregistré.
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
Mark s’est enregistré
sur le Terminal 2 (T2)
et le Terminal 3 (T3).
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
Mary envoie une
méthode INVITE au
Proxy Server
proxy.telecom-dev.fr
pour établir un appel
téléphonique avec
Mark.
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
Ce Proxy server
duplique le message
INVITE et le délivre aux
terminaux T2 et T3
après avoir identifié leur
adresse IP.
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
le Proxy server retourne
au terminal de Mary
(T1) une réponse 100
Trying indiquant que la
commande de Mary est
en cours de traitement.
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
Cette réponse a la même
signification que le
message Call
Proceeding du protocole
Q.931.
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
T2 et T3 retournent au
Proxy server des
réponses 180 Ringing.
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
Le Proxy server renvoie
alors une réponse 180
Ringing à T1 pour
l’informer que l’alerte
du demandé a été
déclenchée (équivalent
au message Alerting du
protocole Q.931).
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
Lorsque Mark accepte
l’appel sur un des
terminaux (dans
l’exemple, T3), alors T3
retourne la réponse 200
OK contenant la
description du média de
Mark
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
ce message est relayé à
T1
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
Le Proxy server émet
alors une commande
CANCEL pour annuler
la commande INVITE
en cours sur T2.
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
A la réception du
message CANCEL, T2
arrête le traitement de la
demande INVITE et
retourne une réponse
pour confirmation 200
OK.
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
Mary émet une requête
ACK pour confirmer à
Mark la réception de la
réponse 200 OK et
l’acceptation du média
proposé par Mark.
Les méthodes SIP: Méthode CANCEL
Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur
plusieurs terminaux
Ce message reçu par le
Proxy server est relayé à
Mark.
Les méthodes SIP: Méthode BYE
Un user agent souhaitant terminer un appel émet
une requête BYE. Toute partie (User agent)
participant à un appel peut envoyer une méthode
BYE, mais pas un Proxy server.
A la réception de cette requête, un User agent server
doit arrêter de transmettre des données (e.g.,
paquets RTP) à la partie lui ayant envoyé la requête
BYE, et retourne une réponse positive 200 OK.
Les méthodes SIP: Méthode BYE
Exemple:
Mary libère la session établie avec Mark. La requête BYE incrémente
toujours le header Cseq.
Les headers obligatoires de la commande BYE sont Call-ID, Content-
Length, Cseq, From, To et Via.
Le Header From spécifie l’adresse SIP de l’émetteur de la requête BYE
et non l’émetteur de la requête INVITE. Le Header To indique l’adresse
du récepteur de la requête BYE.
La valeur du header Call-Id est commune aux requêtes BYE et INVITE.
Les méthodes SIP: Méthode BYE
BYE sip :mark.rich@telecom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cgetel.fr>
To: Mark rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 3 BYE
Content-Length: 0
Les méthodes SIP: Méthode BYE
Mark renvoie la réponse de confirmation suivante:
SIP/2.0 200 OK
Via: SIP/2.0/UDP station1.cegetel.fr:5060
From: Mary Taylor<sip:mary.taylor@cgetel.fr>
To: Mark rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 2 BYE
Content-Type: application/sdp
Content-Length: 0
Les méthodes SIP: OPTIONS
La méthode OPTIONS est utilisée par un User agent
afin d’interroger les capacités d’un User agent ou d’un
serveur et de connaître sa disponibilité.
Un Proxy server ne génère jamais de méthode
OPTIONS.
Un User agent ou serveur répond à une requête
OPTIONS par 200 OK qui peut contenir les headers
(optionnels) Allow, Accept, Accept-Encoding, Accept-
Language et Supported afin d’indiquer ses capacités.
• Allow : En SIP, l'en-tête Allow est utilisé pour
spécifier les méthodes SIP autorisées pour une
ressource. Par exemple, les méthodes SIP incluent
INVITE, ACK, OPTIONS, BYE, CANCEL, etc.
L'en-tête Allow dans une réponse SIP indique
quelles méthodes sont permises pour la ressource ou
l'entité contactée.
• Accept : Dans le contexte de SIP, l'en-tête Accept
est utilisé pour indiquer les types de médias que
l'entité SIP est capable de traiter. Il spécifie les types
de contenu (comme les codecs audio ou vidéo) que
l'entité peut accepter dans une session SIP.
• Accept-Encoding : spécifier des méthodes de
compression de données dans le protocole SIP.
• Accept-Language : En SIP, cet en-tête est utilisé pour
indiquer les langues que l'utilisateur SIP ou
l'équipement peut comprendre. Cela peut être pertinent
lors de l'établissement de sessions de communication
où différentes langues peuvent être utilisées.
• Supported : Dans SIP, l'en-tête Supported est utilisé
pour indiquer les fonctionnalités ou les extensions que
le client ou le serveur SIP supporte. Cela permet à
deux entités SIP de négocier les fonctionnalités
qu'elles peuvent utiliser pendant une session.
Les méthodes SIP: OPTIONS
Mary demande à Mark ses capacités :
OPTIONS sip :mark.rich@telecom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Max-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cgetel.fr>
To: Mark rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 1 OPTIONS
Content-Length: 0
Les méthodes SIP: OPTIONS
La réponse 200 OK à la requête OPTIONS est retournée par Mark à Mary et inclut les
headers Allow et Accept-Language.
SIP/2.0 200 OK
Via: SIP/2.0/UDP station1.cegetel.fr:5060
From: Mary Taylor<sip:mary.taylor@cgetel.fr>
To: Mark rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 1 OPTIONS
Allow: INVITE, OPTIONS, ACK, BYE, CANCEL
Accept-Language: fr, en
Supported:…
Accept-Encoding : …
Content-Length: 0
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Une entité SIP peut souscrire à un événement
afin d’être notifiée de son occurrence.
La requête SUBSCRIBE permet la souscription
alors que la requête NOTIFY est utilisée afin de
notifier.
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Une requête SUBSCRIBE doit contenir un header
« expires » qui indique la durée de la souscription.
Si le souscripteur souhaite que la requête
SUBSCRIBE soit effective au-delà de la durée
indiquée dans le header « expires », il lui
nécessaire de retransmettre périodiquement une
nouvelle requête SUBSCRIBE.
Les méthodes SIP: SUBSCRIBE ET NOTIFY
La réponse 200 OK à la demande SUBSCRIBE
qui acquitte la prise en compte de cette requête
doit aussi contenir un header « expires ».
Afin d’annuler sa souscription, il suffit d’émettre
un message SUBSCRIBE dont la valeur du
header « expires » est égale à 0.
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Une requête SUBSCRIBE doit aussi inclure un
header « Event » indiquant l’événement auquel
l’émetteur de la requête souhaite souscrire.
La requête NOTIFY qui notifie l’occurrence de
l’événement contient le même header « Event ».
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Lorsqu’une requête SUBSCRIBE est reçue et
acquittée par un 200 OK, le récepteur du
SUBSCRIBE doit immédiatement générer et
émettre une requête NOTIFY au souscripteur,
communiquant ainsi l’état de la ressource.
Une réponse « 202 Accepted » indique que la
méthode SUBSCRIBE a été reçue et comprise,
mais n’a pas encore été prise en compte.
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Une requête NOTIFY doit contenir un header « Subscription-State »
dont la valeur est « active », « pending », ou « terminated ».
La valeur « active » indique que la souscription a été acceptée et
autorisée.
La valeur « pending » indique que la demande de souscription a été
reçue mais qu’il n’est pas encore possible de l’accepter ou de la
refuser.
La valeur « terminated » indique que la souscription n’est pas active ;
elle a donc été supprimée.
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Service de rappel automatique sur occupation
Considérons le cas
où UA 1 souhaite
établir un appel
téléphonique avec
UA 2, occupé
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Service de rappel automatique sur occupation
UA1 émet une
méthode SIP
INVITE à UA2
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Service de rappel automatique sur occupation
UA2 étant occupé, il
retourne à UA1 une
réponse finale 486
Busy Here.
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Service de rappel automatique sur occupation
UA1 acquitte la
réponse finale de
UA2 par la
méthode ACK.
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Service de rappel automatique sur occupation
UA1 souhaitant être informé
par UA2 lorsqu’il sera de
nouveau disponible, souscrit à
l’occurrence de l’événement
« Available » en utilisant la
méthode SUBSCRIBE qui est
acquittée par une réponse 200
OK.
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Service de rappel automatique sur occupation
Une première requête NOTIFY
suit immédiatement indiquant
que la requête SUBSCRIBE a
été acceptée et que l’état de
UA2 est « BUSY ». La
méthode NOTIFY est acquittée
par 200 OK.
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Service de rappel automatique sur occupation
Lorsque UA2 raccroche, son
état devient « Available » , ce
qui le conduit à transmettre une
requête NOTIFY à UA1,
acquittée par une réponse 200
OK.
Les méthodes SIP: SUBSCRIBE ET NOTIFY
Service de rappel automatique sur occupation
UA1 peut établir la session
audio avec UA2 à travers une
séquence INVITE/180
RINGING/200 OK/ACK.
Les méthodes SIP: MESSAGE
La messagerie instantanée (IM, Instant Messaging)
consiste en l’échange de message entre usagers en pseudo
temps réel.
Ces messages sont généralement courts.
La messagerie instantanée est utilisée en mode
conversationnel, i,e., l’échange de messages entre les
usagers est rapide afin de maintenir une conversation
interactive.
Les méthodes SIP: MESSAGE
Les messages instantanés ne sont généralement
pas stockés (à la différence des SMS dans le
monde GSM).
ce stockage n’est pas « forcément » nécessaire.
Les méthodes SIP: MESSAGE
il est possible d’introduire un serveur de
messagerie instantanée réalisant la fonction
similaire à un SMSC (Short Message Service
Center) dans un réseau mobile.
Les méthodes SIP: MESSAGE
La méthode MESSAGE a été proposée comme extension au
protocole SIP afin de permettre le transfert de messages
instantanés.
Cette nouvelle méthode hérite de toutes les fonctions offertes
par le protocole SIP telles que le routage et la sécurité.
La méthode MESSAGE n’initie pas de session à la différence
de la méthodes INVITE; il s’agit d’un message isolé.
Les méthodes SIP: MESSAGE
Une méthode MESSAGE peut traverser une route
de signalisation constituée d’un ensemble de
Proxy Server avant d’être délivrée à la destination.
Une réponse 200 OK est retournée par la
destination si elle accepte la méthode MESSAGE
mais cela ne signifie pas pour autant que la
destination a lu son contenu.
Les méthodes SIP: MESSAGE
La taille maximale d’un message instantané ne doit pas
excéder 1300 octets.
Pour des contenus volumineux, l’URL où le contenu est
accessible pourrait être indiquée dans le corps de la
méthode MESSAGE.
Le contenu pourrait être téléchargé par le destinataire de
la méthode MESSAGE en utilisant le protocole HTTP.
Les méthodes SIP: MESSAGE
Echange d’un message instantané entre deux UAs
connectés
exemple de transfert de
message instantané
lorsque les deux
participants sont
connectés.
Les méthodes SIP: MESSAGE
L’émetteur transmet une méthode MESSAGE dont la structure
est la suivante :
MESSAGE sip:mark.rich@francetelecom.com SIP/2.0
Via: SIP/2.0/UDP 192.190.132.20:5060
Max-Forwards: 20
To: Mark rich<sip:mark.rich@francetelecom.com>
From: Mary Taylor<sip:mary.taylor@alcatel.com>
Call-Id: 12345678@192.190.132.20
Cseq: 1 MESSAGE
Contact: sip: mary.taylor@192.190.132.20
Content-Type: text/plain
Content-Length: 24
Mark, How are you today?
Les méthodes SIP: MESSAGE
Echange d’un message instantané entre deux UAs
connectés
Cette requête est reçue
par le Proxy Server du
domaine alcatel.com
(domaine de l’émetteur)
Les méthodes SIP: MESSAGE
Echange d’un message instantané entre deux UAs
connectés
Ce dernier cherche dans le
DNS à partir du nom de
domaine de l’URL SIP du
destinataire
(francetelecom.com) l’adresse
IP du Proxy server qui contrôle
ce domaine
(proxy.francetelecom.com).
Les méthodes SIP: MESSAGE
Echange d’un message instantané entre deux UAs
connectés
La méthode MESSAGE est
relayée à ce proxy server qui
interroge la base de données de
localisation du domaine
francetelecom, obtient
l’adresse IP du User Agent
destinataire et lui délivre la
méthode MESSAGE.
Les méthodes SIP: MESSAGE
Echange d’un message instantané entre deux UAs
connectés
Une réponse 200 OK est
retournée par la destination
pour indiquer qu’elle accepte
la méthode MESSAGE.
Les méthodes SIP: MESSAGE
La structure de cette réponse 200 OK reçue par
l’émetteur est la suivante :
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.190.132.20:5060
To: Mark rich<sip:mark.rich@francetelecom.com>
From: Mary Taylor<sip:mary.taylor@alcatel.com>
Call-Id: 12345678@192.190.132.20
Cseq: 1 MESSAGE
Content-Length: 0
Les méthodes SIP: REFER
La méthode REFER renvoie le récepteur vers
une ressource identifiée dans la méthode.
REFER permet d’émuler différents services ou
applications dont le transfert d’appel.
Les méthodes SIP: REFER
Considérons UA1, l’entité à l’origine du transfert, UA2, l’entité
transférée et UA3, le destinataire du transfert.
Le transfert d’appel permet à UA1de transformer un appel en
cours entre UA1 et UA2 en un nouvel appel entre UA2 et un
UA3 choisi par UA1.
Si le transfert d’appel aboutit, UA2 et UA3 pourront
communiquer tandis que UA1 ne pourra plus dialoguer avec
UA2 ou UA3.
Les méthodes SIP: REFER
Exemple de transfert d’appel
UA2 établit une
communication
téléphonique avec UA1.
Les méthodes SIP: REFER
Exemple de transfert d’appel
UA1 émet une méthode
REFER à UA2 afin que
ce dernier établisse une
nouvelle communication
avec UA3
Les méthodes SIP: REFER
Exemple de transfert d’appel
UA1 libère l’appel avec
UA2
Les méthodes SIP: REFER
Exemple de transfert d’appel
UA2 établit un nouvel
appel avec UA3
Les méthodes SIP: REFER
Exemple de transfert d’appel
notifie UA1 dès lors que
l’appel est effectif entre
UA2 et UA3
Les méthodes SIP: REFER
Exemple de transfert d’appel
Si le transfert n’aboutit pas,
UA2 peut établir une
nouvelle communication
avec UA1.
Les méthodes SIP: REFER
La méthode REFER identifie par le biais du header
« Refer-To » la ressource vers laquelle établir l’appel.
Ce header peut indiquer une adresse autre qu’une
URL SIP, e.g., adresse URL HTTP.
Dans ce dernier cas, l’UA2 télécharge une page WEB.
L’UA1 émet une méthode REFER Refer-To
http://www.yyy.com/page1.html afin de demander à
l’UA2 de télécharger la page 1
Les méthodes SIP: REFER
la méthode REFER identifie l’URL SIP de l’UA3 :
REFER Refer-To<sip : yyy.alcatel.com>.
Le header « Refer-To » peut contenir le type de méthode,
la méthode par défaut étant INVITE.
Une requête REFER peut être émise par UA1 à UA2 afin
de lui demander par exemple une libération d’appel (BYE)
plutôt qu’un établissement d’appel : REFER Refer-To
<sip : yyy.alcatel.com ; method=BYE>.
Les méthodes SIP: INFO
La méthode INFO permet de transférer des
informations de signalisation durant l’appel;
Parmi les exemples d’information figurent les
informations relatives à la taxation d’un appel;
La méthode INFO n’a pas pour but de changer l’état
en cours ou des paramètres de l’appel.
Les méthodes SIP: INFO
La route de signalisation empruntée par la
requête INFO est la même que celle utilisée par
les requêtes SIP utilisées pour l’établissement de
l’appel correspondant (e.g., INVITE, ACK).
Les méthodes SIP: INFO
Une des réponses suivantes est retournée par le destinataire
de la requête INFO :
• 200 OK si la requête INFO est applicable à un appel,
• 481 Call Leg/Transaction Does Not Exist, si la requête
INFO ne correspond à aucun appel en cours,
• 415 Unsupported Media Type Message si la requête
INFO contient un corps de message que le récepteur ne
sait pas interpréter.
• 4xx, 5xx et 6xx comme pour les autres méthodes SIP.
Les méthodes SIP: PRACK
Les réponses finales 2XX, 3XX, 4XX, 5XX et
6XX à une requête INVITE sont acquittées par la
requête ACK alors que les réponses provisoires de
type 1XX ne sont pas acquittées.
certaines réponses provisoires telles que 180
Ringing ou 183 SessionProgress sont critiques et
leur réception est essentielle pour la détermination
de l’état de l’appel.
Les méthodes SIP: PRACK
La méthode PRACK a donc été définie afin
d’acquitter la réception de réponses provisoires
de type 1XX, sauf 100 Trying.
Seules les réponses provisoires comprises entre
101 et 199 peuvent être acquittées.
Les méthodes SIP: PRACK
Si un UA reçoit une requête INVITE contenant le header « Require » dont la
valeur est 100rel, il doit émettre toute réponse provisoire (e.g., 180 Ringing ,
183 Session Progress) de manière fiable.
S’il ne le peut pas, il doit rejeter la demande en retournant une réponse « 420
Bad Extension » contenant un header « Unsupported » dont la valeur est
100rel.
L’émetteur de la méthode INVITE devra alors retransmettre cette méthode
sans header « Require ».
Remarque: 100rel: 100 (1xx doivent être acquittées par PRACK) / rel
(reliable (fiable))
Les méthodes SIP: PRACK
Si un UA reçoit une requête INVITE contenant le
header « Supported » dont la valeur est 100rel, il
peut émettre s’il le souhaite toute réponse
provisoire de manière fiable.
Enfin, il ne doit pas émettre de réponse provisoire
de façon fiable si la méthode INVITE reçue ne
contient pas de header « Require » ou
« Supported ».
Les méthodes SIP: PRACK
Exemple d’utilisation de PRACK pour l’acquittement des
réponses provisoires
UA souhaite émettre une
réponse provisoire de
manière fiable
Les méthodes SIP: PRACK
Exemple d’utilisation de PRACK pour l’acquittement des
réponses provisoires
La réponse provisoire (e.g.,
180 Ringing) doit contenir un
header « Require » dont la
valeur est 100rel et un header
« Rseq » qui correspond à un
numéro de séquence fiable,
dont la valeur est choisie
initialement de manière
aléatoire entre 1 et 223
-1.
Les méthodes SIP: PRACK
Exemple d’utilisation de PRACK pour l’acquittement des
réponses provisoires
Cette valeur doit être
incrémentée de 1 à chaque
envoi d’une nouvelle réponse
provisoire.
Les méthodes SIP: PRACK
Exemple d’utilisation de PRACK pour l’acquittement des
réponses provisoires
Si le temporisateur expire
avant qu’une requête
PRACK soit reçue, la
réponse 180 Ringing doit être
retransmise
Les méthodes SIP: PRACK
Exemple d’utilisation de PRACK pour l’acquittement des
réponses provisoires
La requête PRACK doit être
acquittée par une réponse
200 OK qui aura pour effet
d’annuler toute
retransmission de la requête
PRACK
Les méthodes SIP: PRACK
Exemple d’utilisation de PRACK pour l’acquittement des
réponses provisoires
l’émetteur de la requête
PRACK arme un
temporisateur T1 dès son
envoi. Si aucune réponse
n’est reçue avant l’expiration
de ce temporisateur, la
méthode PRACK doit être
retransmise.
Les méthodes SIP: PRACK
Exemple d’utilisation de PRACK pour l’acquittement des
réponses provisoires
Une méthode PRACK doit
contenir un header
« RACK » qui doit contenir
les valeurs des headers
« Cseq » et « Rseq » présents
dans la réponse provisoire
permettant de corréler la
requête PRACK et la réponse
provisoire qu’elle acquitte.
Les méthodes SIP: UPDATE
• La méthode UPDATE permet à un usager agent de
mettre à jour les paramètres d’une session multimédia
(e.g., flux média et leurs codecs) avant son
établissement.
• Lorsqu’un UA émet une méthode INVITE, elle doit
contenir un header « Allow » dont la valeur doit
contenir « UPDATE » pour indiquer sa capacité à
recevoir des méthodes UPDATE.
Les méthodes SIP: UPDATE
• Cela vaut aussi pour le récepteur lorsque ce
dernier retourne une réponse provisoire fiable.
• Cette information permettra d’indiquer à
l’émetteur que la destination a la capacité de
supporter une procédure UPDATE.
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
UA1 émet une méthode
INVITE contenant une
description SDP1 pour
établir une session avec
UA2.
Cette description SDP indique des
préconditions de QoS pour la
session
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
UA1 ne souhaite pas que
UA2 soit alerté tant que les
ressources n’ont pas été
réservées dans les deux
sens.
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
UA2 accepte de réserver
des ressources pour cette
session avant d’alerter
l’appelé
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
UA2 prend en charge la
réservation des ressources
dans le sens UA2UA1
Par ailleurs, il est nécessaire que
UA1 réserve des ressources dans
le sens UA1 UA2
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
UA2 retourne une réponse
provisoire 183 Session
Progress à UA1 lui
demandant de commencer
la réservation des
ressources et de confirmer
à UA2 dès que la session
est prête dans le sens
UA1UA2.
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
Cette réponse provisoire
contient aussi une
description SDP2
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
A la réception du 183
Session Progress, UA1
émet une méthode PRACK
acquittée par 200 OK
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
UA1 et UA2 commencent
la réservation de ressources
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
Lorsque UA1 a finalisé sa
procédure de réservation, il
émet un message UPDATE
à UA2 contenant une
description SDP3 qui
indique cette réservation
dans le sens UA1UA2.
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
UA2 retourne une
réponse 200 OK de
confirmation de la
méthode UPDATE,
indiquant que toutes les
préconditions de QoS
pour la session ont été
remplies et que la QoS a
bien été réservée dans les
deux sens.
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
UA2 alerte l’appelé. Une
réponse provisoire 180
Ringing est émise par
l’UA2 à l’UA1
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
Pour informer l’UA2 de sa
réception, un échange de
messages PRACK et 200
OK a lieu, l’appelé
décroche
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
UA2 retourne une réponse
200 OK (réponse à la
méthode INVITE)
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
UA1 émet une méthode
ACK afin de finaliser
l’établissement d’appel.
Les méthodes SIP: UPDATE
Scénario d’établissement d’appel utilisant la
méthode UPDATE
L’échange de média peut
donc avoir lieu entre les
deux participants à la
session.
Headers de messages SIP
• Les en-têtes généraux (general header) s’appliquent
à la fois aux messages de requêtes et de réponse.
• Ils contiennent l’information de base nécessaire au
traitement de la requête. Parmi ces headers, figurent
Accept, accept-Encoding, Accept-Language, CALL-
ID, Contact, Cseq, Date, Encryption, Expires, From,
Record-Route, Timestamp, To et Via.
Headers de messages SIP
• Les en-têtes de requête (request header) autorisent
le client à ajouter des informations concernant sa
requête et lui-même à destination du serveur.
• Les headers suivants appartiennent à ce type :
Authorization, Contact, Hide, Max-Forwards,
Organization, Priority, Proxy-Authorization,
Proxy-Require, Route, Require, Response-Key,
Subject et User-Agent
Headers de messages SIP
• Les en-têtes de réponse (response header)
autorisent le serveur à ajouter des informations
concernant sa réponse.
• Ces en-têtes sont Allow, Proxy-Authorization,
Retry-After, Server, Unsupported, Warning et
WWW-Authenticate.
Headers de messages SIP
• Les en-têtes d’entité (entity header) définissent
le type et le format des informations contenues
dans le corps du message.
• Ces en-têtes sont Content-Encoding, Content-
Length et Content-Type.
Headers de messages SIP: Présence des headers dans les
commandes SIP
 Le caractère « * »
indique que les headers
sont nécessaires
uniquement dans le cas
où le corps du message
n’est pas vide;
 Le caractère « O »
signifie optional;
 Le caractère « M »
mandatory (obligatoire);
Headers de messages SIP: Présence des headers dans les
commandes SIP
Headers de messages SIP: Présence des headers dans les
réponses SIP
Headers de messages SIP: Présence des headers dans les
réponses SIP
Les serveurs SIP: Le proxy server
• Le Proxy server reçoit des requêtes SIP d’un
User agent et les relaye à la destination.
• Un Proxy server dispose d’un accès à une base
de données ou à un service de localisation afin
de déterminer le nœud suivant sur la route vers
la destination (Base de données mise à jour par
la fonction Registrar).
Les serveurs SIP: Le proxy server
• Un Proxy server ne génère pas de méthodes
SIP à la différence d’un User agent.
• Par ailleurs, il ne traite pas de média et n’a pas
d’implication dans l’échange de données audio
ou vidéo entre participants de l’appel.
Les serveurs SIP: Le proxy server
• Un Proxy server peut être de type stateless ou
stateful.
• Un stateless Proxy server traite chaque requête ou
réponse SIP à partir du contenu du message.
• Une fois le message relayé, aucune information
concernant ce message n’est stockée.
• Un stateless Proxy server ne maintient aucun
temporisateur et n’est donc pas en mesure de
retransmettre un message.
Les serveurs SIP: Le proxy server
Dès que le proxy transmet le message, il oublie
tout, il ne fait que transférer le message et ne se
souvient de rien.
On limite la charge du proxy server
Les serveurs SIP: Le proxy server
Cela semble évident, mais parce qu'un proxy
stateless (sans état) est sans état, il ne stocke
pas d'état, mais cela signifie également qu'il n'a
pas besoin de rechercher des informations
d'état ou de les réécrire;
 ce qui le rend beaucoup plus rapide et
généralement capable de gérer des charges
d'appels plus importantes qu’un équivalent
avec état.
Les serveurs SIP: Le proxy server
• Un stateful Proxy server garde une trace des
requêtes et réponses relayées et utilise cette
information mémorisée afin de traiter les
messages à venir.
• Le stateful Proxy server arme un temporisateur
lors de l’envoi d’une requête et retransmet la
requête s’il n’a pas reçu de réponse avant
l’expiration de ce temporisateur.
Les serveurs SIP: Le proxy server
Un proxy stateful (avec état) de dialogue
conserve les informations d'état pendant la durée
de cette session (dialogue).
Les serveurs SIP: Le proxy server
Si nous voulons facturer en fonction de la durée
d'un appel/d'une session, nous aurions besoin de
stocker des informations d'état, comme l'ID
d'appel, l'heure de début et de fin de l'appel.
Nous ne pouvons le faire qu'avec un proxy stateful
(avec état), car un proxy stateless (sans état) ne
saurait pas à quelle heure l'appel a commencé.
Les serveurs SIP: Le proxy server
De plus, si nous voulions savoir si un utilisateur
était en appel ou non, un proxy Dialog Stateful sait
qu'il y a eu un 200 OK, mais pas encore Bye;
donc il sait si un utilisateur est en appel ou non,
c'est utile pour la présence.
Un proxy avec état de dialogue est le plus
gourmand en ressources, car il doit stocker l'état
pendant toute la durée de la session.
Les serveurs SIP: Le proxy server
• Un stateful proxy server envoie généralement une réponse 100 Trying pour
informer l’appelant que sa requête INVITE est en cours de traitement.
Les serveurs SIP: Le proxy server
• Un stateless proxy server n’émet jamais de réponse 100 Trying.
Les serveurs SIP: Le Redirect server
• Le Redirect server reçoit des requêtes mais ne traite
que le header contenant l’adresse SIP du
destinataire (To).
• A partir de celle-ci, il renvoie à l’émetteur de la
requête une liste des adresses correspondantes.
• Ce type de serveur n’initie pas lui-même de
requêtes, et ne peut pas être destinataire d’un appel.
Les serveurs SIP: Le Redirect server
Le Redirect server comme le Proxy server dispose
d’une base de données ou d’un service de localisation
pour déterminer l’adresse du destinataire qu’il retourne
dans un header Contact de la réponse.
Cette réponse du Redirect server est de type 3XX
Les serveurs SIP: Le Redirect server
Considérons l’exemple où Mary ne connaissant pas l’adresse IP de Mark
envoie le message INVITE à un Redirect server.
INVITE : sip : mark.rich@telecom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Maw-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 1 INVITE
Contact: sip: mary.taylor@192.190.132.20
Content-Type: application/sd
Content-Length: 162
v = 0
o = Mary 123456 123456 IN
IP4 station1@cegetel.fr
s = appel téléphonique
c = IN IP4 192.190.132.20
t = 0 0
m = audio 45450 RTP/AVP 0
Les serveurs SIP: Le Redirect server
La réponse de redirection (301) à la requête INVITE est retournée
par le Redirect server à Mary.
SIP/2.0 301 Moved Permanently
Via: SIP/2.0/UDP station1.cegetel.fr:5060
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 1 INVITE
Contact: sip: mark.rich@193.188.23.16
Content-Length: 0
Les serveurs SIP: Le Redirect server
Mary confirme la reception de la réponse 301 (Réponse finale à une requête
INVITE) par l’envoi d’une requête ACK à destination du Redirect server.
ACK sip : mark.rich@telecom-dev.fr SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Maw-Forwards: 20
From: Mark Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456789@station1.cegetel.fr
Cseq: 2 ACK
Content-Length: 0
Les serveurs SIP: Le Redirect server
Un nouveau message INVITE est alors généré par Mary avec un nouveau
Call-ID, qu’elle envoie directement à Mark.
INVITE : sip : mark.rich@193.188.23.16 SIP/2.0
Via: SIP/2.0/UDP station1.cegetel.fr:5060
Maw-Forwards: 20
From: Mary Taylor<sip:mary.taylor@cegetel.fr>
To: Mark Rich<sip:mark.rich@telecom-dev.fr>
Call-Id: 23456790@station1.cegetel.fr
Cseq: 3 INVITE
Contact: sip: mary.taylor@192.190.132.20
Content-Type: application/sdp
Content-Length: 162
v = 0
o = Mary 123456 123456 IN IP4
station1@cegetel.fr
s = appel téléphonique
c = IN IP4 192.190.132.20
t= 0 0
m = audio 45450 RTP/AVP 0
Les serveurs SIP: Le Redirect server
Les réponses 180 Ringing et 200 OK sont retournées directement par Mark à
Mary ; Mary acquitte la réponse 200 OK par une requête ACK envoyée
directement à Mark.
Utilisation du Redirect server SIP
Interfonctionnement entre SIP/RTC
Pour l’interfonctionnement entre RTC et SIP, il est
nécessaire d’introduire un Gateway RTC/SIP qui
s’interface d’une part au RTC et d’autre part à réseau
SIP. Ce Gateway a deux fonctions :
– Traduction de la signalisation ISUP en
signalisation SIP et inversement.
– Conversion des signaux en paquets RTP et
inversement ; en effet ce Gateway établit des
canaux logiques RTP avec le terminal SIP et établit
des circuits de parole avec un Class switch.
Interfonctionnement entre SIP/RTC
Interfonctionnement RTC/SIP
un terminal relié au
RTC appelle un
terminal SIP. Le Class
5 Switch auquel est
rattaché l’appelant,
émet un message ISUP
IAM(Initial address
Message) au Gateway
RTC/SIP.
Interfonctionnement entre SIP/RTC
Interfonctionnement RTC/SIP
Ce message contient le
numéro du
destinataire,
l’identificateur de
circuit choisi par le
Class 5 Swicth pour
l’appel (CIC, Circuit
Identification Code)
ainsi que des
informations indiquant
la nature de l’appel
(parole, fax, données,
etc.).
Interfonctionnement entre SIP/RTC
Interfonctionnement RTC/SIP
Le Gateway RTC/SIP
traduit ce message en
une requête SIP INVITE
qui contient une adresse
de destination SIP dont
le champ user est un
numéro de téléphone.
Interfonctionnement entre SIP/RTC
Interfonctionnement RTC/SIP
Il passe le message au
SIP Proxy server qui
obtient l’adresse IP du
destinataire à partir de
l’adresse SIP par
interrogation d’une
base de données ou
d’un serveur de
localisation.
Interfonctionnement entre SIP/RTC
Interfonctionnement RTC/SIP
Le message INVITE est
relayé au terminal SIP.
Parallèlement, le Proxy
server notifie au
Gateway la réception
de la requête INVITE
par la réponse 100
Trying.
Interfonctionnement entre SIP/RTC
Interfonctionnement RTC/SIP
Le terminal SIP
retourne au Proxy
server une réponse 180
Ringing pour informer
l’appelant de l’alerte
de l’appelé, message
relayé par le Proxy
server au Gateway.
Interfonctionnement entre SIP/RTC
Interfonctionnement RTC/SIP
Le Gateway traduit
cette réponse en un
message ISUP ACM
(Address Complete
Message) renvoyé au
Class 5 Switch.
Interfonctionnement entre SIP/RTC
Interfonctionnement RTC/SIP
Lorsque l’appelé
décroche, une réponse
200 OK est retournée au
Proxy server qui la
relaye au Gateway.
Interfonctionnement entre SIP/RTC
Interfonctionnement RTC/SIP
Le Gateway acquitte la
réception de cette
réponse par une requête
ACK acheminée par le
Proxy server au
destinataire.
Parallèlement, le
Gateway génère un
message ISUP ANM
(Answer Message) émis
au Class 5 Switch.
Interfonctionnement entre SIP/RTC
Interfonctionnement RTC/SIP
Cet échange de
signalisation a permis
l’établissement de
canaux RTP entre le
terminal SIP et le
Gateway et la mise en
place d’un circuit de
parole entre le
Gateway et le Class 5
Switch.
Interfonctionnement entre SIP/H.323
Une entreprise peut disposer de PCs utilisant la
signalisation H.323 et de nouveaux téléphones
IP basés sur le protocole de signalisation SIP.
Pour permettre l’établissement de sessions entre
ces terminaux H.323 et SIP, il est nécessaire
d’introduire un Gateway H.323/SIP.
Interfonctionnement entre SIP/H.323
Interfonctionnement H.323/SIP
Interfonctionnement entre SIP/H.323
Ce Gateway traduit la signalisation H.323 en la
signalisation SIP et inversement.
Par contre les canaux RTP sont établis
directement entre les terminaux, soit établis entre
chaque terminal et le Gateway.
Interfonctionnement entre SIP/H.323
Interfonctionnement H.323/SIP
L’appelant (terminal
H.323) émet un message
RAS AdmissionRequest
(ARQ) au Gatekeeper
(GK) auprès duquel il s’est
enregistré pour lui
demander l’autorisation
d’établir une session.
Interfonctionnement entre SIP/H.323
Interfonctionnement H.323/SIP
Le GK répond
positivement par un
message AmissionConfirm
(ACF) indiquant au
terminal H.323 d’envoyer
directement au
destinataire (ici le GW) la
signalisation d’appel
Q.931.
Interfonctionnement entre SIP/H.323
Interfonctionnement H.323/SIP
Le terminal H.323 émet un
message Setup au GW en
utilisant la procédure Fast
Connect de la version 2 du
protocole H.323.
Interfonctionnement entre SIP/H.323
Interfonctionnement H.323/SIP
A la réception du message,
le GW émet un message
ARQ au GK pour lui
demander l’autorisation de
répondre à l’appel.
Interfonctionnement entre SIP/H.323
Interfonctionnement H.323/SIP
Le GK lui retourne une
réponse ACF.
Interfonctionnement entre SIP/H.323
Interfonctionnement H.323/SIP
Le GW traduit alors le
message SETUP en une
requête INVITE en recopiant
les caractéristiques média du
message Setup dans le
message INVITE.
Interfonctionnement entre SIP/H.323
Interfonctionnement H.323/SIP
Ce dernier est relayé par le
Proxy server au terminal
SIP destinataire.
Interfonctionnement entre SIP/H.323
Interfonctionnement H.323/SIP
Une réponse d’information
180 Ringing est retournée
par le terminal SIP au GW
qui la traduit en un
message Q.931 Alerting
renvoyé au terminal H.323.
Interfonctionnement entre SIP/H.323
Interfonctionnement H.323/SIP
Le terminal SIP acceptant
l’appel émet une réponse
finale 200 OK contenant le
média utilisé permettant
au GW de produire un
message Connect délivré
au terminal H.323.
Interfonctionnement entre SIP/H.323
Interfonctionnement H.323/SIP
Le GW retourne une
requête SIP ACK au
terminal SIP pour acquitter
la réception de la réponse
finale 200 OK.
Interfonctionnement entre SIP/H.323
Interfonctionnement H.323/SIP
Ces échanges de
signalisation ont permis
l’établissement de canaux
RTP directement entre les
terminaux H.323 et SIP.

SIP signaling protocol explained by professor

  • 1.
  • 2.
    Introduction SIP est unprotocole de signalisation défini par l’IETF (Internet Engineering Task Force) permettant l’établissement, la libération et la modification de sessions multimédias. Il hérite de certaines fonctionnalités des protocoles http (Hyper Text Transport Protocl) utilisé pour naviguer sur le WEB, et SMTP (Simple Mail Transport Protocol) utilisé pour transmettre des messages électroniques (E- mails).
  • 3.
    Introduction SIP s’appuie surun modèle transactionnel client/serveur comme http. L’adressage utilise le concept d’URL SIP (Uniform Resource Locator) qui ressemble à une adresse E-mail.
  • 4.
    Introduction Chaque participant dansun réseau SIP est donc adressable par une URL SIP. Par ailleurs, les requêtes SIP sont acquittées par des réponses identifiées par un code numérique. D’ailleurs, la plupart des codes de réponses SIP ont été empruntés au protocole http.
  • 5.
    Introduction Par exemple, lorsquele destinataire n’est pas localisé, un code de réponse « 404 Not Found » est retourné. Une requête SIP est constituée de headers comme une commande SMTP.
  • 6.
    Introduction SIP a étéétendu afin de supporter de nombreux services tels que la présence, la messagerie instantanée (similaire au service SMS dans les réseaux mobiles), le transfert d’appel, la conférence, les services complémentaires de téléphonie, etc
  • 7.
    Introduction SIP a étéretenu par le 3GPP pour l’architecture IMS (IP Multimedia Subsystem) comme protocole pour le contrôle de session et le contrôle de service. Il remplacera à terme les protocoles ISUP(utilisé pour le contrôle d’appel dans le Réseau Téléphonique Commuté)
  • 8.
    Introduction Le protocole SIPn’est qu’un protocole de signalisation. Une fois la session établie, les participants de la session s’échangent directement leur trafic audio/vidéo à travers le protocole RTP (Real- Time Transport Protocol)
  • 9.
    Introduction Par ailleurs, SIPn’est pas un protocole de réservation de ressource, il ne peut donc pas assurer la QoS. Il s’agit d’un protocole de contrôle d’appel et non de contrôle du média. SIP n’est pas non plus un protocole de transfert de fichier tel que HTTP, utilisé afin de transporter de grands volumes de données.
  • 10.
    Introduction Il a étéconçu pour transmettre des messages de signalisation courts afin d’établir, maintenir et libérer des sessions multimédia. Des messages courts non relatifs à un appel peuvent néanmoins être transportés par SIP à la manière des SMS.
  • 11.
    Entités SIP SIP définitdeux types d’entités : les clients et les serveurs. Un client est une application qui émet des requêtes SIP alors qu’un serveur est une entité qui répond à des requêtes SIP. SIP est donc un protocole client/serveur.
  • 12.
  • 13.
    Entités SIP Clients etserveurs SIP Proxy server (serveur de proxy): joue les rôles de client et de serveur. Il reçoit des requêtes de clients qu’il traite lui-même ou qu’il relaye à d’autres serveurs après avoir éventuellement réalisé certaines modifications sur ces requêtes Un serveur proxy est une sorte de pont qui vous relie au reste d'Internet. Normalement, lorsque vous naviguez sur Internet, vous vous connectez directement au site Web qui vous intéresse. Un proxy établit à votre place la communication
  • 14.
    Entités SIP Clients etserveurs SIP Le serveur de redirection (Redirect server): est un serveur qui accepte des requêtes SIP, traduit l’adresse SIP de destination en une ou plusieurs adresses réseau et les retourne au client.
  • 15.
    Entités SIP Clients etserveurs SIP Contrairement au Proxy server, le Redirect server ne relaye pas de requêtes SIP.
  • 16.
    Entités SIP Clients etserveurs SIP L’agent utilisateur (User agent) est une application qui joue les rôles client et serveur.
  • 17.
    Entités SIP Clients etserveurs SIP L’agent utilisateur client (UAC, User agent client) est une application qui émet des requêtes SIP.
  • 18.
    Entités SIP Clients etserveurs SIP L’agent utilisateur serveur (UAS, User agent server) est une application qui accepte des requêtes SIP et qui contacte l’utilisateur.
  • 19.
    Entités SIP Une réponsede l’utilisateur est retournée par l’agent utilisateur serveur. Tout équipement SIP (e.g., PC ou Téléphone IP avec applicatif SIP) implantera les fonctions agent utilisateur client et agent utilisateur serveur. SIP permet justement l’établissement de sessions entre User agents.
  • 20.
    Entités SIP Clients etserveurs SIP L’enregistreur (Registrar) est un serveur qui accepte les requêtes SIP REGISTER. SIP comme H.323 dispose de la fonction d’enregistrement d’utilisateurs.
  • 21.
    Entités SIP Clients etserveurs SIP L’utilisateur indique par un message REGISTER émis au Registrar, l’adresse où il est joignable.
  • 22.
    Entités SIP Clients etserveurs SIP L’enregistreur est une fonction associée à un Proxy server ou à un Redirect server. Un utilisateur peut s’enregistrer sur différents terminaux SIP
  • 23.
    La passerelle SIP(SIP Gateway) interconnecte un réseau SIP à un réseau utilisant un autre protocole de signalisation (e.g., H.323, Q.931, ISUP). Un SIP Gateway est considéré comme un user agent puisqu’il est apte à émettre et accepter des requêtes SIP. Entités SIP
  • 24.
  • 25.
  • 26.
  • 27.
    Les requêtes SIP:INVITE Le RFC 3261 définit six requêtes ou méthodes SIP. La méthode INVITE est utilisée afin d’établir une session entre User agents. INVITE correspond au message ISUP IAM ou au message Q.931 SETUP et contient les informations sur l’appelant et l’appelé et sur le type de flux qui seront échangés (voix, vidéo, etc.).
  • 28.
    Les requêtes SIP:INVITE Lorsque le User agent ayant émis la méthode SIP INVITE reçoit une réponse finale à l’invitation, il confirme la réception de cette réponse par une méthode ACK. Une réponse par exemple « busy » est considérée comme finale alors qu’une réponse telle que « ringing » signifiant que l’appelé est alerté, est une réponse provisoire.
  • 29.
    Les requêtes SIP:BYE La méthode BYE permet la libération d’une session préalablement établie. Elle correspond au message RELEASE des protocoles ISUP et Q.931. Un message BYE peut être émis par l’appelant ou l’appelé.
  • 30.
    La méthode REGISTERest utilisée par un User agent afin d’indiquer au Registrar son adresse IP ainsi que son adresse SIP (SIP URL). Ainsi le Registrar connaît la localisation de l’utilisateur. Comme dans le cas du Gatekeeper, le User agent peut connaître par avance son Registrar (adresse IP du Registrar préconfigurée dans le User agent) auquel cas il émet une méthode REGISTER uniquement à ce Registrar. Sinon, le User agent émet le message à tous les Registrars en utilisant une adresse IP multicast Les requêtes SIP: REGISTER
  • 31.
    Les requêtes SIP:CANCEL La méthode CANCEL est utilisée afin de mettre fin à des requêtes en cours. Si un User agent s’enregistre auprès de plusieurs terminaux, un message INVITE envoyé à ce User agent sera dupliqué et relayé à l’ensemble de ces terminaux. Lorsque l’utilisateur accepte l’appel sur un des terminaux, une méthode CANCEL est émise vers les autres terminaux afin d’annuler les requêtes INVITE en cours.
  • 32.
    Les requêtes SIP:OPTIONS La méthode OPTIONS est utilisée afin d’interroger les capacités et l’état d’un User agent ou d’un serveur. La réponse contient ses capacités (e.g., type de média étant supporté) ou le fait que le User agent soit indisponible.
  • 33.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Deux User agents SIP sont connectés à un réseau IP. On suppose qu’ils connaissent leurs adresses IP respectives. La signalisation SIP est directement échangée entre les User agents sans impliquer de Proxy server ou de Redirect server.
  • 34.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur L’appelant Mary commence par émettre un message SIP INVITE à destination de l’appelé Mark. Le message INVITE contient l’ensemble des informations sur le type de session à établir. Il peut s’agir d’une session, audio, vidéo, etc.
  • 35.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Chaque champ est appelé en-tête (Header) et a la forme : « Header : valeur CRLF ». CRLF correspond au caractère de terminaison de ligne. CRLF: carriage return/line feed
  • 36.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylorsip:mary.taylor@cegetel.fr To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 La première ligne du message, appelée start line (ligne de début) liste la méthode, ici INVITE, la requête URI (Uniform Resource Indicator) et le numéro de version du protocole SIP utilisé (2.0). La requête URI est une forme particulière d’URL SIP et indique l’entité destinataire.
  • 37.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylorsip:mary.taylor@cegetel.fr To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 Chaque entité SIP qui émet ou relaye un message SIP insère son adresse de host ou adresse IP dans ce Header Via
  • 38.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylorsip:mary.taylor@cegetel.fr To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 S’il s’agit d’une adresse de host, cette dernière peut être traduite en une adresse IP par le DNS.
  • 39.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylorsip:mary.taylor@cegetel.fr To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 Le Header Via contient la version du protocole SIP, puis UDP indiquant un transport UDP, un espace, suivi du nom de host ou de l’adresse IP, de deux points et d’un numéro de port SIP. Ici, il s’agit du port SIP par défaut, à savoir 5060.
  • 40.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylorsip:mary.taylor@cegetel.fr To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 Le Header Via assure que la réponse suivra le même chemin que la requête.
  • 41.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162  indiquer le nombre maximum de proxy servers pouvant router la méthode jusqu’au destinataire.  Entier décrémenté à chaque saut  Le message est éliminé quand Max- Forwards=0
  • 42.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor <sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 indiquer les adresses SIP de l’émetteur et du récepteur de la requête.
  • 43.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 Lorsqu’un label de nom est utilisé (dans l’exemple, Mary Taylor et Mark Rich), alors l’URL SIP est délimitée par des crochets et permet de router le message.
  • 44.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 Le Header Call-ID (identifiant unique pour chaque appel) a une forme similaire à celle d’une adresse électronique mais ne fait que représenter un identificateur permettant de désigner sans ambiguïté une session SIP.
  • 45.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 L’émetteur de la requête choisit une chaîne de caractères unique qu’il suffixe par le caractère « @ » et par son nom de host afin de disposer d’un identificateur globalement unique.
  • 46.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 Il est constitué par un numéro suivi du nom de la méthode SIP. Dans l’exemple, il s’agit de la méthode INVITE.
  • 47.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 Le numéro est incrémenté pour chaque nouvelle méthode SIP émise. Le numéro de séquence initial choisi dans l’exemple est 1 mais il est possible de commencer par n’importe qu’elle valeur.
  • 48.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 Le Header Contact permet à l’appelant d’indiquer l’adresse IP à laquelle il peut recevoir des messages SIP de la part de l’appelé directement, sans implication du proxy server dans le routage de ces messages. Obligatoires: To, From, Via, Max-Forwards, Contact, Call-ID et C-Seq
  • 49.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Le message INVITE contient les champs suivants : INVITE sip : mark.rich@teleom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact: sip:mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length:162 Les Headers content type et content length indiquent que le corps du message est une structure décrite avec SDP (Session Description Protocol) et contient 162 octets. Obligatoires: To, From, Via, Max-Forwards, Contact, Call-ID et C-Seq
  • 50.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Corps des messages SIP
  • 51.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Corps des messages SIP
  • 52.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Corps des messages SIP
  • 53.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Paramètres SDP Nom de paramètre v=0 Version du protocole SDP (0) o=Mary 123456 123456 IN IP4 station1@cegetel.fr Origine de la session décrite à travers le username (Mary), l’dentificateur de la session (123456), la version de la session, le type de réseau (IN=Internet), le type d’adresse (IP4=IPv4), et l’adresse réseau de la machaine où la session a été créée. s=annonce importante Nom de la session. Il s’agit d’une chaîne de caractère qui peut être affichée aux participants de la session. c= IN IP4 192.190.132.20 Données de connexion incluant le type de réseau (IN=Internet), le type d’adresse (IP4=IPv4). t=0 0 Instant de la session. Il indique les instants de début et de fin de session. m=audio 45450 RTP/AVP 0 Type de média (audio), port de transport où la voix ou la vidéo paquétisée doit être envoyée (45450), le protocole de transport (RTP) et le type de format (AVP 0=G.711 -law) Champs SDP de la requête INVITE dans l’exemple
  • 54.
    IPV4 et IPV6 •IPv4 et IPv6 sont deux versions du protocole Internet, utilisées pour identifier et localiser les dispositifs sur un réseau. La principale différence réside dans le format des adresses. • IPv4 utilise des adresses de 32 bits, ce qui offre environ 4,3 milliards d'adresses uniques. Cela a suffi pendant un certain temps, mais avec l'explosion d'Internet et le nombre croissant d'appareils connectés, on a réalisé que ces adresses allaient bientôt manquer. • C'est là qu'intervient IPv6, avec ses adresses de 128 bits. Cela offre un nombre astronomique d'adresses uniques (environ 3.4 x 10^38), ce qui devrait suffire pour tous les appareils imaginables, même ceux que nous n'avons pas encore inventés. • IPv6 est comme la bibliothèque infinie des adresses IP, tandis qu'IPv4 est un peu plus comme une bibliothèque avec un nombre fini de livres.
  • 55.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur La réponse au message SIP INVITE est le message 180 RINGING. Cette réponse indique que le terminal de l’appelé a reçu le message INVITE et que l’alerte du demandé a été déclenchée. Cette alerte du demandé peut être matérialisée par une sonnerie ou un texte s’affichant sur l’écran du combiné.
  • 56.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Les réponses SIP sont des nombres dont le premier chiffre indique la classe de réponse. 1XX signifie « réponse d’information » et donc informe sur l’état d’avancement de l’appel.
  • 57.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur La réponse 180 Ringing a la structure suivante : SIP/2.0 180 Ringing Via: SIP/2.0/UDP station1.cegetel.fr:5060 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 1 INVITE Contact:sip:mark.rich@193.188.23.16 Content-Length: 0 La réponse 180 RINGING est créée en copiant un certain nombre des headers du message INVITE en particulier From, To, Call-ID, Via et en rajoutant une ligne de début de réponse contenant la version du protocole SIP suivie du type de réponse.
  • 58.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur La réponse 180 Ringing a la structure suivante : SIP/2.0 180 Ringing Via: SIP/2.0/UDP station1.cegetel.fr:5060 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 1 INVITE Contact:sip:mark.rich@193.188.23.16 Content-Length: 0 Les headers From et To ne sont pas inversés dans la réponse car ils indiquent la direction de la requête et non celle de la réponse.
  • 59.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur La réponse 180 Ringing a la structure suivante : SIP/2.0 180 Ringing Via: SIP/2.0/UDP station1.cegetel.fr:5060 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 1 INVITE Contact:sip:mark.rich@193.188.23.16 Content-Length: 0 Le Header Contact indique l’adresse IP où l’appelé peut directement recevoir des requêtes SIP sans que celles-ci soient routées par le proxy server.
  • 60.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Une réponse 200 OK est retournée à l’appelant lorsque l’appelé décroche et donc accepte l’appel. Les réponses 2XX indiquent que la requête a été acceptée. Le corps de la réponse 200 OK contient les informations du média de Mark.
  • 61.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur SIP/2.0 200 OK Via : SIP/2.0/UDP station 1.cegetel.fr :5060 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 1 INVITE Contact:sip:mark.rich@193.188.23.16 Content-Type:application/sdp Content-Length:162 v=0 o=Mark 123456 123456 IN IP4 machine1.telecom-dev.fr s=annonce importante c=IN IP 193.188.23.16 m=audio 52140 RTP/AVP 0
  • 62.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Mary doit confirmer la réception de la réponse 200 OK par une requête ACK. Cette confirmation signifie que Mary peut supporter le média proposé par Mark. Toute réponse à une méthode INVITE est acquittée par une méthode ACK. Dès lors, les canaux RTP et le canal RTCP sont ouverts et utilisés par Mary et Mark pour la communication téléphonique.
  • 63.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur ACK sip:mark.rich@telecom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 2 ACK Content-Length: 0
  • 64.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Mary envoie une requête BYE pour terminer la session. BYE sip:mark.rich@telecom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 3 BYE Content-Length: 0
  • 65.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur Mark renvoie la réponse de confirmation suivante: SIP/2.0 200 OK Via: SIP/2.0/UDP station1.cegetel.fr:5060 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr CSeq: 3 BYE Content-Type: application/sdp Content-Length : 0
  • 66.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP sans serveur
  • 67.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server Afin qu’un User agent (dans l’exemple précédent, Mary) puisse directement envoyer un message INVITE à un User agent server (dans l’exemple précédent, Mark), il lui faut connaître son adresse IP. Cela n’est pas toujours le cas.
  • 68.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server A chaque connexion, cette adresse peut donc changer pour un terminal donné. Dans ce cas, c’est le proxy server qui traduira l’adresse URL du destinataire en une adresse IP.
  • 69.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server Dans l’exemple suivant, Mary appelle Mark à travers un Proxy server. Mary ne connaissant pas l’adresse IP de Mark, recherche dans le DNS à partir du nom de domaine de l’URL SIP de Mark (telecom-dev.fr) l’adresse IP du proxy server qui contrôle ce domaine (proxy.telecom-dev.fr). Le message INVITE émis par Mary est donc envoyé à l’adresse IP du Proxy server du domaine telecom-dev.fr.
  • 70.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server INVITE sip :mark.rich@telecom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 1 INVITE Contact : sip :mary.taylor@192.190.131.20 Content-Type : application/sd Content-Length :162 v=0 o=Mark 123456 123456 IN IP4 machine1.telecom-dev.fr s=annonce importante c=IN IP 192.190.132.20 t= 0 0 m=audio 45450 RTP/AVP 0
  • 71.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server Le Proxy server du domaine telecom-dev.fr recherche l’URL SIP (mark.rich@telecom-dev.fr) dans sa base de données ou grâce à un service de localisation et localise Mark. Notons que Mark s’est forcément enregistré à la fonction Registrar de son domaine. Il est donc déclaré dans la base de données mise à jour par la fonction Registrar.
  • 72.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server Le message INVITE est alors relayé par le Proxy server à l’adresse IP de Mark. Un second header Via est rajouté, contenant l’adresse du Proxy. Cela permettra aux réponses retournées par Mark de suivre le même chemin que celui emprunté par le message INVITE.
  • 73.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server INVITE sip :mark.rich@telecom-dev.fr SIP/2.0 Via: SIP/2.0/UDP proxy.telecom-dev.fr:5060 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 1 INVITE Contact : sip :mary.taylor@192.190.131.20 Content-Type : application/sd Content-Length :162 v=0 o=Mark 123456 123456 IN IP4 machine1.telecom-dev.fr s=annonce importante c=IN IP 192.190.132.20 t= 0 0 m=audio 45450 RTP/AVP 0
  • 74.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server La réponse 180 RINGING est retournée par le terminal de Mark au terminal de Mary à travers le Proxy server. La réponse reçue par le Proxy server est : SIP/2.0 180 Ringing Via: SIP/2.0/UDP proxy.telecom-dev.fr:5060 Via: SIP/2.0/UDP station1.cegetel.fr:5060 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 1 INVITE Contact : sip :mark.rich@193.188.23.16 Content-Length : 0
  • 75.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server Le proxy server vérifie que le premier header Via contient son adresse (proxy.telecom-dev.fr), supprime ce header et renvoie la réponse à l’adresse présente dans le header Via suivant (station1.cegetel.fr) au port UDP 5060.
  • 76.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server La réponse reçue par Mary est : SIP/2.0 180 Ringing Via: SIP/2.0/UDP station1.cegetel.fr:5060 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 1 INVITE Contact : sip :mark.rich@193.188.23.16 Content-Length : 0
  • 77.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server L’utilisation de headers Via simplifie grandement le relayage de réponses sans traitement particulier ni accès à des bases de données. L’envoi d’une requête a nécessité un accès au DNS par le User agent client et un accès à une base de données par le Proxy server. Par ailleurs, cela permet de s’assurer que les réponses passent par les mêmes Proxy servers que les requêtes correspondantes.
  • 78.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server Lorsque Mark accepte l’appel, la réponse 200 OK est émise au Proxy server : SIP/2.0 200 OK Via: SIP/2.0/UDP proxy.telecom-dev.fr:5060 Via: SIP/2.0/UDP station1.cegetel.fr:5060 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 1 INVITE Contact : sip :mark.rich@193.188.23.16 Content-Type :application/sdp Content-Length : 162 v=0 o=Mark 123456 123456 IN IP4 machine1.telecom-dev.fr s=annonce importante c=IN IP 193.188.23.16 t= 0 0 m=audio 52140 RTP/AVP 0
  • 79.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server Le proxy server retire le premier header Via contenant son adresse et relaye le message au terminal de Mary. Mary retourne un message ACK à Mark relayé par le Proxy server après avoir rajouté un champ Via comme dans le cas du message INVITE précédent : ACK sip:mark@telecom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 2 ACK Content-Length : 0
  • 80.
    Scénarios d’appel SIP:Exemple d’établissement d’appel avec SIP avec proxy server Le proxy server participe au routage de la signalisation entre User agents alors que les User agents établissent directement des canaux RTP pour le transport de la voix ou de la vidéo paquetisée sans implication du Proxy server dans ce transport.
  • 81.
    Les réponses SIP Aprèsavoir reçu et interprété une requête SIP, l’appelé retourne une réponse SIP. Il existe six classes de réponses : • Classe 1xx : Information, la requête a été reçue, et est en cours de traitement. • Classe 2xx : Succès, la requête a été reçue, comprise et acceptée. • Classe 3xx : Redirection, l’appel requiert d’autres traitements avant de pouvoir déterminer s’il peut être réalisé.
  • 82.
    Les réponses SIP •Classe 4xx : Erreur requête client, la requête ne peut pas être interprétée ou servie par le serveur. La requête doit être modifiée avant d’être renvoyée. • Classe 5xx : Erreur serveur, le serveur échoue dans le traitement d’une requête apparemment valide. • Classe 6xx : Echec global, la requête ne peut être traitée par aucun serveur.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
    Les réponses SIP Lesrequêtes et réponses SIP contiennent des adresses émission et destination SIP. Ces adresses SIP sont des URLs SIP (Uniform Ressource Locator) et ont une forme similaire à une adresse e-mail c’est-à-dire user@host.
  • 88.
    Les réponses SIP •La partie user est identifiée soit par un nom, soit par un numéro de téléphone. • La partie host est représentée soit par un nom de domaine, soit par une adresse de réseau.
  • 89.
    Les méthodes SIP Laversion 2.0 du protocole SIP est constituée de six méthodes (RFC 3261) : INVITE, REGISTER, BYE, ACK, CANCEL et OPTIONS. Huit méthodes supplémentaires ont été rajoutées au protocole. Ces méthodes sont SUBSCRIBE (RFC 3265), NOTIFY (RFC 3265) REFER (RFC 3515), MESSAGE (RFC 3428), INFO (RFC 2976), PRACK (RFC 3262) et UPDATE (RFC 3311).
  • 90.
    Les méthodes SIP Uneentité SIP peut souscrire à un événement afin d’être notifiée de son occurrence. La requête SUBSCRIBE permet la souscription alors que la requête NOTIFY est utilisée afin de notifier l’occurrence de l’événement souscrit.
  • 91.
    Les méthodes SIP Laméthode REFER renvoie le récepteur vers une ressource identifiée dans la méthode. REFER permet d’émuler différents services ou applications dont le transfert d’appel.
  • 92.
    Les méthodes SIP Laméthode MESSAGE permet le transfert de messages courts et ainsi permet d’émuler le service SMS avec le protocole SIP.
  • 93.
    Les méthodes SIP Laméthode INFO permet de transférer des informations de signalisation durant l’appel.
  • 94.
    Les méthodes SIP Laméthode PRACK permet d’acquitter la réception de réponses provisoires.
  • 95.
    Les méthodes SIP Laméthode UPDATE permet à un user agent de mettre à jour les paramètres d’une session multimédia. (e.g., flux média et leurs codecs), avant qu’elle soit établie.
  • 96.
    Les méthodes SIP:Méthode INVITE La méthode INVITE permet l’établissement d’une session entre User agents. Cette méthode est similaire au message SETUP du protocole de signalisation Q.931 ou IAM du protocole ISUP. Une réponse finale à une méthode INVITE (e.g., 200 OK) est acquittée par une requête ACK.
  • 97.
    Les méthodes SIP:Méthode INVITE Une invitation SIP réussie est constituée d’une requête INVITE suivie par ACK ; La requête INVITE demande à l’appelé de rejoindre une conférence particulière ou un appel téléphonique. Après que l’appelé ait décidé de participer à l’appel (il répond par 200 OK), l’appelant confirme la réponse à l’appelé en lui envoyant une méthode ACK.
  • 98.
    Les méthodes SIP:Méthode INVITE Dans une requête INVITE figurent les différentes informations qui permettent à l’appelé de se joindre à la session. L’appelé répond en retournant des informations sur le type de média qu’il veut utiliser.
  • 99.
    Les méthodes SIP:Méthode INVITE Si une requête INVITE ne contient pas l’information concernant le média décrite par le biais du protocole SDP (Session Description Protocol)  alors la méthode ACK la contiendra.
  • 100.
    Les méthodes SIP:Méthode INVITE La méthode INVITE contient un header Call-ID unique utilisé pour la durée de l’appel. Les messages SIP envoyés dans le contexte de cet appel ont un header Call-ID ayant la même valeur. Un header Cseq doit être initialisé à une valeur entière qui n’est pas nécessairement 1. Cseq est incrémenté pour toute nouvelle requête pour le même Call-ID.
  • 101.
    Les méthodes SIP:Méthode INVITE Les headers From et To renseignent l’adresse SIP de l’appelant et de l’appelé respectivement.
  • 102.
    Les méthodes SIP:Méthode INVITE Si l’émetteur d’une requête INVITE souhaite modifier les caractéristiques de la session, il renvoie alors une nouvelle requête INVITE qui contient le même Call-ID que celui de la requête INVITE précédente, mais un Cseq dont la valeur a été incrémentée. Cela permet au récepteur de différencier les deux requêtes INVITE.
  • 103.
    Les méthodes SIP:Méthode ACK • La méthode ACK est utilisée afin d’acquitter les réponses finales de requêtes INVITE. • L’émetteur de la méthode INVITE, à la réception de la réponse 200 OK, envoie la méthode ACK. • Cette requête ACK peut contenir un corps de message si le message INVITE n’a pas fourni de description de média.
  • 104.
    Les méthodes SIP:Méthode REGISTER La méthode REGISTER est utilisée par un User agent afin d’indiquer à la fonction Registrar (physiquement implantée dans un Proxy server ou Redirect server) son adresse IP courante et son URL SIP pour laquelle il souhaite recevoir des appels. Cette méthode est similaire au message RegistrationRequest (RRQ) du protocole RAS H.323.
  • 105.
    Les méthodes SIP:Méthode REGISTER Si un usager SIP veut renvoyer ses appels de son domaine courant à un autre domaine (e.g., du domaine cegetel.fr au domaine francetelecom.com), il lui suffit d’indiquer à la fonction Registrar son adresse SIP du domaine francetelecom.com.
  • 106.
    Les méthodes SIP:Méthode REGISTER L’enregistrement SIP n’est pas requis pour permettre à un User agent d’utiliser un Proxy server afin d’effectuer des appels sortants. Par contre, un User agent doit s’enregistrer pour recevoir des appels entrants de Proxy servers.
  • 107.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP
  • 108.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP Mary s’identifie sur la machine station1.cegetel.fr. Une méthode REGISTER a alors été mise à la fonction Registrar locale
  • 109.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP Le champ Via de la méthode contient le chemin suivi par la requête jusque-là.
  • 110.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP Il contient donc l’adresse de la station de Mary. Le champ Via indique par ailleurs que la méthode REGISTER est transportée par le protocole UDP.
  • 111.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP Le Header Max-Forwards indique le nombre maximum de proxy servers pouvant router la méthode REGISTER.
  • 112.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP Le header From indique l’adresse de l’entité ayant initié l’enregistrement. Il s’agit de Mary. Le header To indique l’adresse de l’utilisateur enregistré
  • 113.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP L’adresse de la fonction REGISTRAR n’est indiquée que dans la première ligne de la commande REGISTER.
  • 114.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP Un User agent utilisera un même Call-ID pour l’ensemble de ses enregistrements.
  • 115.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP Le header Expires est optionnel et exprime une durée d’enregistrement
  • 116.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP S’il est absent, alors l’URL SIP sera supprimé de la table d’enregistrement de la fonction Registrar au bout d’une heure après l’enregistrement.
  • 117.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP La fonction Registrar retourne une réponse 200 OK en cas de succès de l’enregistrement.
  • 118.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP Les headers Via, From, To, Call-ID et Cseq ont la même valeur que dans la requête REGISTER ;
  • 119.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP Le header Expires de la réponse 200 OK peut indiquer une valeur égale ou inférieure à celle spécifiée dans la requête REGISTER ;
  • 120.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement avec SIP Le champ Contact indique les différentes adresses auxquelles l’usager SIP est joignable.
  • 121.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement sur plusieurs terminaux Un utilisateur peut s’enregistrer sur plusieurs terminaux
  • 122.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement sur plusieurs terminaux Dans ce cas, les méthodes INVITE à délivrer à cet utilisateur sont relayées vers tous les terminaux auxquels il s’est enregistré.
  • 123.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement sur plusieurs terminaux Pour annuler un enregistrement avant l’expiration, il suffit d’envoyer une commande REGITER à la fonction Registrar avec un header Expires dont la valeur est positionnée à 0.
  • 124.
    Les méthodes SIP:Méthode REGISTER Exemple d’enregistrement sur plusieurs terminaux Pour annuler son enregistrement de tous les terminaux, il faut positionner la valeur Expires de la requête REGISTER à la valeur 0 et indiquer dans le champ Contact la valeur « * ».
  • 125.
    Les méthodes SIP:Méthode CANCEL La méthode CANCEL est utilisée pour suspendre une requête en cours mais n’a aucun effet sur une requête déjà exécutée. Si un utilisateur s’est enregistré sur différents terminaux SIP, alors son adresse SIP sera traduite en plusieurs adresses SIP.
  • 126.
    Les méthodes SIP:Méthode CANCEL Un Proxy server ayant à délivrer un appel à cet utilisateur, enverra la requête INVITE reçue à tous les terminaux auprès desquels l’utilisateur s’est enregistré.
  • 127.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux
  • 128.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux Mark s’est enregistré sur le Terminal 2 (T2) et le Terminal 3 (T3).
  • 129.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux Mary envoie une méthode INVITE au Proxy Server proxy.telecom-dev.fr pour établir un appel téléphonique avec Mark.
  • 130.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux Ce Proxy server duplique le message INVITE et le délivre aux terminaux T2 et T3 après avoir identifié leur adresse IP.
  • 131.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux le Proxy server retourne au terminal de Mary (T1) une réponse 100 Trying indiquant que la commande de Mary est en cours de traitement.
  • 132.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux Cette réponse a la même signification que le message Call Proceeding du protocole Q.931.
  • 133.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux T2 et T3 retournent au Proxy server des réponses 180 Ringing.
  • 134.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux Le Proxy server renvoie alors une réponse 180 Ringing à T1 pour l’informer que l’alerte du demandé a été déclenchée (équivalent au message Alerting du protocole Q.931).
  • 135.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux Lorsque Mark accepte l’appel sur un des terminaux (dans l’exemple, T3), alors T3 retourne la réponse 200 OK contenant la description du média de Mark
  • 136.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux ce message est relayé à T1
  • 137.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux Le Proxy server émet alors une commande CANCEL pour annuler la commande INVITE en cours sur T2.
  • 138.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux A la réception du message CANCEL, T2 arrête le traitement de la demande INVITE et retourne une réponse pour confirmation 200 OK.
  • 140.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux Mary émet une requête ACK pour confirmer à Mark la réception de la réponse 200 OK et l’acceptation du média proposé par Mark.
  • 141.
    Les méthodes SIP:Méthode CANCEL Utilisation de la requête CANCEL dans le cas où l’appelé s’est enregistré sur plusieurs terminaux Ce message reçu par le Proxy server est relayé à Mark.
  • 142.
    Les méthodes SIP:Méthode BYE Un user agent souhaitant terminer un appel émet une requête BYE. Toute partie (User agent) participant à un appel peut envoyer une méthode BYE, mais pas un Proxy server. A la réception de cette requête, un User agent server doit arrêter de transmettre des données (e.g., paquets RTP) à la partie lui ayant envoyé la requête BYE, et retourne une réponse positive 200 OK.
  • 143.
    Les méthodes SIP:Méthode BYE Exemple: Mary libère la session établie avec Mark. La requête BYE incrémente toujours le header Cseq. Les headers obligatoires de la commande BYE sont Call-ID, Content- Length, Cseq, From, To et Via. Le Header From spécifie l’adresse SIP de l’émetteur de la requête BYE et non l’émetteur de la requête INVITE. Le Header To indique l’adresse du récepteur de la requête BYE. La valeur du header Call-Id est commune aux requêtes BYE et INVITE.
  • 144.
    Les méthodes SIP:Méthode BYE BYE sip :mark.rich@telecom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cgetel.fr> To: Mark rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 3 BYE Content-Length: 0
  • 145.
    Les méthodes SIP:Méthode BYE Mark renvoie la réponse de confirmation suivante: SIP/2.0 200 OK Via: SIP/2.0/UDP station1.cegetel.fr:5060 From: Mary Taylor<sip:mary.taylor@cgetel.fr> To: Mark rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 2 BYE Content-Type: application/sdp Content-Length: 0
  • 146.
    Les méthodes SIP:OPTIONS La méthode OPTIONS est utilisée par un User agent afin d’interroger les capacités d’un User agent ou d’un serveur et de connaître sa disponibilité. Un Proxy server ne génère jamais de méthode OPTIONS. Un User agent ou serveur répond à une requête OPTIONS par 200 OK qui peut contenir les headers (optionnels) Allow, Accept, Accept-Encoding, Accept- Language et Supported afin d’indiquer ses capacités.
  • 147.
    • Allow :En SIP, l'en-tête Allow est utilisé pour spécifier les méthodes SIP autorisées pour une ressource. Par exemple, les méthodes SIP incluent INVITE, ACK, OPTIONS, BYE, CANCEL, etc. L'en-tête Allow dans une réponse SIP indique quelles méthodes sont permises pour la ressource ou l'entité contactée. • Accept : Dans le contexte de SIP, l'en-tête Accept est utilisé pour indiquer les types de médias que l'entité SIP est capable de traiter. Il spécifie les types de contenu (comme les codecs audio ou vidéo) que l'entité peut accepter dans une session SIP.
  • 148.
    • Accept-Encoding :spécifier des méthodes de compression de données dans le protocole SIP. • Accept-Language : En SIP, cet en-tête est utilisé pour indiquer les langues que l'utilisateur SIP ou l'équipement peut comprendre. Cela peut être pertinent lors de l'établissement de sessions de communication où différentes langues peuvent être utilisées. • Supported : Dans SIP, l'en-tête Supported est utilisé pour indiquer les fonctionnalités ou les extensions que le client ou le serveur SIP supporte. Cela permet à deux entités SIP de négocier les fonctionnalités qu'elles peuvent utiliser pendant une session.
  • 149.
    Les méthodes SIP:OPTIONS Mary demande à Mark ses capacités : OPTIONS sip :mark.rich@telecom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Max-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cgetel.fr> To: Mark rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 1 OPTIONS Content-Length: 0
  • 150.
    Les méthodes SIP:OPTIONS La réponse 200 OK à la requête OPTIONS est retournée par Mark à Mary et inclut les headers Allow et Accept-Language. SIP/2.0 200 OK Via: SIP/2.0/UDP station1.cegetel.fr:5060 From: Mary Taylor<sip:mary.taylor@cgetel.fr> To: Mark rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 1 OPTIONS Allow: INVITE, OPTIONS, ACK, BYE, CANCEL Accept-Language: fr, en Supported:… Accept-Encoding : … Content-Length: 0
  • 151.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Une entité SIP peut souscrire à un événement afin d’être notifiée de son occurrence. La requête SUBSCRIBE permet la souscription alors que la requête NOTIFY est utilisée afin de notifier.
  • 152.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Une requête SUBSCRIBE doit contenir un header « expires » qui indique la durée de la souscription. Si le souscripteur souhaite que la requête SUBSCRIBE soit effective au-delà de la durée indiquée dans le header « expires », il lui nécessaire de retransmettre périodiquement une nouvelle requête SUBSCRIBE.
  • 153.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY La réponse 200 OK à la demande SUBSCRIBE qui acquitte la prise en compte de cette requête doit aussi contenir un header « expires ». Afin d’annuler sa souscription, il suffit d’émettre un message SUBSCRIBE dont la valeur du header « expires » est égale à 0.
  • 154.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Une requête SUBSCRIBE doit aussi inclure un header « Event » indiquant l’événement auquel l’émetteur de la requête souhaite souscrire. La requête NOTIFY qui notifie l’occurrence de l’événement contient le même header « Event ».
  • 155.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Lorsqu’une requête SUBSCRIBE est reçue et acquittée par un 200 OK, le récepteur du SUBSCRIBE doit immédiatement générer et émettre une requête NOTIFY au souscripteur, communiquant ainsi l’état de la ressource. Une réponse « 202 Accepted » indique que la méthode SUBSCRIBE a été reçue et comprise, mais n’a pas encore été prise en compte.
  • 156.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Une requête NOTIFY doit contenir un header « Subscription-State » dont la valeur est « active », « pending », ou « terminated ». La valeur « active » indique que la souscription a été acceptée et autorisée. La valeur « pending » indique que la demande de souscription a été reçue mais qu’il n’est pas encore possible de l’accepter ou de la refuser. La valeur « terminated » indique que la souscription n’est pas active ; elle a donc été supprimée.
  • 157.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Service de rappel automatique sur occupation Considérons le cas où UA 1 souhaite établir un appel téléphonique avec UA 2, occupé
  • 158.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Service de rappel automatique sur occupation UA1 émet une méthode SIP INVITE à UA2
  • 159.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Service de rappel automatique sur occupation UA2 étant occupé, il retourne à UA1 une réponse finale 486 Busy Here.
  • 160.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Service de rappel automatique sur occupation UA1 acquitte la réponse finale de UA2 par la méthode ACK.
  • 161.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Service de rappel automatique sur occupation UA1 souhaitant être informé par UA2 lorsqu’il sera de nouveau disponible, souscrit à l’occurrence de l’événement « Available » en utilisant la méthode SUBSCRIBE qui est acquittée par une réponse 200 OK.
  • 162.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Service de rappel automatique sur occupation Une première requête NOTIFY suit immédiatement indiquant que la requête SUBSCRIBE a été acceptée et que l’état de UA2 est « BUSY ». La méthode NOTIFY est acquittée par 200 OK.
  • 163.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Service de rappel automatique sur occupation Lorsque UA2 raccroche, son état devient « Available » , ce qui le conduit à transmettre une requête NOTIFY à UA1, acquittée par une réponse 200 OK.
  • 164.
    Les méthodes SIP:SUBSCRIBE ET NOTIFY Service de rappel automatique sur occupation UA1 peut établir la session audio avec UA2 à travers une séquence INVITE/180 RINGING/200 OK/ACK.
  • 165.
    Les méthodes SIP:MESSAGE La messagerie instantanée (IM, Instant Messaging) consiste en l’échange de message entre usagers en pseudo temps réel. Ces messages sont généralement courts. La messagerie instantanée est utilisée en mode conversationnel, i,e., l’échange de messages entre les usagers est rapide afin de maintenir une conversation interactive.
  • 166.
    Les méthodes SIP:MESSAGE Les messages instantanés ne sont généralement pas stockés (à la différence des SMS dans le monde GSM). ce stockage n’est pas « forcément » nécessaire.
  • 167.
    Les méthodes SIP:MESSAGE il est possible d’introduire un serveur de messagerie instantanée réalisant la fonction similaire à un SMSC (Short Message Service Center) dans un réseau mobile.
  • 168.
    Les méthodes SIP:MESSAGE La méthode MESSAGE a été proposée comme extension au protocole SIP afin de permettre le transfert de messages instantanés. Cette nouvelle méthode hérite de toutes les fonctions offertes par le protocole SIP telles que le routage et la sécurité. La méthode MESSAGE n’initie pas de session à la différence de la méthodes INVITE; il s’agit d’un message isolé.
  • 169.
    Les méthodes SIP:MESSAGE Une méthode MESSAGE peut traverser une route de signalisation constituée d’un ensemble de Proxy Server avant d’être délivrée à la destination. Une réponse 200 OK est retournée par la destination si elle accepte la méthode MESSAGE mais cela ne signifie pas pour autant que la destination a lu son contenu.
  • 170.
    Les méthodes SIP:MESSAGE La taille maximale d’un message instantané ne doit pas excéder 1300 octets. Pour des contenus volumineux, l’URL où le contenu est accessible pourrait être indiquée dans le corps de la méthode MESSAGE. Le contenu pourrait être téléchargé par le destinataire de la méthode MESSAGE en utilisant le protocole HTTP.
  • 171.
    Les méthodes SIP:MESSAGE Echange d’un message instantané entre deux UAs connectés exemple de transfert de message instantané lorsque les deux participants sont connectés.
  • 172.
    Les méthodes SIP:MESSAGE L’émetteur transmet une méthode MESSAGE dont la structure est la suivante : MESSAGE sip:mark.rich@francetelecom.com SIP/2.0 Via: SIP/2.0/UDP 192.190.132.20:5060 Max-Forwards: 20 To: Mark rich<sip:mark.rich@francetelecom.com> From: Mary Taylor<sip:mary.taylor@alcatel.com> Call-Id: 12345678@192.190.132.20 Cseq: 1 MESSAGE Contact: sip: mary.taylor@192.190.132.20 Content-Type: text/plain Content-Length: 24 Mark, How are you today?
  • 173.
    Les méthodes SIP:MESSAGE Echange d’un message instantané entre deux UAs connectés Cette requête est reçue par le Proxy Server du domaine alcatel.com (domaine de l’émetteur)
  • 174.
    Les méthodes SIP:MESSAGE Echange d’un message instantané entre deux UAs connectés Ce dernier cherche dans le DNS à partir du nom de domaine de l’URL SIP du destinataire (francetelecom.com) l’adresse IP du Proxy server qui contrôle ce domaine (proxy.francetelecom.com).
  • 175.
    Les méthodes SIP:MESSAGE Echange d’un message instantané entre deux UAs connectés La méthode MESSAGE est relayée à ce proxy server qui interroge la base de données de localisation du domaine francetelecom, obtient l’adresse IP du User Agent destinataire et lui délivre la méthode MESSAGE.
  • 176.
    Les méthodes SIP:MESSAGE Echange d’un message instantané entre deux UAs connectés Une réponse 200 OK est retournée par la destination pour indiquer qu’elle accepte la méthode MESSAGE.
  • 177.
    Les méthodes SIP:MESSAGE La structure de cette réponse 200 OK reçue par l’émetteur est la suivante : SIP/2.0 200 OK Via: SIP/2.0/UDP 192.190.132.20:5060 To: Mark rich<sip:mark.rich@francetelecom.com> From: Mary Taylor<sip:mary.taylor@alcatel.com> Call-Id: 12345678@192.190.132.20 Cseq: 1 MESSAGE Content-Length: 0
  • 178.
    Les méthodes SIP:REFER La méthode REFER renvoie le récepteur vers une ressource identifiée dans la méthode. REFER permet d’émuler différents services ou applications dont le transfert d’appel.
  • 179.
    Les méthodes SIP:REFER Considérons UA1, l’entité à l’origine du transfert, UA2, l’entité transférée et UA3, le destinataire du transfert. Le transfert d’appel permet à UA1de transformer un appel en cours entre UA1 et UA2 en un nouvel appel entre UA2 et un UA3 choisi par UA1. Si le transfert d’appel aboutit, UA2 et UA3 pourront communiquer tandis que UA1 ne pourra plus dialoguer avec UA2 ou UA3.
  • 180.
    Les méthodes SIP:REFER Exemple de transfert d’appel UA2 établit une communication téléphonique avec UA1.
  • 181.
    Les méthodes SIP:REFER Exemple de transfert d’appel UA1 émet une méthode REFER à UA2 afin que ce dernier établisse une nouvelle communication avec UA3
  • 182.
    Les méthodes SIP:REFER Exemple de transfert d’appel UA1 libère l’appel avec UA2
  • 183.
    Les méthodes SIP:REFER Exemple de transfert d’appel UA2 établit un nouvel appel avec UA3
  • 184.
    Les méthodes SIP:REFER Exemple de transfert d’appel notifie UA1 dès lors que l’appel est effectif entre UA2 et UA3
  • 185.
    Les méthodes SIP:REFER Exemple de transfert d’appel Si le transfert n’aboutit pas, UA2 peut établir une nouvelle communication avec UA1.
  • 186.
    Les méthodes SIP:REFER La méthode REFER identifie par le biais du header « Refer-To » la ressource vers laquelle établir l’appel. Ce header peut indiquer une adresse autre qu’une URL SIP, e.g., adresse URL HTTP. Dans ce dernier cas, l’UA2 télécharge une page WEB. L’UA1 émet une méthode REFER Refer-To http://www.yyy.com/page1.html afin de demander à l’UA2 de télécharger la page 1
  • 187.
    Les méthodes SIP:REFER la méthode REFER identifie l’URL SIP de l’UA3 : REFER Refer-To<sip : yyy.alcatel.com>. Le header « Refer-To » peut contenir le type de méthode, la méthode par défaut étant INVITE. Une requête REFER peut être émise par UA1 à UA2 afin de lui demander par exemple une libération d’appel (BYE) plutôt qu’un établissement d’appel : REFER Refer-To <sip : yyy.alcatel.com ; method=BYE>.
  • 188.
    Les méthodes SIP:INFO La méthode INFO permet de transférer des informations de signalisation durant l’appel; Parmi les exemples d’information figurent les informations relatives à la taxation d’un appel; La méthode INFO n’a pas pour but de changer l’état en cours ou des paramètres de l’appel.
  • 189.
    Les méthodes SIP:INFO La route de signalisation empruntée par la requête INFO est la même que celle utilisée par les requêtes SIP utilisées pour l’établissement de l’appel correspondant (e.g., INVITE, ACK).
  • 190.
    Les méthodes SIP:INFO Une des réponses suivantes est retournée par le destinataire de la requête INFO : • 200 OK si la requête INFO est applicable à un appel, • 481 Call Leg/Transaction Does Not Exist, si la requête INFO ne correspond à aucun appel en cours, • 415 Unsupported Media Type Message si la requête INFO contient un corps de message que le récepteur ne sait pas interpréter. • 4xx, 5xx et 6xx comme pour les autres méthodes SIP.
  • 191.
    Les méthodes SIP:PRACK Les réponses finales 2XX, 3XX, 4XX, 5XX et 6XX à une requête INVITE sont acquittées par la requête ACK alors que les réponses provisoires de type 1XX ne sont pas acquittées. certaines réponses provisoires telles que 180 Ringing ou 183 SessionProgress sont critiques et leur réception est essentielle pour la détermination de l’état de l’appel.
  • 192.
    Les méthodes SIP:PRACK La méthode PRACK a donc été définie afin d’acquitter la réception de réponses provisoires de type 1XX, sauf 100 Trying. Seules les réponses provisoires comprises entre 101 et 199 peuvent être acquittées.
  • 193.
    Les méthodes SIP:PRACK Si un UA reçoit une requête INVITE contenant le header « Require » dont la valeur est 100rel, il doit émettre toute réponse provisoire (e.g., 180 Ringing , 183 Session Progress) de manière fiable. S’il ne le peut pas, il doit rejeter la demande en retournant une réponse « 420 Bad Extension » contenant un header « Unsupported » dont la valeur est 100rel. L’émetteur de la méthode INVITE devra alors retransmettre cette méthode sans header « Require ». Remarque: 100rel: 100 (1xx doivent être acquittées par PRACK) / rel (reliable (fiable))
  • 194.
    Les méthodes SIP:PRACK Si un UA reçoit une requête INVITE contenant le header « Supported » dont la valeur est 100rel, il peut émettre s’il le souhaite toute réponse provisoire de manière fiable. Enfin, il ne doit pas émettre de réponse provisoire de façon fiable si la méthode INVITE reçue ne contient pas de header « Require » ou « Supported ».
  • 195.
    Les méthodes SIP:PRACK Exemple d’utilisation de PRACK pour l’acquittement des réponses provisoires UA souhaite émettre une réponse provisoire de manière fiable
  • 196.
    Les méthodes SIP:PRACK Exemple d’utilisation de PRACK pour l’acquittement des réponses provisoires La réponse provisoire (e.g., 180 Ringing) doit contenir un header « Require » dont la valeur est 100rel et un header « Rseq » qui correspond à un numéro de séquence fiable, dont la valeur est choisie initialement de manière aléatoire entre 1 et 223 -1.
  • 197.
    Les méthodes SIP:PRACK Exemple d’utilisation de PRACK pour l’acquittement des réponses provisoires Cette valeur doit être incrémentée de 1 à chaque envoi d’une nouvelle réponse provisoire.
  • 198.
    Les méthodes SIP:PRACK Exemple d’utilisation de PRACK pour l’acquittement des réponses provisoires Si le temporisateur expire avant qu’une requête PRACK soit reçue, la réponse 180 Ringing doit être retransmise
  • 199.
    Les méthodes SIP:PRACK Exemple d’utilisation de PRACK pour l’acquittement des réponses provisoires La requête PRACK doit être acquittée par une réponse 200 OK qui aura pour effet d’annuler toute retransmission de la requête PRACK
  • 200.
    Les méthodes SIP:PRACK Exemple d’utilisation de PRACK pour l’acquittement des réponses provisoires l’émetteur de la requête PRACK arme un temporisateur T1 dès son envoi. Si aucune réponse n’est reçue avant l’expiration de ce temporisateur, la méthode PRACK doit être retransmise.
  • 201.
    Les méthodes SIP:PRACK Exemple d’utilisation de PRACK pour l’acquittement des réponses provisoires Une méthode PRACK doit contenir un header « RACK » qui doit contenir les valeurs des headers « Cseq » et « Rseq » présents dans la réponse provisoire permettant de corréler la requête PRACK et la réponse provisoire qu’elle acquitte.
  • 202.
    Les méthodes SIP:UPDATE • La méthode UPDATE permet à un usager agent de mettre à jour les paramètres d’une session multimédia (e.g., flux média et leurs codecs) avant son établissement. • Lorsqu’un UA émet une méthode INVITE, elle doit contenir un header « Allow » dont la valeur doit contenir « UPDATE » pour indiquer sa capacité à recevoir des méthodes UPDATE.
  • 203.
    Les méthodes SIP:UPDATE • Cela vaut aussi pour le récepteur lorsque ce dernier retourne une réponse provisoire fiable. • Cette information permettra d’indiquer à l’émetteur que la destination a la capacité de supporter une procédure UPDATE.
  • 204.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE UA1 émet une méthode INVITE contenant une description SDP1 pour établir une session avec UA2. Cette description SDP indique des préconditions de QoS pour la session
  • 205.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE UA1 ne souhaite pas que UA2 soit alerté tant que les ressources n’ont pas été réservées dans les deux sens.
  • 206.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE UA2 accepte de réserver des ressources pour cette session avant d’alerter l’appelé
  • 207.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE UA2 prend en charge la réservation des ressources dans le sens UA2UA1 Par ailleurs, il est nécessaire que UA1 réserve des ressources dans le sens UA1 UA2
  • 208.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE UA2 retourne une réponse provisoire 183 Session Progress à UA1 lui demandant de commencer la réservation des ressources et de confirmer à UA2 dès que la session est prête dans le sens UA1UA2.
  • 209.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE Cette réponse provisoire contient aussi une description SDP2
  • 210.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE A la réception du 183 Session Progress, UA1 émet une méthode PRACK acquittée par 200 OK
  • 211.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE UA1 et UA2 commencent la réservation de ressources
  • 212.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE Lorsque UA1 a finalisé sa procédure de réservation, il émet un message UPDATE à UA2 contenant une description SDP3 qui indique cette réservation dans le sens UA1UA2.
  • 213.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE UA2 retourne une réponse 200 OK de confirmation de la méthode UPDATE, indiquant que toutes les préconditions de QoS pour la session ont été remplies et que la QoS a bien été réservée dans les deux sens.
  • 214.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE UA2 alerte l’appelé. Une réponse provisoire 180 Ringing est émise par l’UA2 à l’UA1
  • 215.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE Pour informer l’UA2 de sa réception, un échange de messages PRACK et 200 OK a lieu, l’appelé décroche
  • 216.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE UA2 retourne une réponse 200 OK (réponse à la méthode INVITE)
  • 217.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE UA1 émet une méthode ACK afin de finaliser l’établissement d’appel.
  • 218.
    Les méthodes SIP:UPDATE Scénario d’établissement d’appel utilisant la méthode UPDATE L’échange de média peut donc avoir lieu entre les deux participants à la session.
  • 219.
    Headers de messagesSIP • Les en-têtes généraux (general header) s’appliquent à la fois aux messages de requêtes et de réponse. • Ils contiennent l’information de base nécessaire au traitement de la requête. Parmi ces headers, figurent Accept, accept-Encoding, Accept-Language, CALL- ID, Contact, Cseq, Date, Encryption, Expires, From, Record-Route, Timestamp, To et Via.
  • 220.
    Headers de messagesSIP • Les en-têtes de requête (request header) autorisent le client à ajouter des informations concernant sa requête et lui-même à destination du serveur. • Les headers suivants appartiennent à ce type : Authorization, Contact, Hide, Max-Forwards, Organization, Priority, Proxy-Authorization, Proxy-Require, Route, Require, Response-Key, Subject et User-Agent
  • 221.
    Headers de messagesSIP • Les en-têtes de réponse (response header) autorisent le serveur à ajouter des informations concernant sa réponse. • Ces en-têtes sont Allow, Proxy-Authorization, Retry-After, Server, Unsupported, Warning et WWW-Authenticate.
  • 222.
    Headers de messagesSIP • Les en-têtes d’entité (entity header) définissent le type et le format des informations contenues dans le corps du message. • Ces en-têtes sont Content-Encoding, Content- Length et Content-Type.
  • 223.
    Headers de messagesSIP: Présence des headers dans les commandes SIP  Le caractère « * » indique que les headers sont nécessaires uniquement dans le cas où le corps du message n’est pas vide;  Le caractère « O » signifie optional;  Le caractère « M » mandatory (obligatoire);
  • 224.
    Headers de messagesSIP: Présence des headers dans les commandes SIP
  • 225.
    Headers de messagesSIP: Présence des headers dans les réponses SIP
  • 226.
    Headers de messagesSIP: Présence des headers dans les réponses SIP
  • 227.
    Les serveurs SIP:Le proxy server • Le Proxy server reçoit des requêtes SIP d’un User agent et les relaye à la destination. • Un Proxy server dispose d’un accès à une base de données ou à un service de localisation afin de déterminer le nœud suivant sur la route vers la destination (Base de données mise à jour par la fonction Registrar).
  • 228.
    Les serveurs SIP:Le proxy server • Un Proxy server ne génère pas de méthodes SIP à la différence d’un User agent. • Par ailleurs, il ne traite pas de média et n’a pas d’implication dans l’échange de données audio ou vidéo entre participants de l’appel.
  • 229.
    Les serveurs SIP:Le proxy server • Un Proxy server peut être de type stateless ou stateful. • Un stateless Proxy server traite chaque requête ou réponse SIP à partir du contenu du message. • Une fois le message relayé, aucune information concernant ce message n’est stockée. • Un stateless Proxy server ne maintient aucun temporisateur et n’est donc pas en mesure de retransmettre un message.
  • 230.
    Les serveurs SIP:Le proxy server Dès que le proxy transmet le message, il oublie tout, il ne fait que transférer le message et ne se souvient de rien. On limite la charge du proxy server
  • 231.
    Les serveurs SIP:Le proxy server Cela semble évident, mais parce qu'un proxy stateless (sans état) est sans état, il ne stocke pas d'état, mais cela signifie également qu'il n'a pas besoin de rechercher des informations d'état ou de les réécrire;  ce qui le rend beaucoup plus rapide et généralement capable de gérer des charges d'appels plus importantes qu’un équivalent avec état.
  • 232.
    Les serveurs SIP:Le proxy server • Un stateful Proxy server garde une trace des requêtes et réponses relayées et utilise cette information mémorisée afin de traiter les messages à venir. • Le stateful Proxy server arme un temporisateur lors de l’envoi d’une requête et retransmet la requête s’il n’a pas reçu de réponse avant l’expiration de ce temporisateur.
  • 233.
    Les serveurs SIP:Le proxy server Un proxy stateful (avec état) de dialogue conserve les informations d'état pendant la durée de cette session (dialogue).
  • 234.
    Les serveurs SIP:Le proxy server Si nous voulons facturer en fonction de la durée d'un appel/d'une session, nous aurions besoin de stocker des informations d'état, comme l'ID d'appel, l'heure de début et de fin de l'appel. Nous ne pouvons le faire qu'avec un proxy stateful (avec état), car un proxy stateless (sans état) ne saurait pas à quelle heure l'appel a commencé.
  • 235.
    Les serveurs SIP:Le proxy server De plus, si nous voulions savoir si un utilisateur était en appel ou non, un proxy Dialog Stateful sait qu'il y a eu un 200 OK, mais pas encore Bye; donc il sait si un utilisateur est en appel ou non, c'est utile pour la présence. Un proxy avec état de dialogue est le plus gourmand en ressources, car il doit stocker l'état pendant toute la durée de la session.
  • 236.
    Les serveurs SIP:Le proxy server • Un stateful proxy server envoie généralement une réponse 100 Trying pour informer l’appelant que sa requête INVITE est en cours de traitement.
  • 237.
    Les serveurs SIP:Le proxy server • Un stateless proxy server n’émet jamais de réponse 100 Trying.
  • 238.
    Les serveurs SIP:Le Redirect server • Le Redirect server reçoit des requêtes mais ne traite que le header contenant l’adresse SIP du destinataire (To). • A partir de celle-ci, il renvoie à l’émetteur de la requête une liste des adresses correspondantes. • Ce type de serveur n’initie pas lui-même de requêtes, et ne peut pas être destinataire d’un appel.
  • 239.
    Les serveurs SIP:Le Redirect server Le Redirect server comme le Proxy server dispose d’une base de données ou d’un service de localisation pour déterminer l’adresse du destinataire qu’il retourne dans un header Contact de la réponse. Cette réponse du Redirect server est de type 3XX
  • 240.
    Les serveurs SIP:Le Redirect server Considérons l’exemple où Mary ne connaissant pas l’adresse IP de Mark envoie le message INVITE à un Redirect server. INVITE : sip : mark.rich@telecom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Maw-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 1 INVITE Contact: sip: mary.taylor@192.190.132.20 Content-Type: application/sd Content-Length: 162 v = 0 o = Mary 123456 123456 IN IP4 station1@cegetel.fr s = appel téléphonique c = IN IP4 192.190.132.20 t = 0 0 m = audio 45450 RTP/AVP 0
  • 241.
    Les serveurs SIP:Le Redirect server La réponse de redirection (301) à la requête INVITE est retournée par le Redirect server à Mary. SIP/2.0 301 Moved Permanently Via: SIP/2.0/UDP station1.cegetel.fr:5060 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 1 INVITE Contact: sip: mark.rich@193.188.23.16 Content-Length: 0
  • 242.
    Les serveurs SIP:Le Redirect server Mary confirme la reception de la réponse 301 (Réponse finale à une requête INVITE) par l’envoi d’une requête ACK à destination du Redirect server. ACK sip : mark.rich@telecom-dev.fr SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Maw-Forwards: 20 From: Mark Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456789@station1.cegetel.fr Cseq: 2 ACK Content-Length: 0
  • 243.
    Les serveurs SIP:Le Redirect server Un nouveau message INVITE est alors généré par Mary avec un nouveau Call-ID, qu’elle envoie directement à Mark. INVITE : sip : mark.rich@193.188.23.16 SIP/2.0 Via: SIP/2.0/UDP station1.cegetel.fr:5060 Maw-Forwards: 20 From: Mary Taylor<sip:mary.taylor@cegetel.fr> To: Mark Rich<sip:mark.rich@telecom-dev.fr> Call-Id: 23456790@station1.cegetel.fr Cseq: 3 INVITE Contact: sip: mary.taylor@192.190.132.20 Content-Type: application/sdp Content-Length: 162 v = 0 o = Mary 123456 123456 IN IP4 station1@cegetel.fr s = appel téléphonique c = IN IP4 192.190.132.20 t= 0 0 m = audio 45450 RTP/AVP 0
  • 244.
    Les serveurs SIP:Le Redirect server Les réponses 180 Ringing et 200 OK sont retournées directement par Mark à Mary ; Mary acquitte la réponse 200 OK par une requête ACK envoyée directement à Mark. Utilisation du Redirect server SIP
  • 245.
    Interfonctionnement entre SIP/RTC Pourl’interfonctionnement entre RTC et SIP, il est nécessaire d’introduire un Gateway RTC/SIP qui s’interface d’une part au RTC et d’autre part à réseau SIP. Ce Gateway a deux fonctions : – Traduction de la signalisation ISUP en signalisation SIP et inversement. – Conversion des signaux en paquets RTP et inversement ; en effet ce Gateway établit des canaux logiques RTP avec le terminal SIP et établit des circuits de parole avec un Class switch.
  • 246.
    Interfonctionnement entre SIP/RTC InterfonctionnementRTC/SIP un terminal relié au RTC appelle un terminal SIP. Le Class 5 Switch auquel est rattaché l’appelant, émet un message ISUP IAM(Initial address Message) au Gateway RTC/SIP.
  • 247.
    Interfonctionnement entre SIP/RTC InterfonctionnementRTC/SIP Ce message contient le numéro du destinataire, l’identificateur de circuit choisi par le Class 5 Swicth pour l’appel (CIC, Circuit Identification Code) ainsi que des informations indiquant la nature de l’appel (parole, fax, données, etc.).
  • 248.
    Interfonctionnement entre SIP/RTC InterfonctionnementRTC/SIP Le Gateway RTC/SIP traduit ce message en une requête SIP INVITE qui contient une adresse de destination SIP dont le champ user est un numéro de téléphone.
  • 249.
    Interfonctionnement entre SIP/RTC InterfonctionnementRTC/SIP Il passe le message au SIP Proxy server qui obtient l’adresse IP du destinataire à partir de l’adresse SIP par interrogation d’une base de données ou d’un serveur de localisation.
  • 250.
    Interfonctionnement entre SIP/RTC InterfonctionnementRTC/SIP Le message INVITE est relayé au terminal SIP. Parallèlement, le Proxy server notifie au Gateway la réception de la requête INVITE par la réponse 100 Trying.
  • 251.
    Interfonctionnement entre SIP/RTC InterfonctionnementRTC/SIP Le terminal SIP retourne au Proxy server une réponse 180 Ringing pour informer l’appelant de l’alerte de l’appelé, message relayé par le Proxy server au Gateway.
  • 252.
    Interfonctionnement entre SIP/RTC InterfonctionnementRTC/SIP Le Gateway traduit cette réponse en un message ISUP ACM (Address Complete Message) renvoyé au Class 5 Switch.
  • 253.
    Interfonctionnement entre SIP/RTC InterfonctionnementRTC/SIP Lorsque l’appelé décroche, une réponse 200 OK est retournée au Proxy server qui la relaye au Gateway.
  • 254.
    Interfonctionnement entre SIP/RTC InterfonctionnementRTC/SIP Le Gateway acquitte la réception de cette réponse par une requête ACK acheminée par le Proxy server au destinataire. Parallèlement, le Gateway génère un message ISUP ANM (Answer Message) émis au Class 5 Switch.
  • 255.
    Interfonctionnement entre SIP/RTC InterfonctionnementRTC/SIP Cet échange de signalisation a permis l’établissement de canaux RTP entre le terminal SIP et le Gateway et la mise en place d’un circuit de parole entre le Gateway et le Class 5 Switch.
  • 256.
    Interfonctionnement entre SIP/H.323 Uneentreprise peut disposer de PCs utilisant la signalisation H.323 et de nouveaux téléphones IP basés sur le protocole de signalisation SIP. Pour permettre l’établissement de sessions entre ces terminaux H.323 et SIP, il est nécessaire d’introduire un Gateway H.323/SIP.
  • 257.
  • 258.
    Interfonctionnement entre SIP/H.323 CeGateway traduit la signalisation H.323 en la signalisation SIP et inversement. Par contre les canaux RTP sont établis directement entre les terminaux, soit établis entre chaque terminal et le Gateway.
  • 259.
    Interfonctionnement entre SIP/H.323 InterfonctionnementH.323/SIP L’appelant (terminal H.323) émet un message RAS AdmissionRequest (ARQ) au Gatekeeper (GK) auprès duquel il s’est enregistré pour lui demander l’autorisation d’établir une session.
  • 260.
    Interfonctionnement entre SIP/H.323 InterfonctionnementH.323/SIP Le GK répond positivement par un message AmissionConfirm (ACF) indiquant au terminal H.323 d’envoyer directement au destinataire (ici le GW) la signalisation d’appel Q.931.
  • 261.
    Interfonctionnement entre SIP/H.323 InterfonctionnementH.323/SIP Le terminal H.323 émet un message Setup au GW en utilisant la procédure Fast Connect de la version 2 du protocole H.323.
  • 262.
    Interfonctionnement entre SIP/H.323 InterfonctionnementH.323/SIP A la réception du message, le GW émet un message ARQ au GK pour lui demander l’autorisation de répondre à l’appel.
  • 263.
    Interfonctionnement entre SIP/H.323 InterfonctionnementH.323/SIP Le GK lui retourne une réponse ACF.
  • 264.
    Interfonctionnement entre SIP/H.323 InterfonctionnementH.323/SIP Le GW traduit alors le message SETUP en une requête INVITE en recopiant les caractéristiques média du message Setup dans le message INVITE.
  • 265.
    Interfonctionnement entre SIP/H.323 InterfonctionnementH.323/SIP Ce dernier est relayé par le Proxy server au terminal SIP destinataire.
  • 266.
    Interfonctionnement entre SIP/H.323 InterfonctionnementH.323/SIP Une réponse d’information 180 Ringing est retournée par le terminal SIP au GW qui la traduit en un message Q.931 Alerting renvoyé au terminal H.323.
  • 267.
    Interfonctionnement entre SIP/H.323 InterfonctionnementH.323/SIP Le terminal SIP acceptant l’appel émet une réponse finale 200 OK contenant le média utilisé permettant au GW de produire un message Connect délivré au terminal H.323.
  • 268.
    Interfonctionnement entre SIP/H.323 InterfonctionnementH.323/SIP Le GW retourne une requête SIP ACK au terminal SIP pour acquitter la réception de la réponse finale 200 OK.
  • 269.
    Interfonctionnement entre SIP/H.323 InterfonctionnementH.323/SIP Ces échanges de signalisation ont permis l’établissement de canaux RTP directement entre les terminaux H.323 et SIP.

Notes de l'éditeur

  • #69 Avec les enregistrements SRV (Service Resource Records) on peut déterminer quels services sont proposés pour le domaine. Service: sip Protocole: tcp priorité Pondération Port cible
  • #89 Mémos dans les demandes de commentaires (RFC: request for comment) série de documents contiennent des notes techniques et organisationnelles sur l'Internet. Ils couvrent de nombreux aspects du réseautage informatique
  • #168 MIME: Multipurpose Internet Mail Extensions (MIME) ou Extensions multifonctions du courrier Internet1 est un standard internet qui étend le format de données des courrielspour supporter des textes en différents codage de caractères autres que l'ASCII, des contenus non textuels, des contenus multiples, et des informations d'en-tête en d'autres codages que l'ASCII.