作者:风过回廊 文章来源:http://www.sf.org.cn
JSR组织刚刚发布了JSR180, SIP API for J2ME这个资源开发包,它提供了在J2me平台上开发SIP(会话启动协议)应用的能力。
SIP(Session Initiation Protocol)会话启动协议是一个面向于网络电话和会议的的应用层的控制(信令)协议。可以把它看成主要是基于IP网络的多媒体通讯协议。我们可以在这个协议的基础上构建包括多媒体视频会议,IP电话,即时消息通知系统等应用在移动终端。
智能手机上实现视频电话,视频会议,这难道不是让人欣喜,激动,感兴趣的么?
所有实现这一切的基础平台也就是在于JSR180, SIP API for J2ME SDK,系统框架。相关的接口说明可以在Nokia 论坛的文档资源中得到下载。我因为工作的缘故,需要开发基于SIP平台基础的WinCE终端的视频会议系统,所以正在研究学习相关的知识,特地把自己所了解到的一点点东西分享出来,供大家学习参考,也希望朋友的批评指正。:)
SIP的消息和信令均采用文本编码,他并且提供RTP/RTCP协议栈完成媒体流的发送/接收,
SIP主要由以下几个部分所组成:
用户代理(User Agent),代理(Proxy)客户机是指为了向服务器发送请求而与服务器建立连接的应用程序。
用户代理服务器,重定向服务器 ,注册服务器 ,定位服务器 服务器是用于向客户机发来 的请求提供服务并回送应答的应用程序。
UAC(用户代理客户端),UAS(用户代理服务端) 作为SIP的两个主要的组成部分,承担了网络通讯的大部分功能,也成为了SIP API for J2ME包的重点部分,它的主要工作流程如下
JSR180提供了以下的接口和类来完成一组SIP客户端和服务器的通讯数据交换
SipConnection :作为一个抽象类 继承自 javax.microedition.io.Connection,它所提供的是SIP网络的基本的连接功能,它本身也被集成在通用的连接框架中,可以使用Connector.open()来打开一个SIP连接,这是非常方便的:),但是我们需要关注的是它的连接字符串 (SIP URI)
SIP通过EMAIL形式的地址来标明用户地址。每一用户通过一等级化的URL来标识,它通过诸如用户电话号码或主机名等元素来构造(例如:SIP:user@company.com)。因为它与EMAIL地址的相似性,SIP URLs容易于用户的EMAIL地址关联,这些都是SIP协议所支持的。