当前位置:首页 > 资讯 > 正文

Resip学习笔记(sip服务器对初次registration信令回复407而不是401)

Resip学习笔记(sip服务器对初次registration信令回复407而不是401)

首先我们讨论一下sip服务器回复401与407有什么区别,看了一下rfc3261,发现没有明确的说明,只是说401是UAS和registar回复的应答,而407是proxy回复的应答。但是很多时候proxy就是UAS,在GB28181里面有什么讲究呢?从网络上看到这么一种解答不知准确与否:

401 Unauthorized,明确提示是未授权。这个应答是由UAS和注册服务器产生的。常见场景是Register用户注册的时候。
407 proxy authentication required ,意思是proxy服务器需要提供认证信息。常见场景是Invite发起呼叫的时候。

目前我们就当他是准确的说法吧,回到我们的问题,怎么解决服务器对registration回复是407而不是401,通过跟踪源码我们发现:

我们Helper是根据是否是proxy决定生成401的响应还是407的响应,如果是proxy生成407,如果不是生成401.

而是不是proxy是由ServerAuthManager决定的,调用上面代码的代码片段为: