Protokol přenosu relace zpráv - Message Session Relay Protocol
V počítačových sítích je Protokol přenosu relace zpráv (MSRP) je protokol pro přenos řady souvisejících okamžitých zpráv v kontextu komunikační relace. Aplikace vytvoří instanci relace s Protokol popisu relace (SDP) Protokol zahájení relace (SIP) nebo jiné setkání metody.
Protokol MSRP je definován v RFC 4975.[1] Zprávy MSRP lze přenášet také pomocí peer zprostředkovatelů pomocí rozšíření přenosu definovaných v RFC 4976.[2]
MSRP se používá v RCS kontextu, zejména pro EU rychlé zprávy, přenos souboru a sdílení fotek funkce.
Návrh protokolu
MSRP má podobnou syntaxi jako ostatní textové protokoly IETF, jako je SIP, HTTP a RTSP. Každá zpráva je buď požadavek, nebo odpověď, používá se URI, zpráva obsahuje záhlaví a tělo, které může nést jakýkoli typ dat, včetně binárních informací. Na rozdíl od SIP je MSRP mnohem jednodušší. První 2 záhlaví musí být To-Path a From-Path a poslední musí být Content-Type, což významně snižuje složitost analyzátorů. Zprávy musí také končit 7 pomlčkami ('-'), za kterými následuje identifikátor transakce, který se objeví v prvním řádku, za nimi následuje příznak pokračování, kterým je jeden znak a konec řádku (CRLF). Tento poslední řádek na konci zpráv usnadňuje hledání a zjišťování hranic zpráv. MSRP není definován pro protokoly bez připojení, jako je UDP, takže si lze být jisti, že odpověď na požadavek by dorazila na stejné připojení. MSRP také spoléhá na spolehlivou transportní vrstvu, tj. Zaručuje doručení a udržuje pořadí zpráv, což dále zjednodušuje návrh protokolu.
MSRP URI má schéma (což je „msrp“ nebo „msrps“), oprávnění, jak je definováno RFC 3986, který obsahuje název IP / domény a případně port, volitelný identifikátor relace, přenos a další volitelné parametry. Například:
msrp: //atlanta.example.com: 7654 / jshA7weztas; tcp
msrp
je schémaatlanta.example.com: 7654
je orgánjshA7weztas
je identifikátor relacetcp
je doprava
Využití v SIP
MSRP lze použít v rámci a SIP zasedání:
- dělat rychlé zprávy v režimu one-to-one nebo one-to-many
- udělat přílohu přenos souboru
- udělat něco sdílení fotek (např., Sdílení obrázků ) na základě předchozí výměny schopností mezi koncovými body uživatele
Relace MSRP se nastavuje prostřednictvím nabídky a odpovědi SIP[3] Modelka. Typ média SDP m-line je zpráva a protokol je buď TCP / MSRP pro MSRP přes TCP a TCP / TLS / MSRP pro MSRP přes zabezpečený TLS. Dále je identifikátor URI MSRP uveden v a cesta atribut.
Celý příklad SDP, jak poskytuje RFC:
v = 0o = alice 2890844526 2890844527 IN IP4 alice.example.coms = -c = IN IP4 alice.example.comt = 0 0m = zpráva 7394 TCP / MSRP * a = přijmout-typy: text / plaina = cesta: msrp: / /alice.example.com:7394/2s93i9ek2a;tcp
Adresa a port jsou obsaženy v řádcích c a m, ale také v atributu cesty na řádku a. Jiné typy médií obecně používají k popisu adresy a portu linku c a linku m, ale MSRP RFC 4975 oddíl 8.1 říká, že atribut cesty je autoritativním zdrojem pro MSRP.
Implementace
Obecná a otevřená partnerská knihovna s otevřeným zdrojovým kódem je implementována v následujících programovacích jazycích:
Knihovny
- Peer knihovna Java MSRP, který se objevil[4] následující porty:
- C # /. Čistá verze
- Java ME
- Python MSRPlib
Klienti
- Blikat je multiplatformní klient SIP s podporou protokolu MSRP.
Servery
- Relé MSRP má implementaci open source napsanou v Pythonu, tady.
- Přepínač MSRP má implementaci open source napsanou v Pythonu, tady.
- Kamailio SIP server má zabudované open source MSRP relé napsané v C, tady.
Viz také
- JEDNODUCHÝ
- Protokol zahájení relace (SIP)
- IP multimediální subsystém (IMS)
- Bohatá komunikační sada (RCS)
Reference
- ^ RFC 4975, Protokol přenosu relace zpráv (MSRP), B. Campbell (ed.), R. Mahy (ed.), C. Jennings (ed.), The Internet Society (září 2007)
- ^ RFC 4976, Reléová rozšíření pro protokol přenosu relace zpráv (MSRP), C. Jennings (ed.), R. Mahy (ed.), A. B. Roach (ed.), The Internet Society (září 2007)
- ^ RFC 3264, Model nabídka / odpověď s protokolem Session Description Protocol (SDP), IETF, The Internet Society (2002)
- ^ [1] Webová stránka peer knihovny MSRP Java