[GnomeMeeting-devel-list] [PATCH] Misuse of SetLocalUserName(), AddAliasName()
- From: Robert Vojta <robert v0jta net>
- To: gnomemeeting-devel-list gnome org
- Subject: [GnomeMeeting-devel-list] [PATCH] Misuse of SetLocalUserName(), AddAliasName()
- Date: 23 Feb 2004 14:24:59 +0100
Hallo all,
this is an email which is prepared for Damien, but I decided to send
this email to gnomemeeting-devel-list for review and discussion.
Patch:
http://www.linuxvoip.net/fayn/files/gnomemeeting/gnomemeeting-0.98.5-gatekeeper.patch
---
Hallo Damien,
I'm using several VoIP telco providers and I had a big problem with
registering to their gatekeepers with your GnomeMeeting. I found "bug"
and I have to discuss it with you.
Let's say that my details are ...
Firstname: Robert
Lastname: Vojta
Gatekeeper: gkp.fayn.cz
User name: vojta
Password : pass
When I try this with ohphone ...
ohphone --gatekeeper gkp.fayn.cz --user vojta --password pass -l
... everything works fine. I decided to try your GnomeMeeting and it
doesn't work. So, I started ethereal and I found, that you are sending
"Robert Vojta" as user name to the gatekeeper, but you have to send
"vojta".
OpenH323 library sends gatekeeper user name which is set by
SetLocalUserName(), not first alias added by AddAliasName(). You can
see this in ohphone source code for instance:
if (args.HasOption('u')) {
PStringArray aliases = args.GetOptionString('u').Lines();
SetLocalUserName(aliases[0]);
for (i = 1; i < aliases.GetSize(); i++)
AddAliasName(aliases[i]);
}
As you can see, first --user argument is used for SetLocalUserName()
and remaining aliases are used for AddAliasName() function. That's
correct way.
But, when I look into endpoint.cpp (your GnomeMeeting), you are
creating local_name variable from firstname, " ", lastname. So,
local_name variable is "Robert Vojta". That's OKay, but you can't use
it in SetLocalUserName() when you are working with gatekeeper, it's
correct for point to point calls without gatekeeper.
So, you have to modify your code in this way ...
gatekeeper.cpp
endpoint->SetUserNameAndAlias(registering_method);
endpoint.cpp
void GMH323EndPoint::SetUserNameAndAlias (int registering_method)
{
...
if (alias && strcmp (alias, "")) {
if (registering_method != 0)
{
SetLocalUserName (alias);
if (local_name != NULL)
{
AddAliasName (local_name);
g_free (local_name);
}
else
AddAliasName (alias);
g_free (alias);
}
Final result will be ...
a) if user wants to use gatekeeper, "vojta" will be used for
SetLocalUserName() and "Robert Vojta" will be used as an alias
b) if user do not want to use gatekeeper, "Robert Vojta" will be
used for SetLocalUserName() and "vojta" will be used as an alias
Without this, you are not able to work with most of gatekeepers over
the whole world.
--
Robert Vojta
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]