Browse Source

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)
pd 13 years ago
parent
commit
e84539d3b4
1 changed files with 4 additions and 0 deletions
  1. 4 0
      modules_k/pua/send_subscribe.c

+ 4 - 0
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);