讯息会议中继协定(Message Session Relay Protocol,简称MSRP)是一基于SIP的即时消息(Instant Messaging)协议,可以在SIP的Session中进行文本交换与消息传递。
SIP中的应用
MSRP 可用于 SIP session:
- 一对一或一对多的即时通讯
- 传送文件
- 图片分享(Image Sharing)
MSRP session 的设定是基于 SIP 的“调用-回应” (offer-answer)[1]model. SDP m-line 媒体模式(media type)是 message 而且这个雏型是创建在 TCP/MSRP for MSRP(经由 TCP)以及 TCP/TLS/MSRP for MSRP (经由 secure TLS). 未来, MSRP URI 被定义在 path 属性当中。
一个完整的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
MSRP 包含地址(address)与端口(port)同时用 c-line 绑住地址,并透过 m-line 来包含端口。一般而言, 其他的媒体模式(media type)使用 c-line 和 m-line 来描述地址, 可是 MSRP RFC 是使用 MSRP path来实现. 这可能有一些问题, 特别是, B2BUA 可能需要一个替代的路径在不同设备中传递 MSRP message. 如要克服这点, RFC draft 会在设备中比对 MSRP paths, 必要时则加以改变。只有会议识别码(session ID)要加以比对。此法大大地简化了真实生活中的情境,而且可以改善网络共通性的问题。
注释
- ↑ RFC 3264, An Offer/Answer Model with the Session Description Protocol (SDP), IETF, The Internet Society (2002)
资源
- libMSRP, GPL