From 9034787ec863277a61372cf9cfe6f156407cd47c Mon Sep 17 00:00:00 2001 From: lazedo Date: Sun, 22 Jan 2017 14:32:50 +0000 Subject: [PATCH] presence: allow use of $subs in notify process --- src/modules/presence/notify.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/modules/presence/notify.c b/src/modules/presence/notify.c index c9b40fcecf9..18e5ce00a92 100644 --- a/src/modules/presence/notify.c +++ b/src/modules/presence/notify.c @@ -55,6 +55,7 @@ int goto_on_notify_reply=-1; extern int pres_local_log_level; extern int pres_local_log_facility; +extern subs_t* _pres_subs_last_sub; c_back_param* shm_dup_cbparam(subs_t*); void free_cbparam(c_back_param* cb_param); @@ -1498,6 +1499,7 @@ int send_notify_request(subs_t* subs, subs_t * watcher_subs, str* final_body= NULL; uac_req_t uac_r; str* aux_body = NULL; + subs_t* backup_subs = NULL; LM_DBG("dialog info:\n"); printf_subs(subs); @@ -1618,9 +1620,13 @@ int send_notify_request(subs_t* subs, subs_t * watcher_subs, LM_DBG("expires %d status %d\n", subs->expires, subs->status); cb_param = mem_copy_subs(subs, SHM_MEM_TYPE); + backup_subs = _pres_subs_last_sub; + _pres_subs_last_sub = subs; + set_uac_req(&uac_r, &met, &str_hdr, notify_body, td, TMCB_LOCAL_COMPLETED, p_tm_callback, (void*)cb_param); result = tmb.t_request_within(&uac_r); + _pres_subs_last_sub = backup_subs; if(result< 0) { LM_ERR("in function tmb.t_request_within\n");