Hello,
I thought of starting a dedicated thread to discuss the cleaning of
dialogs stuck for long time in a state that it shouldn't, following the
sr-dev debate on a commit from Alex (cc-ed).
Finding a root cause it is always the best, but some time it is hard or
even impossible given the nature of sip, where packets can be mis-routed
or overtake the order, or even sip is relying on changing state based on
timeouts. This is supposed to be last resort in dealing with exceptional
cases and be safe with memory and call limits.
Existing code was cleaning dialogs not answered for more than 5 min,
based on the fact that theoretically such case doesn't happen. At the
time of adding this, I reviewed that dialog and tm don't keep the
pointer for long time relying on reference counter, it such cases it
should clone the dialog id and lookup again.
Pointed by Alex, this is not completely if it happens that lookup of a
dialog in this special situation (staying too long in a state that
theoretically shouldn't be) is done when the cleanup task discovers the
anomaly.
My first thought to fix it is to track the last usage and based on it to
clean. So the condition to clean would become: dialog is too long in a
state that shouldn't be and last access to dialog was quite a while ago.
I am trying to figure out if anyone else thinks of different/better
solution.
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Nov 24-27, Berlin - http://www.asipto.com
Dear All,
I am trying to execute python script from the kamailio. According to documentation I have initialized everything and it works. As soon as I run the Kamailio the python script is executed.
However, according to my task I need to execute the script based on session media type (WebRTC communication type) whether it is audio or video.
For that purpose there was used SDPOPS module with function sdp_with_media("video").
So, in config file it looks like:
#!ifdef WITH_WEBSOCKETS
loadmodule "xhttp.so"
loadmodule "websocket.so"
loadmodule "nathelper.so"
loadmodule "sdpops.so"
loadmodule "app_python.so"
#!endif
......
modparam("app_python", "script_name", "/usr/local/etc/sip-router/setflow.py")
modparam("app_python", "mod_init_function", "mod_init")
modparam("app_python", "child_init_method", "child_init")
......
......
request_route {
if (sdp_with_media("video")){
python_exec("setflow");
}
..........
..........
Basically, this python script should be executed if the media session is video. For that it should have analyzed SDP body during the session establishment. However, it is executed as soon as kamailio is running. There was no any session establishment procedure (no INVITE), three way handshake, etc.
How it is possible to solve this issue? Do I need to execute it under certain conditions or am I missing something? Why the script is executed even though it is in "if" statement? I thought that it would execute the script if condition is true.
Thank you in advance.
Cheers,
Azat
Best Regards,
Azamat Ailbayev
Mob.: +49 (0) 15215023005
Module: sip-router
Branch: 4.2
Commit: bcfd43b42eb8115d7698201250a15f5ddd82b4c9
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=bcfd43b…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Wed Nov 5 14:04:33 2014 +0100
mqueue: elaborated the docs for mq_size() to reflect return codes
(cherry picked from commit cf9303b8063e77426e0506bed09577fe7a584fb1)
---
modules/mqueue/README | 76 ++++++++++++++++++-----------------
modules/mqueue/doc/mqueue_admin.xml | 4 ++
2 files changed, 43 insertions(+), 37 deletions(-)
diff --git a/modules/mqueue/README b/modules/mqueue/README
index b58607c..952e900 100644
--- a/modules/mqueue/README
+++ b/modules/mqueue/README
@@ -1,4 +1,3 @@
-
mqueue Module
Elena-Ramona Modroiu
@@ -19,7 +18,7 @@ Alex Balashov
<abalashov(a)evaristesys.com>
Copyright � 2010 Elena-Ramona Modroiu (asipto.com)
- _________________________________________________________________
+ __________________________________________________________________
Table of Contents
@@ -37,10 +36,10 @@ Alex Balashov
4. Functions
- 4.1. mq_add(queue, key, value)
- 4.2. mq_fetch(queue)
- 4.3. mq_pv_free(queue)
- 4.4. mq_size(queue)
+ 4.1. mq_add(queue, key, value)
+ 4.2. mq_fetch(queue)
+ 4.3. mq_pv_free(queue)
+ 4.4. mq_size(queue)
5. Exported Pseudo-variables
@@ -68,22 +67,22 @@ Chapter 1. Admin Guide
4. Functions
- 4.1. mq_add(queue, key, value)
- 4.2. mq_fetch(queue)
- 4.3. mq_pv_free(queue)
- 4.4. mq_size(queue)
+ 4.1. mq_add(queue, key, value)
+ 4.2. mq_fetch(queue)
+ 4.3. mq_pv_free(queue)
+ 4.4. mq_size(queue)
5. Exported Pseudo-variables
1. Overview
- The mqueue module offers a generic message queue system in shared
- memory for inter-process communication using the config file. One
- example of usage is to send time consuming operations to one or
- several timer processes that consumes items in the queue, without
- affecting SIP message handling in the socket-listening process.
+ The mqueue module offers a generic message queue system in shared
+ memory for inter-process communication using the config file. One
+ example of usage is to send time consuming operations to one or several
+ timer processes that consumes items in the queue, without affecting SIP
+ message handling in the socket-listening process.
- There can be many defined queues. Access to queued values is done via
+ There can be many defined queues. Access to queued values is done via
pseudo variables.
2. Dependencies
@@ -98,7 +97,7 @@ Chapter 1. Admin Guide
2.2. External Libraries or Applications
- The following libraries or applications must be installed before
+ The following libraries or applications must be installed before
running Kamailio with this module loaded:
* None.
@@ -110,15 +109,15 @@ Chapter 1. Admin Guide
Definition of a memory queue
- Default value is "none".
+ Default value is "none".
- Value must be a list of parameters: attr=value;... The attribute
- 'name' is mandatory, defining the name of the queue. Optional
- attribute 'size' specifies the maximum number of items in queue, if it
- is execeeded the oldest one is removed.
+ Value must be a list of parameters: attr=value;... The attribute 'name'
+ is mandatory, defining the name of the queue. Optional attribute 'size'
+ specifies the maximum number of items in queue, if it is execeeded the
+ oldest one is removed.
- The parameter can be set many times, each holding the definition of
- one queue.
+ The parameter can be set many times, each holding the definition of one
+ queue.
Example 1.1. Set mqueue parameter
...
@@ -128,14 +127,14 @@ modparam("mqueue", "mqueue", "name=qaz")
4. Functions
- 4.1. mq_add(queue, key, value)
- 4.2. mq_fetch(queue)
- 4.3. mq_pv_free(queue)
- 4.4. mq_size(queue)
+ 4.1. mq_add(queue, key, value)
+ 4.2. mq_fetch(queue)
+ 4.3. mq_pv_free(queue)
+ 4.4. mq_size(queue)
-4.1. mq_add(queue, key, value)
+4.1. mq_add(queue, key, value)
- Add a new item (key, value) in the queue. If max size of queue is
+ Add a new item (key, value) in the queue. If max size of queue is
exceeded, the oldest one is removed.
Example 1.2. mq_add usage
@@ -143,12 +142,12 @@ modparam("mqueue", "mqueue", "name=qaz")
mq_add("myq", "$rU", "call from $fU");
...
-4.2. mq_fetch(queue)
+4.2. mq_fetch(queue)
- Take oldest item from queue and fill $mqk(queue) and $mqv(queue)
- pseudo variables.
+ Take oldest item from queue and fill $mqk(queue) and $mqv(queue) pseudo
+ variables.
- Return: true on success (1); false on failure (-1) or no item fetched
+ Return: true on success (1); false on failure (-1) or no item fetched
(-2).
Example 1.3. mq_fetch usage
@@ -159,7 +158,7 @@ while(mq_fetch("myq"))
}
...
-4.3. mq_pv_free(queue)
+4.3. mq_pv_free(queue)
Free the item fetched in pseudo-variables. It is optional, a new fetch
frees the previous values.
@@ -169,10 +168,13 @@ while(mq_fetch("myq"))
mq_pv_free("myq");
...
-4.4. mq_size(queue)
+4.4. mq_size(queue)
Returns the current number of elements in the mqueue.
+ If the mqueue is empty, the function returns -1. If the mqueue is not
+ found, the function returns -2.
+
Example 1.5. mq_size usage
...
$var(q_size) = mq_size("queue");
@@ -183,7 +185,7 @@ xlog("L_INFO", "Size of queue is: $var(q_size)\n");
* $mqv(mqueue) - the most recent item key fetched from the specified
mqueue
- * $mqv(mqueue) - the most recent item value fetched from the
+ * $mqv(mqueue) - the most recent item value fetched from the
specified mqueue
* $mq_size(mqueue) - the size of the specified mqueue
diff --git a/modules/mqueue/doc/mqueue_admin.xml b/modules/mqueue/doc/mqueue_admin.xml
index 1aee029..2e9c3e8 100644
--- a/modules/mqueue/doc/mqueue_admin.xml
+++ b/modules/mqueue/doc/mqueue_admin.xml
@@ -164,6 +164,10 @@ mq_pv_free("myq");
<para>
Returns the current number of elements in the mqueue.
</para>
+ <para>
+ If the mqueue is empty, the function returns -1. If the
+ mqueue is not found, the function returns -2.
+ </para>
<example>
<title><function>mq_size</function> usage</title>
<programlisting format="linespecific">
Module: sip-router
Branch: master
Commit: cf9303b8063e77426e0506bed09577fe7a584fb1
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=cf9303b…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Wed Nov 5 14:04:33 2014 +0100
mqueue: elaborated the docs for mq_size() to reflect return codes
---
modules/mqueue/README | 76 ++++++++++++++++++-----------------
modules/mqueue/doc/mqueue_admin.xml | 4 ++
2 files changed, 43 insertions(+), 37 deletions(-)
diff --git a/modules/mqueue/README b/modules/mqueue/README
index b58607c..952e900 100644
--- a/modules/mqueue/README
+++ b/modules/mqueue/README
@@ -1,4 +1,3 @@
-
mqueue Module
Elena-Ramona Modroiu
@@ -19,7 +18,7 @@ Alex Balashov
<abalashov(a)evaristesys.com>
Copyright � 2010 Elena-Ramona Modroiu (asipto.com)
- _________________________________________________________________
+ __________________________________________________________________
Table of Contents
@@ -37,10 +36,10 @@ Alex Balashov
4. Functions
- 4.1. mq_add(queue, key, value)
- 4.2. mq_fetch(queue)
- 4.3. mq_pv_free(queue)
- 4.4. mq_size(queue)
+ 4.1. mq_add(queue, key, value)
+ 4.2. mq_fetch(queue)
+ 4.3. mq_pv_free(queue)
+ 4.4. mq_size(queue)
5. Exported Pseudo-variables
@@ -68,22 +67,22 @@ Chapter 1. Admin Guide
4. Functions
- 4.1. mq_add(queue, key, value)
- 4.2. mq_fetch(queue)
- 4.3. mq_pv_free(queue)
- 4.4. mq_size(queue)
+ 4.1. mq_add(queue, key, value)
+ 4.2. mq_fetch(queue)
+ 4.3. mq_pv_free(queue)
+ 4.4. mq_size(queue)
5. Exported Pseudo-variables
1. Overview
- The mqueue module offers a generic message queue system in shared
- memory for inter-process communication using the config file. One
- example of usage is to send time consuming operations to one or
- several timer processes that consumes items in the queue, without
- affecting SIP message handling in the socket-listening process.
+ The mqueue module offers a generic message queue system in shared
+ memory for inter-process communication using the config file. One
+ example of usage is to send time consuming operations to one or several
+ timer processes that consumes items in the queue, without affecting SIP
+ message handling in the socket-listening process.
- There can be many defined queues. Access to queued values is done via
+ There can be many defined queues. Access to queued values is done via
pseudo variables.
2. Dependencies
@@ -98,7 +97,7 @@ Chapter 1. Admin Guide
2.2. External Libraries or Applications
- The following libraries or applications must be installed before
+ The following libraries or applications must be installed before
running Kamailio with this module loaded:
* None.
@@ -110,15 +109,15 @@ Chapter 1. Admin Guide
Definition of a memory queue
- Default value is "none".
+ Default value is "none".
- Value must be a list of parameters: attr=value;... The attribute
- 'name' is mandatory, defining the name of the queue. Optional
- attribute 'size' specifies the maximum number of items in queue, if it
- is execeeded the oldest one is removed.
+ Value must be a list of parameters: attr=value;... The attribute 'name'
+ is mandatory, defining the name of the queue. Optional attribute 'size'
+ specifies the maximum number of items in queue, if it is execeeded the
+ oldest one is removed.
- The parameter can be set many times, each holding the definition of
- one queue.
+ The parameter can be set many times, each holding the definition of one
+ queue.
Example 1.1. Set mqueue parameter
...
@@ -128,14 +127,14 @@ modparam("mqueue", "mqueue", "name=qaz")
4. Functions
- 4.1. mq_add(queue, key, value)
- 4.2. mq_fetch(queue)
- 4.3. mq_pv_free(queue)
- 4.4. mq_size(queue)
+ 4.1. mq_add(queue, key, value)
+ 4.2. mq_fetch(queue)
+ 4.3. mq_pv_free(queue)
+ 4.4. mq_size(queue)
-4.1. mq_add(queue, key, value)
+4.1. mq_add(queue, key, value)
- Add a new item (key, value) in the queue. If max size of queue is
+ Add a new item (key, value) in the queue. If max size of queue is
exceeded, the oldest one is removed.
Example 1.2. mq_add usage
@@ -143,12 +142,12 @@ modparam("mqueue", "mqueue", "name=qaz")
mq_add("myq", "$rU", "call from $fU");
...
-4.2. mq_fetch(queue)
+4.2. mq_fetch(queue)
- Take oldest item from queue and fill $mqk(queue) and $mqv(queue)
- pseudo variables.
+ Take oldest item from queue and fill $mqk(queue) and $mqv(queue) pseudo
+ variables.
- Return: true on success (1); false on failure (-1) or no item fetched
+ Return: true on success (1); false on failure (-1) or no item fetched
(-2).
Example 1.3. mq_fetch usage
@@ -159,7 +158,7 @@ while(mq_fetch("myq"))
}
...
-4.3. mq_pv_free(queue)
+4.3. mq_pv_free(queue)
Free the item fetched in pseudo-variables. It is optional, a new fetch
frees the previous values.
@@ -169,10 +168,13 @@ while(mq_fetch("myq"))
mq_pv_free("myq");
...
-4.4. mq_size(queue)
+4.4. mq_size(queue)
Returns the current number of elements in the mqueue.
+ If the mqueue is empty, the function returns -1. If the mqueue is not
+ found, the function returns -2.
+
Example 1.5. mq_size usage
...
$var(q_size) = mq_size("queue");
@@ -183,7 +185,7 @@ xlog("L_INFO", "Size of queue is: $var(q_size)\n");
* $mqv(mqueue) - the most recent item key fetched from the specified
mqueue
- * $mqv(mqueue) - the most recent item value fetched from the
+ * $mqv(mqueue) - the most recent item value fetched from the
specified mqueue
* $mq_size(mqueue) - the size of the specified mqueue
diff --git a/modules/mqueue/doc/mqueue_admin.xml b/modules/mqueue/doc/mqueue_admin.xml
index 1aee029..2e9c3e8 100644
--- a/modules/mqueue/doc/mqueue_admin.xml
+++ b/modules/mqueue/doc/mqueue_admin.xml
@@ -164,6 +164,10 @@ mq_pv_free("myq");
<para>
Returns the current number of elements in the mqueue.
</para>
+ <para>
+ If the mqueue is empty, the function returns -1. If the
+ mqueue is not found, the function returns -2.
+ </para>
<example>
<title><function>mq_size</function> usage</title>
<programlisting format="linespecific">
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=b050dcb…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Tue Nov 4 10:20:46 2014 +0100
benchmark: sync'ed log level values in documentation
(cherry picked from commit 61ab723bb46f46f9013587e26ee07f39e5388ff8)
(cherry picked from commit 3ddda387934842542c2952ee912db55ba91f1c0e)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=2b75c84…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Fri Oct 31 12:35:56 2014 +0100
dialog: increase local cseq after REFER generated by dlg_bridge
- otherwise the next BYE can be rejected
(cherry picked from commit c76ee9facb771d2eae792214e6d4cef39c94a9eb)
(cherry picked from commit e82f1b2c3ab45472fcabf0ed4053d8ecc057d0ca)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=a0c6a82…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Fri Oct 31 12:33:38 2014 +0100
tm: update headers shortcuts if buffer rebuilt after event_route[tm:local-requests]
- affecting transactions for local generated requests
- bulding local ACK uses the shortcuts and they ended up being broken
- reported by Kristian F. Høgh
(cherry picked from commit b6d3dc61a78e549c9a75ddfa2fbb86aa2a1682c5)
(cherry picked from commit 4aea47fa023b705947af1bff747745cf105a64bf)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=afd309b…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Fri Oct 31 00:31:11 2014 +0100
tm: do all the clean local msg structure in one place
- uri/dst-uri were clened before the entire local sip message, not being
visible while rebuilding the content
(cherry picked from commit a2252afe90e0acd779e64c47eacc174b4bbdc41c)
(cherry picked from commit bf78e8498a9ac9441fcdb7141b0cf2a7b8739e83)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=313458e…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Thu Oct 30 11:41:41 2014 +0100
tm: safety catch inside t_check_trans() when already in a tm routing block
- transaction is known and some of these routing blocks are inside tm
lock, which can result in deadlock if not tested
- reported by Andrew Pogrebennyk, FS#482
(cherry picked from commit a8d50919bd614b704f3a4e08ff90d844b2c29829)
(cherry picked from commit 631e558f97728b91b3c0b3341c6c4ecc16902a82)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=bb7852d…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Thu Oct 30 10:23:51 2014 +0100
sqlops: use row index for storing result of sql_pvquery()
- reported by Savolainen Dmitri, FS#487
(cherry picked from commit 367840503010d1be0da23e79525f2f88eb09ebcf)
(cherry picked from commit b5ead3683782495da208fad2dffef61f893371b3)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=d7e7d76…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Thu Oct 30 10:10:15 2014 +0100
htable: safety check for key type and value
- reported by FS#486
(cherry picked from commit f5d9b59ee5aabb1da934ae2ce8101250041c05d1)
(cherry picked from commit 3209d2245cbc3d2def94065aed0ccdab23678a64)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=8114b10…
Author: Hugh Waite <hugh.waite(a)acision.com>
Date: Wed Oct 29 16:18:28 2014 +0000
registrar: Prevent incorrect application of path when forwarding a register
- Reset the internal path pointer after a save() to prevent it being added
as a Route: header, e.g. when running t_replicate()
(cherry picked from commit 61a1eee4fe2b7e3a7c6a8f82c86ac52957439053)
(cherry picked from commit 7d31ee740c49034f83192feffdcba2f7b8601fab)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=18d1b4c…
Author: Hugh Waite <hugh.waite(a)acision.com>
Date: Wed Oct 8 21:11:55 2014 +0100
core/parser: Fix extract_sendrecv_mode to always return mode if valid
- All four sendrecv directions return 0
- is_on_hold flag set for inactive and sendonly
(cherry picked from commit 0a019df8f2922a940a41742ce0e4560bb6523d6c)
(cherry picked from commit 49c39a3b2409636d1360d943e6785a34002c9009)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=8f178f0…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Wed Oct 29 12:07:57 2014 +0100
dialog: fixed adding contact header to REFER generated by dlg_bridge
- reported by Paul Smith
(cherry picked from commit ab7519006b6a53792d66b6903a4b0694083179b6)
(cherry picked from commit 97cab82e1217776b248a424b6d0ee6aaf9b092de)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=a382527…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Thu Oct 16 00:57:29 2014 +0200
websocket: safety guard when computing the list of connections
- avoid going further if connection is null -- unlikely to happen as len
of the list is computed before
(cherry picked from commit 19e8a5618f86833995d17200267910e44471141d)
(cherry picked from commit c07c94c3fe7809d4b0e4ec143d9e1ebef8a7cfc3)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=78a656e…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Mon Oct 13 11:57:48 2014 +0200
db_cluster: safey check to be sure the command is implemented by db connector
- reported by Miguel Reis, FS#476
(cherry picked from commit d1541b8299581cdfaf84169e307f47116def5cbf)
(cherry picked from commit 98826710632d0903f3aef7473582d239f584a542)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=d55ca28…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Mon Oct 13 11:34:40 2014 +0200
uac: init avp_value lenght to be safe when avp is not found for restoring From/To URI
- reported by Klaus Darilion, FS#479
(cherry picked from commit a4432c327044e720d4a2ac388f7aa0692f36e873)
(cherry picked from commit d510ff69559934d9ab586fef3e6e9bad00cf0a8b)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=e152059…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Sun Oct 12 18:58:02 2014 +0200
dialplan: extended debug message to be more useful
(cherry picked from commit 37c6e7ec80a16b93751d535de3b7784c1270d8b8)
(cherry picked from commit 53eb694e38836b19e8af7ffaa59b7014cd5f497e)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=d4c4a45…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Fri Oct 10 21:16:51 2014 +0200
tm: handle r-uri alias parameter for local generated requests within a dialog
(cherry picked from commit 3e01905143ace159b18e11a31edf39018d754bba)
(cherry picked from commit 6c7bbcddf48dbfc1bf563eba9a9e10991ac52cc3)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=bb8873e…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Fri Oct 10 12:19:29 2014 +0200
core: safety check for server_header lenght
- don't add the header in local generated replies if the value is empty
(cherry picked from commit 866ddc109bfd7c681e13ce529d271e8a2a33a972)
(cherry picked from commit 6f4c872f302111abda6aa810fb462b08809aaac9)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=c49ddc6…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Fri Oct 10 12:11:52 2014 +0200
tm: safety check for user_agent_header value
- don't add the header in local generated requests if the value is empty
(cherry picked from commit cea9b91dacdb23b22fc1a7dd8454994eab9efa6e)
(cherry picked from commit f90edc4efed7fb4bc2d0f6d1a20a69e1751485d3)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=f68b6a9…
Author: Juha Heinanen <jh(a)tutpro.com>
Date: Sun Oct 12 13:41:41 2014 +0300
modules/pua: db_mode=2 send_publish fixes
- plus small debug message edits
(cherry picked from commit 6822ff45e931ad3e93b22ebf7d1beb350bf27e70)
(cherry picked from commit 65659addafd0a492cafbb6c9cbaf3644442f333a)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=7a3f075…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Wed Oct 8 23:36:42 2014 +0200
dialog: sync'ed parameter names for columns with source code
(cherry picked from commit ebe64df20181f4e569548961b9a1ca64b5cfa444)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=cb8e8c8…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Sun Oct 5 21:55:51 2014 +0200
lib/srdb1: end of line after several debug messages
(cherry picked from commit e675f20af9a4d9a4b5e7b11277f4a4e0c774e128)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=1bf8bf0…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Sun Oct 5 10:01:42 2014 +0200
db_berkely: end log message with new line
(cherry picked from commit 5822dc04f01b20ddfe9d37e9c0eea53fa658164b)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=9ba6ab0…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Thu Oct 2 17:31:34 2014 +0200
core: be prepared to get Via received param with brackets around ipv6 addr
- helper function to generate similar value
(cherry picked from commit b7bc7a5450b1e31697fb389a503463eac644b796)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=6095474…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Thu Oct 2 16:47:35 2014 +0200
core: more verbose log message for failing to find local socket
(cherry picked from commit f50c1e9fab16fb611f7bbc6002f4c8607bc8fbf2)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=d2d3f2e…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Wed Oct 1 17:27:49 2014 +0200
core: change the uid and gid for pid and pgid files
- use the user and group given to daemon to update ownership of pid and
pgid files
- reported by Ovidiu Sas, FS#472
(cherry picked from commit c873758624da24359117b3fa158cc56ccd0a5d73)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=cc0d88f…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Wed Oct 1 16:53:44 2014 +0200
core: fixed overwriting mpath value given in command line via config
- -L is in the group of options evaluated before config
(cherry picked from commit e1e40d3a58bf3ed6c4f2df830e29d5468d7bee82)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=4d16de6…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Tue Sep 30 18:07:53 2014 +0200
benchmark: declare inline functions static to work with clang linker
- otherwise it results in no symbol found at module loading time
(cherry picked from commit 452f32235034916468cab577de3ca0d0f56fd5ea)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=1ce5a1e…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Tue Sep 30 18:06:36 2014 +0200
sms: declare inline functions static to work with clang linker
- otherwise it results in no symbol found at module loading time
(cherry picked from commit 8a51aa250c4e22e5933d0ff39a7a4b300007bb72)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=9c46eb4…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Tue Sep 30 17:53:44 2014 +0200
core: exit with -1 if there is a mismatch in version of module and core
- return code to shell 0 is like succesful run, some scripts not being
able to say it was a failure to start
(cherry picked from commit c4f7356f2d8c057f59cb61948aa04664cecd35f7)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=3183d0c…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Tue Sep 30 11:29:18 2014 +0200
websocket: fix checking payload_len safety check for fragmentation
- a crafted websocket frame using values spanning max unsinged int could have
caused a failed detection of unsupported fragmentation and invalid memory access
- thanks to Peter Dunkley and Hugh Waite for assisting and pin-pointing
where everything happens
(cherry picked from commit 6b8acf3204a8615762b0b5dcc6aac152f40b2ca0)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=d10a116…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Sun Sep 28 21:44:35 2014 +0200
tm: beter detection of brackets in From/To values in UAC print functions
- commit fb0cd1cd6a891ab5dc5f559bb6740ba62ac3daf4 fixed the case of
avoiding double <> when dispaly name was present, but affected when
header parameters were given
- reported by Juha Heinanen
(cherry picked from commit 181c30705b3cb82245463015d98644c278131af2)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=fadafe0…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Fri Sep 26 08:59:17 2014 +0200
tm: extra checks to see if the transaction was canceled before forwarding branches
- catch cases when CANCEL arrives during branch_route execution
- reported Sławomir Bocheński, FS#468
(cherry picked from commit b66033d0546bf57cfb0cd16f1072da80c5a79d34)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=cc3ae64…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Mon Sep 22 22:21:33 2014 +0200
tm: test ending angle bracket for From/To URI when genrating local requests
- the value can start with a display name and can end up with double
angle bracketting
(cherry picked from commit fb0cd1cd6a891ab5dc5f559bb6740ba62ac3daf4)
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=42897d4…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Mon Sep 22 22:04:39 2014 +0200
core: add received parameter to via if rport parameter is present
- required by RFC3581, section 4.
(cherry picked from commit a1e96cbd5a3b43598c59cb50693e6b739801b804)
HI,
Please, excuse me for my bad English
Just a question, kamailio does support DTMF Tones? i have a big while
searching for documentation about that but without good results. I want to
make a server side call transfer method whit DTMF Tones...
Thanks so much for your good work
Greetings from Venezuela