diff options
Diffstat (limited to 'pjsip/src/pjsip-ua/sip_timer.c')
-rw-r--r-- | pjsip/src/pjsip-ua/sip_timer.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/pjsip/src/pjsip-ua/sip_timer.c b/pjsip/src/pjsip-ua/sip_timer.c index 06bfaf06..0d6ed36b 100644 --- a/pjsip/src/pjsip-ua/sip_timer.c +++ b/pjsip/src/pjsip-ua/sip_timer.c @@ -723,8 +723,13 @@ PJ_DEF(pj_status_t) pjsip_timer_process_resp(pjsip_inv_session *inv, min_se_hdr = (pjsip_min_se_hdr*) pjsip_msg_find_hdr_by_name(msg, &STR_MIN_SE, NULL); if (min_se_hdr == NULL) { - /* Response 422 should contain Min-SE header */ - return PJ_SUCCESS; + /* Response 422 MUST contain Min-SE header */ + PJ_LOG(3, (inv->pool->obj_name, + "Received 422 (Session Interval Too Small) response " + "without Min-SE header!")); + + pjsip_timer_end_session(inv); + return PJSIP_EMISSINGHDR; } /* Session Timers should have been initialized here */ |