diff options
Diffstat (limited to 'pjsip/src/pjsip-ua/sip_timer.c')
-rw-r--r-- | pjsip/src/pjsip-ua/sip_timer.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/pjsip/src/pjsip-ua/sip_timer.c b/pjsip/src/pjsip-ua/sip_timer.c index 9417325f..e5a48e84 100644 --- a/pjsip/src/pjsip-ua/sip_timer.c +++ b/pjsip/src/pjsip-ua/sip_timer.c @@ -733,8 +733,15 @@ PJ_DEF(pj_status_t) pjsip_timer_process_resp(pjsip_inv_session *inv, {if(st_code)*st_code=PJSIP_SC_INTERNAL_SERVER_ERROR;return PJ_EINVAL;}); /* Check if Session Timers is supported */ - if ((inv->options & PJSIP_INV_SUPPORT_TIMER) == 0) - return PJ_SUCCESS; + if ((inv->options & PJSIP_INV_SUPPORT_TIMER) == 0) { + if (rdata->msg_info.msg->line.status.code == + PJSIP_SC_SESSION_TIMER_TOO_SMALL) + { + return PJSIP_EINVALIDSTATUS; + } else { + return PJ_SUCCESS; + } + } pj_assert(is_initialized); |