THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task has a new comment added:
FS#170 - get_body_part2 (parse_body)
User who did this - Iñaki Baz Castillo (ibc)
----------
It makes sense :)
----------
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=170#comment317
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.
Hi
We are in the process of developing a branch for Kamailio IMS extensions
held at *jason.penton/kamailio_ims_extensions *branch in the GIT
repository. This branch largely originates from the Open IMS Core project
and Carsten Block's Kamailio IMS branch with the intention of using core,
tried and tested Kamailio modules (dialog, registrar, tm, usrloc, etc.) in
place of the custom defined functionality in the Open IMS Core project.
In the coming weeks we will push modules and cfg files to this branch to
implement basic xCSCF functionality, so watch this space.
Right now the branch includes stock standard Kamailio 3.3.x with an
overhauled dialog2 module which is central to the functionality of the
xCSCFs; and a slightly modified rr module (one additional method exposed to
add mo/mt to the record-route).
The dialog2 module implements the new dialog design according to:
http://www.kamailio.org/dokuwiki/doku.php/modules-new-design:dialog-module-….
This allows for forked calls, concurrently confirmed calls and proxy
initiated dialog termination for early and confirmed dialogs.
- For each dialog there is now a dlg_cell structure with one or more
dlg_out cell structures.
- Forked calls have multiple dlg_out structures; once a call is confirmed
all other dlg_out structures are removed except for the confirmed one.
- Concurrent calls are allowed where multiple dialogs are confirmed at
the same time - in this case a dlg_cell structure is created for each
confirmed dialog.
- Dialog's can be terminated as in the previous dialog module from mi,
api and cfg; but this now also caters for terminating early state /
unconfirmed dialogs.
Still TO DO: Integrate old dialog functionality for dialog transfer, dialog
database management, statistics and RPC functions and general bug fixes as
they come up.
API changes: Two new exposed methods *get_current_dialog* and *
terminate_dlg_with_id*
We want to get as many eyes on the code as possible to get it integrated
into the master branch ASAP.
Regards
Richard.
Module: sip-router
Branch: 3.1
Commit: 057ec0189977206d8099e6e6f601e74edc7fb5e4
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=057ec01…
Author: Jon Bonilla <manwe(a)aholab.ehu.es>
Committer: Jon Bonilla <manwe(a)aholab.ehu.es>
Date: Wed Nov 2 13:44:17 2011 +0100
pkg/deb remove modules from wheezy build
purple: does not support newer lib versions
mi_xmlrcp: does not support newer lib versions
app_lua: lib not detected. Detection was fixed in branch 3.2 but not backported.
---
pkg/kamailio/deb/wheezy/control | 24 ++++++++++++------------
pkg/kamailio/deb/wheezy/rules | 6 +++---
2 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/pkg/kamailio/deb/wheezy/control b/pkg/kamailio/deb/wheezy/control
index 4ff9a90..bf62dbd 100644
--- a/pkg/kamailio/deb/wheezy/control
+++ b/pkg/kamailio/deb/wheezy/control
@@ -2,7 +2,7 @@ Source: kamailio
Section: net
Priority: optional
Maintainer: Jon Bonilla <manwe(a)aholab.ehu.es>
-Build-Depends: debhelper (>= 5), dpatch, libmysqlclient-dev, libexpat1-dev, libxml2-dev, libpq-dev, libradiusclient-ng-dev, flex, bison, zlib1g-dev, unixodbc-dev, libxmlrpc-c3-dev, libperl-dev, libsnmp-dev, dpkg-dev (>= 1.13.19), libdb-dev (>= 4.6.19), xsltproc, libconfuse-dev, libldap2-dev, libssl-dev, libcurl3-openssl-dev, python, libpcre3-dev, docbook-xml, libgeoip-dev (>= 1.4.5), libmemcache-dev, libreadline-dev, liblua5.1-0-dev, python-dev, libsasl2-dev, libncurses5-dev
+Build-Depends: debhelper (>= 5), dpatch, libmysqlclient-dev, libexpat1-dev, libxml2-dev, libpq-dev, libradiusclient-ng-dev, flex, bison, zlib1g-dev, unixodbc-dev, libxmlrpc-c3-dev, libperl-dev, libsnmp-dev, dpkg-dev (>= 1.13.19), libdb-dev (>= 4.6.19), xsltproc, libconfuse-dev, libldap2-dev, libssl-dev, libcurl3-openssl-dev, python, libpcre3-dev, docbook-xml, libgeoip-dev (>= 1.4.5), libmemcache-dev, libreadline-dev, python-dev, libsasl2-dev, libncurses5-dev
Standards-Version: 3.8.0
Homepage: http://www.kamailio.org/
@@ -10,7 +10,7 @@ Package: kamailio
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, adduser
Conflicts: kamailio-regex-modules, kamailio-dbg
-Suggests: kamailio-mysql-modules, kamailio-postgres-modules, kamailio-unixodbc-modules, kamailio-tls-modules, kamailio-cpl-modules, kamailio-radius-modules, kamailio-presence-modules, kamailio-xml-modules, kamailio-perl-modules, kamailio-snmpstats-modules, kamailio-xmpp-modules, kamailio-carrierroute-modules, kamailio-berkeley-modules, kamailio-ldap-modules, kamailio-lua-modules, kamailio-python-modules
+Suggests: kamailio-mysql-modules, kamailio-postgres-modules, kamailio-unixodbc-modules, kamailio-tls-modules, kamailio-cpl-modules, kamailio-radius-modules, kamailio-presence-modules, kamailio-xml-modules, kamailio-perl-modules, kamailio-snmpstats-modules, kamailio-xmpp-modules, kamailio-carrierroute-modules, kamailio-berkeley-modules, kamailio-ldap-modules, kamailio-python-modules
Description: very fast and configurable SIP proxy
Kamailio is a very fast and flexible SIP (RFC3261)
proxy server. Written entirely in C, Kamailio can handle thousands calls
@@ -235,16 +235,16 @@ Description: contains the TLS kamailio transport module
This has been split out of the main kamailio package, so that kamailio will not
depend on openssl. This module will enable you to use the TLS transport.
-Package: kamailio-lua-modules
-Architecture: any
-Depends: ${shlibs:Depends}, kamailio (= ${Source-Version})
-Description: contains the app_lua module
- Kamailio is a very fast and flexible SIP (RFC3261)
- proxy server. Written entirely in C, Kamailio can handle thousands calls
- per second even on low-budget hardware.
- .
- This package provides the app_lua module, an extension allowing to
- execute embedded Lua applications within configuration file.
+#Package: kamailio-lua-modules
+#Architecture: any
+#Depends: ${shlibs:Depends}, kamailio (= ${Source-Version})
+#Description: contains the app_lua module
+# Kamailio is a very fast and flexible SIP (RFC3261)
+# proxy server. Written entirely in C, Kamailio can handle thousands calls
+# per second even on low-budget hardware.
+# .
+# This package provides the app_lua module, an extension allowing to
+# execute embedded Lua applications within configuration file.
Package: kamailio-python-modules
Architecture: any
diff --git a/pkg/kamailio/deb/wheezy/rules b/pkg/kamailio/deb/wheezy/rules
index 0f2e2a5..c90fbd7 100755
--- a/pkg/kamailio/deb/wheezy/rules
+++ b/pkg/kamailio/deb/wheezy/rules
@@ -20,12 +20,12 @@
export DEB_BUILD_OPTIONS:="$(DEB_BUILD_OPTIONS) nostrip"
# modules not in the "main" kamailio package
-EXCLUDED_MODULES= purple
+EXCLUDED_MODULES=
# extra modules to skip, because they are not compilable now
# - regardless if they go to the main kamailio package or to some module package,
# they will be excluded from compile and install of all
-EXTRA_EXCLUDED_MODULES=bdb dbtext oracle pa rls iptrtpproxy
+EXTRA_EXCLUDED_MODULES=bdb dbtext oracle pa rls iptrtpproxy purple mi_xmlrpc app_lua
#EXTRA_EXCLUDED_MODULES=
# possible module directories that can appear in MODULES_SP
@@ -42,7 +42,7 @@ MODULES_SP=
# on which other depend first)
PACKAGE_GROUPS=mysql postgres berkeley unixodbc radius presence \
ldap xml perl utils geoip memcached tls \
- snmpstats carrierroute xmpp cpl lua python
+ snmpstats carrierroute xmpp cpl python
# name of libdir in the path for libraries (e.g., lib for 32b, lib64 for 64b)
LIBDIR ?= lib
Module: sip-router
Branch: master
Commit: b589e42a06feba2382c2b4dbb9e0d56ebe4b6ed1
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=b589e42…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Wed Nov 2 10:42:52 2011 +0100
dispatcher(k): added clarifications to ds_probing_mode parameter
---
modules_k/dispatcher/README | 7 ++++---
modules_k/dispatcher/doc/dispatcher_admin.xml | 7 ++++---
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/modules_k/dispatcher/README b/modules_k/dispatcher/README
index 4d3403d..5feefab 100644
--- a/modules_k/dispatcher/README
+++ b/modules_k/dispatcher/README
@@ -594,9 +594,10 @@ Note
3.23. ds_probing_mode (int)
Controls what gateways are tested to see if they are reachable. If set
- to 0, only the gateways with state PROBING are tested, if set to 1, all
- gateways are tested. If set to 1 and the is failure to the above list,
- an active gateway is set to PROBING state.
+ to 0, only the gateways with state PROBING are tested; if set to 1, all
+ gateways are tested; if set to 2, only gateways in inactive state with
+ probing mode set are tested. If set to 1 and there is a failure of
+ keepalive to an active gateway, then it is set to TRYING state.
Default value is "0".
diff --git a/modules_k/dispatcher/doc/dispatcher_admin.xml b/modules_k/dispatcher/doc/dispatcher_admin.xml
index 037ad19..158adab 100644
--- a/modules_k/dispatcher/doc/dispatcher_admin.xml
+++ b/modules_k/dispatcher/doc/dispatcher_admin.xml
@@ -588,9 +588,10 @@ modparam("dispatcher", "force_dst", 1)
<title><varname>ds_probing_mode</varname> (int)</title>
<para>
Controls what gateways are tested to see if they are reachable. If set
- to 0, only the gateways with state PROBING are tested, if set to 1, all
- gateways are tested. If set to 1 and the is failure to the above list,
- an active gateway is set to PROBING state.
+ to 0, only the gateways with state PROBING are tested; if set to 1, all
+ gateways are tested; if set to 2, only gateways in inactive state with
+ probing mode set are tested. If set to 1 and there is a failure of keepalive
+ to an active gateway, then it is set to TRYING state.
</para>
<para>
<emphasis>
Module: sip-router
Branch: master
Commit: d665458442aed734bf1831e37ccf666ab2846f25
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=d665458…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: Wed Nov 2 10:35:22 2011 +0100
dispatcher(k): use defines for probing modes
- it can be DS_PROBE_NONE (0), DS_PROBE_ALL (1) or DS_PROBE_INACTIVE (2)
- when ds_probing_mode is set to 2, keep probing inactive gateways until
they become active. Note that the gateway must be set to probing when
it goes in trying or inactive state
---
modules_k/dispatcher/dispatch.c | 18 ++++++++++++++----
modules_k/dispatcher/dispatch.h | 4 ++++
modules_k/dispatcher/dispatcher.c | 4 ++--
3 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/modules_k/dispatcher/dispatch.c b/modules_k/dispatcher/dispatch.c
index 768908c..11c3523 100644
--- a/modules_k/dispatcher/dispatch.c
+++ b/modules_k/dispatcher/dispatch.c
@@ -2016,11 +2016,21 @@ int ds_update_state(sip_msg_t *msg, int group, str *address, int state)
/* reset the bits used for states */
idx->dlist[i].flags &= ~(DS_STATES_ALL);
+ if((state & DS_TRYING_DST) && (old_state & DS_INACTIVE_DST))
+ {
+ /* old state is inactive, new state is trying => keep it inactive
+ * - it has to go first to active state and then to trying */
+ state &= ~ DS_TRYING_DST;
+ state |= ~ DS_INACTIVE_DST;
+ }
+
/* set the new states */
if(state & DS_DISABLED_DST)
+ {
idx->dlist[i].flags |= DS_DISABLED_DST;
- else
+ } else {
idx->dlist[i].flags |= state;
+ }
if(state & DS_TRYING_DST)
{
@@ -2330,7 +2340,7 @@ static void ds_options_callback( struct cell *t, int type,
/* Set the according entry back to "Active" */
state = 0;
- if (ds_probing_mode==1)
+ if (ds_probing_mode==DS_PROBE_ALL)
state |= DS_PROBING_DST;
if (ds_update_state(fmsg, group, &uri, state) != 0)
{
@@ -2339,7 +2349,7 @@ static void ds_options_callback( struct cell *t, int type,
}
} else {
state = DS_TRYING_DST;
- if (ds_probing_mode==1)
+ if (ds_probing_mode!=DS_PROBE_NONE)
state |= DS_PROBING_DST;
if (faked_msg_init() < 0)
@@ -2388,7 +2398,7 @@ void ds_check_timer(unsigned int ticks, void* param)
if((list->dlist[j].flags&DS_DISABLED_DST) != 0)
continue;
/* If the Flag of the entry has "Probing set, send a probe: */
- if (ds_probing_mode==1 ||
+ if (ds_probing_mode==DS_PROBE_ALL ||
(list->dlist[j].flags&DS_PROBING_DST) != 0)
{
LM_DBG("probing set #%d, URI %.*s\n", list->id,
diff --git a/modules_k/dispatcher/dispatch.h b/modules_k/dispatcher/dispatch.h
index 5b051f0..ea44b27 100644
--- a/modules_k/dispatcher/dispatch.h
+++ b/modules_k/dispatcher/dispatch.h
@@ -57,6 +57,10 @@
#define ds_skip_dst(flags) ((flags) & (DS_INACTIVE_DST|DS_DISABLED_DST))
+#define DS_PROBE_NONE 0
+#define DS_PROBE_ALL 1
+#define DS_PROBE_INACTIVE 2
+
extern str ds_db_url;
extern str ds_table_name;
extern str ds_set_id_col;
diff --git a/modules_k/dispatcher/dispatcher.c b/modules_k/dispatcher/dispatcher.c
index edbbade..8206aec 100644
--- a/modules_k/dispatcher/dispatcher.c
+++ b/modules_k/dispatcher/dispatcher.c
@@ -109,7 +109,7 @@ int probing_threshhold = 1; /* number of failed requests, before a destination
str ds_ping_method = {"OPTIONS",7};
str ds_ping_from = {"sip:dispatcher@localhost", 24};
static int ds_ping_interval = 0;
-int ds_probing_mode = 0;
+int ds_probing_mode = DS_PROBE_NONE;
static str ds_ping_reply_codes_str= {NULL, 0};
static int** ds_ping_reply_codes = NULL;
@@ -595,7 +595,7 @@ static int w_ds_mark_dst0(struct sip_msg *msg, char *str1, char *str2)
int state;
state = DS_INACTIVE_DST;
- if (ds_probing_mode==1)
+ if (ds_probing_mode==DS_PROBE_ALL)
state |= DS_PROBING_DST;
return ds_mark_dst(msg, state);