summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsip-ua/sip_timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip/src/pjsip-ua/sip_timer.c')
-rw-r--r--pjsip/src/pjsip-ua/sip_timer.c11
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);