return;
}
- if (event->type == PJSIP_EVENT_RX_MSG) {
- sub->handler->subscription_terminated(sub, event->body.rx_msg.rdata);
- }
-
- if (event->type == PJSIP_EVENT_TSX_STATE &&
- event->body.tsx_state.type == PJSIP_EVENT_RX_MSG) {
- sub->handler->subscription_terminated(sub, event->body.tsx_state.src.rdata);
- }
-
if (sub->handler->subscription_shutdown) {
sub->handler->subscription_shutdown(sub);
}
return;
}
+ if (pjsip_evsub_get_state(sub->evsub) == PJSIP_EVSUB_STATE_TERMINATED) {
+ sub->handler->subscription_terminated(sub, rdata);
+ return;
+ }
+
sub->handler->resubscribe(sub, rdata, &response_data);
if (!response_data_changed(&response_data)) {