diff options
Diffstat (limited to 'pjsip/src/pjsip-simple/evsub.c')
-rw-r--r-- | pjsip/src/pjsip-simple/evsub.c | 8 |
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; |