anchor.diff:  uris(List) when is_list(List) -> parse_uris(List, []);
   uris(Term) -> uris([Term]).
   
  +
  +%% @doc Parses all URIs found in `Term'.
  +-spec uris(Term :: nksip:user_uri() | [nksip:user_uri()]) -> 
  +    [nksip:uri()] | error.
  +                
  +ruris(RUris) -> 
  +    case uris(RUris) of
  +        error -> error;
  +        Uris -> parse_ruris(Uris, [])
  +    end.
  +          
   
   %% @doc Extracts all `via()' found in `Term'
   -spec vias(Term :: binary() | string() | [binary() | string()]) -> 
  
positive.code: -include("nksip.hrl").
  -include("nksip_call.hrl").
  
  -export([method/1, scheme/1, aors/1, uris/1, vias/1]).
  -export([tokens/1, integers/1, dates/1, extract_uri_routes/1]).
  -export([transport/1, session_expires/1]).
  -export([packet/3, raw_sipmsg/1, raw_header/1]).
  
negative.code: 
  
  %% @private
  -spec parse_ruris([#uri{}], [#uri{}]) ->
      [#uri{}] | error.
  
  parse_ruris([], Acc) ->
      lists:reverse(Acc);
  
  parse_ruris([#uri{opts=[], headers=[], ext_opts=Opts}=Uri|Rest], Acc) ->
      parse_uris(Rest, [Uri#uri{opts=Opts, ext_opts=[], ext_headers=[]}|Acc]);
  
  parse_ruris(_, _) ->
      error.
  
  
  
  %% @private
  -spec parse_vias([#via{}|binary()|string()], [#via{}]) ->
      [#via{}] | error.
  
  