Hi
I'm trying to work around Route-Header and Via Issues with the two topology hiding modules topoh and topos and trying to figure out, which one works better for our environment.
My conclusion so far:
topos creates very clean header, but needs a database or redis. I'm always reluctant in adding more components which could fail or cause load.
topoh also works, but it worries me a bit that according to the manual: https://www.kamailio.org/docs/modules/devel/modules/topoh.html#topoh.p.mask_... a private IP is used to mask the contact header.
I have come across a CPE which, as far as I see, is misbehaving by ALWAYS sending a PRACK to the Hostname or IP found in the Contact header, and ignoring Route and Via Header.
So why using a private IP as 'mask' and not the IP or Hostname of the actual kamailio instance?
Mit freundlichen Grüssen
-Benoît Panizzon-
Hi Patrick
Agreed, this could become an issue when we do dual stack ipv4 and ipv6 unless we use a hostname which will probably cause other issues.
But overall sip compliant component must Always follow Route ip before contact IP.
I will test how the know buggy client behaves.
While testing with topos I came across another issue.
Then I have topos enabled on a REG instance, I see this PRACK handling:
CPE <=> KAM Reg <=> KAM Core <=> IC
CPE => Invite, supported: 100rel CPE <= 180 RINGING, required: 100rel
CPE => PRACK => KAM Reg => PRACK to itself looping MANY times adding a VIA Header on each loop.
I don't understand, why in this situation, the REG is sending PRACK to itself.
As soon as I comment out topos PRACK is sent correctly to the party reqesting 100rel.
Any hint where to look?
Mit freundlichen Grüssen
-Benoît Panizzon-
Hi Patrick
Male sure record_route is used in kamailio script.
I will double check by outputing a notice to log before calling record_route but I'm quite confident this is the case for invites.
Do I need to explicitely call record_route for ACK and PRACK or even for all messages when using topos? Is this where topos hooks in?
Normally it should be used in initial invite.
Issue is not only PRACK, but also ACK. I narrowed down the issue to this:
topos active:
if (has_totag()) { # True if ( t_check_trans() ) { # False route(RELAY); } else { # discard ACK not matching transaction exit; } }
I end up discarding ACK and PRACK because they don't match a transaction.
topos commented out:
if (has_totag()) { # True if ( t_check_trans() ) { # True route(RELAY); } else { # discard ACK not matching transaction exit; } }
Ack is routed.
Any explanation why topos causes t_check_trans() to return false on ACK and PRACK?
Hi,
I am very happy with Topos and redis for such things. You should give it a try. And topos had some nice contact header features also.
Benoit Panizzon benoit.panizzon@imp.ch schrieb am Do., 26. Jan. 2023, 16:01:
Hi
I'm trying to work around Route-Header and Via Issues with the two topology hiding modules topoh and topos and trying to figure out, which one works better for our environment.
My conclusion so far:
topos creates very clean header, but needs a database or redis. I'm always reluctant in adding more components which could fail or cause load.
topoh also works, but it worries me a bit that according to the manual:
https://www.kamailio.org/docs/modules/devel/modules/topoh.html#topoh.p.mask_... a private IP is used to mask the contact header.
I have come across a CPE which, as far as I see, is misbehaving by ALWAYS sending a PRACK to the Hostname or IP found in the Contact header, and ignoring Route and Via Header.
So why using a private IP as 'mask' and not the IP or Hostname of the actual kamailio instance?
Mit freundlichen Grüssen
-Benoît Panizzon-
I m p r o W a r e A G - Leiter Commerce Kunden ______________________________________________________
Zurlindenstrasse 29 Tel +41 61 826 93 00 CH-4133 Pratteln Fax +41 61 826 93 01 Schweiz Web http://www.imp.ch ______________________________________________________ __________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: