THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A new Flyspray task has been opened. Details are below.
User who did this - Pawel Sternal (Sternik)
Attached to Project - sip-router
Summary - kamailio sometimes crash when handling failure events
Task Type - Bug Report
Category - Core
Status - Unconfirmed
Assigned To -
Operating System - Linux
Severity - Low
Priority - Normal
Reported Version - 4.1
Due in Version - Undecided
Due Date - Undecided
Details - Hello. I notice that about once a day kamailio in version 4.1.3 crash when handling failure events. I can't reproduce that situation.
Recently we upgraded prod proxies from 3.3.6 to 4.1.3. Maybe i'm using obsolete configuration logic, while processing this events.
GDB 'bt full' included.
20140509
<code>
May 9 20:16:40 node02 /usr/sbin/kamailio[4372]: ALERT: <core> [main.c:775]: handle_sigs(): child process 4389 exited by a signal 6
May 9 20:16:40 node02 /usr/sbin/kamailio[4372]: ALERT: <core> [main.c:778]: handle_sigs(): core was generatedc
</code>
20140510
<code>
May 10 11:52:56 node03 /usr/sbin/kamailio[28876]: ALERT: <core> [main.c:775]: handle_sigs(): child process 28897 exited by a signal 11
May 10 11:52:56 node03 /usr/sbin/kamailio[28876]: ALERT: <core> [main.c:778]: handle_sigs(): core was generated
</code>
One or more files have been attached.
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=427
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task is now closed:
FS#406 - Crash in websocket module
User who did this - Daniel-Constantin Mierla (miconda)
Reason for closing: Fixed
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=406
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
Hello
I already implemented the Kamailio working with the Jain-Sip over UDP and TCP.
Now I'm trying to implement in Kamailio and Jain-Sip the TLS
protection. I tried with some examples and is not working, the server
not respond to the client.
I follow this examples:
-http://www.kamailio.org/dokuwiki/doku.php/tls:create-certificates
-http://dev.telestax.com/jain-sip/source/browse/src/examples/tls/?r=89450d1952aad67c31779155653b08fdb54d2564
Someone can tell me how I can implement the TLS in both, in Kamailio
and in Jain-Sip to work together over TLS?
Kamailio version: 4.0.0
Jain-Sip version: 1.2
Thank you
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task has a new comment added:
FS#406 - Crash in websocket module
User who did this - Hugh Waite (hugh.waite)
----------
This latest patch has been applied to master and branch 4.1
----------
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=406#comment1430
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
Module: sip-router
Branch: master
Commit: feba7dd8e09a3b8c9f781b95b16c1b708fce4195
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=feba7dd…
Author: Juha Heinanen <jh(a)tutpro.com>
Committer: Juha Heinanen <jh(a)tutpro.com>
Date: Thu May 8 15:24:51 2014 +0300
modules/utils: http_query now stores result also in case of 4xx replies
- Applied patch by Mikko Lehto.
---
modules/utils/README | 41 +++++++++++++++++++++++++++----------
modules/utils/doc/utils_admin.xml | 2 +-
modules/utils/functions.c | 22 +++++++++++++------
3 files changed, 46 insertions(+), 19 deletions(-)
diff --git a/modules/utils/README b/modules/utils/README
index 61d4276..43e3f21 100644
--- a/modules/utils/README
+++ b/modules/utils/README
@@ -4,7 +4,13 @@ Juha Heinanen
TutPro Inc.
- Copyright � 2008-2009 Juha Heinanen
+Carsten Bock
+
+ ng-voice GmbH
+
+ Copyright (c) 2008-2009 Juha Heinanen
+
+ Copyright (c) 2013 Carsten Bock, ng-voice GmbH
__________________________________________________________________
Table of Contents
@@ -26,7 +32,7 @@ Juha Heinanen
4. Functions
- 4.1. http_query(url, result)
+ 4.1. http_query(url, [post-data], result)
4.2. xcap_auth_status(watcher_uri, presentity_uri)
5. MI Commands
@@ -70,7 +76,7 @@ Chapter 1. Admin Guide
4. Functions
- 4.1. http_query(url, result)
+ 4.1. http_query(url, [post-data], result)
4.2. xcap_auth_status(watcher_uri, presentity_uri)
5. MI Commands
@@ -174,17 +180,20 @@ modparam("utils", "xcap_table", "pres_xcap")
4. Functions
- 4.1. http_query(url, result)
+ 4.1. http_query(url, [post-data], result)
4.2. xcap_auth_status(watcher_uri, presentity_uri)
-4.1. http_query(url, result)
+4.1. http_query(url, [post-data], result)
- Sends HTTP GET request according to URL given in "url" parameter, which
- is a string that may contain pseudo variables.
+ Sends HTTP GET or POST request according to URL given in "url"
+ parameter, which is a string that may contain pseudo variables.
- If HTTP server returns a class 2xx or 3xx reply, the first line of the
- reply's body (if any) is stored in "result" parameter, which must be a
- writable pseudo variable.
+ If you want to make a POST-Request, you have to define the "post"-data,
+ that should be submitted in that request as the second parameter.
+
+ If HTTP server returns a class 2xx, 3xx or 4xx reply, the first line of
+ the reply's body (if any) is stored in "result" parameter, which must
+ be a writable pseudo variable.
Function returns reply code of HTTP reply or -1 if something went
wrong.
@@ -194,6 +203,7 @@ modparam("utils", "xcap_table", "pres_xcap")
Example 1.5. http_query() usage
...
+# GET-Request
http_query("http://tutpro.com/index.php?r_uri=$(ru{s.escape.param})&f_uri=$(fu{s
.escape.param})",
"$var(result)")
@@ -201,8 +211,17 @@ switch ($retcode) {
...
}
...
+...
+# POST-Request
+http_query("http://tutpro.com/index.php", "r_uri=$(ru{s.escape.param})&f_uri=$(f
+u{s.escape.param})",
+ "$var(result)")
+switch ($retcode) {
+ ...
+}
+...
-4.2. xcap_auth_status(watcher_uri, presentity_uri)
+4.2. xcap_auth_status(watcher_uri, presentity_uri)
Function checks in the presence server database if a watcher is
authorized to subscribe to event "presence" of presentity. Sphere
diff --git a/modules/utils/doc/utils_admin.xml b/modules/utils/doc/utils_admin.xml
index 3600f7d..7c4f788 100644
--- a/modules/utils/doc/utils_admin.xml
+++ b/modules/utils/doc/utils_admin.xml
@@ -171,7 +171,7 @@ modparam("utils", "xcap_table", "pres_xcap")
in that request as the second parameter.
</para>
<para>
- If HTTP server returns a class 2xx or 3xx reply,
+ If HTTP server returns a class 2xx, 3xx or 4xx reply,
the first line of the reply's body (if any) is
stored in <quote>result</quote> parameter,
which must be a writable pseudo variable.
diff --git a/modules/utils/functions.c b/modules/utils/functions.c
index ed1a591..dc4e529 100644
--- a/modules/utils/functions.c
+++ b/modules/utils/functions.c
@@ -139,16 +139,24 @@ int http_query(struct sip_msg* _m, char* _url, char* _dst, char* _post)
pkg_free(post);
}
- if (res != CURLE_OK) {
- LM_ERR("failed to perform curl\n");
- curl_easy_cleanup(curl);
- if(stream)
- pkg_free(stream);
- return -1;
+ if (res != CURLE_OK) {
+ /* http://curl.haxx.se/libcurl/c/libcurl-errors.html */
+ if (res == CURLE_COULDNT_CONNECT) {
+ LM_WARN("failed to connect() to host\n");
+ } else if ( res == CURLE_COULDNT_RESOLVE_HOST ) {
+ LM_WARN("couldn't resolve host\n");
+ } else {
+ LM_ERR("failed to perform curl (%d)\n", res);
+ }
+
+ curl_easy_cleanup(curl);
+ if(stream)
+ pkg_free(stream);
+ return -1;
}
curl_easy_getinfo(curl, CURLINFO_HTTP_CODE, &stat);
- if ((stat >= 200) && (stat < 400)) {
+ if ((stat >= 200) && (stat < 500)) {
curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD, &download_size);
LM_DBG("http_query download size: %u\n", (unsigned int)download_size);
/* search for line feed */
Hi
Please find attached silly little patch to utils module.
It modifies http_query() to log little bit more when curling fails
and returns response body also for 4xx respose.
--
Mikko Lehto
So Im writing a custom module to implement some of our business logic,
there are a few steps that im building into the module, for example
conform_callerid
conform_destination
what I want to achive should be fairly simple, but let me explain and im
sure someone will tell me where to look.
when I call conform_callerid, I want to store a few bits of info so
Initially I store them in a global variable ( yup lazy & dangerous I guess )
then I write the pv "get" function, to return the value from the global.
this was only done as a quick proof of concept.
but being global, im sure the variable will be overwritten by other message
etc etc..
so I effectively want to store some custom fields against the message.
I didnt see this on the msg structure, but maybe I missed something
or is there a better way to achieve this ??
basically I want to be able to call conform_callerid
then when I call conform_destination I want to look at some fields from the
conform_callerid process ( within the context of the message we are
processing )
any pointers would be appreciated.
--
Sincerely
Jay