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<http://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<https://uk.linkedin.com/pub/phil-lavin/25/422/750>
READ OUR BLOG FOR SMARTER
COMMUNICATIONS<http://t.sidekickopen03.com/e1t/c/5/f18dQhb0S7lC8dDMPbW2n…
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.