IMS与doubango简介

date: 2015.07.08; modification:2015.07.08

目录:

1 SIP简介

1.1 概述

SIP 是一个轻形的,多用途的工具,可以用来创建,修改和终 止会话,它独立运作于通讯协议之下,并且不依赖建立的会话类型.

Internet 的许多应用都需要建立和管理一个会话, 会话在这里的含义是在参与者之间的 数据的交换. 由于考虑到参与者的实际情况, 这些应用的实现往往是很复杂的:

人们创造了无数种通讯协议应用于实时的多媒体会话数据比如声音,影像,或者文本. SIP( 会话初始协议)和这些协议一样,同样允许使用 Internet 端点(用户代理)来寻找参与者并 且允许建立一个可共享的会话描述. 为了能够定位精确的会话参与者, 并且也为了其 他 的目的, SIP 允许创建基础的network hosts(叫做代理服务器), 并且允许终端用户注册 上去, 发出会话邀请,或者发出其他请求.

1.2 功能

SIP 在建立和维持终止多媒体会话协议上,支持 5 个 方面:

1.3 相关协议

SIP 不是一个垂直集成的通讯系统. SIP 可能叫做是一个部件更合适,它可以用作其他 IETF 协议的一个部分,用来构造完整的多媒体架构. 比如,这些架 构将会包含:

1.4 SIP是什么不是什么

1.4.1 是什么

1.4.2 不是什么

2 IMS简介

2.1 概述

IMS(IP Multimedia Subsystem)是IP多媒体子系统, 是一种全新的多媒体业务形式, 它能 够满足现在的终端客户更新颖, 更多样化多媒体业务的需求.

本质上说是一种网络结构. 该项技术植根于移动领域, 最初是3GPP为移动网络定义的, 而 在NGN的框架下, IMS应同时支持固定接入和移动接入. 涵盖IMS增强特性的3GPPR6已经基 本冻结, 这标志着IMS技术已经走向成熟. 在NGN的框架中, 终端和接入网络是各种各样的 , 而其核心网络只有一个IMS, 它的核心特点是采用SIP协议和与接入的无关性.

2.2 背景

顺应网络IP化的趋势, IMS系统采用SIP协议进行端到端的呼叫控制. IP技术在互联网上的 应用已经非常成熟, 但是IP技术的一个最突出特性就是"尽力而为", 在数据传输的安全性 和计费控制方面, 却显得力不从心, 而且只考虑固定接入方式.

要将IP技术引入到电信级领域, 就必须考虑到运营商实际网络运营的需求, 需要IMS网络 从:

等方面全面支持固定的接入方式.

从的研究看, SIP是具有简单性, 兼容性, 模块化设计和第三方控制性从而成为基于 Internet通信市场的主流协议. 所以基于SIP的IMS框架通过最大限度重用Internet技术和 协议, 继承蜂窝移动通信系统特有的网络技术和充分借鉴软交换网络技术, 使其能够提供 电信级的QoS保证, 对业务进行有效而灵活的计费, 并具有了融合各类网络综合业务的强 大能力. 这样, 利用IMS系统, 电信运营商可以低成本地进入其向往已久的移动领域, 而 移动运营商则可以在保证其原有的语音和短信业务质量不受影响的前提下, 轻松引入全新 的丰富的多媒体业务, 即所谓的全业务运营.

至于接入的无关性, 是指IMS借鉴软交换网络技术, 采用基于网关的互通方案, 包括信令 网关(SGW), 媒体网关(MGW), 媒体网关控制器(MGCF)等网元, 而且在MGCF及MGW也采用 IETF和ITU-T共同制订的H.248/MEGACO协议. 这样的设计使得IMS系统的终端可以是移动 终端, 也可以是固定电话终端, 多媒体终端, PC机等, 接入方式也不限于蜂窝射频接口, 可以是无线的WLAN, 或者是有线的LAN, DSL等技术. 另外, 由于IMS在业务层采用软交换 网络的开放式业务提供构架, 可以完全支持基于应用服务器的第三方业务提供,这意味着 运营商可以在不改变现有的网络结构, 不投入任何的设备成本条件下, 轻松地开发新的业 务, 进行应用的升级.

3 doubango

3.1 组件

3.1.1 客户端

sipML5 : 使用 webrtc2sip Gateway 的 HTML5 SIP 客户端.

clik2dial : A complete Click-to-Call Solution using webrtc2sip Gateway and sipML5.

webrtc4all : WebRTC extension for Safari, Opera, Firefox and IE.

Boghe : SIP video client for Windows Phone 8 and Surface Pro 以及 IMS/RCS Client for Windows XP, Vista, 7 and 8

iDoubs : SIP/IMS VideoPhone for iOS (iPhone, iPad and iPod Touch) and MAC OS X.

IMSDroid : SIP/IMS Client for Android.

libSigComp : Signaling Compression (SigComp) library

3.1.2 服务端

webrtc2sip : Smart SIP and Media Gateway to connect WebRTC endpoints to any SIP-legacy network.

telepresence : Open Source TelePresence system with a smart and powerful MCU.

Flash2IMS : Adobe® Flash® to SIP/IMS Gateway.

3.2 doubango的主要特点

3.3 doubango代码框架

详细框架层次图:

doubango详细框架层次图

doubango详细框架层次图

说明:

图中调用层次概述如下:

IMSDroid (Android的IMS APP)
    |
    v
android-ngn-stack (下层代码的Android jni封装)
    |
    v
tinyWRAP (上下层语言转换的胶合代码)
    |
    v
tinySIP (SIP/IMS协议栈)
    |
    v
tinyMedia (音视频会话, 编解码等) ---> tinyDAV (音视频插件等)
    |
    v
tinyRTP/MSRP/HTTP/SDP/SAK/... (底层各种协议栈与基础工具包)

其中, tinyMedia通过插件(plugin)方式来注册tinyDAV, 所以音视频方面与设备与平台相关的代码, 从core部分中独立出去, 以此来实现平台无关性.