Le mécanisme de signalisation d'appels
SIP, largement utilisé pour la
téléphonie sur IP, dépend de serveurs
stables et connectés en permanence (proxies,
registrars, etc), pour la mise en relation des
participants. Une solution entièrement
pair-à-pair est en cours de développement,
P2PSIP (peer to peer SIP). Ce nouveau
RFC décrit ses concepts et le vocabulaire
qu'elle emploie.
C'est en effet le cœur du problème de toute solution
pair-à-pair sur l'Internet : le
rendez-vous. Comment deux machines pas
toujours allumées, pas toujours connectées, coincées derrière des
équipements qui leur interdisent les connexions entrantes,
peuvent-elles rentrer en relation ? Si Alice appelle Bob via des
téléphones SIP, comment faire sonner la
machine de Bob, bloquée derrière son routeur
NAT ? La solution classique de SIP () est de d'abord faire correspondre une adresse SIP
(appelée AoR pour Address of Record) avec un ou
plusieurs URI, qui indiquent les machines à
contacter. Ces machines sont des intermédiaires, reliés à
l'Internet en permanence, et qui peuvent donc tout le temps
recevoir le message INVITE d'établissement de
connexion (cf. ). L'idée de base du
SIP pair-à-pair, P2PSIP, est de remplacer ces intermédiaires, ces
relais, par un réseau P2P.
Le mécanisme exact, nommé RELOAD, est spécifié dans le (notez que le protocole RELOAD peut
servir à d'autres applications que SIP). Les machines des utilisateurs
s'enregistrent dans une DHT, où les
appelants vont trouver le moyen de les contacter. (Par défaut, la
DHT utilisée est Chord.)
La section 2 de notre RFC donne une présentation générale de la
solution complète. Un réseau pair-à-pair
overlay sert à établir
la correspondance entre adresses (AoR) et les URI indiquant les
moyens de connexion. Ce même réseau sert également à acheminer les
messages SIP, si les machines d'Alice et Bob n'arrivent pas à se
parler directement (un problème fréquent dans l'Internet ossifié
et fermé d'aujourd'hui). Ce réseau overlay de
pairs stocke les correspondances, et les duplique sur plusieurs
nœuds (comme dans tout réseau pair-à-pair, chaque machine peut
faire défection à tout moment). Ce sont les services de base de
l'overlay, ceux qui sont absolument
indispensables au bon fonctionnement de P2PSIP. Mais certains
pairs peuvent accepter de participer à d'autres services, comme un
service de répondeur audio, pour les cas où Bob a éteint sa
machine (cf. ). De même, certains
pairs peuvent assurer des services de proxy ou
de registrar SIP traditionnel, pour permettre
aux clients SIP anciens de se connecter via P2PSIP.
On n'est pas obligé d'être un pair dans ce réseau P2PSIP. Un
softphone SIP peut être
un simple client, utilisant les services de
l'overlay sans y contribuer.
Notez qu'il existe d'autres moyens de faire du SIP sans
l'appareil traditionnel des serveurs relais centraux. Ces moyens
sont en général limités au réseau local (par exemple les et ).
Le cœur du RFC est sa section 4, qui regroupe les
définitions. Je ne vais pas les reprendre ici. La plupart sont
classiques dans le monde du pair-à-pair
(overlay,
peer...). À noter les
termes de Node ID (l'identificateur unique d'un
pair - , section 4.1) et de peer admission (le mécanisme par
lequel on admet un nouveau pair : RELOAD permet un réseau fermé,
où il faut montrer patte blanche à un serveur
d'inscription avant de rentrer - , section 11.3.)