From 5b146fdf156b646e2aa77e7563b5e77c337cf0c3 Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Thu, 21 Mar 2013 08:28:21 +0000 Subject: 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 --- pjsip/src/pjsip-simple/evsub.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'pjsip/src/pjsip-simple/evsub.c') 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; + } } /* -- cgit v1.2.3