SIP servlet FORM身份验证

时间:2013-09-07 21:16:20

标签: java authentication sip-servlet

我有一个基于HTTP的java客户端/服务器应用程序。现在我想添加一些SIP功能。服务器只能接受来自经过身份验证的用户的SIP消息,但身份验证是基于HTTP的。

是否有办法仅为通过HTTP验证的用户授权SIP消息?

容器:JBoss 7上的mobicents 2

PS:我使用声明性安全性,因此容器必须知道用户身份。

更新

我需要的是一种身份验证跟踪系统,类似于sip消息的cookie:在每个sip消息中添加的令牌,通知容器我已通过HTTP进行身份验证。

一种方法是通过自定义SIP标头传递令牌,而不是使用@SipApplicationKey加入SipApplicationSession。在这种情况下,问题是我无法生成HttpSession的密钥。除了我不确定加入SipApplicationSession解决问题,因为jsr289说SipApplicationSession可以有多个HttpSession,因此可能有多个经过身份验证的用户。

1 个答案:

答案 0 :(得分:0)

SipApplicationSession用于加入两个(或更多)SipSession,以便创建一个背对背的UA。

我需要做类似的事情,我正在以这种方式实施它。 最大的问题是如何将SipSessionHttpSession相关联。如果您已完成此操作,则只需从关联的SipSession获取HttpSession的经过身份验证的用户。

为此我将在SIP消息中发送一个额外的标题,让我们称之为SESSIONID,其值为`httpSession.getId()'。然后,在处理SIP消息时,您可以扫描HTTP会话并将SIP会话与具有相应ID的会话相关联。