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.