Hello everybody,
during the last IRC devel meeting, we pinned end of summer to be the
time to enter testing phase for the new major release - codenamed
kamailio 3.0.
There was quite a lot of brand new features, considering that most of
devel effort was directed to integration. A try to collect new items is
available at:
http://sip-router.org/wiki/features/new-in-devel
Of course, all ser features are available as well, resulting a large
amount of new stuff in kamailio 3.0 vs kamailio 1.5.x. See:
http://sip-router.org/benefits/http://www.iptel.org/ser/features
I propose to start the testing phase sometime next week.
Meanwhile, let's see if something important was forgotten from kamailio
core or tm. To my knowledge:
- path support in tm - Andrei has it on his todo afaik - in a way or
another, it must get in next release
- drop compatibility - drop reply in reply_route - internally drop and
exit are now differentiated by core, needs review and update of handling
after running the routes - on my to-do
Apart seas, all Kamailio modules are fully ugraded to new core - I
started but lack of test env + busy summer resulted in delays - can be
done during testing period, being just api updates.
If you have discovered something else, let us know.
Thanks,
Daniel
--
Daniel-Constantin Mierla
* http://www.asipto.com/
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
A new Flyspray task has been opened. Details are below.
User who did this - Anonymous user ()
Attached to Project - sip-router
Summary - TLS modul problem
Task Type - Bug Report
Category - tls
Status - Assigned
Assigned To - Andrei Pelinescu-Onciul
Operating System - Linux
Severity - Critical
Priority - Normal
Reported Version - Development
Due in Version - Undecided
Due Date - Undecided
Details - I am experiencing problem "Invalid connection state (bug in TCP code)"in tls_server.c in function
<code>
static int tls_complete_init(struct tcp_connection* c)
</code>
<code>
if (c->state == S_CONN_ACCEPT) {
dom = tls_lookup_cfg(cfg, TLS_DOMAIN_SRV, &c->rcv.dst_ip, c->rcv.dst_port);
} else if (c->state == S_CONN_CONNECT) {
dom = tls_lookup_cfg(cfg, TLS_DOMAIN_CLI, &c->rcv.dst_ip, c->rcv.dst_port);
} else {
BUG("Invalid connection state (bug in TCP code)\n");
goto error;
}
</code>
Incoming tls connection is working fine. The problem only occurs if a worker received a new invite and want forward and open a new TLS connection by
<code>int tls_h_blocking_write(struct tcp_connection *c, int fd, const char *buf, unsigned int len)
</code>
I am debugged with gdb and i catch that c->state is S_CONN_OK
So it seems it TCP is already connected.
My TCP config in ser.cfg
<code>
#TLS
enable_tls=yes
#TCP settings
disable_tcp=no
tcp_async=no
tcp_send_timeout=2
#tcp_accept_aliases=yes # accepts the tcp alias via option (see NEWS)
tcp_delayed_ack=no
tcp_fd_cache=no
</code>
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=14
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.
A user has added themself to the list of users assigned to this task.
FS#14 - TLS modul problem
User who did this - Anonymous user ()
http://sip-router.org/tracker/index.php?do=details&task_id=14
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.
andrei
you wrote in july regarding async (delayed reply) support for t_uac_dlg:
Ok, I'll add async support (in fact delayed reply support since it's not
true async), at least to xmlrpc (turns out that it's quite easy since
xmlrpc reuses sr tcp). For ctl/binrpc it would be easy for datagram
sockets (udp or unix datagram socket) and more difficult (but possible)
for stream sockets (tcp or unix stream).
However it might take a while until there will be a workable version.
any idea, if this will be available in first release of sip-router? if
yes, i could plan to start using sip-router. if not, i need to plan for
something else.
-- juha
Module: sip-router
Branch: master
Commit: 6dac6b618015314811b94127490e906d535f44fd
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=6dac6b6…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Thu Aug 20 16:12:35 2009 +0300
pv: new pv class $sel(name)
- access select (ser cfg variables) values via PV framework
- read-only PV
- examples: $sel(@ruri), $sel((a)via[2].host)
---
modules_k/pv/pv.c | 4 +++
modules_k/pv/pv_select.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++
modules_k/pv/pv_select.h | 36 ++++++++++++++++++++++++
3 files changed, 107 insertions(+), 0 deletions(-)
diff --git a/modules_k/pv/pv.c b/modules_k/pv/pv.c
index f990a55..b284bbd 100644
--- a/modules_k/pv/pv.c
+++ b/modules_k/pv/pv.c
@@ -35,6 +35,7 @@
#include "pv_shv.h"
#include "pv_time.h"
#include "pv_trans.h"
+#include "pv_select.h"
MODULE_VERSION
@@ -64,6 +65,9 @@ static pv_export_t mod_pvs[] = {
{ {"stat", sizeof("stat")-1}, /* statistics */
PVT_OTHER, pv_get_stat, 0,
pv_parse_stat_name, 0, 0, 0 },
+ { {"sel", sizeof("sel")-1}, /* select */
+ PVT_OTHER, pv_get_select, 0,
+ pv_parse_select_name, 0, 0, 0 },
{{"avp", (sizeof("avp")-1)}, PVT_AVP, pv_get_avp, pv_set_avp,
pv_parse_avp_name, pv_parse_index, 0, 0},
diff --git a/modules_k/pv/pv_select.c b/modules_k/pv/pv_select.c
new file mode 100644
index 0000000..8634052
--- /dev/null
+++ b/modules_k/pv/pv_select.c
@@ -0,0 +1,67 @@
+/*
+ * $Id$
+ *
+ * Copyright (C) 2001-2003 FhG Fokus
+ *
+ * This file is part of Kamailio, a free SIP server.
+ *
+ * Kamailio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version
+ *
+ * Kamailio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+/*!
+ * \file
+ * \brief Implementation for Select Pseudo-variables
+ */
+
+#include "../../select.h"
+#include "pv_select.h"
+
+int pv_parse_select_name(pv_spec_p sp, str *in)
+{
+ select_t *sel = 0;
+ char c;
+ char *p;
+ if (in == NULL || in->s == NULL || sp == NULL)
+ return -1;
+
+ c = in->s[in->len];
+ in->s[in->len] = '\0';
+ p = in->s;
+ if(parse_select(&p, &sel)<0)
+ {
+ LM_ERR("invalid select name [%.*s]\n",
+ in->len, in->s);
+ in->s[in->len] = c;
+ return -1;
+ }
+ in->s[in->len] = c;
+ sp->pvp.pvn.u.dname = (void*)sel;
+ sp->pvp.pvn.type = PV_NAME_OTHER;
+ return 0;
+}
+
+
+int pv_get_select(struct sip_msg *msg, pv_param_t *param, pv_value_t *res)
+{
+ str s = {0, 0};
+ select_t *sel = 0;
+
+ sel = (select_t*)param->pvn.u.dname;
+
+ if(sel==0 || run_select(&s, sel, msg)<0 || s.s==0)
+ return pv_get_null(msg, param, res);
+ return pv_get_strval(msg, param, res, &s);
+}
+
diff --git a/modules_k/pv/pv_select.h b/modules_k/pv/pv_select.h
new file mode 100644
index 0000000..84c872f
--- /dev/null
+++ b/modules_k/pv/pv_select.h
@@ -0,0 +1,36 @@
+/*
+ * $Id$
+ *
+ * Copyright (C) 2001-2003 FhG Fokus
+ *
+ * This file is part of Kamailio, a free SIP server.
+ *
+ * Kamailio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version
+ *
+ * Kamailio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+/*!
+ * \file
+ * \brief Headers for Stats Pseudo-variables
+ */
+
+#ifndef _PV_SELECT_H_
+#define _PV_SELECT_H_
+
+#include "../../pvar.h"
+
+int pv_parse_select_name(pv_spec_p sp, str *in);
+int pv_get_select(struct sip_msg *msg, pv_param_t *param, pv_value_t *res);
+
+#endif