anchor.diff:  			    GwURL when is_record(GwURL, sipurl) ->
   				NewURI2 = GwURL#sipurl{user=DstNumber, pass=none},
   				{NewURI2, Header};
  -			    _ ->
  +			    Unknown ->
   				logger:log(error, "pstnproxy: Failed parsing configuration value "
  -					   "'pstngatewaynames' (~p)", [PSTNgateway1]),
  -				{URI, Header}
  +					   "'pstngatewaynames' (~p) : ~p", [PSTNgateway1, Unknown]),
  +				erlang:fault("invalid first element of pstngatewaynames", [Unknown])
   			end
   		end;
  -	    _ ->
  +	    false ->
   		{URI, Header}
   	end,
       NewHeaders2 = case sipserver:get_env(record_route, true) of
  
positive.code: 	    NewHeader = add_caller_identity_for_pstn(Method, Header, DstURI, User, PSTNgateway),
  	    sippipe:start(THandler, none, Request#request{header=NewHeader}, DstURI, 900);
  	{stale, User, Class} ->
  	    logger:log(debug, "Auth: User ~p must authenticate (stale) for dst ~s (class ~s)", [User, DstNumber, Class]),
  	    logger:log(normal, "~s: pstnproxy: Relay ~s to PSTN ~s (~s) -> STALE authentication, sending challenge",
  		       [LogTag, Method, DstNumber, sipurl:print(DstURI)]),
  	    transactionlayer:send_challenge(THandler, proxy, true, none);
  
negative.code:     end.
  
  route_request2(FromIP, ToHost, THandler, LogTag) ->
      case is_pstngateway(FromIP) of
  	true ->
  	    logger:log(debug, "Routing: Source IP ~s is PSTN gateway, route to SIP proxy", [FromIP]),
  	    sip;
  	false ->
  	    IsLocalHostname = is_localhostname(ToHost),
  	    IsPstnGatewayHostname = is_pstngateway(ToHost),
  	    if
  		IsLocalHostname == true ->
  		    logger:log(debug, "Routing: Source IP ~s is not PSTN gateway and ~p is me, route to PSTN gateway",
  