[reSIProcate] UA replied Bad evet 400 for NOTIFY

Adam Roach adam at nostrum.com
Fri Mar 28 00:12:51 CDT 2008


What do the resip logs say? Turn them up to DEBUG, and they usually do a 
pretty good job of indicating why they're rejecting a message.

That said, there are only a handful of places DUM can return a 400, and 
the vast majority of them have custom reason phrases (e.g., "Invalid 
auth header" instead of "Bad Request"). The select few that I can find 
that use the default phrase (ignoring ones that can't happen to a 
NOTIFY) are:

   1. Missing Event header field (not the case here)
   2. Exception thrown during creation of a dialog (can't happen here,
      since the 200 response to the SUBSCRIBE created the dialog)
   3. The code you have written called "rejectUpdate()" on the
      ClientSubscription without providing a reason phrase. 

I don't see any way the code can get to #1 or #2 under the circumstances 
you describe -- so I've either missed a case, or it's #3. Please make 
sure that your code isn't explicitly triggering the 400 by calling 
"rejectUpdate()".

[Related note to others: we should fix #1 and #2 so that they have 
explicit reason phrases indicating the error, instead of the default 
phrase -- "400" is a pretty frustrating error to troubleshoot; we need 
all the help we can get]

/a

Karlsson wrote:
> Hi all, I'm implemented the MWI for my UA:
>  
>  mMasterProfile->addSupportedMethod(NOTIFY);
>  mMasterProfile->addSupportedMethod(SUBSCRIBE); 
>  mMasterProfile->addSupportedMimeType(NOTIFY,Mime("message", "sipfrag"));
>  mMasterProfile->addSupportedMimeType(NOTIFY, Mime("application", 
> "simple-message-summary"));
>  
>  static const Data messageSummaryEvent("message-summary");
>  mDum.addClientSubscriptionHandler(messageSummaryEvent, this);
>  
>  mDum.addOutOfDialogHandler(OPTIONS, this);
>  mDum.addOutOfDialogHandler(NOTIFY, this);
>  
>  
>  
> but now, when the server send NOTIFY for MWI to UA, the UA replied 400 
> Bad event to server, why ?
>  
>  
>
> SUBSCRIBE sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net> SIP/2.0
> Via: SIP/2.0/UDP 192.168.1.100:9799 
> <http://192.168.1.100:9799>;branch=z9hG4bK-d8754z-9b44050d353a0550-1---d8754z-;rport
> Max-Forwards: 70
> Contact: <sip:testuser1 at 192.168.1.100:9799>
> To: <sip:testuser1 at testserver.net <mailto:sip:testuser1 at testserver.net>>
> From: <sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>>;tag=3106f05e
> Call-ID: ZGFhYTllMWI2MjViN2ZkODMzODk3OGE1NGU3OWRiYjc.
> CSeq: 1 SUBSCRIBE
> Expires: 3600
> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY, REFER, 
> REGISTER, SUBSCRIBE, MESSAGE, INFO
> User-Agent: test UA
> Event: message-summary
> Content-Length: 0
>
>
> SIP/2.0 401 Authentication required
> Via: SIP/2.0/UDP 192.168.1.100:9799 
> <http://192.168.1.100:9799>;branch=z9hG4bK-d8754z-9b44050d353a0550-1---d8754z-;rport=9799;received=89.3.190.117 
> <http://89.3.190.117>
> From: <sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>>;tag=3106f05e
> To: <sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>>;tag=BC2DF012
> Call-ID: ZGFhYTllMWI2MjViN2ZkODMzODk3OGE1NGU3OWRiYjc.
> CSeq: 1 SUBSCRIBE
> WWW-Authenticate: Digest realm="agora-ip.net 
> <http://agora-ip.net>",nonce="B5A48DB7027983857939",opaque="opaqueData",qop="auth",algorithm=MD5
> Server: CommuniGatePro/5.1.16
> Content-Length: 0
>
>  
>
> SUBSCRIBE sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net> SIP/2.0
> Via: SIP/2.0/UDP 192.168.1.100:9799 
> <http://192.168.1.100:9799>;branch=z9hG4bK-d8754z-2c78902d7418013b-1---d8754z-;rport
> Max-Forwards: 70
> Contact: <sip:testuser1 at 192.168.1.100:9799>
> To: <sip:testuser1 at testserver.net <mailto:sip:testuser1 at testserver.net>>
> From: <sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>>;tag=3106f05e
> Call-ID: ZGFhYTllMWI2MjViN2ZkODMzODk3OGE1NGU3OWRiYjc.
> CSeq: 2 SUBSCRIBE
> Expires: 3600
> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, UPDATE, NOTIFY, REFER, 
> REGISTER, SUBSCRIBE, MESSAGE, INFO
> User-Agent: test UA
> Authorization: Digest username="testuser1",realm="agora-
>
> ip.net 
> <http://ip.net>",nonce="B5A48DB7027983857939",uri="sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>",response="f99bdaf2e43f15f9f46b494747aec437",cnonce="b3107b241511d162",nc=00000001,qop=auth,algorithm
>
> =MD5,opaque="opaqueData"
> Event: message-summary
> Content-Length: 0
>
> SIP/2.0 200 OK
> Via: SIP/2.0/UDP 192.168.1.100:9799 
> <http://192.168.1.100:9799>;branch=z9hG4bK-d8754z-2c78902d7418013b-1---d8754z-;rport=9799;received=89.3.190.117 
> <http://89.3.190.117>
> Record-Route: <sip:91.121.112.138:5060 <http://91.121.112.138:5060>;lr>
> From: <sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>>;tag=3106f05e
> To: <sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>>;tag=6797E07B9B135826
> Call-ID: ZGFhYTllMWI2MjViN2ZkODMzODk3OGE1NGU3OWRiYjc.
> CSeq: 2 SUBSCRIBE
> Expires: 3600
> Contact: <sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>>
> Server: CommuniGatePro/5.1.16
> Content-Length: 0
>
>  
>
> NOTIFY sip:testuser1 at 192.168.1.100:9799 SIP/2.0
> Via: SIP/2.0/UDP 91.121.112.138:5060 
> <http://91.121.112.138:5060>;branch=z9hG4bK33456;rport
> Max-Forwards: 69
> From: <sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>>;tag=6797E07B9B135826
> To: <sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>>;tag=3106f05e
> Call-ID: ZGFhYTllMWI2MjViN2ZkODMzODk3OGE1NGU3OWRiYjc.
> CSeq: 1 NOTIFY
> Subscription-State: active;expires=3600
> Event: message-summary
> Contact: <sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>>
> User-Agent: CommuniGatePro-notify/5.1.16
> Content-Type: application/simple-message-summary
> Content-Length: 95
>
> Messages-Waiting: yes
> Message-Account: sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>
> Voice-Message: 1/1
>
>
> SIP/2.0 400 Bad Request
> Via: SIP/2.0/UDP 91.121.112.138:5060 
> <http://91.121.112.138:5060>;branch=z9hG4bK33456;rport=5060
> To: <sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>>;tag=3106f05e
> From: <sip:testuser1 at testserver.net 
> <mailto:sip:testuser1 at testserver.net>>;tag=6797E07B9B135826
> Call-ID: ZGFhYTllMWI2MjViN2ZkODMzODk3OGE1NGU3OWRiYjc.
> CSeq: 1 NOTIFY
> User-Agent: test UA
> Content-Length: 0
>
>  
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel




More information about the resiprocate-devel mailing list