anchor.diff:  extract([dstlist | T], Target, Res) when record(Target, target) ->
       extract(T, Target, lists:append(Res, [Target#target.dstlist]));
   extract([endresult | T], Target, Res) when record(Target, target) ->
  -    extract(T, Target, lists:append(Res, [Target#target.endresult])).
  +    extract(T, Target, lists:append(Res, [Target#target.endresult]));
  +extract([cancelled | T], Target, Res) when record(Target, target) ->
  +    extract(T, Target, lists:append(Res, [Target#target.cancelled])).
   
   set_pid(Target, Value) when record(Target, target) ->
       Target#target{pid=Value}.
  
positive.code:     Target#target{endresult=Value}.
  set_dstlist(Target, Value) when record(Target, target) ->
      Target#target{dstlist=Value}.
  
  
negative.code:     {Method, URI, _, _} = H#target.request,
      RespStr = case H#target.endresult of
  	none -> "no response";
  	{Status, Reason, _, _} ->
  	    lists:concat(["response=", Status, " ", Reason])
      end,
      Str = lists:concat(["pid=", pid_to_list(H#target.pid), "branch=", H#target.branch, ", request=", Method, " ",
  		sipurl:print(URI), ", ", RespStr, ", cancelled=", H#target.cancelled, ", state=" , H#target.state]),
      lists:append([lists:flatten(Str)], debugfriendly(T)).
  get_using_branch(Branch, TargetList) when record(TargetList, targetlist) ->
      get_using_branch(Branch, TargetList#targetlist.list);
  