Message Session Relay Protocol

MSRP (англ. Message Session Relay Protocol) - протокол передачи последовательности связанных мгновенных сообщений в рамках сеанса связи. Приложение создает сеанс c SDP протоколом  через протокол установления сеанса SIP.

MSRP протокол определен в RFC 4975. MSPR сообщения могут также передаваться с помощью посредников, при подключении расширений, определенных в RFC 4976.

MSRP используется в RCS для обмена мгновенными сообщениями, передачи файлов и обмена фотографиями.

Конструкция протокола

MSRP имеет схожий синтаксис с другими IETF протоколами, такими как SIP, HTTP и RTSP. Каждое сообщение запроса или ответа, использует идентификаторы URI. Сообщение содержит заголовок и тело, которое может содержать любой тип данных, включая двоичные данные. В отличие от SIP, MSRP протокол гораздо проще. Первых два заголовка должны содержать путь назначения и путь отправки, a последний - тип содержимого, что значительно снижает трудоемкость разбора сообщения. Сообщения должны заканчиваться семью символами тире ('-'). С помощью последней строчки сообщения становится намного проще определить его границы. MSRP не определен для протоколов без установления соединения, таких как UDP, таким образом можно быть уверенным, что ответ на запрос будет прибывать в том же соединении. MSRP использует надежный транспортный уровень, то есть, гарантирует доставку и поддерживает порядок сообщений, что еще больше упрощает структуру протокола.

Конструкция: MSRP URI  (который является "msrp" или "msrps"), адрес, определенный в RFC 3986, который содержит IP-адрес/доменное имя и порт, опциональный идентификатор сессии, протокол передачи данных и дополнительные необязательные параметры. Например:

msrp://atlanta.example.com:7654/jshA7weztas;tcp

  • msrp - URI
  • atlanta.example.com:7654 - адрес
  • jshA7weztas - идентификатор сессии
  • tcp -протокол передачи данных

Использование в SIP

MSRP могут быть использованы в рамках протокола SIP сессии:


Полный SDP пример, как это предусмотрено в документе RFC:

v=0
   o=alice 2890844526 2890844527 IN IP4 alice.example.com
   s= -
   c=IN IP4 alice.example.com
   t=0 0
   m=message 7394 TCP/MSRP *
   a=accept-types:text/plain
   a=path:msrp://alice.example.com:7394/2s93i9ek2a;tcp


Реализации

Библиотека с открытым исходным кодом реализована в следующих языках программирования:

Библиотеки

Клиенты

  • Blink - это кроссплатформенный SIP-клиент с поддержкой протокола MSRP.

Сервера

  • MSRP сервер имеет реализацию с открытым исходным кодом, написанным на Python.

Ссылки

См. также

  • SIMPLE
  • Session Initiation Protocol (SIP)
  • IP Multimedia Subsystem (IMS)
  • Rich Communication Suite (RCS)

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.