计 算 机 系 统 应 用 2010 年 第 19 卷 第 10 期 基 于 MSRP 的 离 线 消 息 服 务 系 统 的 研 究 与 设 计 1 朱 海 楠 马 跃 张 伟 ( 中 国 科 学 院 沈 阳 计 算 技 术 研 究 所 辽 宁 沈 阳 110171) 摘 要 : 即 时 消 息 作 为 一 种 新 的 通 信 方 式, 业 务 扩 展 范 围 非 常 广 泛 提 出 了 一 种 基 于 消 息 会 话 中 继 协 议, 即 MSRP 协 议 的 通 信 服 务 器 集 群 的 实 现 框 架, 能 够 支 持 SIP 系 统 中 的 离 线 消 息 业 务 首 先 针 对 MSRP 协 议 工 作 在 会 话 模 式 下 的 特 性, 提 出 了 服 务 系 统 的 整 体 设 计 思 想, 并 研 究 分 析 了 转 储 和 推 送 离 线 消 息 的 信 令 流 程 然 后 提 出 了 通 信 服 务 器 集 群 的 实 现 方 案 和 集 群 内 部 的 通 信 框 架 服 务 系 统 能 够 在 SIP 软 终 端 的 配 合 下 处 理 基 于 MSRP 的 离 线 消 息 业 务 关 键 词 :MSRP 协 议 ; 离 线 消 息 ; SIP 协 议 ; MSCP 草 案 ; 服 务 器 集 群 系 统 Research and Design of Offline Message Server System Based on MSRP ZHU Hai-Nan, MA Yue, ZHANG Wei (Shenyang Institute of Computing Technology, CAS, Shenyang 110171, China) Abstract: Instant messaging, a new method of communication, has served as a method of communication in many businesses. This paper presents a framework for the communication server cluster used in MSRP instant messaging business. It offers good support for the offline message business in SIP system. Considering MSRP s working under session mode, the paper presents an overall design method, and researches and analyzes the signaling process of offline message storage and transmission. Then, the server cluster implementation schedule and the communication framework inside cluster is also presented. The server system is capable of handling the MSRP offline messaging business in cooperation with the SIP softphone. Keywords: MSRP; offline message; SIP; MSCP draft; server cluster system IM(Instant Messaging), 即 时 消 息 业 务 [1] 作 为 一 种 实 时 的 互 联 网 交 流 方 式, 给 用 户 带 来 了 很 多 新 颖 的 通 信 体 验 随 着 即 时 通 讯 业 务 的 发 展, 离 线 消 息, 群 组 消 息, 聊 天 机 器 人 等 业 务 随 之 产 生, 用 户 的 需 求 日 趋 多 样 化 目 前 针 对 IM 服 务 器 的 相 关 研 究, 多 数 是 基 于 SIP 协 议 [2] 扩 展 方 法 SIP MESSAGE [3] 展 开 的,SIP MESSAGE 方 法 适 合 传 输 短 小 的 消 息 IETF 工 作 组 提 出 了 一 种 专 门 用 于 数 据 媒 体 传 输 的 协 议,MSRP (Message Session Relay Protocol, 消 息 会 话 中 继 协 议 ), 用 于 实 现 基 于 会 话 模 式 的 即 时 消 息 业 务 MSRP 协 议 规 定 了 点 对 点 即 时 消 息 传 输 的 框 架 流 程, 但 尚 未 明 确 规 定 离 线 消 息 扩 展 业 务 的 实 现 框 架 本 文 针 对 MSRP 的 特 性, 并 结 合 SIP 框 架 下 其 他 相 关 协 议 标 准, 提 出 了 一 种 在 SIP 系 统 中 处 理 用 户 终 端 离 线 消 息 的 IM 服 务 器 集 群 的 设 计 方 案, 解 决 了 用 户 终 端 在 利 用 MSRP 协 议 进 行 IM 通 信 时 离 线 消 息 的 存 储 推 送 问 题 这 种 服 务 框 架 同 时 支 持 基 于 MSRP 的 群 组 消 息, 聊 天 机 器 人 业 务 但 限 于 篇 幅, 本 文 仅 针 对 离 线 消 息 业 务 进 行 详 细 论 述, 包 括 用 户 终 端 和 服 务 端 的 通 信 过 程 以 及 服 务 器 集 群 的 内 部 通 信 框 架 1 相 关 技 术 简 介 1.1 MSRP 协 议 与 MSRP 端 对 端 会 话 MSRP 由 IETF(Internet Engineering Task Force) 工 作 组 提 出, 是 一 个 是 基 于 文 本 且 面 向 连 接 的 1 收 稿 时 间 :2010-01-18; 收 到 修 改 稿 时 间 :2010-02-15 12 系 统 建 设 System Construction
2010 年 第 19 卷 第 10 期 计 算 机 系 统 应 用 协 议, 用 来 传 输 MIME 格 式 内 容, 尤 其 是 即 时 消 息 [4] 协 议 规 定 了 TCP 连 接 共 享 数 据 分 块 错 误 信 息 报 告 等 机 制, 以 保 障 即 时 消 息 能 够 高 效 可 靠 地 传 输 MSRP 通 过 端 与 端 之 间 SIP 信 令 的 交 互 来 建 立 媒 体 会 话 会 话 建 立 过 程 与 SIP 框 架 下 的 音 视 频 媒 体 会 话 的 建 立 过 程 相 似, 都 是 遵 照 offer/answer 模 型 [5] 来 建 立 媒 体 终 端 通 过 INVITE / 200 OK / ACK 过 程, 得 到 对 端 信 令 中 所 携 带 的 SDP(Session Description Protocol) [6] 消 息 体 SDP 消 息 体 中 包 含 了 MSRP 媒 体 描 述 信 息,MSRP 端 点 相 互 协 商 媒 体 描 述 信 息 后, 建 立 一 条 端 到 端 MSRP 媒 体 传 输 通 道 终 端 通 过 该 传 输 通 道 安 全 可 靠 地 传 递 即 时 消 息 1.2 第 三 方 呼 叫 控 制 第 三 方 呼 叫 控 制 [7](3PCC, Third Party Call Control) 指 的 是 由 第 三 方 控 制 者 在 另 外 两 者 之 间 建 立 一 个 媒 体 会 话, 由 控 制 者 负 责 会 话 双 方 的 媒 体 协 商 控 制 者 使 用 SIP 信 令 中 的 SDP 消 息 体 协 商 在 双 方 之 间 建 立 会 话,RFC 3725 规 定 了 四 种 3PCC 的 标 准 SIP 呼 叫 流 程, 它 们 有 各 自 的 优 点 和 缺 点, 这 里 不 再 赘 述 本 文 采 用 3PCC 机 制 来 帮 助 集 群 内 部 的 媒 体 服 务 器 节 点 与 用 户 终 端 建 立 会 话 2 离 线 消 息 服 务 系 统 的 研 究 与 设 计 2.1 基 于 SIP 系 统 的 实 现 框 架 的 研 究 首 先, 本 文 的 设 计 目 标 是 在 一 个 SIP 系 统 中 部 署 一 个 基 于 MSRP 的 服 务 端 这 个 服 务 端 能 够 接 收 并 保 存 某 个 已 登 录 用 户 终 端 发 送 给 尚 未 登 录 用 户 终 端 的 离 线 消 息, 并 在 离 线 用 户 终 端 登 录 后 将 服 务 器 保 存 的 离 线 消 息 推 送 给 这 个 新 登 录 的 用 户 不 同 于 SIP MESSAGE,MSRP 协 议 面 向 连 接 的 特 性 要 求 它 在 传 送 消 息 之 前 必 须 建 立 媒 体 会 话 本 文 将 离 线 消 息 服 务 端 设 计 为 B2BUA(Back-to-Back UserAgent, 背 对 背 用 户 代 理 ) 类 型 的 SIP 服 务 端 B2BUA 是 SIP 系 统 中 的 一 个 逻 辑 实 体, 同 时 具 备 用 户 代 理 客 户 端 (UAC) 和 用 户 代 理 服 务 器 (UAS) 的 行 为, 能 够 建 立 或 终 止 SIP 会 话 [2] 用 户 终 端 与 服 务 端 的 通 信 过 程 如 图 1 所 示 图 1 中 B2BUA 代 表 离 线 消 息 服 务 系 统 虽 然 它 是 一 个 集 群 系 统, 但 对 于 集 群 外 部 的 SIP 逻 辑 实 体, 它 可 以 被 看 作 是 一 个 单 一 的 B2BUA 服 务 器 它 们 与 唯 一 一 个 服 务 端 通 信 图 中 UA(User Agent, 用 户 代 理 [2]) 代 表 终 端,Proxy 是 指 代 理 服 务 器 [2] 虚 线 两 端 的 箭 头 代 表 MSRP 会 话 通 道, 实 线 两 端 箭 头 代 表 SIP 信 令 通 道 图 1 SIP 系 统 中 的 B2BUA 通 常 情 况 下, 如 果 一 个 终 端 需 要 给 另 一 个 终 端 发 送 即 时 消 息,SIP 请 求 会 通 过 Proxy 被 转 送 到 目 标 终 端 进 行 媒 体 协 商 但 这 种 流 程 只 适 用 于 两 个 用 户 终 端 都 在 线 的 情 况, 不 适 合 离 线 消 息 业 务 因 为 MSRP 消 息 交 互 需 要 预 先 建 立 连 接, 离 线 用 户 是 无 法 建 立 连 接 的 考 虑 到 B2BUA 服 务 器 具 备 UA 的 行 为, 本 文 采 用 B2BUA 来 代 替 离 线 用 户 与 之 建 立 MSRP 会 话 通 道 并 接 收 消 息 用 户 可 以 像 和 另 一 终 端 交 互 即 时 消 息 一 样 与 服 务 端 交 互 即 时 消 息 为 了 能 够 与 终 端 建 立 交 互 通 道,B2BUA 需 要 支 持 对 MSRP 媒 体 描 述 信 息 的 处 理 这 可 以 由 服 务 端 的 媒 体 协 议 栈 来 负 责 媒 体 协 商, 并 管 理 和 维 护 MSRP 会 话 2.2 离 线 消 息 业 务 的 SIP 信 令 流 程 研 究 终 端 向 服 务 端 发 送 离 线 消 息 的 信 令 流 程 如 图 2 所 示 图 2 离 线 消 息 存 储 的 流 程 System Construction 系 统 建 设 13
计 算 机 系 统 应 用 2010 年 第 19 卷 第 10 期 当 一 个 终 端 向 一 个 离 线 的 终 端 发 送 离 线 消 息 时, 通 常 它 不 知 道 这 个 用 户 是 否 真 正 离 线, 比 如 : 这 个 用 户 可 能 处 在 隐 身 在 线 状 态, 也 可 能 处 在 离 线 状 态 所 以, 它 不 能 直 接 向 B2BUA 发 起 呼 叫, 而 是 向 目 标 终 端 发 起 呼 叫 代 理 服 务 器 收 到 主 叫 发 送 的 INVITE 请 求 后, 如 果 被 叫 终 端 在 线, 代 理 服 务 器 会 将 这 个 请 求 转 发 给 被 叫 终 端, 使 主 叫 和 被 叫 建 立 会 话 如 果 被 叫 尚 未 登 录, 代 理 服 务 器 会 将 这 个 INVITE 请 求 转 发 给 B2BUA, 而 不 是 给 主 叫 回 送 404( 未 找 到 ) 响 应 B2BUA 通 过 主 叫 请 求 行 的 To 头 域 得 到 离 线 被 叫 的 URI, 并 代 替 离 线 的 被 叫 给 主 叫 回 复 200 OK INVITE / 200 OK / ACK 过 程 后, 主 叫 和 B2BUA 建 立 了 会 话 主 叫 将 离 线 消 息 通 过 MSRP 通 道 发 送 给 B2BUA 服 务 器 服 务 端 暂 时 保 管 离 线 消 息, 待 离 线 用 户 登 录 后, 将 保 管 的 消 息 推 送 给 它 发 送 消 息 完 毕 后, 主 叫 通 过 发 送 SIP BYE 终 止 会 话,B2BUA 服 务 器 不 会 主 动 终 止 会 话 离 线 消 息 服 务 器 向 新 登 录 的 用 户 推 送 消 息 的 流 程 如 图 3 所 示 首 先, 用 户 终 端 发 送 REGISTER 请 求 向 注 册 服 务 器 登 录 由 于 B2BUA 已 经 向 PRESENCE 服 务 器 订 阅 了 用 户 的 注 册 状 态 信 息, 这 时 PRESENCE 服 务 器 会 通 过 NOTIFY 给 B2BUA 发 送 通 知, 通 过 PRESENCE 事 件 包 将 这 个 用 户 的 注 册 状 态 信 息 发 送 给 B2BUA 注 册 服 务 器,PRESENCE 服 务 器 与 代 理 服 务 器 Proxy 的 关 系 不 在 本 文 中 赘 述, 图 3 中 不 包 括 注 册 服 务 器 和 PRESENCE 服 务 器, 仅 用 Proxy 来 表 示 B2BUA 解 析 PRESENCE 事 件 包 得 到 新 登 录 用 户 的 URI, 如 果 服 务 器 中 保 存 有 发 送 给 这 个 URI 的 离 线 消 息, 则 将 相 关 的 消 息 推 送 给 这 个 新 登 录 的 用 户 终 端 B2BUA 主 动 向 新 登 录 终 端 发 起 呼 叫, 用 离 线 消 息 发 送 者 的 URI 来 设 置 From 头 域, 与 UA 建 立 会 话, 将 消 息 通 过 MSRP 通 道 推 送 给 UA 消 息 推 送 完 毕 之 后, B2BUA 通 过 SIP BYE 结 束 会 话 这 样 的 通 信 框 架 可 以 减 少 对 SIP 系 统 中 其 他 逻 辑 实 体 的 影 响, 比 如 代 理 服 务 器 和 用 户 代 理, 它 们 不 需 要 做 过 多 的 修 改 2.3 B2BUA 服 务 器 集 群 的 设 计 2.3.1 一 种 集 群 式 的 框 架 结 构 对 于 离 线 消 息 服 务 系 统 外 部 的 SIP 逻 辑 实 体, 离 线 消 息 服 务 系 统 被 看 成 是 一 台 单 一 的 B2BUA 服 务 器 通 信 时, 将 其 当 作 单 服 务 器 对 待 离 线 消 息 服 务 系 统 内 部 并 非 由 唯 一 一 台 服 务 器 构 成 因 为 当 与 很 多 用 户 同 时 通 信 时, 服 务 系 统 的 负 载 会 很 大, 单 服 务 器 难 以 满 足 性 能 需 求 本 文 提 出 了 一 种 集 群 模 式 的 服 务 器 系 统 来 实 现 离 线 消 息 业 务, 以 提 高 系 统 整 体 的 业 务 处 理 能 力 离 线 消 息 服 务 端 是 多 个 服 务 器 组 建 的 一 个 服 务 器 集 群, 如 图 4 所 示, 这 个 服 务 器 集 群 由 一 个 应 用 服 务 器 [8](AS,Application Server) 和 多 个 媒 体 服 务 器 [8] (MS,Media Server) 组 成 图 4 集 群 系 统 的 内 部 通 信 框 架 图 3 离 线 消 息 推 送 的 流 程 媒 体 服 务 器 负 责 离 线 消 息 的 转 储 推 送 工 作 UA 直 接 与 媒 体 服 务 器 建 立 MSRP 会 话, 而 不 是 与 应 用 服 务 器 建 立 会 话 每 个 媒 体 服 务 器 要 管 理 它 与 UA 之 间 的 多 个 MSRP 通 道 通 过 这 些 MSRP 通 道, 媒 体 服 务 器 与 UA 进 行 即 时 消 息 的 交 互 在 实 现 离 线 消 息 业 务 时, 媒 体 服 务 器 产 生 的 负 载 要 远 多 于 应 用 服 务 器 因 为 媒 体 服 务 器 要 处 理 大 量 离 线 消 息 数 据, 存 储 和 检 索 这 些 消 息 数 据 需 要 大 量 的 耗 时 操 作, 而 应 用 服 务 器 仅 处 理 SIP 信 令, 开 销 要 小 得 多 所 以, 集 群 由 多 个 媒 体 服 务 器 节 点 组 成, 以 分 担 MSRP 数 据 处 理 所 带 来 的 开 销 14 系 统 建 设 System Construction
2010 年 第 19 卷 第 10 期 计 算 机 系 统 应 用 集 群 中 只 有 应 用 服 务 器 对 集 群 外 部 的 逻 辑 实 体 是 可 见 的, 所 有 的 媒 体 服 务 器 对 外 部 逻 辑 实 体 都 是 不 可 见 的 在 用 户 终 端 看 来, 它 将 离 线 消 息 发 送 给 应 用 服 务 器, 而 实 际 处 理 离 线 消 息 的 是 媒 体 服 务 器 用 户 终 端 和 其 他 逻 辑 实 体 认 为 只 有 一 台 应 用 服 务 器 在 处 理 离 线 消 息, 这 种 结 构 简 化 了 用 户 终 端 和 其 他 逻 辑 实 体 的 实 现 难 度 2.3.2 MSRP 会 话 的 建 立 用 户 终 端 与 媒 体 服 务 器 之 间 没 有 直 接 的 SIP 信 令 交 互 过 程, 它 们 都 认 为 自 己 在 和 应 用 服 务 器 进 行 通 信 应 用 服 务 器 负 责 与 集 群 外 部 的 逻 辑 实 体 和 媒 体 服 务 器 进 行 SIP 信 令 的 交 互, 它 不 具 备 处 理 媒 体 的 能 力 集 群 由 应 用 服 务 器 协 助 用 户 终 端 与 媒 体 服 务 器 建 立 或 终 止 MSRP 会 话 存 储 消 息 时, 信 令 流 程 如 图 5(a), 用 户 终 端 的 请 求 携 带 了 offer sdp, 应 用 服 务 器 将 这 个 offer sdp 拷 贝 到 它 向 媒 体 服 务 器 发 送 的 请 求 中, 这 样 媒 体 服 务 器 得 到 了 UA 的 媒 体 协 商 信 息 同 样,UA 也 可 以 得 到 媒 体 服 务 器 的 协 商 信 息 媒 体 服 务 器 和 UA 之 间 通 过 这 种 方 式 建 立 会 话 推 送 消 息 时, 采 用 SIP 3PCC 中 所 定 义 的 一 种 流 程 来 建 立 会 话, 如 图 5(b) 所 示 应 用 服 务 器 将 媒 体 服 务 器 回 应 的 offer sdp 作 为 请 求 中 的 offer sdp 发 送 给 UA 这 时, 应 用 服 务 器 是 3PCC 中 的 第 三 方, 由 它 来 控 制 媒 体 的 建 立 图 5 终 端 与 媒 体 服 务 器 的 会 话 建 立 过 程 这 种 3PCC 流 程 并 不 会 产 生 超 时 因 为 媒 体 服 务 器 不 像 用 户 终 端, 在 收 到 请 求 后, 它 会 立 即 给 应 用 服 务 器 回 应 200 OK, 不 存 在 超 时 问 题 通 过 这 样 的 方 式, 系 统 可 以 实 现 由 应 用 服 务 器 自 由 选 择 一 台 合 适 的 媒 体 服 务 器 建 立 媒 体 2.3.3 负 载 均 衡 调 度 策 略 应 用 服 务 器 如 何 选 择 一 台 恰 当 的 媒 体 服 务 器 与 UA 建 立 会 话 呢? 如 果 是 服 务 端 向 新 登 录 用 户 推 送 离 线 消 息, 应 用 服 务 器 会 选 择 保 存 该 用 户 离 线 消 息 的 那 个 媒 体 服 务 器 节 点 与 之 建 立 会 话 ; 如 果 是 用 户 向 服 务 端 发 送 离 线 消 息, 则 由 应 用 服 务 器 中 的 负 载 平 衡 器 通 过 一 种 负 载 平 衡 策 略 来 选 择 负 载 最 小 的 那 个 媒 体 服 务 器 与 用 户 终 端 建 立 媒 体 层 的 通 信 通 道 负 载 均 衡 调 度 策 略 采 用 加 权 后 的 最 少 连 接 数 调 度 算 法, 这 里 的 连 接 数 指 每 个 媒 体 服 务 器 活 跃 的 MSRP 会 话 连 接 的 数 目, 由 应 用 服 务 器 来 选 取 集 群 中 的 加 权 后 连 接 数 最 小 的 那 台 媒 体 服 务 器 媒 体 服 务 器 的 主 要 负 载 来 自 MSRP 连 接 的 处 理 和 数 据 的 发 送 接 收, 最 小 连 接 调 度 算 法 能 把 负 载 平 滑 到 各 个 媒 体 服 务 器 上 S = min{ Count( Si) Weight( Si) } (1) S i 代 表 集 群 中 第 i 个 媒 体 服 务 器 ;Count 代 表 MSRP 连 接 的 数 目 ;Weight 代 表 服 务 器 处 理 能 力 权 重 系 数, 不 同 的 服 务 器 节 点 处 理 能 力 可 能 有 所 不 同, 性 能 越 好 的 节 点 权 值 越 大 应 用 服 务 器 的 负 载 平 衡 器 为 集 群 中 的 每 个 媒 体 服 务 器 节 点 保 存 当 前 活 跃 的 MSRP 连 接 数 目, 并 在 MSRP 通 道 建 立 或 终 止 时 修 正 平 衡 器 中 的 连 接 数 目 虽 然 MSRP 会 话 的 建 立 和 销 毁 是 由 UA 与 媒 体 服 务 器 协 商 完 成 的, 但 建 立 和 销 毁 的 过 程 是 在 应 用 服 务 器 的 控 制 下 完 成 的 3PCC 可 以 使 应 用 服 务 器 了 解 MSRP 会 话 的 连 接 情 况, 并 实 时 的 更 新 MSRP 媒 体 连 接 的 数 目 统 计 2.3.4 MSCP 控 制 包 的 扩 展 由 于 应 用 服 务 器 与 媒 体 服 务 器 各 自 承 担 的 工 作 不 同, 它 们 之 间 需 要 一 种 支 持 离 线 消 息 业 务 的 协 同 机 制 MSCP(Media Server Control Protocol)[8] 是 IETF 提 出 的 一 个 草 案, 可 以 用 来 在 应 用 服 务 器 和 媒 体 服 务 器 之 间 传 递 控 制 信 息 本 文 选 择 了 MSCP 来 传 递 实 现 离 线 消 息 业 务 所 必 要 的 控 制 信 息 同 MSRP 一 样, MSCP 需 要 利 用 offer/answer 过 程 建 立 一 个 可 靠 连 接 作 为 控 制 通 道 与 MSRP 媒 体 通 道 不 同, 控 制 通 道 只 需 要 建 立 一 次 控 制 信 息 以 XML 文 档 方 式 封 装 在 MSCP 消 息 单 元 的 内 部, 但 MSCP 草 案 只 对 IVR 和 数 System Construction 系 统 建 设 15
计 算 机 系 统 应 用 2010 年 第 19 卷 第 10 期 据 会 议 明 确 了 控 制 信 息 的 参 考 规 范, 并 没 有 提 出 针 对 离 线 消 息 业 务 的 规 范 为 了 满 足 离 线 消 息 业 务 对 系 统 的 需 求, 本 文 将 对 MSCP 控 制 包 进 行 扩 展 媒 体 服 务 器 按 照 离 线 消 息 的 来 源 和 目 标 存 储 离 线 消 息, 它 需 要 知 道, 从 一 个 MSRP 通 道 中 读 取 的 离 线 消 息 是 由 谁 发 送 给 谁 的 它 还 要 知 道, 在 推 送 消 息 时, 目 标 用 户 URI 所 对 应 的 MSRP 通 道 但 由 于 媒 体 服 务 器 和 用 户 终 端 都 认 为 在 和 应 用 服 务 器 通 信, 媒 体 服 务 器 不 知 道 它 从 一 个 MSRP 通 道 中 读 取 的 数 据 的 来 源 和 预 期 目 标 应 用 服 务 器 将 这 些 信 息 与 媒 体 通 道 的 对 应 关 系 传 递 给 媒 体 服 务 器 为 了 传 递 对 应 关 系, 本 文 采 用 MSCP 规 定 的 请 求 - 响 应 事 务 模 型, 对 MSCP 控 制 包 进 行 了 如 下 扩 展 : 存 储 用 户 消 息 时, 应 用 服 务 器 给 媒 体 服 务 器 发 送 MSCP 请 求 <request> <RestoreMsg from-uri="uri1" to-uri= "uri2" connection\ -id="connection1"/> </request> connection-id 参 照 MSCP 草 案 中 的 定 义, 标 识 当 前 SIP 对 话 及 该 对 话 对 应 的 MSRP 会 话,from-uri 是 消 息 发 送 用 户 的 URI,to-uri 是 消 息 预 期 接 收 用 户 的 URI, 然 后 媒 体 服 务 器 响 应 这 个 请 求 <response> <MsgRestored from-uri="uri1" to-uri= "uri2" connectio\ n-id="connection1"/> </response> 应 用 服 务 器 得 知 用 户 终 端 登 录 后, 向 媒 体 服 务 器 发 送 MSCP 请 求, 让 媒 体 服 务 器 推 送 离 线 消 息, 媒 体 服 务 器 回 应 请 求, 推 送 消 息 的 控 制 包 与 存 储 消 息 格 式 相 似 <request> <SendMsg from-uri="uri1" to-uri="uri2" connection-id\ ="connection1"/> </request> <response> <MsgSended from-uri="uri1" to-uri= "uri2" connection-\ id="connection1"/> </response> 3 媒 体 服 务 器 的 设 计 媒 体 服 务 器 是 该 离 线 消 息 服 务 系 统 框 架 的 关 键, 本 文 针 对 上 述 的 集 群 系 统 和 通 信 框 架, 提 出 了 一 种 媒 体 服 务 器 的 实 现 方 案, 如 图 6 所 示 : 图 6 媒 体 服 务 器 的 结 构 图 SIP 协 议 栈 负 责 接 收 AS 的 SIP 消 息 和 向 应 用 服 务 器 发 送 SIP 消 息, 将 MSCP 和 MSRP 协 议 栈 进 行 媒 体 协 商 时 所 需 的 描 述 信 息 传 递 给 应 用 服 务 器, 帮 助 建 立 MSCP 和 MSRP 通 道 MSRP 协 议 栈 是 媒 体 服 务 器 的 重 要 组 成 部 分, 它 在 系 统 中 的 作 用 分 为 两 部 分 : 1 建 立, 保 持, 管 理 当 前 媒 体 服 务 器 与 多 个 UA 之 间 的 通 信 通 道, 每 个 通 信 通 道 对 应 一 个 UA MSRP 通 道 的 建 立 由 MSRP 协 议 栈 和 SIP 协 议 栈 按 照 offer/answer 模 型 共 同 完 成, 由 MSRP 协 议 栈 通 过 Session-ID 去 标 识 和 管 理 这 些 通 道 2 通 过 已 建 立 的 通 信 通 道 与 UA 进 行 离 线 消 息 数 据 的 交 互, 将 用 户 发 送 来 的 离 线 消 息 给 上 层 模 块 存 储, 或 将 存 储 的 离 线 消 息 发 送 给 用 户 媒 体 服 务 器 保 管 用 户 的 离 线 消 息 媒 体 服 务 器 利 用 离 线 消 息 实 际 接 收 者 的 URI 作 为 标 识 来 存 储 消 息 ; 推 送 消 息 时, 将 目 标 用 户 URI 对 应 的 离 线 消 息 取 出 发 送 给 用 户 4 总 结 本 文 所 提 出 的 这 种 基 于 SIP 和 MSRP 的 服 务 端 框 16 系 统 建 设 System Construction
2010 年 第 19 卷 第 10 期 计 算 机 系 统 应 用 架 能 够 良 好 的 支 持 离 线 消 息 业 务, 在 此 框 架 基 础 上 可 扩 展 群 组 消 息 和 聊 天 机 器 人 的 业 务 MSRP 作 为 一 种 新 的 媒 体 传 输 协 议, 虽 然 在 某 些 方 面 有 它 的 优 势, 但 仍 有 不 足 之 处, 需 要 学 者 们 补 充 和 完 善 参 考 文 献 1 关 琳, 杨 维 忠, 张 琳 峰. 即 时 消 息 网 络 融 合 中 的 亮 点 业 务. 移 动 通 信, 2008, 32(14):37-41. 2 Rosenberg J, Schulzrinne H, Camarillo G. SIP: Session Initiation Protocol, RFC 3261, June 2002. 3 Campbell B, Rosenberg J, Schulzrinne H. Session Initiation Protocol (SIP) Extension for Instant Messaging, RFC 3428, December 2002. 4 Campbell B, Mahy R, Jennings C. The Message Session Relay Protocol(MSRP), RFC 4975, September 2007. 5 Rosenberg J, Schulzrinne H. An Offer/Answer Model with the Session Description Protocol (SDP), RFC 3264, June 2002. 6 Handley M, Jacobson V. SDP: Session Description Protocol, RFC 2327, April 1998. 7 Rosenberg J, Peterson J, Schulzrinne H. Best Current Practices for Third Party Call Control (3pcc) in the Session Initiation Protocol (SIP), RFC 3725, April 2004. 8 McGlashan S, Auburn R, Burke D. Media Server Control Protocol (MSCP) draft-mcglashan-mscp-02, Internet-Draft, June 2006.