浏览代码

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 年之前
父节点
当前提交
e84539d3b4
共有 1 个文件被更改,包括 4 次插入0 次删除
  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);