anchor.diff:      catch
           throw:Throw -> Throw
       end.
  -
  -
  -% %% @private
  -% -spec check_gruu(nksip:request(), nksip:optslist()) ->
  -%     nksip:optslist().
  -
  -% check_gruu(#sipmsg{app_id=AppId}) ->
  -%     AppSupp = nksip_lib:get_value(supported, AppOpts, ?SUPPORTED),
  -%     case 
  -%         lists:member(<<"gruu">>, AppSupp) andalso nksip_sipmsg:supported(<<"gruu">>, Req)
  -%     of
  -%         true -> [{registrar_gruu, true}|AppOpts];
  -%         false -> AppOpts
  -%     end.
   
   
   %% @private
  
positive.code:     RegContacts = update_regcontacts(Contacts, Req, Times, Path, Opts, RegContacts0),
      case RegContacts of
          [] -> 
              case callback(AppId, {del, AOR}) of
                  ok -> ok;
                  not_found -> ok;
                  _ -> throw({internal_error, "Error calling registrar 'del' callback"})
  
negative.code:         undefined -> <<>>;
          Inst0 -> nksip_lib:hash(Inst0)
      end,
      ObProc = nksip_lib:get_value(outbound, Opts),
      RegId = case nksip_lib:get_value(<<"reg-id">>, ExtOpts) of
          undefined -> <<>>;
          _ when ObProc == undefined -> <<>>;
  