anchor.diff:      RegContact = Base#reg_contact{
           index = Index,
           contact = Contact#uri{ext_opts=Opts1},
  -        expire = Expire, 
  +        expire = Now + Expires, 
           q = Q
       },
       gen_regcontacts(Rest, Base, Times, ObProc, [RegContact|Acc]);
  
positive.code: 
  check_outbound(Req) ->
      #sipmsg{app_id=AppId, vias=Vias, transport=Transp} = Req,
      case nksip_sipmsg:supported(Req, <<"outbound">>) of
          true when length(Vias) > 1 ->  % We are not the first host
              ObProc = case nksip_sipmsg:headers(Req, <<"Path">>, uris) of
                  [#uri{opts=PathOpts}] -> lists:member(<<"ob">>, PathOpts);
                  _ -> false
              end,
              {ObProc, Req};
          true ->
              {ok, _, AppOpts, _} = nksip_sipapp_srv:get_opts(AppId),
              #transport{proto=Proto, listen_ip=Ip, listen_port=Port} = Transp,
              Host = nksip_transport:get_listenhost(Ip, AppOpts),
              case nksip_transport:get_connected(AppId, Proto, Ip, Port) of
                  [{_, Pid}|_] ->
                      Flow = base64:encode(term_to_binary(Pid)),
                      Path = nksip_transport:make_route(sip, Proto, Host, Port, 
                                                        <<"NkF", Flow/binary>>, 
                                                        [<<"lr">>]),
                      Headers1 = nksip_headers:update(Req, 
                          [{add_before_single, <<"Path">>, Path}]),
                      Req1 = Req#sipmsg{headers=Headers1},
                      {true, Req1};
                  [] ->
                      {false, Req}
              end;
          false ->
  
negative.code:                 _ -> Default
              end
      end,
      Expires = if
          UriExp==0 -> 0;
          UriExp>0, UriExp<3600, UriExp<Min -> throw({interval_too_brief, Min});
          UriExp>Max -> Max;
          true -> UriExp
      end,
      Q = case nksip_lib:get_list(<<"q">>, Opts) of
          [] -> 
  