anchor.diff:      Default = nksip_config:get_cached(session_expires, AppOpts),
       {SE, Refresh} = case nksip_sipmsg:require(Resp, <<"timer">>) of
           true ->
  -            case nksip_parse:session_expires(Req) of
  +            case nksip_parse:session_expires(Resp) of
                   {ok, SE0, Refresh0} ->
                       {SE0, Refresh0};
                   undefined ->                % Remote said 'no session timer'
  
positive.code:                         CurrentMinSE -> 
                              Call;
                          _ -> 
                              nksip_call_dialog:update_meta({core, min_se}, NewMinSE, 
                                                            DialogId, Call)
                      end,
                      case nksip_parse:session_expires(Req) of
  
negative.code: 
  
  %% @private
  -spec uac_update_timer(nksip:method(), nksip:dialog(), nksip_call:call()) ->
      [nksip:header()].
  
  uac_update_timer(Method, Dialog, Call) ->
      #dialog{id=DialogId, invite=Invite} = Dialog,
      case Invite of
          #invite{session_expires=SE, refresh_timer=RefreshTimer} when
                  is_integer(SE) andalso (Method=='INVITE' orelse Method=='UPDATE') ->
              {SE1, MinSE} = case 
                  nksip_call_dialog:get_meta(nksip_min_se, DialogId, Call)
              of
                  undefined -> {SE, undefined};
                  CurrMinSE -> {max(SE, CurrMinSE), CurrMinSE}
              end,
              % Do not change the roles, if a refresh is sent from the 
              % refreshed instead of the refresher
              Class = case is_reference(RefreshTimer) of
                  true -> uac;
                  false -> uas
              end,
              [
                  {session_expires, {SE1, Class}} |
                  case is_integer(MinSE) of true -> [{min_se, MinSE}]; false -> [] end
              ];
          _ ->
              []
      end.
  