[SR-Users] forcing socket doesn't work for ACK

David Villasmil david.villasmil.work at gmail.com
Mon Apr 1 19:58:09 CEST 2019


anyone? :)

David Villasmil
email: david.villasmil.work at gmail.com
phone: +34669448337


On Mon, Apr 1, 2019 at 4:37 PM David Villasmil <
david.villasmil.work at gmail.com> wrote:

> 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/548003fb/attachment.html>


More information about the sr-users mailing list