summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsip-simple
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip/src/pjsip-simple')
-rw-r--r--pjsip/src/pjsip-simple/evsub.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/pjsip/src/pjsip-simple/evsub.c b/pjsip/src/pjsip-simple/evsub.c
index 9a9b852d..7b13d548 100644
--- a/pjsip/src/pjsip-simple/evsub.c
+++ b/pjsip/src/pjsip-simple/evsub.c
@@ -1355,10 +1355,6 @@ static pjsip_evsub *on_new_transaction( pjsip_transaction *tsx,
sub->pending_sub = tsx;
- } else if (tsx == sub->pending_sub &&
- tsx->state >= PJSIP_TSX_STATE_COMPLETED)
- {
- sub->pending_sub = NULL;
}
return sub;
@@ -1468,6 +1464,10 @@ static void on_tsx_state_uac( pjsip_evsub *sub, pjsip_transaction *tsx,
return;
}
+ /* Clear pending subscription */
+ if (tsx == sub->pending_sub)
+ sub->pending_sub = NULL;
+
/* Handle authentication. */
if (tsx->status_code==401 || tsx->status_code==407) {
pjsip_tx_data *tdata;