anchor.diff:  		    siprequest:send_result(Header, Socket, "", 501, "Not Implemented")
   	    end;
   	false ->
  +	    logger:log(normal, "~s -> SIP server", [LogStr]),
   	    toSIPrequest(Method, URL, Header, Body, Socket);
   	_ ->
   	    siprequest:send_result(Header, Socket, "", 403, "Forbidden")
  
positive.code: 		    logger:log(debug, "Routing: Source IP ~s is not PSTN gateway and ~p is me, route to PSTN gateway", [FromIP, ToHost]),
  		    true;
  		_ ->
  		    logger:log(debug, "Routing: Denied request from ~s to ~s - not my problem", [FromIP, ToHost]),
  		    nomatch
  	    end
      end.
  
  request(Method, URL, Header, Body, Socket, FromIP) ->
      {User, Pass, Host, Port, Parameters} = URL,
      logger:log(normal, "~s ~s", [Method, sipurl:print(URL)]),
      case routeRequestToPSTN(FromIP, Host) of
  	true ->
  	    case Method of
  		"INVITE" ->
  		    toPSTNrequest(Method, User, Header, Body, Socket);
  
negative.code: toSIPrequest(Method, URL, Header, Body, Socket) ->
      {User, Pass, Host, Port, Parameters} = URL,
      Newlocation = {User, none, sipserver:get_env(sipproxy), none, []},
      case Newlocation of
  	none ->
  	    none;
  	_ ->
  	    Route = "<" ++ sipurl:print({User, Pass, lists:nth(1, sipserver:get_env(myhostnames)), Port,
      				["maddr=" ++ siphost:myip()]}) ++ ">",
  	    Newheaders = keylist:prepend({"Record-Route", Route}, Header),
  	    siprequest:send_proxy_request(Newheaders, Socket, {Method, Newlocation, Body, []})
      end.
  
  toPSTNrequest(Method, Phone, Header, Body, Socket) ->
      Newlocation = {Phone, none, lists:nth(1, sipserver:get_env(pstngatewaynames)), none, []},
      {_, FromURI} = sipheader:to(keylist:fetch("From", Header)),
      Fromphone = local:sipuser(FromURI),
      Classdefs = sipserver:get_env(classdefs, [{"", unknown}]),
      Route = "<" ++ sipurl:print({Phone, none, lists:nth(1, sipserver:get_env(myhostnames)), none,
  				 ["maddr=" ++ siphost:myip()]}) ++ ">",
  