[SR-Users] forcing socket doesn't work for ACK
David Villasmil
david.villasmil.work at gmail.com
Mon Apr 1 17:37:45 CEST 2019
Hello guys,
I have public and private IPs, and i need to force the sending socket
replying to internal out externals endpoint, so i'm using this:
function to check the destination (i tried using $sndto(ip) but it always
returns NULL):
route[CHECK_DEST_NET] {
if ( $du=~"sip:172\..*" ) {
setflag(FLAG_TO_PRIVATE);
xlog("L_ERR", "[CHECK_SOURCE] Packet going to PRIVATE -> [$du]\n" );
} else {
setflag(FLAG_TO_PUBLIC);
xlog("L_ERR", "[CHECK_SOURCE] Packet going to PUBLIC -> [$du]\n" );
}
return;
}
on my relay:
route(CHECK_DEST_NET);
if (isflagset(FLAG_TO_PRIVATE)) {
xlog("L_ERR", "[RELAY] forcing socket to PRIVATE NET\n" );
force_send_socket(LISTEN_INSIDE_IF:LISTEN_INSIDE_PORT);
} else {
xlog("L_ERR", "[RELAY] forcing socket to PUBLIC NET\n" );
force_send_socket(LISTEN_OUTSIDE_IF:LISTEN_OUTSIDE_PORT);
}
This works nicely, except for ACKs and potentially other packets sent
statelessly?
Anyone knows how to fix this?
Regards,
David Villasmil
email: david.villasmil.work at gmail.com
phone: +34669448337
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190401/745779b2/attachment.html>
More information about the sr-users
mailing list