发明内容
本发明要解决的技术问题是提供一种IMS软终端实现方法及装置,能够在具备JAVA ME平台的普通移动通信设备上实现IMS软终端,从而让用户在普通移动终端上有能力使用各种IMS网络服务,而无需一个专门的IMS终端。
为解决上述技术问题,本发明IMS软终端实现方法包括如下步骤:
将IMS软终端作为一个JAVA应用运行在移动终端的JAVA虚拟机上,所述IMS软终端通过所述JAVA虚拟机来获得IP网络通讯能力;
所述IMS软终端通过所述JAVA虚拟机提供的编程接口与IMS核心网进行信令交互,完成IMS注册和会话流程。
进一步地,所述编程接口包括JSR141和JSR180两个编程接口集。
进一步地,所述IMS软终端获取代理呼叫会话控制功能P-CSCF(Proxy-CallSession Control Function,也简称为Proxy-CSCF)地址的方法可以为:
运营商通过短消息推送(SMS Push)的方式将P-CSCF的地址定期推送到移动终端,所述IMS软终端通过所述JAVA虚拟机的JSR120接口从移动终端读取短消息内容获得P-CSCF地址。
进一步地,所述IMS软终端实现方法还包括:
设置一个IMS业务服务器,所述IMS业务服务器提供用户身份认证和/或P-CSCF地址查询功能;
进一步地,所述IMS业务服务器为运营商的HTTP/HTTPS服务器,所述IMS软终端通过所述JAVA虚拟机提供的HTTP或HTTPS连接接口与所述IMS业务服务器通过HTTP或HTTPS协议进行通信,以完成用户身份认证和/或P-CSCF地址查询。
进一步地,所述IMS软终端还通过所述JAVA虚拟机提供的编程接口向所述IMS业务服务器请求获取用户身份标识。
为解决上述技术问题,本发明IMS软终端实现装置包括IMS软终端和JAVA虚拟机;
所述JAVA虚拟机设置于移动终端上;
所述IMS软终端作为一个JAVA应用运行在所述JAVA虚拟机上,所述IMS软终端通过所述JAVA虚拟机获得IP网络通讯能力;
所述JAVA虚拟机提供编程接口,供所述IMS软终端与IMS核心网进行信令交互,以完成IMS注册和会话流程,获取IMS网络服务。
进一步地,所述JAVA虚拟机提供的编程接口包括JSR141和JSR180两个编程接口集。
进一步地,所述IMS软终端实现装置还包括IMS业务服务器,所述IMS业务服务器为运营商的HTTP/HTTPS服务器,用于向所述IMS软终端提供用户身份认证和/或P-CSCF地址查询功能。
更进一步地,所述IMS业务服务器采用域名方式,由JAVA ME开发者写入IMS软终端代码中,用户能够在运行商的指导下修改IMS业务服务器的域名。
本发明还提供一种IMS软终端,该IMS软终端包括上述的IMS软终端实现装置。
本发明的有益效果为:
采用本发明方案在具备JAVA ME平台的普通移动终端上实现了IMS软终端,且借助于JAVA ME的平台无关性,该IMS软终端容易部署到现有的各种移动终端上,从而为运营商开展IMS业务奠定了良好的基础。
本发明还具有实施简便,成本低,便于推广运用的优点。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细说明。
作为一个IMS软终端需要具备能力包括:
1、IP网络通讯能力。IMS终端只工作在IP分组网络下,因此能够获取到IP承载是成为一个IMS终端的先决条件。
2、支持SIP(Session Initiation Protocol,会话初始化协议)和SDP(Session Description Protocol,会话描述协议)协议。这是支持IMS信令的基本要求。
3、Proxy-CSCF发现能力。Proxy-CSCF是IMS Core Network(IMS核心网)面向接入网的入口代理网元,IMS终端只有在获知Proxy-CSCF的IP地址后才能发起注册和呼叫流程。Proxy-CSCF即P-CSCF。
4、具备用户身份标识。IMS用户身份标识包括私有用户身份标识IMPI(IPMultimedia Private Identity)和公共用户身份标识IMPU(IP MultimediaPublic Identity),只有具备了IMS用户身份标识才可能在IMS核心网中注册和发起/接受呼叫。
图1为作为一个具体实施例的本发明方法流程示意图,如图所示,为解决上述问题,本发明IMS软终端实现方法包括如下具体步骤:
1、将IMS软终端作为一个JAVA应用运行在所述JAVA虚拟机上。
移动终端的接入置式各有不同,通过GPRS、WiFi、WiMAX等多种手段都能够获取到IP承载,IMS软终端通过JAVA虚拟机的接口即可获得IP网络通讯能力。
2、IMS运行商在用户开户时将IMS用户身份标识分配给用户,用户可在JAVAME程序中手工输入IMPI和IMPU。也可向用户隐藏IMPI和IMPU信息,取而代之分配给用户一个用户名和密码,用户通过在JAVA ME平台的IMS软终端输入用户名密码,IMS软终端通过HTTP或HTTPS请求向IMS业务服务器查询该用户的IMPI、IMPU以及其他加解密信息。
3、P-CSCF的发现过程可以由多种不同的方式实现,例如如下三种方式:
(1)采用3GPP23.228协议中所定义的方式,由运营商将P-CSCF的地址以域名方式发布,IMS软终端在初始化阶段通过DNS(Domain Name System,域名系统)查询获取P-CSCF地址。
(2)运营商通过SMS Push(短消息推送)的方式将P-CSCF的地址定期推送到移动终端,IMS软终端通过JSR120接口读取SMS内容获得P-CSCF地址。
(3)设置一个IMS业务服务器,该IMS业务服务器为运营商的HTTP/HTTPS服务器,提供用户身份认证和P-CSCF地址查询功能,IMS软终端在初始化阶段通过HTTP或HTTPS请求向该IMS业务服务器查询当前接入域部署的P-CSCF地址。
4、JAVA ME平台的JSR180接口和JSR141接口分别提供了SIP和SDP协议编程的API(Application Programming Interface,应用程序接口),具体是JSR180接口提供SIP协议编程的API,JSR141接口提供SDP协议编程的API。IMS软终端能够通过这两套接口与IMS核心网进行通信,以完成IMS注册和会话流程。必要的时候IMS软终端还会通过JAVA虚拟机提供的编程接口向IMS业务服务器请求获取用户身份标识。
图2为作为一个具体实施例的本发明装置结构示意图,如图所示,本发明IMS软终端实现装置包括IMS软终端、JAVA虚拟机和IMS业务服务器。
移动终端含有一个JAVA ME平台,即JAVA虚拟机,运行在宿主机操作系统之上,该JAVA虚拟机无论是遵从CDC(Connected Device Configuration,连接设备配置)规范还是CLDC(Connected Limited Device Configuration,有限连接设备配置)规范均可,此外该JAVA虚拟机需包含MIDP子集(MobileInformation Device Profile,移动信息设备配置文件)以及JSR141和JSR180两个JSR子集。IMS软终端作为一个JAVA应用运行在JAVA虚拟机上。
其中,IMS业务服务器是运营商的HTTP/HTTPS服务器,提供用户身份认证和P-CSCF地址查询功能。
IMS核心网就是现有的IMS核心网。
IMS软终端通过JAVA虚拟机能够实现基于IP网络的通讯能力,而通过JAVA虚拟机提供的JSR141和JSR180两套编程接口能够方便地使用SDP协议和SIP协议与IMS核心网进行通讯,同时通过MIDP中提供的HTTP或HTTPS连接接口能够与IMS业务服务器通过HTTP或HTTPS协议通信。
图3是一个典型的IMS软终端业务流程,包括从IMS业务服务器上查询用户身份标识和P-CSCF地址过程,以及IMS软终端的IMS注册、会话流程。如图所示,IMS软终端一次典型的业务流程包括如下步骤:
1、IMS软终端在启动后向用户询问IMS业务的用户名和密码,这个用户名和密码是运营商在用户开户时分配给用户的。
2、IMS软终端调用JAVA虚拟机的HTTP或HTTPS连接接口向IMS业务服务器发送请求,携带用户名和密码信息。IMS业务服务器采用域名方式,由JAVA ME的开发者写入IMS软终端代码中,并且提供用户界面供用户在运行商的指导下修改IMS业务服务器的域名。
3、JAVA虚拟机将步骤2中的请求消息发向IMS业务服务器。
4、IMS业务服务器收到请求后认证并查询该用户的IMS IMPI、IMPU和认证信息,并以HTTP/HTTPS响应方式发送给移动终端。
5、移动终端的JAVA虚拟机将响应消息分发给IMS软终端,IMS软终端保存相关信息。
6、接下来,IMS软终端再次调用JAVA虚拟机接口,向业务服务器发送获取P-CSCF的地址(域名或IP)的HTTP/HTTPS请求。
7、JAVA虚拟机将步骤6中的请求发送给IMS业务服务器。
8、IMS业务服务器向移动终端返回P-CSCF地址。
9、JAVA虚拟机将包含P-CSCF地址的响应上传给IMS软终端。
10、IMS软终端根据收到的P-CSCF地址,向P-CSCF发送SIP注册请求Register,携带IPMU。
11、JAVA虚拟机将步骤10中的SIP注册请求发往P-CSCF。
12、IMS核心网返回SIP:401响应,并携带用户身份鉴权参数信息。
13、JAVA虚拟机将401响应上传给IMS软终端。
14、IMS软终端根据第5步中保存的认证信息计算鉴权响应,并再次发送SIP注册请求Register,该请求携带鉴权响应信息。
15、JAVA虚拟机将步骤14中的SIP注册请求发送到P-CSCF。
16、IMS核心网完成对用户的注册,返回Register 200响应。
17、JAVA虚拟机上传该响应消息给IMS软终端,IMS软终端保存sessionexpire(会话失效)值,以便在注册失效前发起重注册流程。
18、用户在得知注册成功后,使用IM(Instance Message,即时消息)业务,键入一段IM消息,以及接收者的SIP URL。
19、IMS软终端根据用户输入的SIP URL和消息体构造并发送SIP Message请求。
20、JAVA虚拟机将步骤19中的请求发向P-CSCF。
21、IMS核心网的相关业务网元成功处理Message请求后回复2000K给终端。
22、JAVA虚拟机上报步骤21中的响应给IMS软终端,IMS软终端向用户呈现发送成功状态。
某些IMS业务中会涉及到媒体资源,此时会在SIP请求中包含SDP消息进行媒体协商。IMS软终端则通过JSR141提供的接口解析和封装SDP,完成媒体协商过程。图4即是针对这种情况的一个典型的JAVA ME软终端业务流程示意图,主要针对带媒体协商SDP消息的处理流程。
如图4所示,当IMS软终端接收到一个包含SDP Offer的SIP Invite请求时,通过JSR180接口识别出带有SDP消息体,则再通过J SR141接口解析SDP内容,发现包含一个通过RTP(Real-time Transport Protocol,实时传输协议)传输的单向音频媒体。IMS软终端提示用户是否接受请求,如果用户接受,则IMS软终端通过JSR141接口构造一个表明可连接此RTP媒体的SDP Answer并封装在Invite 200的SIP响应消息中发送给P-CSCF。
之后,用户选择挂断此次会话。IMS软终端通过JSR180接口发送BYE请求。然后接收到来自对端的BYE 200响应。此次会话完成。
本发明IMS软终端包括上述的IMS软终端实现装置,即是以上述IMS软终端实现装置来实现的。此处不再赘述。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应注意的是,以上所述仅为本发明的具体实施例而已,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求记载的技术方案及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。