diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2013-03-21 08:28:21 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2013-03-21 08:28:21 +0000 |
commit | 5b146fdf156b646e2aa77e7563b5e77c337cf0c3 (patch) | |
tree | de61328596391c6033b936facfca4eb9e6ac81ae /pjsip/src/pjsip-simple | |
parent | bb053fad5e0c5c88b766f6a963be4b84a65cc882 (diff) |
Close #1647: updated subscription lookup in on_new_transaction() to skip subscription with NO_EVENT_ID and already terminated.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4447 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip-simple')
-rw-r--r-- | pjsip/src/pjsip-simple/evsub.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/pjsip/src/pjsip-simple/evsub.c b/pjsip/src/pjsip-simple/evsub.c index 372c5151..c393470c 100644 --- a/pjsip/src/pjsip-simple/evsub.c +++ b/pjsip/src/pjsip-simple/evsub.c @@ -1425,8 +1425,18 @@ static pjsip_evsub *on_new_transaction( pjsip_transaction *tsx, if (pj_strcmp(&dlgsub->sub->event->id_param, &event_hdr->id_param)==0) { - - break; + /* Skip this subscription if it has no event ID and has been + * terminated (see ticket #1647). + */ + if ((dlgsub->sub->option & PJSIP_EVSUB_NO_EVENT_ID) && + (pjsip_evsub_get_state(dlgsub->sub)== + PJSIP_EVSUB_STATE_TERMINATED)) + { + dlgsub = dlgsub->next; + continue; + } else { + break; + } } /* |