summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2013-03-21 08:28:21 +0000
committerNanang Izzuddin <nanang@teluu.com>2013-03-21 08:28:21 +0000
commit5b146fdf156b646e2aa77e7563b5e77c337cf0c3 (patch)
treede61328596391c6033b936facfca4eb9e6ac81ae
parentbb053fad5e0c5c88b766f6a963be4b84a65cc882 (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
-rw-r--r--pjsip/src/pjsip-simple/evsub.c14
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;
+ }
}
/*