diff --git a/ipa/BSC_MS_ConnectionHandler.ttcn b/ipa/BSC_MS_ConnectionHandler.ttcn
index c77c5de..e99c453 100644
--- a/ipa/BSC_MS_ConnectionHandler.ttcn
+++ b/ipa/BSC_MS_ConnectionHandler.ttcn
@@ -85,13 +85,14 @@
 		alt {
 		/* new SCCP-level connection indication from BSC */
 		[] BSSAP.receive(tr_BSSMAP_AssignmentReq) -> value bssap {
-			/* TODO: Read CIC */
+			/* FIXME: Read CIC */
 			/* respond with ASSIGNMENT COMPL */
 			BSSAP.send(ts_BSSMAP_AssignmentComplete(bssap.pdu.bssmap.assignmentRequest.circuitIdentityCode));
 			}
 
 		/* CRCX -> OK */
 		[] BSSAP.receive(tr_CRCX) -> value mgcp_cmd {
+			/* FIXME: proper SDP parameters */
 			g_sdp := valueof(ts_SDP("127.0.0.1", "127.0.0.1", "foo", "21", 1000, { "98" },
 						{ valueof(ts_SDP_rtpmap(98, "AMR/8000")),
 						  valueof(ts_SDP_ptime(20)) }));
@@ -101,6 +102,7 @@
 
 		/* MDCX -> OK */
 		[] BSSAP.receive(tr_MDCX) -> value mgcp_cmd {
+			/* FIXME: verify if local part of endpoint name matches CIC */
 			/* respond with CRCX_ACK */
 			BSSAP.send(ts_MDCX_ACK(mgcp_cmd.line.trans_id, g_mgcp_conn_id, g_sdp));
 			}
@@ -108,15 +110,16 @@
 		/* CLEAR COMMAND from MSC; respond with CLEAR COMPLETE) */
 		[] BSSAP.receive(tr_BSSMAP_ClearCommand) -> value bssap {
 			BSSAP.send(ts_BSSMAP_ClearComplete);
-			/* FIXME: local release? */
 			}
 
 		/* DLCX -> OK */
 		[] BSSAP.receive(tr_DLCX) -> value mgcp_cmd {
+			/* FIXME: verify if local part of endpoint name matches CIC */
 			BSSAP.send(ts_DLCX_ACK(mgcp_cmd.line.trans_id, g_mgcp_conn_id));
 			}
 
 		[] BSSAP.receive(tr_BSSAP_DTAP) -> value bssap {
+			/* FIXME: verify if local part of endpoint name matches CIC */
 			var PDU_ML3_MS_NW l3 := dec_PDU_ML3_MS_NW(bssap.pdu.dtap);
 			log("Unhandled DTAP ", l3);
 			}
