SCOC: remove lots of warnings about unused variables
diff --git a/src/sccp_scoc.erl b/src/sccp_scoc.erl
index 9e461d9..903eca3 100644
--- a/src/sccp_scoc.erl
+++ b/src/sccp_scoc.erl
@@ -90,7 +90,7 @@
 		   spec_name = SpecName, parameters = Param}.
 
 % helper function to send a primitive to the user
-send_user(LoopDat = #state{user_pid = Pid}, Prim = #primitive{}) ->
+send_user(_LoopDat = #state{user_pid = Pid}, Prim = #primitive{}) ->
 	Pid ! {sccp, Prim}.
 
 % low-level functions regarding activity timers
@@ -111,7 +111,7 @@
 				 [self(), {timer_expired, rx_inact_timer}]),
 	LoopDat#state{rx_inact_timer = Tiar, tx_inact_timer = Tias}.
 
-stop_inact_timers(LoopDat = #state{rx_inact_timer = Tiar, tx_inact_timer = Tias}) ->
+stop_inact_timers(#state{rx_inact_timer = Tiar, tx_inact_timer = Tias}) ->
 	timer:cancel(Tiar),
 	timer:cancel(Tias).
 
@@ -121,8 +121,8 @@
 % STATE Idle
 
 % N-CONNECT.req from user
-idle(Prim = #primitive{subsystem = 'N', gen_name = 'CONNECT',
-		       spec_name = request, parameters = Param}, LoopDat) ->
+idle(#primitive{subsystem = 'N', gen_name = 'CONNECT',
+	        spec_name = request, parameters = Param}, LoopDat) ->
 	% assign local reference and SLS
 	% determine protocol class and credit
 	LoopDat1 = LoopDat#state{local_reference = make_ref(), class = 2},
@@ -132,8 +132,8 @@
 	{next_state, conn_pend_out, LoopDat1, ?CONNECTION_TIMER};
 
 % RCOC-CONNECTION.req from SCRC
-idle(Prim = #primitive{subsystem = 'RCOC', gen_name = 'CONNECTION',
-			spec_name = indication, parameters = Params}, LoopDat) ->
+idle(#primitive{subsystem = 'RCOC', gen_name = 'CONNECTION',
+		spec_name = indication, parameters = Params}, LoopDat) ->
 	% associate remote reference to connection section
 	RemRef = proplists:get_value(src_local_ref, Params),
 	% determine protocol class and FIXME: credit
@@ -145,8 +145,8 @@
 	{next_state, conn_pend_in, LoopDat1};
 
 % RCOC-ROUTING_FAILURE.ind from SCRC
-idle(Prim = #primitive{subsystem = 'RCOC', gen_name = 'ROUTING FAILURE',
-			spec_name = indication, parameters = Param}, LoopDat) ->
+idle(#primitive{subsystem = 'RCOC', gen_name = 'ROUTING FAILURE',
+		spec_name = indication}, LoopDat) ->
 	gen_fsm:send_event(LoopDat#state.scrc_pid,
 			   make_prim('OCRC', 'CONNECTION REFUSED', indication)),
 	{next_state, idle, LoopDat};
@@ -154,15 +154,15 @@
 %FIXME: request type 2 ?!?
 
 % RCOC-RELEASED.ind from SCRC
-idle(Prim = #primitive{subsystem = 'RCOC', gen_name = 'RELEASED',
-			spec_name = indication}, LoopDat) ->
+idle(#primitive{subsystem = 'RCOC', gen_name = 'RELEASED',
+		spec_name = indication}, LoopDat) ->
 	gen_fsm:send_event(LoopDat#state.scrc_pid,
 			   make_prim('OCRC', 'RELEASE COMPLETE', indication)),
 	{next_state, idle, LoopDat};
 
 % RCOC-RELEASE_COMPLETE.ind from SCRC
