我有一个基于 HTTP 的 java 客户端/服务器应用程序。现在我想添加一些 SIP 功能。服务器只能接受来自经过身份验证的用户的 SIP 消息,但身份验证是基于 HTTP 的。
有没有办法只为通过 HTTP 认证的用户授权 SIP 消息?
容器:JBoss 7 上的 mobicents 2
PS:我使用声明性安全性,因此容器必须知道用户身份。
更新
我需要的是一种身份验证跟踪系统,类似于 sip 消息的 cookie:添加到每个 sip 消息中的令牌,通知容器我已经通过 HTTP 进行了身份验证。
一种方法可能是通过自定义 SIP 标头传递令牌,而不是使用@SipApplicationKey
加入 SipApplicationSession。在这种情况下,问题是我无法从 HttpSession 生成密钥。此外,我不确定加入 SipApplicationSession 是否能解决问题,因为 jsr289 表示 SipApplicationSession 可以有多个 HttpSession,因此可能有多个经过身份验证的用户。