From 54eabd6c929c6f56da28421839b0ef2945cda876 Mon Sep 17 00:00:00 2001 From: Chia-chi Yeh Date: Tue, 6 Sep 2011 12:47:12 -0700 Subject: [PATCH] SIP: avoid extreme small values in Min-Expires headers. If the expiry time cannot be found in Contact header or Expires header, use the default value of 3600 seconds, which is specified in RFC 3261. Change-Id: I2607a398b96743614b01713cfd9b28f40386fac1 --- voip/java/com/android/server/sip/SipSessionGroup.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/voip/java/com/android/server/sip/SipSessionGroup.java b/voip/java/com/android/server/sip/SipSessionGroup.java index 49effa864905..eb5cce72ec1e 100644 --- a/voip/java/com/android/server/sip/SipSessionGroup.java +++ b/voip/java/com/android/server/sip/SipSessionGroup.java @@ -883,12 +883,15 @@ class SipSessionGroup implements SipListener { if (expires != null && (time < 0 || time > expires.getExpires())) { time = expires.getExpires(); } + if (time <= 0) { + time = EXPIRY_TIME; + } expires = (ExpiresHeader) response.getHeader(MinExpiresHeader.NAME); if (expires != null && time < expires.getExpires()) { time = expires.getExpires(); } Log.v(TAG, "Expiry time = " + time); - return (time > 0) ? time : EXPIRY_TIME; + return time; } private boolean registeringToReady(EventObject evt) -- 2.11.0