Re: [Ekiga-list] Fix for Ekiga not re-registering
- From: Damien Sandras <dsandras seconix com>
- To: Ekiga mailing list <ekiga-list gnome org>
- Subject: Re: [Ekiga-list] Fix for Ekiga not re-registering
- Date: Mon, 04 Jan 2010 10:38:13 +0100
Hi,
The answer from Robert is below your e-mail.
Le mercredi 30 décembre 2009 à 10:18 +0100, Jérôme Trullen a écrit :
I have the known problem of Ekiga not re-registering at the requested expiration timeout. Since I saw that I was not alone in this case, I took a look to the code of Opal and found out a fix for this which works for me.
In the file opal-3.6.6/src/sip/sippdu.cxx, I commented out the line 413 : // COMPARE_COMPONENT(GetPortSupplied());
I don't know what this boolean "portSupplied" is but I saw that it prevents the test (*request == *reply) (line 740 of opal-3.6.6/src/sip/handlers.cxx) from being true when it should.
Is there any way when parametering Ekiga to make this test working, or is my work-around the only way to fix the problem ?
I have seen this before and I am not sure what to do about it. There are two parts to the issue:
First, RFC3261 explicitly describes how to compare two SIP URIs (section 19.1.4) in particular:
o For two URIs to be equal, the user, password, host, and port
components must match.
A URI omitting the user component will not match a URI that
includes one. A URI omitting the password component will not
match a URI that includes one.
A URI omitting any component with a default value will not
match a URI explicitly containing that component with its
default value. For instance, a URI omitting the optional port
component will not match a URI explicitly declaring port 5060.
The same is true for the transport-parameter, ttl-parameter,
user-parameter, and method components.
Defining sip:user host to not be equivalent to
sip:user host:5060 is a change from RFC 2543. When deriving
addresses from URIs, equivalent addresses are expected from
equivalent URIs. The URI sip:user host:5060 will always
resolve to port 5060. The URI sip:user host may resolve to
other ports through the DNS SRV mechanisms detailed in [4].
Second, we have a bug in some registrars. This is where we put in a contact field of something like:
Contact: <sip:me there com:5060>
And they reply with a contact field of:
Contact: <sip:me there com>
And that is NOT THE SAME THING, as per the RFC3261 rules. Section 10.3 says the registrar MUST reply with the contact, and technically it doesn’t.
So, I cannot remove the line as described.
And I am not sure how to work around this bug in the registrar either. Last time it happened (on a paid consulting job) we got the registrar people to fix the issue. I don’t know if this is an option in this case.
Robert Jongbloed
OPAL/OpenH323/PTLib Architect and Co-founder.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]