anchor.diff:  
   guarded_get_client_transaction_id(Response) when is_record(Response, response) ->
       Header = Response#response.header,
  -    TopVia = sipheader:topvia(Header),
  +    TopVia = topvia(Header),
       Branch = get_via_branch(TopVia),
  -    {_, CSeqMethod} = sipheader:cseq(Header),
  +    {_, CSeqMethod} = cseq(Header),
       {Branch, CSeqMethod}.
   
   %%--------------------------------------------------------------------
  
positive.code:     end.
  
  guarded_get_server_transaction_id(Request) when is_record(Request, request) ->
      TopVia = sipheader:topvia(Request#request.header),
      %% XXX the branch is actually a token and should apparently be compared case-insensitively
      %% http://bugs.sipit.net/show_bug.cgi?id=661
      Branch = get_via_branch(TopVia),
  
negative.code: 
  guarded_get_server_transaction_ack_id_2543(Request) when is_record(Request, request) ->
      {URI, Header} = {Request#request.uri, Request#request.header},
      TopVia = remove_branch(topvia(Header)),
      CallID = callid(Header),
      {CSeqNum, _} = cseq(Header),
      FromTag = get_tag(keylist:fetch('from', Header)),
      %% We are supposed to match only on the CSeq number, but the entry we are
      %% matching against is an INVITE and that INVITE had it's Id generated with
      %% the full CSeq. Make it possible to match the INVITE with this Id.
  