Hello,
I have been using the siptrace module on a multihomed kamailio setup for some time now, with kamailio 5.5.7 and 5.6.6, without incident.
I am listening to my external interface using something like:
listen=tls:external_ip:5061 listen=tcp:external_ip:5060 Listen=tcp:internal_ip:5000 name "homer"
And for siptrace...
modparam("siptrace", "duplicate_uri", "sip:homer_ip:9060;transport=tcp") modparam("siptrace", "send_sock_name", "homer")
I have also used send_sock_addr and force_send...
This works as expected.
I recently deployed this same setup using kamailio 6.0.1 and discovered that the send_sock is not being respected, even though the logs say it has been selected. Instead, tcpdump and careful examination of all the file descriptors for the kamailio processes reveal it is sending with the source set to my external_ip instead of the internal_ip.
I have verified this on the same server, ruling out os level issues routing issues and have tried manually connecting using nc with the internal ip address for the source, which works.
I tried downgrading, and found that the same is true for kamailio 5.7.6, 5.8.6 and 6.0.1
This issue only appears to affect siptrace as other sockets appear to use the correct source ip to, for example, connect to a database.
I had a look at the change logs and documentation and cant see anything obvious that I need to change from a configuration perspective.
Could anybody help? I would prefer to be running 6.0+ in my new production environment but wont be able to if this cannot be solved quickly.
Many thanks for your help.
With every blessing, -- Daniel Donoghue