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

Peter Dunkley peter.dunkley at crocodile-rcs.com
Thu Dec 8 23:08:43 CET 2011


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

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.

---

 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 1406ee4..50560db 100644
--- a/modules_k/pua/send_subscribe.c
+++ b/modules_k/pua/send_subscribe.c
@@ -1053,8 +1053,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;
 
 		if (dbmode==PUA_DB_ONLY)
 		{




More information about the sr-dev mailing list