anchor.diff:  %% Descrip.: Create a response given a request.
   %% Returns : Response = response record()
   %%--------------------------------------------------------------------
  -make_response(Status, Reason, Body, ExtraHeaders, ViaParameters, SipSocket, Request) when record(SipSocket, sipsocket) ->
  +make_response(Status, Reason, Body, ExtraHeaders, ViaParameters, SipSocket, Request)
  +  when is_record(SipSocket, sipsocket) ->
       make_response(Status, Reason, Body, ExtraHeaders, ViaParameters, SipSocket#sipsocket.proto, Request);
  -make_response(Status, Reason, Body, ExtraHeaders, ViaParameters, Proto, Request) when record(Request, request) ->
  +make_response(Status, Reason, Body, ExtraHeaders, ViaParameters, Proto, Request)
  +  when is_record(Request, request) ->
       ReqHeader = Request#request.header,
       AnswerHeader1 = keylist:appendlist(keylist:copy(ReqHeader, ["Via", "From", "To", "Call-ID", "CSeq",
   								"Record-Route", "Timestamp", "Content-Type"]),
  
positive.code: 	    logger:log(debug, "Siprequest (transport layer) : Failed to get ~p socket for ~s : ~p", [Proto, DestStr, What]),
  	    %% try next
  	    send_to_available_dst(DstT, Request, ViaParam, SrvTHandler);
  	SipSocket when record(SipSocket, sipsocket) ->
  	    {Method, OrigURI, Header, Body} = {Request#request.method, Request#request.uri,
  					       Request#request.header, Request#request.body},
  	    NewHeader1 = proxy_add_via(Header, Method, OrigURI, ViaParam, Proto, SrvTHandler),
  
negative.code:     true;
  check_valid_proxy_request("CANCEL", _) ->
      true;
  check_valid_proxy_request(_Method, Header) ->
      ProxyRequire = keylist:fetch("Proxy-Require", Header),
      case ProxyRequire of
  	[] ->
  