Hello,
I would like to do an IMS configuration to generate some calls with several smartphones. Currently, i had installed kamaillio 4.2 but i didn't found tutorials about how to configure IMS with Fedora 20, it is always for a debian distribution like this one:
http://www.kamailio.org/wiki/tutorials/ims/installation-howto
Do have any advice about how to configure it with Fedora 20 ?
Thanks
Robert
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/223
Module: kamailio
Branch: master
Commit: bd2feeae898dd9a40bc2209200e3426d85430500
URL: https://github.com/kamailio/kamailio/commit/bd2feeae898dd9a40bc2209200e3426…
Author: Savolainen Dmitri <savolainen(a)erinaco.ru>
Committer: Savolainen Dmitri <savolainen(a)erinaco.ru>
Date: 2015-06-25T19:35:04+03:00
dispatcher: doc description for relative weight distribution added
---
Modified: modules/dispatcher/doc/dispatcher_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/bd2feeae898dd9a40bc2209200e3426…
Patch: https://github.com/kamailio/kamailio/commit/bd2feeae898dd9a40bc2209200e3426…
---
diff --git a/modules/dispatcher/doc/dispatcher_admin.xml b/modules/dispatcher/doc/dispatcher_admin.xml
index ae700ab..b9a0c01 100644
--- a/modules/dispatcher/doc/dispatcher_admin.xml
+++ b/modules/dispatcher/doc/dispatcher_admin.xml
@@ -917,6 +917,24 @@ modparam("dispatcher", "force_dst", 1)
</listitem>
<listitem>
<para>
+ <quote>11</quote> - use relative weight based load distribution.
+ You have to set the attribute 'rweight' per each address in
+ destination set. Active host usage probability is
+ rweight/(SUM of all active host rweights in destination group).
+ </para>
+ <para>
+ The major difference from the weight distribution is the
+ probability recalculation according to rweight value in case of
+ host enabling/disabling
+ </para>
+ <para>
+ For example, 100 calls in 3-hosts group with rweight params 1/2/1
+ will be distributed as 25/50/25. After third host failing
+ distribution will be changed to 33/67/0.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
<quote>X</quote> - if the algorithm is not implemented, the
first entry in set is chosen.
</para>
@@ -1450,6 +1468,12 @@ onreply_route {
sent to that gateways.
</listitem>
<listitem>
+ 'rweight' - used for relative weight based load
+ distribution. It must be set to a positive integer value
+ between 1 and 100 (otherwise host will be excluded from
+ relative weight distribution type).
+ </listitem>
+ <listitem>
'socket' - used to set the sending socket for the gateway.
It is used for sending the SIP traffic as well as
OPTIONS keepalives.
Module: kamailio
Branch: master
Commit: abd02c40d7f3379f8b72d73e89ab630167b5e514
URL: https://github.com/kamailio/kamailio/commit/abd02c40d7f3379f8b72d73e89ab630…
Author: Savolainen Dmitri <savolainen(a)erinaco.ru>
Committer: Savolainen Dmitri <savolainen(a)erinaco.ru>
Date: 2015-06-23T15:00:20+03:00
dispatcher: use last active destination for relative weight distribution array finishing instead of last in destination set
---
Modified: modules/dispatcher/dispatch.c
---
Diff: https://github.com/kamailio/kamailio/commit/abd02c40d7f3379f8b72d73e89ab630…
Patch: https://github.com/kamailio/kamailio/commit/abd02c40d7f3379f8b72d73e89ab630…
---
diff --git a/modules/dispatcher/dispatch.c b/modules/dispatcher/dispatch.c
index 9078c4e..a12ede8 100644
--- a/modules/dispatcher/dispatch.c
+++ b/modules/dispatcher/dispatch.c
@@ -471,10 +471,11 @@ int dp_init_relative_weights(ds_set_t *dset)
t++;
}
}
- /* if the array was not completely filled (i.e., the sum of weights is
+ /* if the array was not completely filled (i.e., the sum of rweights is
* less than 100 due to truncated), then use last address to fill the rest */
- for(; t<100; t++)
- dset->rwlist[t] = (unsigned int)(dset->nr-1);
+ unsigned int last_insert = t>0? dset->rwlist[t-1] : (unsigned int)(dset->nr-1);
+ for(j=t; j<100; j++)
+ dset->rwlist[j] = last_insert;
/* shuffle the content of the array in order to mix the selection
* of the addresses (e.g., if first address has weight=20, avoid
Module: kamailio
Branch: master
Commit: 1d6c1d74ab028ca0d75c6cd9f6466a255b93d2d2
URL: https://github.com/kamailio/kamailio/commit/1d6c1d74ab028ca0d75c6cd9f6466a2…
Author: Savolainen Dmitri <savolainen(a)erinaco.ru>
Committer: Savolainen Dmitri <savolainen(a)erinaco.ru>
Date: 2015-06-20T22:02:28+03:00
dispatcher: relative weight distribution added
- it is possible to assign "rweight" (relative weight) param to each host in destination group.
rweight is in the integer range from 1 to 100.
Active host usage probability is rweight/(sum of all active host rweights in destination group).
So INACTIVE/DISABLED destinations are removed from probability calculation.
---
Modified: modules/dispatcher/dispatch.c
Modified: modules/dispatcher/dispatch.h
Modified: modules/dispatcher/dispatcher.c
---
Diff: https://github.com/kamailio/kamailio/commit/1d6c1d74ab028ca0d75c6cd9f6466a2…
Patch: https://github.com/kamailio/kamailio/commit/1d6c1d74ab028ca0d75c6cd9f6466a2…
I was confused a little while using dispatcher weight alg. Smth like this If some host go away:
30/30/40 -> 70/30/0 (the third one was failed). This transformation is more correct in my mind:
30/30/40 -> 50/50/0. So I have to assign some hook to dispatcher:dst-down/dispatcher:dst-up route for rebalancing
“rweight” (relative weight) parameter is added in this branch. rweight is in the integer range from 1 to 100 (weight, not percentage).
Active host usage probability is rweight/(sum of all active host rweights in destination group).
So INACTIVE/DISABLED destinations are removed from probability calculation.
let’s we have rweights 1/2/1; 100 calls will be distributed as 25/50/25
after third host failing (via ds_mark_dst([state]) or RPC dispatcher.set_state or via module pinging): 33/67/0
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/219
-- Commit Summary --
* dispatcher: relative weight distribution added
-- File Changes --
M modules/dispatcher/dispatch.c (134)
M modules/dispatcher/dispatch.h (3)
M modules/dispatcher/dispatcher.c (3)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/219.patchhttps://github.com/kamailio/kamailio/pull/219.diff
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/219
Hello!
I have kamailio installed as a part of kazoo server (kamailio server and server with other apps) with enabled websocket role. As I see in .cfg file there is default restriction for connection from one IP - 50, so 51st client from the same IP address get 403 error. So
1) How can I see how many websocket connections from one IP I have? (Except log messages in kamailio.log)
2) Our kamailio work fine for week and a half, after that I see messages in kamailio log:
"[Some_IP_address] is at the maximum allowable sockets per IP, rejecting request for another websocket"
I checked connections from OS and saw that there is one connection not fifty.
lsof -ni TCP:8080 | grep [Some_IP_address]
kamailio 30673 kamailio 132u IPv4 4667683 0t0 TCP [Some_IP_address]:webcache->[Some_IP_address]:57688 (ESTABLISHED)
After restarting kamailio all work fine for another week and a half and repeat.
Is it some bug?
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/218