El Jueves, 22 de Octubre de 2009, Alex Hermann escribió:
while debugging a problem today I encountered a rather
strange issue. The
client's UA/router was messing up the Via header, with as result that all
the IP's in the Via's were replaced by the public IP of the DSL modem.
Now the weird part: because of the mangled Via's, the expected result is
that the reply would be routed back to the IP of the client. Instead, the
replies were still following the "correct" return path through a series of
OpenSER/Kamailio proxies. How is this possible?
Being a stateful proxy (when using TM) Kamailio doesn't require to parse and
extract all the fields of Via header in the reply. By inspecting the Via
"branch" parameter and CSeq method Kamailio already identifies the existing
transaction (it has that info in memory) so already know where to route it.
--
Iñaki Baz Castillo <ibc(a)aliax.net>