anchor.diff:  	Index when is_integer(Index) ->
   	    BranchBase = string:substr(CallBranch, 1, Index - 1),
   	    BranchBase
  +    end.
  +
  +%%--------------------------------------------------------------------
  +%% Function: forward_request(THandler, Request, FwdURL)
  +%%           THandler = term(), server transaction handle
  +%%           Request  = request record()
  +%%           FwdURL   = sipurl record()
  +%% Descrip.: Forward a request somewhere without authentication. This
  +%%           function is used when forwarding requests to another
  +%%           proxy that should handle it instead of us. It preserves
  +%%           the Request-URI.
  +%% Returns : Does not matter
  +%%--------------------------------------------------------------------
  +forward_request(THandler, Request, FwdURL) ->
  +    URI = Request#request.uri,
  +    ApproxMsgSize = siprequest:get_approximate_msgsize(Request#request{uri=FwdURL}),
  +    case sipdst:url_to_dstlist(FwdURL, ApproxMsgSize, URI) of
  +	{error, nxdomain} ->
  +	    logger:log(debug, "incomingproxy: Failed resolving FwdURL : NXDOMAIN"
  +		       " (responding '604 Does Not Exist Anywhere')"),
  +	    transactionlayer:send_response_handler(THandler, 604, "Does Not Exist Anywhere"),
  +	    error;
  +	{error, What} ->
  +	    logger:log(normal, "incomingproxy: Failed resolving FwdURL : ~p", [What]),
  +	    transactionlayer:send_response_handler(THandler, 500, "Failed resolving forward destination"),
  +	    error;
  +	DstList when is_list(DstList) ->
  +	    proxy_request(THandler, Request, DstList)
       end.
   
   %%--------------------------------------------------------------------
  
positive.code: %%           {proxy, Location}          |
  %%           {relay, Location}          |
  %%           {forward, Location}        |
  %%           {me}                       |
  %%           none
  %%--------------------------------------------------------------------
  route_request(Request, Origin, LogTag) when is_record(Request, request), is_list(LogTag) ->
  
negative.code: 	none ->
  	    logger:log(normal, "~s: incomingproxy: 404 Not found", [LogTag]),
  	    transactionlayer:send_response_handler(THandler, 404, "Not Found");
  
  	{error, Errorcode} ->
  	    logger:log(normal, "~s: incomingproxy: Error ~p", [LogTag, Errorcode]),
  	    transactionlayer:send_response_handler(THandler, Errorcode, "Unexplained error");
  	{response, Status, Reason} ->
  	    logger:log(normal, "~s: incomingproxy: Response '~p ~s'", [LogTag, Status, Reason]),
  	    transactionlayer:send_response_handler(THandler, Status, Reason);
  
  	{proxy, Loc} when is_record(Loc, sipurl) ->
  	    logger:log(normal, "~s: incomingproxy: Proxy ~s -> ~s", [LogTag, Method, sipurl:print(Loc)]),
  	    proxy_request(THandler, Request, Loc);
  