anchor.diff:  	    ok = gen_udp:send(Socket, Host, list_to_integer(Port), Message)
       end.
   
  +send_proxy_request(Header, Socket, {Action, Dest, Body, Parameters}) ->
  +    send_proxy_request(Header, Socket, {Action, Dest, Body, Parameters}, Dest).
  +
   check_valid_proxy_request("ACK", _) ->
       true;
   check_valid_proxy_request("CANCEL", _) ->
  
positive.code: 		   {"Call-ID", keylist:fetch("Call-ID", Header)},
  		   {"CSeq", keylist:fetch("CSeq", Header)} | ExtraHeaders], Body).
  
  location_prio([]) ->
      {none, [], none, never};
  location_prio([Address]) ->
      Address;
  location_prio([Address | Rest]) ->
      Address2 = location_prio(Rest),
      {Location1, Flags1, Class1, Expire1} = Address,
      {Location2, Flags2, Class2, Expire2} = Address2,
      Prio1 = lists:keysearch(priority, 1, Flags1),
      Prio2 = lists:keysearch(priority, 1, Flags2),
      case {Prio1, Prio2} of
  	{_, false} ->
  	    Address;
  	{false, _} ->
  	    Address2;
  	{{value, {priority,P1}}, {value, {priority,P2}}} when P1 >= P2 ->
  	    Address;
  	_ ->
  	    Address2
      end.
  
  send_proxy_response(Socket, Status, Reason, Header, Body) ->
      [Self | Via] = sipheader:via(keylist:fetch("Via", Header)),
      Keylist = keylist:set("Via", sipheader:via_print(Via),
  
negative.code: 	    {Header, Dest}
      end.
  
  make_answerheader(Header) ->
      RecordRoute = keylist:fetch("Record-Route", Header),
      NewHeader1 = keylist:delete("Record-Route", Header),
      NewHeader2 = case RecordRoute of
  	[] ->
  	    NewHeader1;	
  	_ ->
  	    keylist:set("Route", RecordRoute, NewHeader1)
      end.
  
  send_proxy_request(Header, Socket, {Action, ReqURI, Body, Parameters}, Dest) ->
      MaxForwards =
  	case keylist:fetch("Max-Forwards", Header) of
  	    [M] ->
  