[sr-dev] git:3.2: modules_k/pua: Temporary dialogs did not contain all of the required fields.

Peter Dunkley peter.dunkley at crocodile-rcs.com
Fri Dec 9 17:07:58 CET 2011


Module: sip-router
Branch: 3.2
Commit: e84539d3b49354e71300be808abf51aaab1785e8
URL:    http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=e84539d3b49354e71300be808abf51aaab1785e8

Author: pd <peter.dunkley at crocodile-rcs.com>
Committer: pd <peter.dunkley at crocodile-rcs.com>
Date:   Thu Dec  8 22:03:35 2011 +0000

modules_k/pua: Temporary dialogs did not contain all of the required fields.

- Temporary dialogs are created when a SUBSCRIBE is sent to handle the timing
  issue that means that NOTIFYs can be processed before 200 OKs (the real
  dialog is created on 200 OK).
- Not every required field was filled in for the temporary dialogs so dialog
  searches were failing and duplicate dialogs created.
(cherry picked from commit 464d6a353f1de7d7ca38cd856320b973f3341679)

---

 modules_k/pua/send_subscribe.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/modules_k/pua/send_subscribe.c b/modules_k/pua/send_subscribe.c
index f9d72df..80e1472 100644
--- a/modules_k/pua/send_subscribe.c
+++ b/modules_k/pua/send_subscribe.c
@@ -963,8 +963,12 @@ insert:
 		presentity->id.len = subs->id.len;
 		size += subs->id.len;
 
+		presentity->event = pres.event;
+		presentity->flag = pres.flag;
+
 		/* Set the temporary record expiry for 2 * 64T1 seconds from now */
 		presentity->expires= (int)time(NULL) + 64;
+		presentity->desired_expires= presentity->expires;
 
 		insert_htable(presentity);
 




More information about the sr-dev mailing list