让OpenIMSCore支持tel uri

笔者是接触IMS的新手,因为偶然的机会,有机会接触到IMS,并需要学习并修改OpenIMSCore的源码,其中走了不少的弯路,想借此机会,把遇到的问问全部记录下来。

我遇到的第一个问题,就是如何使得OpenIMSCore支持tel uri?

据我的了解,网上据说OpenIMSCore已经支持tel uri(据官网所说),但笔者确始终没有成功(如果有人成功,可随时联系我),以下是我解决该问题的过程:

对于支持tel uri ,需要解决以下两个问题:

1、找到一个支持以TEL URI注册,并支持拨打TEL URI格式的软终端。

2、修改核心网P-CSCF的代码。


对于问题1,笔者也找了一些终端,例如boghe,xlite等软终端,但是在拨号码的时候,如果未填写域名,软终端会默认为被叫添加本域的域名,使得这些软终端暂且无法支持被叫为TEL URI格式的号码。笔者找到一个支持被叫为TEL URI的软终端( UCT IMS CLIENT),个人觉得不稳定(很多时候可以通过重启来解决),但没有其他办法,自己也不想为此去做一个软终端。想用的可以看这里http://uctimsclient.berlios.de/ 

对于问题2,在找到一个合适的但不稳定的软终端之后,可以开始测试核心网对TEL URI的支持程度了,OpenIMSCore是我自己下载的官网上最新的开源代码,在客户端成功注册之后,开始拨打TEL URI格式的号码,很快就出现问题,P-CSCF返回的出错信息如下图所示,查看源码之后发现,P-CSCF根本不支持TEL URI格式的号码,虽然在S-CSCF可以看到ENUM等处理TEL URI号码的函数,但是问题是INVITE消息到达P-CSCF时就已经出错了,主要是由于P-CSCF根本就没有处理TEL URI。


笔者解决的办法该问题的办法是,在P-CSCF转发该信息之前,先判断被叫是否为TEL URI格式的号码,如果是直接转发给相应的S-CSCF处理。

今天就到这里,明天继续!!


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值