Hi,
I've implemented a ringless millisecond async sleep using sorted linked list and 1 millisecond timer. Timer queues tasks that are due for execution with async_task_push.
https://github.com/urtho/kamailio/tree/microsleep
If this is worth including in the master then I can do comments, docs, better naming and millisecond async_route version.
Coupled with a leaky bucket algorithm (eg via HTTP microservice in GO) this gives me a nice SIP INVITE shaping functionality where I can evenly space request bursts per customer without any dropped calls. No more per customer or per group spikes or rate limit drops.
SIPP load testing shows now memory leaks nor other unexpected behaviour for multiple 250 req/s parallel streams.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2006
Module: kamailio
Branch: 5.2
Commit: 13e6e5ab591297237027a966b01cef5cb59f9f10
URL: https://github.com/kamailio/kamailio/commit/13e6e5ab591297237027a966b01cef5…
Author: Henning Westerholt <hw(a)skalatan.de>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2019-07-14T12:31:02+02:00
dispatcher: small spelling fix in docs
(cherry picked from commit 93d18c0e4a805c86e82e2271d2d496b4b125fdfd)
---
Modified: src/modules/dispatcher/doc/dispatcher_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/13e6e5ab591297237027a966b01cef5…
Patch: https://github.com/kamailio/kamailio/commit/13e6e5ab591297237027a966b01cef5…
---
diff --git a/src/modules/dispatcher/doc/dispatcher_admin.xml b/src/modules/dispatcher/doc/dispatcher_admin.xml
index 4ab4a2d995..bcfa4a95c9 100644
--- a/src/modules/dispatcher/doc/dispatcher_admin.xml
+++ b/src/modules/dispatcher/doc/dispatcher_admin.xml
@@ -1798,7 +1798,7 @@ DEST: {
<listitem>
<para>flags - control the mode of using the destination address and
sending keepalives. It is a bitwise value that can be built using
- the folowing flags:
+ the following flags:
<itemizedlist>
<listitem><para>1 (bit at index 0 - 1 <<0) - inactive destination</para>
</listitem>
Module: kamailio
Branch: master
Commit: 93d18c0e4a805c86e82e2271d2d496b4b125fdfd
URL: https://github.com/kamailio/kamailio/commit/93d18c0e4a805c86e82e2271d2d496b…
Author: Henning Westerholt <hw(a)skalatan.de>
Committer: Henning Westerholt <hw(a)skalatan.de>
Date: 2019-07-14T12:30:25+02:00
dispatcher: small spelling fix in docs
---
Modified: src/modules/dispatcher/doc/dispatcher_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/93d18c0e4a805c86e82e2271d2d496b…
Patch: https://github.com/kamailio/kamailio/commit/93d18c0e4a805c86e82e2271d2d496b…
---
diff --git a/src/modules/dispatcher/doc/dispatcher_admin.xml b/src/modules/dispatcher/doc/dispatcher_admin.xml
index 9754e3f320..823935b096 100644
--- a/src/modules/dispatcher/doc/dispatcher_admin.xml
+++ b/src/modules/dispatcher/doc/dispatcher_admin.xml
@@ -1911,7 +1911,7 @@ DEST: {
<listitem>
<para>flags - control the mode of using the destination address and
sending keepalives. It is a bitwise value that can be built using
- the folowing flags:
+ the following flags:
<itemizedlist>
<listitem><para>1 (bit at index 0 - 1 <<0) - inactive destination</para>
</listitem>
Hi
Greeting !!!
I am kaushik saha from Discreet Solutions Pvt LTD. India
We want to install you're VOIP OS in a home router which should be cost
effective .
Home sip server is use for following use :
1. Audio and video extension calling
2. Remote extension Audio and video calling
3. DTMF tone
4. Maximum extension required is 10
5. Status
If you have any solution which fulfill our requirement plz let me know
Regards
Kaushik saha
We are having problems in our environment with the way rtpengine distributes RTP sessions. It doesn't provide a good enough distribution among RTP nodes and this is mostly because the current algorithm is quite simple, doing the sum of the characters in the callid and after that applying a 0xFF mask over this(which contributes even more to the distribution of this algorithm). This may affect our systems under heavy load and we've been looking for an alternative.
To have something to compare I have designed a tesing application in which I generate CallIds, apply a hashing algorithm and assign the result to a set/node. For example I have 10 nodes each of weight 10. Let's say hash value is 125 I do 125 mod (10 * 10) = 25 therefore the hash will go to node 3.
I've been running some tests over various hashing algorithms such as: SHA 256, jenkins(simple hashing algorithm found on wikipedia), md5, sha1, ripemd, crc32 and the one used in the rtpengine. For each algorithm I test from 1000 randomly generated callids to 10 million with a multiplyer of 10(5 tests for each algorithm). The callIds have 16 randomly generated bytes and 16 fixed bytes which are always the same. This way I'm trying to reproduce the way callIds are generated most of them containing a randomly generated part and a fixed part.
>From the results I can tell for sure that multiple rounded hashing algorithms from libssl(md5, sha1, ripemd, sha 2) offer a much better distribution than a trivial hashing function so we're looking to change the current algorithm with SHA 1 because SHA 2 takes more time without significant improvement.
It would be nice to push this upstream, but there are some issues. First, using these functions, rtpengine module will depend on libssl. What is your opinion about this? I've looked if we can copy any of the algos from libssl into the code but this is not as easy as it seems. Secondly, if you agree to replacing the algorithm, how would you approach the issue: only replace the current one or add the posibility for the user to select between multiple algorithms?
Any suggestion of testing scenarios or hashing algorithms that we've not considered is much welcome.
The results of the tests are attached to his post.
[h_funcs_compare.txt](https://github.com/kamailio/kamailio/files/3014285/h_f…
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/1911
Hello all ,
kamailio Service not starting , through error of hostname , even hostname is correct
Please advise
![image](https://user-images.githubusercontent.com/32220165/61097393-d3ebfd80-a478-11e9-9c55-d1826b29429d.png)
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2005
Module: kamailio
Branch: master
Commit: 5b8311cdae91f07e12eb430eef832944219cab40
URL: https://github.com/kamailio/kamailio/commit/5b8311cdae91f07e12eb430eef83294…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2019-07-10T09:05:17+02:00
registrar: docs for reg_send_reply()
---
Modified: src/modules/registrar/doc/registrar_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/5b8311cdae91f07e12eb430eef83294…
Patch: https://github.com/kamailio/kamailio/commit/5b8311cdae91f07e12eb430eef83294…
---
diff --git a/src/modules/registrar/doc/registrar_admin.xml b/src/modules/registrar/doc/registrar_admin.xml
index 4ce4a6b995..32752eac89 100644
--- a/src/modules/registrar/doc/registrar_admin.xml
+++ b/src/modules/registrar/doc/registrar_admin.xml
@@ -10,9 +10,9 @@
<!-- Module User's Guide -->
<chapter>
-
+
<title>&adminguide;</title>
-
+
<section id="rergistrar.overview">
<title>Overview</title>
<para>The module contains REGISTER processing logic. The actual location
@@ -1510,6 +1510,30 @@ reg_fetch_contacts("location", "sip:user@kamailio.org", "caller");
...
reg_free_contacts("callee");
...
+</programlisting>
+ </example>
+ </section>
+ <section id="registrar.f.reg_send_reply">
+ <title>
+ <function moreinfo="none">reg_send_reply()</function>
+ </title>
+ <para>
+ The function sends the SIP reply that is normally sent by
+ save(...), but that was skipped due to flag 0x2. It must be used
+ after save(..., "0x2"). Practically it allows saving registration
+ to location table, do other operations and then send the reply.
+ </para>
+ <para>
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
+ </para>
+ <example>
+ <title><function>reg_send_reply</function> usage</title>
+ <programlisting format="linespecific">
+...
+save("location", "0x2");
+...
+reg_send_reply();
+...
</programlisting>
</example>
</section>