dispatcher module doing wrong when skipping inactive nodes on weighted
load distribution usage ( alg 9 )
here:
https://github.com/kamailio/kamailio/blob/master/modules/dispatcher/dispatc…
loop iterates over possible destinations to get first active after
previously computed destination if it inactive.
this works for all balancing algorythms except of 9 (weighted balancing),
because on failover it ignores idx->wlist array and chooses next
destination ignoring weights.
thus we will get all traffic for inactive destination on the destination
which next by destinations index.
suggested patch changes behavior to continue to iterate over idx->wlist
on inactive destinations skipping for alg 9.
please, examine and apply.
--
Regards
Michael Furmur
Hai Daniel,
Am using Kamailio 4.4.0
version: kamailio 4.4.0-dev8 (x86_64/linux) a2e3c0
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS,
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC,
Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX,
FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR,
USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: a2e3c0
compiled on 05:33:57 Dec 18 2015 with gcc 4.8.5
Now I have a routing scripting written in opensips going to change into
kamailio.cfg.
But am facing some issues about functions and modules paramaeters,
So please help me a good documents to write kamailio script,
i dnt which function to mathc_dialog,fix_route_dialog..etc....
if (has_totag()) {
if (match_dialog()) {
if ($DLG_status==NULL) {
xlog("Dialog NULL");
}
else {
fix_route_dialog();
}
if (is_method("BYE")) {
remove_hf("User-Agent:");
t_relay();
}
else if (is_method("INVITE")) {
record_route();
route(RELAY);
}
else {
route(RELAY);
}
}
else {
if ( is_method("ACK")) {
remove_hf("Route:");
if ( t_check_trans() ) {
t_relay();
exit;
}
else {
exit;
}
}
sl_send_reply("404","Not here");
}
exit;
}
The above scriptis from opensip.cfg please show by changing above part into
kamailio.cfg
Thanks& Regards
Yasir
http://about.me/mhdyas