anchor.diff:  -author('Harald Welte <laforge@gnumonks.org>').
   
   -include_lib("kernel/include/inet_sctp.hrl").
  +-include("osmo_util.hrl").
   -include("sccp.hrl").
   -include("m3ua.hrl").
   
  
positive.code: 		       msg_type = ?M3UA_MSGT_ASPTM_ASPAC_ACK}, LoopDat) ->
  	timer:cancel(LoopDat#m3ua_state.t_ack),
  	% transition into ASP_ACTIVE
  	% FIXME: signal this to the user
  	{next_state, asp_active, LoopDat};
  
  asp_inactive(#m3ua_msg{msg_class = ?M3UA_MSGC_ASPSM,
  		       msg_type = ?M3UA_MSGT_ASPSM_ASPDN_ACK}, LoopDat) ->
  	timer:cancel(LoopDat#m3ua_state.t_ack),
  	% transition into ASP_DOWN
  	% FIXME: signal this to the user
  	{next_state, asp_down, LoopDat};
  
  asp_inactive(M3uaMsg, LoopDat) when is_record(M3uaMsg, m3ua_msg) ->
  
negative.code: 		     msg_type = ?M3UA_MSGT_ASPSM_ASPDN_ACK}, LoopDat) ->
  	timer:cancel(LoopDat#m3ua_state.t_ack),
  	% transition into ASP_DOWN
  	% signal this to the user
  	send_prim_to_user(LoopDat, osmo_util:make_prim('M','ASP_DOWN',confirm)),
  	{next_state, asp_down, LoopDat};
  
  asp_active(#m3ua_msg{msg_class = ?M3UA_MSGC_ASPTM,
  		     msg_type = ?M3UA_MSGT_ASPTM_ASPIA_ACK}, LoopDat) ->
  	timer:cancel(LoopDat#m3ua_state.t_ack),
  	% transition into ASP_INACTIVE
  	% signal this to the user
  	send_prim_to_user(LoopDat, osmo_util:make_prim('M','ASP_INACTIVE',confirm)),
  	{next_state, asp_inactive, LoopDat};
  
  asp_active(#primitive{subsystem = 'M', gen_name = 'ASP_DOWN',
  