anchor.diff:  	nomatch ->
   	    logger:log(error, "sippipe: No destination given, and request has no Route header"),
   	    erlang:fault("no destination and no route", [ServerHandler, ClientPid, Request, route, Timeout]);
  -	{ok, NewHeader, DstURI, ReqURI} when record(DstURI, sipurl), record(ReqURI, sipurl) ->
  -	    {ok, _, ApproxMsgSize} = siprequest:check_proxy_request(Request),
  +	{ok, NewHeaderX1, DstURI, ReqURI} when record(DstURI, sipurl), record(ReqURI, sipurl) ->
  +	    %% XXX is it right to just ditch NewHeaderX{1,2} here or should we stick it into Request?
  +	    {ok, NewHeaderX2, ApproxMsgSize} = siprequest:check_proxy_request(Request),
   	    logger:log(debug, "sippipe: Routing request as per the Route header, Destination ~p, Request-URI ~p",
   		      [sipurl:print(DstURI), sipurl:print(ReqURI)]),
   	    case sipdst:url_to_dstlist(DstURI, ApproxMsgSize, ReqURI) of
  
positive.code: 	       [State#state.clienthandler, State#state.serverhandler]),
      {ok, State#state{warntime=Now + 60}};
  
  tick(State, Now) ->
      {tick, State}.
  
  
  
negative.code:     case catch guarded_start(ServerHandler, ClientPid, Request, URI, Timeout) of
  	{'EXIT', Reason} ->
  	    logger:log(error, "=ERROR REPORT==== from sippipe :~n~p", [Reason]),
  	    transactionlayer:send_response_handler(ServerHandler, 500, "Server Internal Error"),
  	    {error, Reason};
  	Res ->
  	    Res
      end.
  