CopyrightEFORT2016 1
Signalisation dans l’architecture WebRTC
EFORT
http://www.efort.com
1. WebRTC
WebRTCoffreunecommunicationtempsréeldemanièrenativeàpartird’unnavigateur
Web.LesnavigateursWebs’échangentdirectementdesfluxdedonnéesmultimédia;aucun
serveurintermédiairen’estimpliqué.WebRTCestun«mediaengine»avecdesAPIs
Javascript.
LesAPIssontnormaliséesparleWebReal-TimeCommunicationsWorkingGroupduWorld
WideWebConsortium(W3C)etl’ensembledesprotocolesdecommunicationparleReal-
TimeCommunicationinWEB-browsersWorkingGroupdeInternetEngineeringTaskForce
(IETF).
WebRTCestunetechnologiemaisn’estpasunesolution.Ilfautdévelopperleserviceà
partirdeWebRTC.
BienquelacommunicationdebaseWebRTCutiliselemodepeer-to-peer,l’étapeinitiale
d’établissementdecettecommunicationrequiertdelacoordination.
CettecoordinationestfournieparunserveurWebet/ouunserveurdesignalisation.
CelapermetàdeuxouplusieursnavigateursWebdisposantdelacapacitéWebRTCdese
joindre,d’échangerlesinformationsdecontact,denégocierunesessionquidéfinitla
manièredontilsvontcommuniquer,puisfinalementd’établirlescanauxmédiapeer-to-peer
pourletransportdesfluxmédiaéchangésdirectemententreeux.
LestandardWebRTCnedéfinitpasleprotocoledesignalisationàutiliseretcommentmettre
enœuvrecettesignalisation.ChaquesolutionWebRTCdoitdéfinirsonpropreprotocolede
signalisationouréutiliserunprotocoleexistant.Cependant,danslecontextede
l’interfonctionnemententreWebRTCetl’architecturederéseauetdeserviceIMSdes
opérateursdetélécommunication(VoLTE,WiFiCalling,VoixsurIPfixerésidentielleet
entreprises),l’usagedeSIPesttrèsapproprié.
LebutdecetutorielestdedécrireleplandesignalisationWebRTCetdemontrercomment
utiliserSIPcommeprotocoledesignalisation.
2. WebRTC et signalisation
Uncanaldesignalisationestnécessaireafind’échangertroistypesd’informationentre
peersWebRTC:
Contrôledesessionmédia:établiretlibérerlacommunication
Configurationréseaudesnœuds:adressedetransport(adresseIPetnumérode
port)pourl’échangedesdonnéestempsréelsmêmeenprésencedeNAT
Capacitésmultimédiadesnœuds:médiassupportés,codecsdisponibles,résolutions
supportées,fréquenced’envoidespaquets,etc.
Aucunfluxmédianepeutêtreéchangétantquelesinformationsci-dessusn’ontpasété
proprementéchangéesetnégociées.
HTTPpeutêtreutilisépourtransporterlasignalisationWebRTC.Unnavigateurpeutinitier
unenouvellerequêteHTTPpourenvoyeretrecevoirl’informationdesignalisationau/du
serveur.L’informationpeutêtretransportéevialesméthodesHTTPGETouPOST,oudans
lesréponses.SileserveurutilisépourlasignalisationsupportelemécanismeCORS(Cross