Patches item #3035802, was opened at 2010-07-28 09:58
Message generated for change (Comment added) made by axlh
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743022&aid=3035802&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver 1.5.x
>Status: Closed
>Resolution: Rejected
Priority: 5
Private: No
Submitted By: Alex Hermann (axlh)
Assigned to: Nobody/Anonymous (nobody)
Summary: Add locking to pua for serializing PUBLISHes
Initial Comment:
pua must not send multiple PUBLISH with the same id before receiving a reply as the ETag must be updated on subsequent publishes.
Patch by Anca Vamanu. Stolen from opensips r5924. Original commit message:
introduced a locking mechanism to prevent sending a new Publish before the reply for a previous one is received (thanks to Piotr Sobolewski <sobolewski at gmail dot com> for help with debugging)
----------------------------------------------------------------------
>Comment By: Alex Hermann (axlh)
Date: 2010-08-13 10:24
Message:
Skip this one, it still has a locking issue. A better one is in the works.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743022&aid=3035802&group_…
Patches item #3035794, was opened at 2010-07-28 10:33
Message generated for change (Comment added) made by miconda
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743022&aid=3035794&group_…
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver 1.5.x
>Status: Closed
>Resolution: Accepted
Priority: 5
Private: No
Submitted By: Alex Hermann (axlh)
>Assigned to: Daniel-Constantin Mierla (miconda)
Summary: Add option to keep subscriptions on timed out NOTIFY
Initial Comment:
This parameter is a flag that should be set if subscriptions should be removed from the active_watchers when a NOTIFY times out. RFC3265 section 3.2.2 defines this behaviour as a SHOULD, so by default it is on. Disabling this will keep subscriptions active on unreliable networks.
----------------------------------------------------------------------
>Comment By: Daniel-Constantin Mierla (miconda)
Date: 2010-08-12 23:27
Message:
Patch committed, considered as fix to comply SHOULD requirement of RFC.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743022&aid=3035794&group_…
Revision: 6041
http://openser.svn.sourceforge.net/openser/?rev=6041&view=rev
Author: miconda
Date: 2010-08-12 20:25:53 +0000 (Thu, 12 Aug 2010)
Log Message:
-----------
- add option to keep subscriptions on timed out NOTIFY
- patch by Alex Hermann, closes SF#3035794
Modified Paths:
--------------
branches/1.5/modules/presence/doc/presence_admin.xml
branches/1.5/modules/presence/notify.c
branches/1.5/modules/presence/presence.c
branches/1.5/modules/presence/presence.h
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task has a new comment added:
FS#85 - Bug in dispatcher module and fix
User who did this - Daniel-Constantin Mierla (miconda)
----------
Are you using latest git branch kamailio_3.0? There was a fix for an issue that affected all mi commands executed with sercmd.
----------
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=85#comment114
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 new Flyspray task has been opened. Details are below.
User who did this - Alexandr Gevlichenko (sanya)
Attached to Project - sip-router
Summary - Bug in dispatcher module and fix
Task Type - Bug Report
Category - Module
Status - Unconfirmed
Assigned To -
Operating System - All
Severity - Medium
Priority - Normal
Reported Version - Development
Due in Version - Undecided
Due Date - Undecided
Details - When you call "mi ds_reload" using sercmd not restart the configuration.
In the log error "invalid DB handler"
The error occurs when storing configuration in a database.
The problem is fixed by editing line 568 file dispatcher.c.
You should replace the line:
if (ds_load_db () <0)
at:
if (init_ds_db () <0)
-
Alexandr
More information can be found at the following URL:
http://sip-router.org/tracker/index.php?do=details&task_id=85
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: mariusbucur/conference
Commit: f56ce11e7816ef29830867ea1584d85d8d1459e0
URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=f56ce11…
Author: mariusbucur <marius(a)marius-bucur.ro>
Committer: mariusbucur <marius(a)marius-bucur.ro>
Date: Thu Aug 12 17:37:55 2010 +0300
fixed signature of the publish body aggregation function so that it includes the off_index parameter for the sent expired publish messages
---
modules_k/presence_conference/notify_body.c | 36 +++++++++-----------------
1 files changed, 13 insertions(+), 23 deletions(-)
diff --git a/modules_k/presence_conference/notify_body.c b/modules_k/presence_conference/notify_body.c
index 19c0bd1..5631bf0 100644
--- a/modules_k/presence_conference/notify_body.c
+++ b/modules_k/presence_conference/notify_body.c
@@ -84,7 +84,7 @@ str* conf_agg_nbody(str* pres_user, str* pres_domain, str** body_array, int n, i
return n_body;
}
-str* agregate_xmls(str* pres_user, str* pres_domain, str** body_array, int n)
+str* agregate_xmls(str* pres_user, str* pres_domain, str** body_array, int n, int off_index)
{
if(body_array == NULL || n == 0)
return 0;
@@ -175,14 +175,8 @@ str* agregate_xmls(str* pres_user, str* pres_domain, str** body_array, int n)
}
xmlSetNs(root_node, namespace);
/* The version must be increased for each new document and is a 32bit int.
- As the version is different for each watcher, we can not set here the
- correct value. Thus, we just put here a placeholder which will be
- replaced by the correct value in the aux_body_processing callback.
- Thus we have CPU intensive XML aggregation only once and can use
- quick search&replace in the per-watcher aux_body_processing callback.
- We use 11 chracters as an signed int (although RFC says unsigned int we
- use signed int as presence module stores "version" in DB as
- signed int) has max. 10 characters + 1 character for the sign
+ The aux_body_processing function will take care of setting the right attribute
+ depending on the subscription for which the notify is being sent.
*/
xmlNewProp(root_node, BAD_CAST "version", BAD_CAST "0");
xmlNewProp(root_node, BAD_CAST "state", BAD_CAST "full" );
@@ -191,7 +185,6 @@ str* agregate_xmls(str* pres_user, str* pres_domain, str** body_array, int n)
/* loop over all bodies and create the aggregated body */
for(i=0; i<j; i++)
{
- LM_DBG("[n]=%d, [i]=%d, [j]=%d xml_array[i]=%p\n", n, i, j, xml_array[i]);
p_root= xmlDocGetRootElement(xml_array[i]);
if(unlikely(p_root == NULL)) {
LM_ERR("while geting the xml_tree root element\n");
@@ -205,21 +198,18 @@ str* agregate_xmls(str* pres_user, str* pres_domain, str** body_array, int n)
}
/* the root "conference-info" element should always have children */
if (p_root->children) {
- for (node = p_root->children; node != NULL; node = node->next) {
- /*if (node->type == XML_ELEMENT_NODE) */{
- /* we do not copy the node, but unlink it and then add it to the new node.
- * This destroys the original document but we do not need it anyway.
- * using "copy" instead of "unlink" would also copy the namespace which
- * would then be declared redundant (libxml unfortunately cannot remove
- * namespaces)
- */
- if(xmlAddChild(root_node, xmlCopyNode(node, 1)) == NULL) {
- LM_ERR("while adding child\n");
- goto error;
- }
+ for (node = p_root->children; node != NULL; node = node->next) {
+ if(xmlAddChild(root_node, xmlCopyNode(node, 1)) == NULL) {
+ LM_ERR("while adding child\n");
+ goto error;
+ }
}
}
- }
+ /* we only take the most recent subscription as
+ in this phase non partial states will be sent
+ */
+ if(i != off_index)
+ break;
}
body = (str*)pkg_malloc(sizeof(str));