Back-to-Back User Agent (B2BUA)

1. Définition SIP Back-to-Back User Agent

Selon le RFC 3261, un B2BUA (SIP Back-to-Back User Agent) est une combinaison logique d’un UAC (User Agent Client) et d’un UAS (User Agent Server). Par contre, un proxy n’agit pas en tant que UA (User Agent).

Le RFC 7092 intitulé “A Taxonomy of Session Initiation Protocol (SIP) Back-to-Back User Agents” décrit des rôles de B2BUA dans le plan signalisation uniquement (Proxy-B2BUA, Signaling-only, SDP-Modifying Signaling-only) et des rôles de B2BUA sur le plan signalisation et media (Media Relay, Media Aware, Media Termination).

Le plan signalisation implique des opérations sur les en-têtes SIP mais les charges media SDP et RTP/RTCP ne sont pas vues.

Ensuite, le RFC illustre ces différents rôles en correspondance avec des périphériques d’infrastructure représentatifs :

  • SIP PBXs et Softswitches
  • Application Servers
  • Session Border Controllers
  • Transcoders
  • Conference Servers
  • Fonction P-CSCF (Proxy-Call Session Control Function), fonction IBCF (Interconnection Border Control Function) et Fonction S-CSCF (Serving-Call Session Control Function).

2. Conversation entre un PBX Asterisk et deux téléphones

Avec une topologie comprenant un B2BUA, le serveur établit un dialogue SIP respectivement avec chaque intervenant impliqué dans une session multimédia. Il est donc le seul à parler en SIP avec les différents UA.

Dans cet exemple l’utilisateur telephone1 (172.16.98.1) tente de joindre le numéro de téléphone 2302. Cet appel est “routé” jusqu’au périphérique telephone2 (172.16.98.145) par le B2BUA (172.16.98.101). Le B2BUA établit un dialogue avec chacun des deux UA qui doivent s’échanger une session multimédia. Dans ce cas, le B2BUA est UAS pour le terminal appelant et il est UAC pour le destinataire.

Il s’agit ici de constater la relation unique que chacun entretien avec le B2BUA (172.16.98.101).

Source : https://www.cloudshark.org/captures/b89478f0b2d8 (sip-2phones-B2BUA-Asterisk.pcapng)