-idle(Prim = #primitive{subsystem = 'RCOC', gen_name = 'RELEASE COMPLETE',
-			spec_name = indication}, LoopDat) ->
+idle(#primitive{subsystem = 'RCOC', gen_name = 'RELEASE COMPLETE',
+		spec_name = indication}, LoopDat) ->
 	{next_state, idle, LoopDat};
 
 idle(#primitive{subsystem= 'RCOC', gen_name = 'DATA',
@@ -172,8 +172,8 @@
 	{next_state, idle, LoopDat}.
 
 % STATE Connection pending incoming
-conn_pend_in(Prim = #primitive{subsystem = 'N', gen_name = 'CONNECT',
-			       spec_name = response, parameters = Param}, LoopDat) ->
+conn_pend_in(#primitive{subsystem = 'N', gen_name = 'CONNECT',
+			spec_name = response, parameters = Param}, LoopDat) ->
 	io:format("SCOC N-CONNECT.resp LoopDat ~p~n", [LoopDat]),
 	% assign local reference, SLS, protocol class and credit for inc section
 	OutParam = [{dst_local_ref, LoopDat#state.remote_reference},
@@ -186,8 +186,8 @@
 	{next_state, active, LoopDat1};
 conn_pend_in(any_npdu_type, LoopDat) ->
 	{next_state, conn_pend_in, LoopDat};
-conn_pend_in(Prim = #primitive{subsystem = 'N', gen_name = 'DISCONNECT',
-			       spec_name = request, parameters = Param}, LoopDat) ->
+conn_pend_in(#primitive{subsystem = 'N', gen_name = 'DISCONNECT',
+			spec_name = request, parameters = Param}, LoopDat) ->
 	% release resourcers (local ref may have to be released an frozen)
 	gen_fsm:send_event(LoopDat#state.scrc_pid,
 			   make_prim('OCRC', 'CONNECTION REFUSED', indication, Param)),
@@ -200,7 +200,7 @@
 	% stop inactivity timers
 	stop_inact_timers(LoopDat),
 	gen_fsm:send_event(LoopDat#state.scrc_pid,
-			   make_prim('OCRC', 'RELESED', indication)),
+			   make_prim('OCRC', 'RELEASED', indication)),
 	% start release timer
 	{next_state, disconnect_pending, LoopDat, ?RELEASE_TIMER}.
 
@@ -212,8 +212,8 @@
 
 
 % STATE Connection pending outgoing
-conn_pend_out(Prim = #primitive{subsystem = 'N', gen_name = 'DISCONNECT',
-				spec_name = request, parameters = Param}, LoopDat) ->
+conn_pend_out(#primitive{subsystem = 'N', gen_name = 'DISCONNECT',
+			 spec_name = request}, LoopDat) ->
 	% FIXME: what about the connection timer ?
 	{next_state, wait_conn_conf, LoopDat};
 conn_pend_out(timeout, LoopDat) ->
@@ -273,8 +273,8 @@
 	{next_state, disconnect_pending, LoopDat, ?RELEASE_TIMER}.
 
 % STATE Active
-active(Prim = #primitive{subsystem = 'N', gen_name = 'DISCONNECT',
-			 spec_name = request, parameters = Param}, LoopDat) ->
+active(#primitive{subsystem = 'N', gen_name = 'DISCONNECT',
+		  spec_name = request}, LoopDat) ->
 	% stop inactivity timers
 	start_inact_timers(LoopDat),
 	relsd_tmr_disc_pend_6(LoopDat);
@@ -319,25 +319,27 @@
 % Connection release procedures at destination node
 %active(internal_disconnect) ->
 % Data transfer procedures
