Hi all, My scenario is as follows: I have All the CSCFs on the same IP using different ports. P-CSCF advertises a public IP. Rest of the nodes including I-CSCF and S-CSCF listen local only.
Behavior: When an ACK or PRACK goes from P-CSCF to S-CSCF, the RURI changes such that alias parameter is removed. Hence, P-CSCF ends up sending PRACK and ACK on private IP of UE.
Here's what the config looks like:
Any hints?
-- View this message in context: http://sip-router.1086192.n5.nabble.com/Kamailio-IMS-NAT-issue-PRACK-ACK-RUR... Sent from the Users mailing list archive at Nabble.com.
Hello Owais,
I have All the CSCFs on the same IP using different ports. P-CSCF advertises a public IP. Rest of the nodes including I-CSCF and S-CSCF listen local only.
What is the reason that the rest of the nodes including I-CSCF and S-CSCF listen local only? I am not familiar with such an arrangement. I-CSCF and S-CSCF must have addresses which can be used in routing?
Why do you do that? Why do you think NAT can solve that issue. In my view this will make things much more complicated. To analyse what happens in your case you should add tracefile from the core (tcpdump -i any -s 3000 -w /var/tmp/trace.pcap).
BR Franz
Hi Franz,
Sorry for the misunderstanding, none of the nodes are "local only". Its a private address that they're listening to.
As for the issue, source UE sends correct ACK with the right RURI (containing the correct IP and port of the destination UE).
But P-CSCF strips that alias parameter off such that the ACK ends up going to the *wrong port* of destination UE. It seems that the proxy is not honouring the alias that was added. (same is the case with PRACK).
Has anyone else experienced the same issue?
I am using the default examples of kamailio pcscf git master version.
-- View this message in context: http://sip-router.1086192.n5.nabble.com/Kamailio-ims-nat-issue-PRACK-ACK-rur... Sent from the Users mailing list archive at Nabble.com.