Hi Benoît,
What about the PacketCable spec constrains you only to a single Route header? I have never
heard of such a constraint, and if it existed, it would be a pretty damning violation of a
mechanism very deeply infused into the heart of RFC 3261.
I mean this with all due respect: once again, you're doing something very clever, but
maybe a little too clever, perhaps so clever that you're the only Kamailio implementor
on the planet who is doing it. When that happens, it is possible that 1) you and you alone
have such unique problems, and must devise correspondingly intrepid and ingenious
solutions, or 2) there is another (simpler) approach. I would encourage you to think more
strategically and less tactically in these cases: perhaps it is programmatically possible,
somehow, to solve the problem, but does it mean that it should be solved that way, or
solved at all?
I cannot say what the better approach is in this case, but it's safe to say that no
proxy should be storing and restoring the Route set. If you truly have a type of endpoint
that does not implement the most basic elements of the SIP standard, perhaps a business
decision should be taken to simply not support it?
-- Alex
On Dec 27, 2024, at 5:18 am, Benoît Panizzon via
sr-users <sr-users(a)lists.kamailio.org> wrote:
Hi List
To handle CPE which can only handle a limited number of route header
(PacketCable SIP specification), I need to store and restore the route
header (limited topology hiding only affecting Route Header) to present
the CPE only one Route or RR header.
I pass the ID of the stored route-set via RR param.
So when I get a message back from the CPE is:
* Take ID from RR param and pull stored route set from cache.
* remove_hf("Route");
* insert_hf("Route: $avp(stored-routeset)\r\n");
* msg_apply_changes();
* loose_route();
I found loose_route() only to be able to correctly determine the next
hop, if I first did apply the changes.
But after adding rtpengine to the mix, I got back into the known
situation that calling rtpengine (on the branch route) after calling
msg_apply_changes() results in duplicate SDP.
Is there a way to get loose_route() to operate on freshly added header
without calling msg_apply_changes?
--
Mit freundlichen Grüssen
-Benoît Panizzon- @ HomeOffice und normal erreichbar
--
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 --
sr-users(a)lists.kamailio.org
To unsubscribe send an email to sr-users-leave(a)lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender!
--
Alex Balashov
Principal Consultant
Evariste Systems LLC
Web:
https://evaristesys.com
Tel: +1-706-510-6800