The fun solution to this is the dispatcher module.

It’ll monitor to see which endpoints are up, it can even gather stats to see which endpoints are most responsive latency wise.

On 26 Sep 2023, at 10:57 am, Shah Hussain Khattak via sr-users <sr-users@lists.kamailio.org> wrote:


Hello Team,

I hope you're all doing well. I'm reaching out to request your insights on the following scenario.

Overview:
I have successfully configured Kamailio to authenticate IP addresses, primarily for PBXs and customers unable to register. With this setup, I can flawlessly receive incoming traffic and forward it to our internal FreeSwitch servers.

Current issue:
Now, I'm focusing on managing traffic in the opposite direction—specifically for DIDs. I have a DID table set up in Kamailio that associates DID numbers with their respective IP peers. Upon receiving a call, a database lookup is performed to find the destination number, after which the call is terminated at the customer's IP.

I'm facing difficulty in handling situations where a customer has multiple IP peers (for redundancy). My aim is to try each of these IPs sequentially when terminating a specific DID call towards them. The current logic I'm employing for the INVITE lookup looks like this:

# Database lookup for INVITEs

if (is_method("INVITE")) {
  sql_query("didrouting_db", "SELECT route_to FROM did_routing WHERE did_number='$rU'", "result");
  if ($dbr(result=>rows) > 0) {
     $var(route_to) = $dbr(result=>[0,0]);
     xlog("L_INFO", "Routing DID $rU to $var(route_to)\n");
     $du = "sip:" + $var(route_to) + ":5060";
  } else {
     $du = "sip:" + FS_IP + ":5060";
  }
}

The above logic works fine for a single IP. 

I intend to use a comma-separated list of IPs in my route_to column (for example 192.168.1.2,192.168.1.3, ...) and then iterate through these IPs one by one. I'm having trouble coming up with a workable logic or loop to achieve this. Would you be able to offer any guidance or suggestions? 

Please also recommend if there is a better approach available to handle this scenario. 

Thank you in advance for your valuable input.


Regards, 
Shah Hussain 
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
To unsubscribe send an email to sr-users-leave@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe: