Thanks for the replies and examples! Much appreciated!
I was thinking of something similar to David suggestion, but I think this
is not 100% reliable. It may fail in cases where my kernel routing table
has some rule where a private IP is reachable via my external interface but
different GW for example (multiple IPs in the same interface or more
complex network architecture with VPN or direct link with some
endpoint).... So given Kamailio already consults the kernel looking for the
correct interface to a given destination, I thought this is actually the
correct information I should use in my script. The only problem is that
apparently Kamailio is not exposing this info for the script writer....
Karsten suggestion should probably work but in short this is just a way to
statically save in DB the network routing information I know before hand.
If this route changes (which should not happen often I agree) then I have
to update the DB. And also this DB data could be replaced by some logic in
my script if I had access to the chosen socket... That's exactly the
purpose of having mhomed=1 in the script, I don't need to save socket info
for all my GWs in DB because I am letting Kamailio automatically decide it.
And it does pretty well! The only problem now is that I don't know what
this decision was and I need it to implement the RTPEngine logic in my
script based on the interface the INVITE will go out.
Happy to hear more ideas!
Thanks,
Kind regards,
Patrick Wakano
On Thu, 21 Nov 2019 at 20:07, Karsten Horsmann <khorsmann(a)gmail.com> wrote:
Hi Patrick,
If you don't use tls at this moment, the config from sbc OS is also an
good example of using dispatcher with the socket params to select the right
sendsock and using vars to give rtpengine the right internal / external
directions. They use numbers for internal and external. To figure out where
the direction is, this config use pseudo vars for receiving local socket
https://github.com/voiceboys/sbcOS/blob/master/SbcOS/configs/voice/kamailio…
Cheers
Karsten Horsmann
Patrick Wakano <pwakano(a)gmail.com> schrieb am Do., 21. Nov. 2019, 07:11:
Hello list,
Hope you are all doing well!
I am trying to figure out a way to retrieve the local socket the
t_relay() has decided to use in a mhomed=1 env. Is there a way to do that?
I couldn't find any variable other than the $snd ones that maybe have this
info, but I am not using onsend_route anyway.....
I am after this value because this is what I can use to figure out if I
need to engage RTPEngine with parameters "external, internal", "external,
external", "internal, external" or "internal, internal". In my
case, my
server is in between two networks, and calls can traverse or can be routed
back to the same interface depending on what was decide by the LCR module.
Signalling is fine, but engaging the RTPEngine must be done with the
correct parameters to get the correct IPs in the SDP, other else I get one
way audio in the call.....
Any help is much appreciated!
Thank you!
Kind regards,
Patrick Wakano
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users