diff options
Diffstat (limited to 'res/res_pjsip_pubsub.c')
-rw-r--r-- | res/res_pjsip_pubsub.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/res/res_pjsip_pubsub.c b/res/res_pjsip_pubsub.c index 490f694d2..23f04bb04 100644 --- a/res/res_pjsip_pubsub.c +++ b/res/res_pjsip_pubsub.c @@ -2060,6 +2060,12 @@ static int send_notify(struct sip_subscription_tree *sub_tree, unsigned int forc pjsip_evsub *evsub = sub_tree->evsub; pjsip_tx_data *tdata; + if (ast_shutting_down() + && sub_tree->root->subscription_state == PJSIP_EVSUB_STATE_TERMINATED + && sub_tree->persistence) { + return 0; + } + if (pjsip_evsub_notify(evsub, sub_tree->root->subscription_state, NULL, NULL, &tdata) != PJ_SUCCESS) { return -1; |