Bugs item #1692858, was opened at 2007-04-02 14:47
Message generated for change (Comment added) made by cbrody
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100235&aid=1692858&group_id=235
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Chris Brody (cbrody)
Assigned to: Nobody/Anonymous (nobody)
Summary: SIP/SIMPLE register/auth/message problems with Siemens
Initial Comment:
I have encountered several problems when connecting to a Siemens CSCF. I made
some quick fixes to get this to work, as shown in the attached diff file.
Unfortunately, I did not yet succeed to get the presence information (PUBLISH)
to work with the Siemens CSCF. I will try again at some other point.
So far, I have got the basic registration and a simple MESSAGE to work.
I am now testing some other functionality with the Siemens CSCF for the next
1-2 months. If these problems are fixed and committed before I am done, I will
be happy to try the new version as well.
I will try to make a complete list, as concise as I can:
1. The Siemens CSCF uses abbreviated headers, such as l:0 for Content-Length:
0. These abbreviated headers are valid according to RFC 3261, but they are not
supported in the current SIMPLE protocol library.
2. simple.c: in the "auth" HTTP Digest authentication (auth->type == 1), upon
receiving the WWW-Authenticate:Digest in a challenge response (401
Unauthorized) to the first REGISTER request, the client must put in a CNONCE
value, and of course use it in gaim_cipher_http_digest_calculate_session_key()
& gaim_cipher_http_digest_calculate_response().
3. simple.c: in addition, the qop ("auth" for Siemens) must be used in
gaim_cipher_http_digest_calculate_response().
4. Some of the WWW-Authenticate parameters from the Siemens CSCF are separated
by "," only, no space between them. In fill_auth(), the 2nd g_strsplit()
function call should be replaced by: parts = g_strsplit_set(hdr, ", ", 0);
5. In send_sip_request(), it is only in the REGISTER message for which the
Request URI & authentication URI should have been the same. For others such as
MESSAGE, even though the Request URI has the end-username, the auth URI was
still sip:servername.
6. To submit a MESSAGE (as well as any other request beyond registration), the
Proxy-Authorization: must be included using the authorization from the
successful REGISTER transaction. To fix send_sip_request() for MESSAGE, I put
the following lines right before if(sip->proxy.type && strcmp(method,
"REGISTER")):
if(sip->registrar.type && !strcmp(method, "MESSAGE")) {
buf = auth_header(sip, &sip->registrar, method, auth_uri);
auth = g_strdup_printf("Proxy-Authorization: %s", buf);
g_free(buf);
gaim_debug(GAIM_DEBUG_MISC, "simple", "header %s", auth);
}
else
At this point, my fixes are in rough form. If some fixes are committed, I will
be happy to try them again assuming that I still have access.
Thanks,
Chris
----------------------------------------------------------------------
>Comment By: Chris Brody (cbrody)
Date: 2007-04-02 14:49
Message:
Logged In: YES
user_id=1757099
Originator: YES
File Added: Siemens-message1.zip
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100235&aid=1692858&group_id=235
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Gaim-bugs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gaim-bugs