Hello,
I just got a crash of 4.2:61d84c020e35d529ba6782628a66af7c4a8df4a2 under
these circumstances:
Jun 5 10:00:05 kam /usr/local/sbin/kamailio[16214]: CRITICAL: <core>
[pass_fd.c:293]: receive_fd(): EOF on 19
Jun 5 10:00:05 kam /usr/local/sbin/kamailio[16161]: ALERT: <core>
[main.c:784]: handle_sigs(): child process 16181 exited by a signal 11
Jun 5 10:00:05 kam /usr/local/sbin/kamailio[16161]: ALERT: <core>
[main.c:787]: handle_sigs(): core was not generated
Jun 5 10:00:05 kam /usr/local/sbin/kamailio[16161]: INFO: <core>
[main.c:799]: handle_sigs(): terminating due to SIGCHLD
I have no core dump, unfortunately. Any idea why this might've happened?
--
Alex Balashov | Principal | Evariste Systems LLC
303 Perimeter Center North, Suite 300
Atlanta, GA 30346
United States
Tel: +1-800-250-5920 (toll-free) / +1-678-954-0671 (direct)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
Module: kamailio
Branch: 4.3
Commit: 04f86d265a0d26f8dd25bf0ed353ee173b614204
URL: https://github.com/kamailio/kamailio/commit/04f86d265a0d26f8dd25bf0ed353ee1…
Author: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Committer: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: 2015-06-05T10:12:40+02:00
seas: fix gcc warnings:
statistics.h:76:20: warning: âdestroy_seas_stats_tableâ declared âstaticâ but never defined [-Wunused-function]
statistics.h:82:19: warning: âprint_stats_infoâ declared âstaticâ but never defined [-Wunused-function]
(cherry picked from commit 6d9abe14cf63e8c4683a8753ad6ae417f6f21ff0)
---
Modified: modules/seas/statistics.c
Modified: modules/seas/statistics.h
---
Diff: https://github.com/kamailio/kamailio/commit/04f86d265a0d26f8dd25bf0ed353ee1…
Patch: https://github.com/kamailio/kamailio/commit/04f86d265a0d26f8dd25bf0ed353ee1…
---
diff --git a/modules/seas/statistics.c b/modules/seas/statistics.c
index 4dcca47..ed62642 100644
--- a/modules/seas/statistics.c
+++ b/modules/seas/statistics.c
@@ -79,7 +79,7 @@ struct statstable* init_seas_stats_table(void)
return seas_stats_table;
}
-static inline void destroy_seas_stats_table(void)
+void destroy_seas_stats_table(void)
{
/*deallocs the table*/
if(seas_stats_table){
@@ -370,7 +370,7 @@ void serve_stats(int fd)
* this limit then the return value is the number of characters (not including the trailing '\\0') which would have been written to the final string
* if enough space had been available. Thus, a return value of size or more means that the output was truncated."
*/
-static inline int print_stats_info(int f,int sock)
+int print_stats_info(int f,int sock)
{
#define STATS_BUF_SIZE 400
int j,k,writen;
diff --git a/modules/seas/statistics.h b/modules/seas/statistics.h
index 0008a91..cf8e358 100644
--- a/modules/seas/statistics.h
+++ b/modules/seas/statistics.h
@@ -73,13 +73,13 @@ extern struct statstable *seas_stats_table;
*/
struct statstable* init_seas_stats_table(void);
int stop_stats_server(void);
-static inline void destroy_seas_stats_table(void);
+void destroy_seas_stats_table(void);
/** Statistics server process
* functions
*/
void serve_stats(int fd);
int start_stats_server(char *socket);
-static inline int print_stats_info(int f,int sock);
+int print_stats_info(int f,int sock);
/**
* Statistics functions
*/
Module: kamailio
Branch: 4.3
Commit: 9371b5326bd1b8e01172e184b721d24de9768d0f
URL: https://github.com/kamailio/kamailio/commit/9371b5326bd1b8e01172e184b721d24…
Author: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Committer: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: 2015-06-05T10:12:19+02:00
tls: fix gcc warnings:
tls_domain.c:507:4: warning: variable âretâ set but not used [-Wunused-but-set-variable]
tls_domain.c:537:4: warning: variable âretâ set but not used [-Wunused-but-set-variable]
tls_domain.c:544:4: warning: variable âretâ set but not used [-Wunused-but-set-variable]
tls_domain.c:576:4: warning: variable âretâ set but not used [-Wunused-but-set-variable]
tls_domain.c:1096:5: warning: variable âretâ set but not used [-Wunused-but-set-variable]
tls_domain.c:1104:4: warning: variable âretâ set but not used [-Wunused-but-set-variable]
tls_domain.c:1111:4: warning: variable âretâ set but not used [-Wunused-but-set-variable]
tls_server.c:222:3: warning: variable âretâ set but not used [-Wunused-but-set-variable]
tls_server.c:565:4: warning: variable âretâ set but not used [-Wunused-but-set-variable]
tls_server.c:843:5: warning: variable âretâ set but not used [-Wunused-but-set-variable]
tls_server.c:877:5: warning: variable âretâ set but not used [-Wunused-but-set-variable]
tls_server.c:1231:4: warning: variable âretâ set but not used [-Wunused-but-set-variable]
tls_server.c:1265:4: warning: variable âretâ set but not used [-Wunused-but-set-variable]
(cherry picked from commit 7a33987ab4e74266cd0ccecbe14f7196f97a0f05)
---
Modified: modules/tls/tls_util.h
---
Diff: https://github.com/kamailio/kamailio/commit/9371b5326bd1b8e01172e184b721d24…
Patch: https://github.com/kamailio/kamailio/commit/9371b5326bd1b8e01172e184b721d24…
---
diff --git a/modules/tls/tls_util.h b/modules/tls/tls_util.h
index efbd842..6fe91a2 100644
--- a/modules/tls/tls_util.h
+++ b/modules/tls/tls_util.h
@@ -31,26 +31,29 @@
#include "../../str.h"
#include "tls_domain.h"
+static inline int tls_err_ret(char *s, tls_domains_cfg_t **tls_domains_cfg) {
+ long err;
+ int ret = 0;
+ if ((*tls_domains_cfg)->srv_default->ctx &&
+ (*tls_domains_cfg)->srv_default->ctx[0])
+ {
+ while((err = ERR_get_error())) {
+ ret = 1;
+ ERR("%s%s\n", s ? s : "", ERR_error_string(err, 0));
+ }
+ }
+ return ret;
+}
-#define TLS_ERR_RET(r, s) \
-do { \
- long err; \
- (r) = 0; \
- if ((*tls_domains_cfg)->srv_default->ctx && \
- (*tls_domains_cfg)->srv_default->ctx[0]) { \
- while((err = ERR_get_error())) { \
- (r) = 1; \
- ERR("%s%s\n", ((s)) ? (s) : "", \
- ERR_error_string(err, 0)); \
- } \
- } \
+#define TLS_ERR_RET(r, s) \
+do { \
+ (r) = tls_err_ret((s), tls_domains_cfg); \
} while(0)
-#define TLS_ERR(s) \
-do { \
- int ret; \
- TLS_ERR_RET(ret, s); \
+#define TLS_ERR(s) \
+do { \
+ tls_err_ret((s), tls_domains_cfg); \
} while(0)
Hi All,
I searched list archives and have not seen a discussion on this issue.
According to 3261, CANCEL transaction matching follows the rules listed in
section 17.2.3:
[...snip...]
1. the branch parameter in the request is equal to the one in the
top Via header field of the request that created the
transaction, and
2. the sent-by value in the top Via of the request is equal to the
one in the request that created the transaction, and
[...snip...]
However, according to RFC 6141 (which I don't think kamailio implemented
yet) suggests generating a CANCEL request (UAC) after losing contact
(section 5.5):
[...snip...]
When a UAC moves to a new contact and loses its old contact, it will
not be able to receive responses to the re-INVITE. Consequently, it
will never generate an ACK request.
Such a UAC SHOULD generate a CANCEL request to cancel the re-INVITE
and cause the INVITE client transaction corresponding to the
re-INVITE to enter the "Terminated" state. The UAC SHOULD also send
a new re-INVITE in order to make sure that both UAs have a common
view of the state of the session.
[...snip...]
My interpretation is that sent-by comparison is ruled out because clearly
IP:PORT will not match anymore.
Do you think this is the right interpretation?
Is there a plan to implement RFC 6141?
Regards,
-volkan