Hello again,
I think I understand well your network setup now ;)
Frank Durda IV wrote: ...
It still looks like SER for some reason is forcing the return address to be the first interface address it comes across when it starts, rather than using a reply address appropriate
no, by default it re-uses the socket that it received the request on, if you don't tell it force_send_socket.
for the interface and network that the packet is leaving the SER server on.
Now, as to using force_send_socket(), how exactly does this work? I have not located any documentation other than "added to code" comments in the .c files, so its impact is not clear.
it just forces the send socket for that requests' forwarding. So just do force_send_socket("10.9.193.135"); before you do rewritehost() in route[5], i.e.
force_send_socket("10.9.193.135"); rewritehost("10.9.193.130"); # INSERT YOUR PSTN GATEWAY IP ADDRESS ...
if the route processing is ended and the message is sent out, the game begins again with the next message.
you can also try to set mhomed=yes (general config option), then it will detect on which interface to send out the message.
For example, does force_send_socket() affect just the next packet being transmitted, or does it get used for all packets sent from
yes, only the ones you are sending while processing this message.
this point forward, until another force_send_socket() call is made? If it just applies to one packet, should it force_send_socket() be invoked in route[5], after the rewritehost() and avp_write, but before route(1)?
I think it does not really matter whether force_send_socket is called before or after rewritehost and avp_write. What the function does is to save the socket to send the message when it is sent out.
Stefan