anchor.diff:  
   %% ACK requests are matched to transactions differently if they are not received from
   %% an RFC3261 compliant device, see RFC3261 17.2.3   
  -get_server_transaction_ack_2543(Request, TransactionList) when record(Request, request) ->
  +get_server_transaction_ack_2543(Request, TransactionList) when record(Request, request), record(TransactionList, transactionstatelist) ->
       case sipheader:get_server_transaction_ack_id_2543(Request) of
   	error ->
   	    logger:log(error, "Transaction state list: Could not get server transaction RFC2543 ACK id for request"),
  
positive.code: get_elem_ackid(Type, AckId, ToTag, [H | T]) when record(H, transactionstate),
  H#transactionstate.type == Type, H#transactionstate.ack_id == AckId ->
      logger:log(debug, "Transaction state list: Found a transaction with matching ACK-Id, but the to-tag is not ~p (it is ~p) :~n~p",
  	       [ToTag, H#transactionstate.response_to_tag, debugfriendly([H])]),
      get_elem_ackid(Type, AckId, ToTag, T);
  get_elem_ackid(Type, AckId, ToTag, [H | T]) when record(H, transactionstate) ->
      get_elem_ackid(Type, AckId, ToTag, T).
  
negative.code: 	    {error, "unknown result from get_using_pid2"}
      end.
  
  %% Function: get_using_pid/2
  %% Description: Non-exported function that returns a plain list (not
  %%              a transactionstatelist) of all the elements of a
  %%              given transactionstatelist who have a matching pid.
  %% Returns: ListOfTransactionStateRecords |
  %%          []
  %%--------------------------------------------------------------------
  get_using_pid2(Pid, [], Res) ->
      Res;
  get_using_pid2(Pid, [H | T], Res) when record(H, transactionstate), H#transactionstate.pid == Pid ->
  