diff --git a/kamailio/registrar-role.cfg b/kamailio/registrar-role.cfg index 1c3daa0..15bd3fd 100644 --- a/kamailio/registrar-role.cfg +++ b/kamailio/registrar-role.cfg @@ -254,12 +254,24 @@ route[SAVE_LOCATION] } } - if($expires(max) != $null) { - $var(expires) = $expires(max); + if(@contact.expires) { + $var(expires) = @contact.expires; } else { - $var(expires) = REGISTRAR_MIN_EXPIRES; + if(is_present_hf("Expires")) { + $var(expires) = $hdr(Expires); + } else { + $var(expires) = REGISTRAR_MIN_EXPIRES; + } } +## this is what we should be using +## but ulrcd seems to have a weird leak +## if($var(save_result) == 3) { +## $var(expires) = 0; +## } else { +## $var(expires) = $xavp(ulrcd=>expires); +## } + if($var(expires) == 0) { xlog("L_INFO", "$ci|end|unregister request from $Au $si:$sp\n"); $var(Status) = "Unregistered";