anchor.diff:      %% interesting thing is the replacement.
       This = srvlookup(Proto, H#naptrrecord.replacement),
       Sorted = lists:sort(fun sortsrv/2, This),
  -    naptr_to_srvlist2(Rest, lists:flatten([Res, Sorted])).
  +    naptr_to_srvlist2(T, lists:flatten([Res, Sorted]));
  +%%
  +%% Non-empty regexp, not a domain NAPTR
  +%%
  +naptr_to_srvlist2([H | T], Res) when is_record(H, naptrrecord) ->
  +    naptr_to_srvlist2(T, Res);
  +naptr_to_srvlist2([], Res) ->
  +    Res.
   
   %%--------------------------------------------------------------------
   %% Function: debugfriendly_srventry(In)
  
positive.code: %%           Port may also be 'none'.
  %% Returns : AddrList        |
  %%           {error, Reason}
  %%           AddrList = list() of {Family, Addr, Port}
  %%             Family = inet | inet6
  %%             Addr   = string(), IPv4 or IPv6 address
  %%             Port   = integer()
  %%--------------------------------------------------------------------
  get_ip_port(Host, Port) when is_integer(Port) ; Port == none ->
      V6List = case sipserver:get_env(enable_v6, true) of
  
negative.code: naptr_to_srvlist(In) ->
      naptr_to_srvlist2(In, []).
  
  %%
  %% Empty regexp
  %%
  naptr_to_srvlist2([#naptrrecord{regexp=""}=H | T], Res) ->
      Proto = case H#naptrrecord.services of
  		"SIP+D2U"  ++ _ -> udp;
  		"SIP+D2T"  ++ _ -> tcp;
  