2011-03-13 33 views
0

我想订阅一个观察者列表,并且服务器经常以486忙于响应。但是,RFC将486描述为INVITE的可能响应,这对于此响应更有意义。
在其他时候,服务器确实响应正确 - 200 OK,然后是NOTIFY请求。

我正在使用ALU IMS核心。

有没有人看过这个问题?SIP订阅接收486繁忙这里

我的SUBSCRIBE请求:

SUBSCRIBE sip:[email protected];transport=TCP SIP/2.0 
Call-ID: [email protected] 
CSeq: 4 SUBSCRIBE 
From: "XXXX" <sip:[email protected]>;tag=92521573 
To: <sip:[email protected]> 
Via: SIP/2.0/TCP 10.0.2.15:5060;branch=z9hG4bK68630e2ec7c21d2e991854010b7f64543332 
Max-Forwards: 70 
Contact: <sip:[email protected]:5060;transport=TCP>;+g.oma.sip-im;expires=3600 
User-Agent: My Android Client/OMA1.0 
Require: pref 
Supported: replaces,100rel,eventlist,timer 
Event: presence.winfo 
Accept: application/watcherinfo+xml 
Route: <sip:[email protected]:5060;transport=TCP;lr> 
Expires: 3600 
Content-Length: 0 

回答

2

用SIP响应代码记住的事情是没有硬性规则和快速规则应该在所有情况下使用哪个特定的响应代码。总之,SIP服务器或UAS上的真实世界错误条件并不完整地落入其中一个SIP失败响应代码的定义中,因此使用最近的一个,并且可以定制状态消息和/或添加警告头。

对于SUBSCRIBE请求,486响应有点不寻常,但它很容易理解。例如,如果维护订阅的SIP通知服务器对其要维护的活动订阅数量有限制,或者超出限制并且不想处理订阅请求一段时间。

我想仔细看看486响应,看看是否有警告或任何其他信息类型的标题。还要检查响应是来自您正在使用的中间代理还是终端服务器。

+0

我正在执行两个订阅:一个用于好友列表,另一个用于观察者列表。当它失败时,它只会在观察者列表中失败,而不会成为好友列表。即使我颠倒这两个订阅者的顺序,也会发生这种情况。 – 2011-03-14 07:24:01

+0

订阅观察者列表时,你是否总是失败?您是否能够检查您收到的错误回复,以获取更多信息,如警告标题。除此之外,了解发生了什么的最好方法是从服务器中找出它为什么通过查看其日志或其他任何其他机制来拒绝请求。 – sipwiz 2011-03-14 11:40:27

+0

我已经向ALU询问了解释。与此同时,响应不包括额外的标题。 – 2011-03-14 12:44:59

1

486不是一个响应代码在RFC3265定义。您需要跟踪您的服务器(如果可能)以了解为何它决定发送这样的意外错误代码。

对不起,没有太大的帮助。我一直与SIP合作多年,从未听说过SUBSCRIBE请求的486响应。当你发现我也想知道的原因。