Thanks, ill set up the lab with that module and see how it behaves.
> On 26 Apr 2024, at 11:16 AM, Ihor Olkhovskyi via sr-users > <[email protected]> wrote: > > Alexis, > > I'd switch to http_async, but this is a general advice. > > As for switching to KEMI, I'd not expect increasing in performance as native > script is the fastest so far. KEMI will give you "comfort of writing on a > high-level language" and config reload, but performance should not be the > reason for switching AFAIK > > > Le 26/04/2024 à 15:19, Alexis Fidalgo via sr-users a écrit : >> Hello all, little and fast context, we have 8 docker swarm clusters (4 nodes >> each) where there are deployed as global service 4 kamailio per cluster. >> Each cluster runs 8 replicas of a call processing service/app (for the sake >> of this question we’ll assume the performance of this app is ok, no problems >> on what it does and how much it consumes in cpu/memory). >> >> kamailio is configured to use http_client module to query the processing app >> (those queries are load balanced by the docker swarm cluster) in a very >> simple way, added below in this email. >> >> Everything goes well, there’s an average of ~450 caps on each kamailio on >> peak hours. >> >> Question and reason of this email is: Is this the best approach i can take? >> (the http_client) or maybe there’s a more efficient one for this scenario? >> maybe kemi, or other? >> >> The processing app is written in golang. >> >> We’re planning to add more traffic (significantly more) to this instances >> and i would like to know if there’s a better scenario, to explore it before >> this migration. >> >> Thanks, regards >> >> — >> >> request_route { >> route(AF_SL); >> } >> >> route[AF_SL] { >> if(is_method("ACK")){ >> exit; >> } >> if(is_method("REGISTER")){ >> sl_reply("200", "OK"); >> exit; >> } >> if(is_method("OPTIONS")){ >> sl_reply("200", "OK"); >> exit; >> } >> if(is_method("CANCEL")){ >> sl_reply("200","OK"); >> sl_reply("487","Request Terminated"); >> exit; >> } >> >> if(is_method("INVITE")){ >> if ($hdr(X-Carrier-In)!="" && $hdr(Organization)!="" && >> $hdr(X-SBC-Type)!="") { >> sl_reply("100","Trying"); >> $var(retCode) = >> http_client_query("http://cbrcre:3001/cbrcre/v1/callHandler",'xsbct=$(hdr(X-SBC-Type){s.escape.param})&org=$(hdr(Organization){s.escape.param})&xci=$(hdr(X-Carrier-In){s.escape.param})&fu=$(fu{s.escape.param})&ru=$(ru{s.escape.param})&rU=$(rU{s.escape.param})&fU=$(fU{s.escape.param})&ci=$(ci{s.escape.param})&cin=$(hdr(Call-Info){s.escape.param})&ih=$hdr(Identity)&tag=$(ft{s.escape.param})&ct=$(ct{s.escape.param})&via=$(hdr(Via)[0]{s.escape.param})', >> "$var(result)"); >> xlog("L_INFO", "*************** RESULT: >> $var(result)\n\n"); >> jansson_get("response_code", "$var(result)", >> "$var(rc)"); >> switch($var(rc)){ >> case "200": >> if jansson_get("contact", >> "$var(result)", "$var(ct)") == true { >> append_branch("$var(ct)"); >> } >> if jansson_get("callinfo", >> "$var(result)", "$var(cinfo)") == true { >> append_to_reply("Call-Info: >> $var(cinfo)\r\n"); >> } >> if jansson_get("pai", "$var(result)", >> "$var(pai)") ==true { >> >> append_to_reply("P-Asserted-Identity: $var(pai)\r\n"); >> } >> if jansson_get("xfrom", "$var(result)", >> "$var(xfrom)") ==true { >> append_to_reply("X-From: >> $var(xfrom)\r\n"); >> } >> if jansson_get("identity", >> "$var(result)", "$var(identity)") ==true { >> append_to_reply("Identity: >> $var(identity)\r\n"); >> } >> append_to_reply("X-Handled: >> ServiceBroker\r\n"); >> sl_send_reply("302", "Redirect"); >> break; >> default: >> >> jansson_get("reason","$var(result)","$var(reason)"); >> >> jansson_get("sbReason","$var(result)","$var(sbreason)"); >> append_to_reply("X-SBReason: >> $var(sbreason)\r\n"); >> sl_send_reply("$var(rc)", >> "$var(reason)"); >> } >> exit; >> } >> xlog("L_ERR","missing xci or org or sbct"); >> sl_send_reply("608", "SBK Rejected"); >> } >> } >> __________________________________________________________ >> Kamailio - Users Mailing List - Non Commercial Discussions >> To unsubscribe send an email to [email protected] >> Important: keep the mailing list in the recipients, do not reply only to the >> sender! >> Edit mailing list options or unsubscribe: > __________________________________________________________ > Kamailio - Users Mailing List - Non Commercial Discussions > To unsubscribe send an email to [email protected] > Important: keep the mailing list in the recipients, do not reply only to the > sender! > Edit mailing list options or unsubscribe: __________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to [email protected] Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
