|
发表于 2008-4-3 11:00:00
|
显示全部楼层
飞信插件无法登陆
Post by chasye;1834268
一样啊,上不去~~~~
我的是:
debian/etch + kernel 2.6.22
pidgin 2.4.1
---------------------------------------------------------------
发送
R fetion.com.cn SIP-C/2.0
F: xxxxxx
I: 1
Q: 1 R
L: 252
<args><device type=" C" version="0" client-version="2.3.0230" /><caps value="fetion-im;im-session;temp-group" /><events value="contact;permission;system-message" /><user-info attributes="all" /><presence><basic value="400" desc="" /></presence></args>
之后服务器要返回
SIP-C/2.0 401 Unauthorized
I: 1
Q: 1 R
W: Digest algorithm="MD5-sess",nonce="xxxxxxxxxxxxxxxx"
才可以继续交互
但现在返回的是
SIP-C/2.0 410 Gone
I: 1
Q: 1 R
明显是不能再继续交互了。
看了飞信插件0.97的源码,发现,如果这时候返回410,
程序就会重新发送一次交互请求
不过会加上这个东西
A: Digest response=\"%s\",cnonce=\"%s\"\r\n
但是我看了你发上来的LOG
发送出去的是:
R fetion.com.cn SIP-C/2.0
F: xxxxxxx
I: 1
Q: 2 R
A: Digest response="(null)",cnonce="(null)"
L: 252
为什么是null?
最后肯定是fetion_input_cb: read error的
昨晚抓了一下登陆时候飞信发出去的包,好像协议基本没变,
但是<args><device type=" C" version="0" client-version="2.3.0230" /><caps value="fetion-im;im-session;temp-group" /><events value="contact;permission;system-message" /><user-info attributes="all" /><presence><basic value="400" desc="" /></presence></args>
这里的version等于7 caps value也有点不一样~
不知道这里是不是要根据飞信的版本改变?
PS:
我用Socket发送
R fetion.com.cn SIP-C/2.0
F: xxxxxx
I: 1
Q: 1 R
L: 252
的时候一直返回Bad Request
搞了很久都没搞出来,郁闷~~~~~ |
|