CPIM 消息格式

CPIM 消息格式

SIP 协议详解 中提到过一种Sip body消息体格式Message/CPIM,这一节来了解一下CPIM消息格式。
CPIM (Common Presence and Instant Messaging) 是一种IM通信中的会话描述格式,其对应的传输协议可以是Sip(Session Initiation Protocol)。
CPIM具体的消息格式由 RFC3862 定义。

一、CPIM 消息举例

首先拿一个CPIM消息进行举例:

m: Content-type: Message/CPIM
s:
h: From: MR SANDERS <im:piglet@100akerwood.com>
h: To: Depressed Donkey <im:eeyore@100akerwood.com>
h: DateTime: 2000-12-13T13:40:00-08:00
h: Subject: the weather will be fine today
h: Subject:;lang=fr beau temps prevu pour aujourd'hui
h: NS: MyFeatures <mid:MessageFeatures@id.foo.com>
h: Require: MyFeatures.VitalMessageOption
h: MyFeatures.VitalMessageOption: Confirmation-requested
h: MyFeatures.WackyMessageOption: Use-silly-font
s:
e: Content-type: text/xml; charset=utf-8
e: Content-ID: <1234567890@foo.com>
e:
e: <body>
e: Here is the text of my message.
e: </body>

标签“m:”,“s:”,“h:”并不是消息格式的一部分,而是用来区分消息的不同部分,具体含义如下:

  • m: 整个消息的MIME消息头 Message/CPIM
  • s: 空格分隔行
  • h: 消息头
  • e: 包含消息内容在内的封装好的MIME对象

Message/CPIM由两部分实体构成:
第一部分为消息元数据Header,以上案例中的h
第二部分为消息内容,以上案例中的e
这两部分内容与按照其Content-type定义的MIME类型封装,且相互独立;he之间用用空格行隔开。

二、元数据Header中字段含义说明

Header解释示例
From消息的发送者或发起者 Indicates the sender or originator of a message.From: MR SANDERS im:piglet@100akerwood.com
To消息的接收者 Specifies an intended recipient of a message.To: Depressed Donkey im:eeyore@100akerwood.com
cc可以理解成抄送的目标接收者 Indicates a courtesy copy recipient of a message.cc: Winnie the Pooh im:pooh@100akerwood.com
DateTime消息的发送时间Specifies the date and time a message was sent.DateTime: 2000-12-13T13:40:00-08:00
Subject消息主题 和 语种描述Subject:;lang=en Eeyore’s feeling very depressed today
NS命名空间前缀 Declare a local namespace prefix.NS: MyAlias mid:MessageFeatures@id.foo.com
RequireSpecify a header or feature that must be implemented by the receiver for correct message processing.Require: MyFeatures.VitalMessageOption MyFeatures.VitalMessageOption: Confirmation-requested

参考:

RFC3862:https://tools.ietf.org/html/rfc3862

Instant Messaging and Presence Protocol:
https://en.wikipedia.org/wiki/Instant_Messaging_and_Presence_Protocol

CPM(Converged IP Messaging System Description):
https://www.openmobilealliance.org/release/CPM/V2_0-20130611-C/OMA-TS-CPM_System_Description-V2_0-20130611-C.pdf

========== THE END ==========

wx_gzh.jpg

bjxiaxueliang CSDN认证博客专家 Java OpenGL Android
一名普通Android程序员,专注Android、OpenGL ES、移动音视频等终端技术研发。
希望通过该博客分享自己的Android Coding心路。
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 29.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值