M3UA: Fix some compiler warnings; add code_change/4 and terminate/3
diff --git a/src/m3ua_core.erl b/src/m3ua_core.erl
index 03872f7..82ba326 100644
--- a/src/m3ua_core.erl
+++ b/src/m3ua_core.erl
@@ -26,7 +26,7 @@
 
 -export([start_link/1]).
 
--export([init/1, handle_event/3, handle_info/3]).
+-export([init/1, terminate/3, code_change/4, handle_event/3, handle_info/3]).
 
 % FSM states:
 -export([asp_down/2, asp_inactive/2, asp_active/2]).
@@ -79,6 +79,13 @@
 	LoopDat2 = reconnect_sctp(LoopDat),
 	{ok, asp_down, LoopDat2}.
 
+terminate(Reason, _State, LoopDat) ->
+	io:format("Terminating ~p (Reason: ~p)~n", [?MODULE, Reason]),
+	gen_sctp:close(LoopDat#m3ua_state.sctp_sock).
+
+code_change(_OldVsn, StateName, StateData, _Extra) ->
+	{ok, StateName, StateData}.
+
 % Helper function to send data to the SCTP peer
 send_sctp_to_peer(LoopDat, PktData) when is_binary(PktData) ->
 	#m3ua_state{sctp_sock = Sock, sctp_assoc_id = Assoc} = LoopDat,
@@ -112,7 +119,7 @@
 	     _State, LoopDat) when is_record(SAC, sctp_assoc_change) ->
 	io:format("SCTP Assoc Change ~p ~p~n", [ANC, SAC]),
 	#sctp_assoc_change{state = SacState, outbound_streams = _OutStreams,
-			   inbound_streams = _InStreams, assoc_id = AssocId} = SAC,
+			   inbound_streams = _InStreams, assoc_id = _AssocId} = SAC,
 	case SacState of 
 		comm_up ->
 			% FIXME: primmitive to the user
@@ -251,7 +258,7 @@
 	rx_m3ua(M3uaMsg, asp_active, LoopDat).
 
 
-rx_sctp(Anc, Data, State, LoopDat) ->
+rx_sctp(_Anc, Data, State, LoopDat) ->
 	M3uaMsg = m3ua_codec:parse_m3ua_msg(Data),
 	gen_fsm:send_event(self(), M3uaMsg),
 	{next_state, State, LoopDat}.