java sip servlet_SIP Servlet开发实例讲解

这篇博文的开发实例是必须基于前面一篇“SIP Servlet开发环境配置”,如果没有正确配置SIP Servlet开发环境的,请参考“SIP Servlet开发环境配置”篇。

首先,我们基于上一篇中提到的方法创建一个叫“SipTest”的dynamic Web Project工程,如下图所示:

cba339bedcd8ec48dfaaf49d7311c72d.gif

在这个工程中,有个文件非常重要,那就是WEB-INF目录下的sip.xml文件,它是整个SIP Servlet工程的启动初始化参数加载文件。里面包含了Sip Servlet在容器中加载的名称以及由那个类来处理SIP请求和响应。在这个工程中的sip.xml文件如下图所示:

114e89c2e916ef19ade0a15aa3f9cfa4.gif

其中的中名称必须要和保持一致。因为SIP Servlet是Http Servlet和SIP Servlet的混合体,在Http Servlet的初始化过程中,我们需要去查询我们所注册的Sip Servlet的名称,这时查询的名称要与这个地方提到的名称相同,具体见下图中红色框图部分:

635d8b05a7c2dc5c8ef2c8e6aaf2d79c.gif

只有保持这个地方的一致,才能保证能够正确的从Servlet上下文中获取到SipFactory实例对象从而完成后面的Sip Request之类的实例构造。

上面说的是一个Sip Servlet工程中需要注意的地方,下面来说说一个基本的Sip Servlet工程(当然是针对点击拨号的)需要完成的工作。其主要由两部分构成,一个是响应Http请求,另外一个就是响应Sip请求的部分。为了简单起见,我在工程中只定义了两个类,一个就是TestSip.java用来处理SIP协议相关的消息,另外一个是TestWebSip.java用来处理Http协议相关的消息。如下图所示:

22dea1a6321cd1c8d2e30edf7af97b0d.gif

具体的代码就不一一赘述了,主要简单说一下处理过程。用户通过网页发送请求,转到图中的doPost函数(废话,大家都懂),在doPost函数中,会根据请求参数向主叫或被叫发送INVITE请求,至此已经与Http Servlet无任何关系,它已完成使命。接下来任何关于SIP协议的详细处理,将全部转交由TestSip.java中定义的类去处理,里面的函数一看就明白了,具体的处理过程就要参照3PCC的RFC说明来了。

这就是整个3PCC开发的大致过程,当然里面肯定会遇到一些细节问题,有需要探讨的,欢迎相互切磋。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值