anchor.diff:  %%--------------------------------------------------------------------
   make_logstr(Request, Origin) when record(Request, request) ->
       {Method, URI, Header} = {Request#request.method, Request#request.uri, Request#request.header},
  -    {_, FromURI} = sipheader:from(keylist:fetch("From", Header)),
  -    {_, ToURI} = sipheader:to(keylist:fetch("To", Header)),
  +    {_, FromURI} = sipheader:from(Header),
  +    {_, ToURI} = sipheader:to(Header),
       ClientStr = origin2str(Origin, "unknown"),
       lists:flatten(io_lib:format("~s ~s [client=~s, from=<~s>, to=<~s>]",
   				[Method, sipurl:print(URI), ClientStr, url2str(FromURI), url2str(ToURI)]));
   make_logstr(Response, Origin) when record(Response, response) ->
       Header = Response#response.header,
  -    {_, CSeqMethod} = sipheader:cseq(keylist:fetch("CSeq", Header)),
  -    {_, FromURI} = sipheader:from(keylist:fetch("From", Header)),
  -    {_, ToURI} = sipheader:to(keylist:fetch("To", Header)),
  +    {_, CSeqMethod} = sipheader:cseq(Header),
  +    {_, FromURI} = sipheader:from(Header),
  +    {_, ToURI} = sipheader:to(Header),
       ClientStr = origin2str(Origin, "unknown"),
       case keylist:fetch("Warning", Header) of
   	[] ->
  
positive.code: my_apply(transaction_layer, R, Origin, LogStr) when record(R, request);
  						    record(R, response), record(Origin, siporigin) ->
      %% Dst is the transaction layer.
      case gen_server:call(transaction_layer, {sipmessage, R, Origin, LogStr}, 2000) of
  	{continue} ->
  	    %% terminate silently
  	    true;
  
negative.code: %%                       same as input if no changes were made)
  %%--------------------------------------------------------------------
  remove_route_matching_me(Header) ->
      Route = sipheader:route(Header),
      case Route of
          [#contact{urlstr = FirstRoute} | NewRoute] ->
  	    case route_matches_me(sipurl:parse(FirstRoute)) of
  		true ->
  		    logger:log(debug, "Sipserver: First Route ~p matches me, removing it.",
  			       [ contact:print(contact:new(none, FirstRoute, [])) ]),
  		    NewHeader =
  			case NewRoute of
  			    [] ->
  				keylist:delete("Route", Header);
  			    _ ->
  				keylist:set("Route", sipheader:contact_print(NewRoute), Header)
  			end,
  		    NewHeader;
  		_ ->
  		    Header
  	    end;
  