Thanks, Dimitry. That’s done it. Clearly my Google foo is bad today.
Phil Lavin
Telecoms Systems Manager
CloudCall by SYNETY
www.cloudcall.com
T: +44 (0) 330 335 0000 / +1 617 982 1600
D: +44 (0) 116 424 4790 / +1 716 242 6604
SM:
LinkedIn
READ
OUR BLOG FOR SMARTER COMMUNICATIONS
Confidentiality: This e-mail transmission, including any attachments, is intended only for the named recipient(s) and may contain information that is privileged, confidential and/or
exempt from disclosure under applicable law. If you have received this transmission in error, or are not the named recipient(s), please notify the sender immediately by return e-mail and permanently delete this transmission, including any attachments.
Security: This e-mail and any attachments are believed to be free from any virus but it is the responsibility of the recipient to ensure this is so. E-mail is not a 100% secure communication.
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org]
On Behalf Of Nagorny, Dimitry
Sent: 10 May 2016 15:35
To: Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org>
Subject: Re: [SR-Users] Setting source interface on relay
Hi Phil,
try using
force_send_socket(protocol:your_sending_interface:your_sending_port);
just before your route(RELAY).
Best Regards
Dimitry Nagorny
Trainee
Von: sr-users [mailto:sr-users-bounces@lists.sip-router.org]
Im Auftrag von Phil Lavin
Gesendet: Dienstag, 10. Mai 2016 16:19
An: Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.org>
Betreff: [SR-Users] Setting source interface on relay
Kamailio receives a fairly arbitrary out of dialog NOTIFY on an interface with a private IP address (eth1). It runs it through the following code which relays it to an IP/port combo pulled from a hash table.
The IP that it is relaying to is a public address and should be addressed out of the interface with a public IP address (eth0). It is, however, sent on the private interface (eth1) and thus never reaches its target.
route[PHONEREBOOT] {
# Only handle check-sync (Polycom) NOTIFY
if (!is_method("NOTIFY") || $hdr(Event)!="check-sync")
return;
# Look up ip:port combo in the agentloc hash table
if ($sht(agentloc=>$rU)==$null)
return;
# Set SIP URI to point to the agent
$ru = "sip:" + $rU + "@" + $sht(agentloc=>$rU);
route(RELAY);
exit;
}
Is there a way to explicitly set the source interface to relay on?
Thanks
Phil Lavin
Telecoms Systems Manager
CloudCall by SYNETY
www.cloudcall.com
T: +44 (0) 330 335 0000 / +1 617 982 1600
D: +44 (0) 116 424 4790 / +1 716 242 6604
SM:
LinkedIn
READ
OUR BLOG FOR SMARTER COMMUNICATIONS
Confidentiality: This e-mail transmission, including any attachments, is intended only for the named recipient(s) and may contain information that is privileged, confidential and/or
exempt from disclosure under applicable law. If you have received this transmission in error, or are not the named recipient(s), please notify the sender immediately by return e-mail and permanently delete this transmission, including any attachments.
Security: This e-mail and any attachments are believed to be free from any virus but it is the responsibility of the recipient to ensure this is so. E-mail is not a 100% secure communication.