-active(Prim = #primitive{subsystem = 'N', gen_name = 'DATA',
-			 spec_name = request, parameters = Param}, LoopDat) ->
+active(#primitive{subsystem = 'N', gen_name = 'DATA',
+		  spec_name = request, parameters = Param}, LoopDat) ->
 	% FIXME Segment NSDU and assign value to bit M
 	% FIXME handle protocol class 3
 	gen_fsm:send_event(LoopDat#state.scrc_pid, {dt1, []}),
 	% restart send inactivity timer
 	LoopDat1 = restart_tx_inact_timer(LoopDat),
 	{next_state, active, LoopDat1};
-active({dt1, Param}, LoopDat) ->
+active(#primitive{subsystem = 'RCOC', gen_name = 'CONNECTION-MSG',
+		  spec_name = indication, parameters = MsgPrim}, LoopDat) ->
 	% restart receive inactivity timer
 	LoopDat1 = restart_rx_inact_timer(LoopDat),
 	% FIXME handle protocol class 3
 	% FIXME check for M-bit=1 and put data in Rx queue
 	% N-DATA.ind to user
-	send_user(LoopDat, make_prim('N', 'DATA', indication, Param)),
+	UserData = proplists:get_value(user_data, MsgPrim#primitive.parameters),
+	send_user(LoopDat, make_prim('N', 'DATA', indication, {user_data, UserData})),
 	{next_state, active, LoopDat1};
 % Reset procedures
-active(Prim = #primitive{subsystem = 'N', gen_name = 'RESET',
-			 spec_name = request, parameters = Param}, LoopDat) ->
+active(#primitive{subsystem = 'N', gen_name = 'RESET',
+		  spec_name = request, parameters = Param}, LoopDat) ->
 	gen_fsm:send_event(LoopDat#state.scrc_pid,
 			   make_prim('OCRC', 'RESET', request, Param)),
 	% start reset timer
@@ -408,12 +410,12 @@
 	{next_state, active, LoopDat1}.
 
 % STATE Reset outgoing
-reset_outgoing(Prim = #primitive{subsystem = 'N', gen_name = 'DATA',
-				 spec_name = request, parameters = Params}, LoopDat) ->
+reset_outgoing(#primitive{subsystem = 'N', gen_name = 'DATA',
+			  spec_name = request, parameters = Params}, LoopDat) ->
 	% FIXME received information ?!?
 	{next_state, reset_outgoing, LoopDat};
-reset_outgoing(Prim = #primitive{subsystem = 'N', gen_name = 'EXPEDITED DATA',
-				 spec_name = request, parameters = Params}, LoopDat) ->
+reset_outgoing(#primitive{subsystem = 'N', gen_name = 'EXPEDITED DATA',
+			  spec_name = request, parameters = Params}, LoopDat) ->
 	% FIXME received information ?!?
 	{next_state, reset_outgoing, LoopDat};
 reset_outgoing(timeout, LoopDat) ->
@@ -443,11 +445,11 @@
 	{next_state, reset_incoming, LoopDat1}.
 
 % STATE Bothway Reset
-bothway_reset(Prim = #primitive{subsystem = 'N', gen_name = 'RESET',
-				spec_name = request, parameters = Params}, LoopDat) ->
+bothway_reset(#primitive{subsystem = 'N', gen_name = 'RESET',
+			 spec_name = request, parameters = Params}, LoopDat) ->
 	bway_res_req_resp(LoopDat);
-bothway_reset(Prim = #primitive{subsystem = 'N', gen_name = 'RESET',
-				spec_name = response, parameters = Params}, LoopDat) ->
+bothway_reset(#primitive{subsystem = 'N', gen_name = 'RESET',
+			 spec_name = response, parameters = Params}, LoopDat) ->
 	bway_res_req_resp(LoopDat);
 bothway_reset(timeout, LoopDat) ->
 	% FIXME check for temporary connection section
@@ -460,8 +462,8 @@
 	{next_state, bothway_reset, LoopDat}.
 
 % STATE Reset incoming
-reset_incoming(Prim = #primitive{subsystem = 'N', gen_name = 'RESET',
-				 spec_name = request, parameters = Params}, LoopDat) ->
+reset_incoming(#primitive{subsystem = 'N', gen_name = 'RESET',
+			  spec_name = request, parameters = Params}, LoopDat) ->
 	% received information
 	{nest_state, reset_incoming, LoopDat};
 %reset_incoming(error, LoopDat) ->