Hi All,
Ok Dialog2 progressing nicely. We now have dialogs and their associated out
dialogs (branches / forking) stored and managed within the dialog2 module.
For the moment, we have excluded DB support but will add once we check in to
git. One thing we need a little assistance with:
We have just finished the prototype for proxy initiated early dialog
termination, but we are concerned with the way it has been done. Basically
as mentioned in the wiki (
http://www.kamailio.org/dokuwiki/doku.php/modules-new-design:dialog-module-…),
- It should be possible to terminate dialogs in the “early” state, i.e.,
sending out BYE/CANCEL requests in order to terminate all branches
appropriately.
- ibc: IMHO it would be easier just to cancel the transaction as when
fr_inv_timer expires, this is, by sending a CANCEL to all the pending
branches and a 408 to the UAC (perhaps in this case a 480 would be more
appropriate).
The only way we could think of doing this was to send a fake reply via the
TM module. We have therefore exposed the fake_reply function from the TM
module and using that to terminate early dialogs. It works in the test
scenarios we have performed, but the main drawback we can see here is that
the dialog module needs to hold a pointer to the transaction for each dialog
(not sure how bad this is as my experience with tm is not expert yet ;) )
So any thoughts/ideas. Is this the correct way to do it? Would it be okay to
expose a fake_reply function through TM API?
Cheers
Jason
Module: sip-router
Branch: jh/32plus
Commit: 20b73cb697705de6c8d2a058fcee753015d6036e
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=20b73cb…
Author: Juha Heinanen <jh(a)tutpro.com>
Committer: Juha Heinanen <jh(a)tutpro.com>
Date: Fri Sep 30 11:37:11 2011 +0300
lib/srdb1/schema/mtrees.xml: schema upgrade
- Added tvalue to unique index, because each prefix can now be
associated with more than one value.
---
lib/srdb1/schema/mtrees.xml | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/srdb1/schema/mtrees.xml b/lib/srdb1/schema/mtrees.xml
index fb3e3f9..eb3f1ab 100644
--- a/lib/srdb1/schema/mtrees.xml
+++ b/lib/srdb1/schema/mtrees.xml
@@ -9,7 +9,7 @@
<table id="mtrees" xmlns:db="http://docbook.org/ns/docbook">
<name>mtrees</name>
- <version>1</version>
+ <version>2</version>
<type db="mysql">&MYSQL_TABLE_TYPE;</type>
<description>
<db:para>This table is used by the mtree module to load values in shared memory trees at start up. More information about the mtree module can be found at: &KAMAILIO_MOD_DOC;mtree.html
@@ -51,9 +51,10 @@
</column>
<index>
- <name>tname_tprefix_idx</name>
+ <name>tname_tprefix_tvalue_idx</name>
<colref linkend="tname"/>
<colref linkend="tprefix"/>
+ <colref linkend="tvalue"/>
<unique/>
</index>
Module: sip-router
Branch: adubovikov/homer
Commit: 61820242d44105fe8dbbf413d6a916fe3beaaa5a
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=6182024…
Author: Alexandr Dubovikov <alexandr.dubovikov(a)gmail.com>
Committer: Alexandr Dubovikov <alexandr.dubovikov(a)gmail.com>
Date: Thu Sep 29 15:24:40 2011 +0200
modules_k:registrar: added description for lookup function (flag support)
---
modules_k/registrar/README | 7 ++++++-
modules_k/registrar/doc/registrar_admin.xml | 7 ++++++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/modules_k/registrar/README b/modules_k/registrar/README
index d060982..c3b7016 100644
--- a/modules_k/registrar/README
+++ b/modules_k/registrar/README
@@ -669,7 +669,12 @@ switch ($retcode) {
4.4. lookup(domain,flags)
Same as lookup() but it accepts a set of flags for controlling its
- behaviour.
+ behaviour. This method allows you to make choose between different AOR
+ connnected to the same user id. Example: you can register the same user
+ multiple times and after lookup you will distribute incoming calls
+ between these AORs. If you have 4 registration, each AOR will receive
+ 25% of all incoming calls. It can help to buid a cluster system based
+ on user registration.
Meaning of the parameters is as follows:
* domain - Name of table that should be used for the lookup.
diff --git a/modules_k/registrar/doc/registrar_admin.xml b/modules_k/registrar/doc/registrar_admin.xml
index 74ed609..722c885 100644
--- a/modules_k/registrar/doc/registrar_admin.xml
+++ b/modules_k/registrar/doc/registrar_admin.xml
@@ -811,7 +811,12 @@ switch ($retcode) {
</title>
<para>
Same as lookup() but it accepts a set of flags for controlling its
- behaviour.
+ behaviour. This method allows you to make choose between
+ different AOR connnected to the same user id. Example: you can register
+ the same user multiple times and after lookup you will distribute
+ incoming calls between these AORs. If you have 4 registration, each
+ AOR will receive 25% of all incoming calls. It can help to buid a cluster
+ system based on user registration.
</para>
<para>Meaning of the parameters is as follows:</para>