移动ims对接,sip协议需要digest认证,计算response的坑

it2025-05-14  29

移动ims对接,sip协议需要digest认证,计算response的坑

起因

最近在和同事对接移动的ims线路,我们这边是用voip来呼电话的。

之前和其他外部呼叫中心或者类似的线路方对接的时候,sip协议只需要基本的认证。账号密码等生产Authorization就能注册上了。

但是运营商的这个sip协议,我抓包之后发现,以前的认证方式并不能注册上,查询资料后跟抓包的数据一对比发现,跟移动那边的sip服务器对接的时候,还要按摘要访问来进行认证。

sip两种认证方式

这里有篇文章,当时就是参考的这篇,可以了解下sip digest认证

坑也是上面那篇文章里面的,里面有提到,在第二次请求的时候哦,response的加密方法,博主给的是这个 ··· response = H(H(username:realm:password):nonce:cnonce:H(requestMothod:request-URI)) ··· 但是上面的加密方法算出来的response与正确的不一致,经过查看其他一些库或者文章后我们发现,加密参数里少了nc和qop的信息(具体啥含义还是可以参考上面的那篇博文) ··· response = H(H(username:realm:password):nonce:nc:cnonce:qop:H(requestMothod:request-URI)) ···

最新回复(0)