Index: asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet.c
===================================================================
--- asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet.c	(revision 337)
+++ asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet.c	(revision 364)
@@ -56,4 +56,12 @@
 
 /*
+ * インスタンスリスト通知の送信
+ */
+ER ecn_ntf_inl()
+{
+	return _ecn_tsk_ntf_inl();
+}
+
+/*
  * ECHONETオブジェクト参照
  * 引数
@@ -393,5 +401,5 @@
 		return E_PAR;
 
-	a_ret = trcv_dtq(ecn_api_mailboxid, (intptr_t *)&p_msg, fa_tmout);
+	a_ret = trcv_dtq(ecn_api_dataqueueid, (intptr_t *)&p_msg, fa_tmout);
 	if (a_ret != E_OK) {
 		*ppk_esv = NULL;
@@ -425,4 +433,26 @@
 	a_ret = _ecn_fbs_del(a_fbs);
 	return a_ret;
+}
+
+/*
+ * 応答電文の送信元ノードを取得する
+ */
+ID ecn_get_enod(T_EDATA *pk_esv)
+{
+	const EOBJCB	*p_snod;
+	const EOBJINIB	*p_sobj = NULL;
+
+	p_snod = _ecn_eno_fnd(((T_ECN_FST_BLK *)pk_esv)->hdr.sender.id);
+	if (p_snod != NULL) {
+		p_sobj = p_snod->profile;
+	}
+
+	if (p_sobj == NULL)
+		return EOBJ_NULL;
+#ifdef ECHONET_CONTROLLER_EXTENTION
+	if (p_sobj->eprpcnt == 0)
+		return ecn_agent_get_eobj(p_sobj);
+#endif
+	return 1 + (((intptr_t)p_sobj - (intptr_t)eobjinib_table) / sizeof(EOBJINIB));
 }
 
Index: asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet.h
===================================================================
--- asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet.h	(revision 337)
+++ asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet.h	(revision 364)
@@ -67,5 +67,5 @@
 typedef enum _echonet_enod_id
 {
-	ENOD_NOT_MATCH_ID	= -1,
+	ENOD_NOT_MATCH_ID	= -1,			/* アドレスID登録なし */
 	ENOD_MULTICAST_ID	= 0,			/* マルチキャストアドレスID */
 	ENOD_LOCAL_ID		= 1,			/* 自ノードアドレスID */
@@ -279,7 +279,7 @@
 extern const ID ecn_svc_taskid;
 extern const ID ecn_udp_taskid;
-extern const ID ecn_api_mailboxid;
-extern const ID ecn_svc_mailboxid;
-extern const ID ecn_udp_mailboxid;
+extern const ID ecn_api_dataqueueid;
+extern const ID ecn_svc_dataqueueid;
+extern const ID ecn_udp_dataqueueid;
 #ifndef ECHONET_USE_MALLOC
 extern const ID ecn_mempoolid;
@@ -309,4 +309,9 @@
 
 /*
+ * インスタンスリスト通知の送信
+ */
+ER ecn_ntf_inl();
+
+/*
  * ECHONETオブジェクト参照
  */
@@ -392,4 +397,9 @@
  */
 ER ecn_rel_esv(T_EDATA *pk_esv);
+
+/*
+ * 応答電文の送信元ノードを取得する
+ */
+ID ecn_get_enod(T_EDATA *pk_esv);
 
 /*
Index: asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet.trb
===================================================================
--- asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet.trb	(revision 337)
+++ asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet.trb	(revision 364)
@@ -634,7 +634,7 @@
 const ID _echonet_ecn_svc_taskid = ECHONET_SVC_TASK;
 const ID _echonet_ecn_udp_taskid = ECHONET_UDP_TASK;
-const ID _echonet_ecn_api_mailboxid = ECHONET_API_MAILBOX;
-const ID _echonet_ecn_svc_mailboxid = ECHONET_SVC_MAILBOX;
-const ID _echonet_ecn_udp_mailboxid = ECHONET_UDP_MAILBOX;
+const ID _echonet_ecn_api_dataqueueid = ECHONET_API_DATAQUEUE;
+const ID _echonet_ecn_svc_dataqueueid = ECHONET_SVC_DATAQUEUE;
+const ID _echonet_ecn_udp_dataqueueid = ECHONET_UDP_DATAQUEUE;
 #ifndef ECHONET_USE_MALLOC
 const ID _echonet_ecn_mempoolid = ECHONET_MEMPOOL;
Index: asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_asp.cfg
===================================================================
--- asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_asp.cfg	(revision 337)
+++ asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_asp.cfg	(revision 364)
@@ -51,12 +51,12 @@
 
 /*
- * ECHONET Lite API用メールボックス
+ * ECHONET Lite API用データキュー
  */
-CRE_DTQ(ECHONET_API_MAILBOX, { TA_TFIFO, 1, NULL });
+CRE_DTQ(ECHONET_API_DATAQUEUE, { TA_TFIFO, ECHONET_API_DATAQUEUE_COUNT, NULL });
 
 /*
- * ECHONET Lite サービス処理タスク用メールボックス
+ * ECHONET Lite サービス処理タスク用データキュー
  */
-CRE_DTQ(ECHONET_SVC_MAILBOX, { TA_TFIFO, 1, NULL });
+CRE_DTQ(ECHONET_SVC_DATAQUEUE, { TA_TFIFO, ECHONET_SVC_DATAQUEUE_COUNT, NULL });
 
 /*
@@ -66,7 +66,7 @@
 
 /*
- * ECHONET Lite UDP通信処理用メールボックス
+ * ECHONET Lite UDP通信処理用データキュー
  */
-CRE_DTQ(ECHONET_UDP_MAILBOX, { TA_TFIFO, 1, NULL });
+CRE_DTQ(ECHONET_UDP_DATAQUEUE, { TA_TFIFO, ECHONET_UDP_DATAQUEUE_COUNT, NULL });
 
 /*
Index: asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_rename.h
===================================================================
--- asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_rename.h	(revision 337)
+++ asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_rename.h	(revision 364)
@@ -47,7 +47,7 @@
 #define ecn_svc_taskid		_echonet_ecn_svc_taskid
 #define ecn_udp_taskid		_echonet_ecn_udp_taskid
-#define ecn_api_mailboxid	_echonet_ecn_api_mailboxid
-#define ecn_svc_mailboxid	_echonet_ecn_svc_mailboxid
-#define ecn_udp_mailboxid	_echonet_ecn_udp_mailboxid
+#define ecn_api_dataqueueid	_echonet_ecn_api_dataqueueid
+#define ecn_svc_dataqueueid	_echonet_ecn_svc_dataqueueid
+#define ecn_udp_dataqueueid	_echonet_ecn_udp_dataqueueid
 #define ecn_mempoolid		_echonet_ecn_mempoolid
 #define ecn_udp_cepid		_echonet_ecn_udp_cepid
Index: asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_task.c
===================================================================
--- asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_task.c	(revision 337)
+++ asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_task.c	(revision 364)
@@ -77,11 +77,9 @@
 static bool_t g_release_esv;
 
-ER _ecn_tsk_ntf_inl(intptr_t fa_exinf);
-
 ER _ecn_tsk_snd_dtq(ECN_FBS_ID fa_rsp_fbs, bool_t from_app)
 {
 	ER	a_ret;
 	T_MSG *msg = (T_MSG *)fa_rsp_fbs.ptr;
-	ID dtqid = ecn_udp_mailboxid;
+	ID dtqid = ecn_udp_dataqueueid;
 	int i;
 #ifdef ECN_DBG_PUT_ENA
@@ -90,5 +88,5 @@
 	if (from_app && (((T_EDATA *)fa_rsp_fbs.ptr)->hdr.edata.esv == ESV_INFC)) {
 		g_api_tid = ((T_EDATA *)fa_rsp_fbs.ptr)->hdr.ecn_hdr.tid;
-		dtqid = ecn_svc_mailboxid;
+		dtqid = ecn_svc_dataqueueid;
 	}
 	else {
@@ -98,14 +96,14 @@
 				g_api_tid = ((T_EDATA *)fa_rsp_fbs.ptr)->hdr.ecn_hdr.tid;
 
-			dtqid = ecn_udp_mailboxid;
+			dtqid = ecn_udp_dataqueueid;
 			break;
 		case ENOD_LOCAL_ID:
 			if (from_app)
-				dtqid = ecn_svc_mailboxid;
+				dtqid = ecn_svc_dataqueueid;
 			else
-				dtqid = ecn_api_mailboxid;
+				dtqid = ecn_api_dataqueueid;
 			break;
 		case ENOD_API_ID:
-			dtqid = ecn_api_mailboxid;
+			dtqid = ecn_api_dataqueueid;
 			break;
 		default:
@@ -121,8 +119,8 @@
 				switch (eobjcb_table[i].profile->eobjatr) {
 				case EOBJ_SYNC_REMOTE_NODE:
-					dtqid = ecn_udp_mailboxid;
+					dtqid = ecn_udp_dataqueueid;
 					break;
 				case EOBJ_ASYNC_REMOTE_NODE:
-					dtqid = ecn_svc_mailboxid;
+					dtqid = ecn_svc_dataqueueid;
 					break;
 				default:
@@ -131,5 +129,5 @@
 			}
 			else {
-				dtqid = ecn_udp_mailboxid;
+				dtqid = ecn_udp_dataqueueid;
 			}
 			break;
@@ -242,5 +240,5 @@
 #endif
 
-		a_ret = trcv_dtq(ecn_svc_mailboxid, (intptr_t *)&a_mdt.p_msg, a_timer);
+		a_ret = trcv_dtq(ecn_svc_dataqueueid, (intptr_t *)&a_mdt.p_msg, a_timer);
 		if ((a_ret != E_OK) && (a_ret != E_TMOUT)) {
 			ECN_DBG_PUT_2("trcv_dtq() result = %d:%s", a_ret, itron_strerror(a_ret));
@@ -867,8 +865,8 @@
 		g_release_esv = false;
 
-		ECN_CAP_PUT_1("redirect ecn_svc_mailboxid → ecn_api_mailboxid (esv:0x%02X)",
+		ECN_CAP_PUT_1("redirect ecn_svc_dataqueueid → ecn_api_dataqueueid (esv:0x%02X)",
 			p_esv->edata.esv);
 		fa_fbs_id.ptr->hdr.target.id = ENOD_API_ID;
-		a_ret = snd_dtq(ecn_api_mailboxid, (intptr_t)fa_fbs_id.ptr);
+		a_ret = snd_dtq(ecn_api_dataqueueid, (intptr_t)fa_fbs_id.ptr);
 		if (a_ret != E_OK) {
 			syslog(LOG_WARNING, "_ecn_tsk_ecn_msg() : snd_dtq() result = %d:%s", a_ret, itron_strerror(a_ret));
@@ -2024,5 +2022,5 @@
 	req.ptr->hdr.type = ECN_MSG_INTERNAL;
 	req.ptr->hdr.sender.dtqid = sender;
-	req.ptr->hdr.target.dtqid = ecn_svc_mailboxid;
+	req.ptr->hdr.target.dtqid = ecn_svc_dataqueueid;
 	req.ptr->hdr.reply.dtqid = sender;
 
@@ -2052,7 +2050,7 @@
 
 	res.ptr->hdr.type = ECN_MSG_INTERNAL;
-	res.ptr->hdr.sender.dtqid = ecn_svc_mailboxid;
+	res.ptr->hdr.sender.dtqid = ecn_svc_dataqueueid;
 	res.ptr->hdr.target.dtqid = req.ptr->hdr.reply.dtqid;
-	res.ptr->hdr.reply.dtqid = ecn_svc_mailboxid;
+	res.ptr->hdr.reply.dtqid = ecn_svc_dataqueueid;
 
 	*pk_res = res;
Index: asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_task.h
===================================================================
--- asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_task.h	(revision 337)
+++ asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_task.h	(revision 364)
@@ -110,4 +110,8 @@
 } T_ECN_INTERNAL_MSG;
 
+/* 
+ * インスタンスリスト通知の送信
+ */
+ER _ecn_tsk_ntf_inl();
 /*
  * 要求電文作成
Index: asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_udp6_task.c
===================================================================
--- asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_udp6_task.c	(revision 337)
+++ asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_udp6_task.c	(revision 364)
@@ -151,7 +151,7 @@
 
 	/* echonet_taskに送る */
-	a_ret = snd_dtq(ecn_svc_mailboxid, (intptr_t)a_fbs_id.ptr);
-	if (a_ret != E_OK) {
-		ECN_DBG_PUT_2("[UDP ECHO SRV] snd_dtq(ecn_svc_mailboxid) result = %d:%s", a_ret, itron_strerror(a_ret));
+	a_ret = snd_dtq(ecn_svc_dataqueueid, (intptr_t)a_fbs_id.ptr);
+	if (a_ret != E_OK) {
+		ECN_DBG_PUT_2("[UDP ECHO SRV] snd_dtq(ecn_svc_dataqueueid) result = %d:%s", a_ret, itron_strerror(a_ret));
 		goto lb_except;
 	}
@@ -201,5 +201,5 @@
 		a_timer = ECHONET_UDP_TASK_GET_TIMER;
 
-		a_ret = trcv_dtq(ecn_udp_mailboxid, (intptr_t *)&a_mdt.p_msg, a_timer);
+		a_ret = trcv_dtq(ecn_udp_dataqueueid, (intptr_t *)&a_mdt.p_msg, a_timer);
 		if ((a_ret != E_OK) && (a_ret != E_TMOUT)) {
 			ECN_DBG_PUT_2("trcv_dtq() result = %d:%s", a_ret, itron_strerror(a_ret));
@@ -261,5 +261,5 @@
 	req.ptr->hdr.type = ECN_MSG_INTERNAL;
 	req.ptr->hdr.sender.dtqid = sender;
-	req.ptr->hdr.target.dtqid = ecn_udp_mailboxid;
+	req.ptr->hdr.target.dtqid = ecn_udp_dataqueueid;
 	req.ptr->hdr.reply.dtqid = sender;
 
@@ -289,7 +289,7 @@
 
 	res.ptr->hdr.type = ECN_MSG_INTERNAL;
-	res.ptr->hdr.sender.dtqid = ecn_udp_mailboxid;
+	res.ptr->hdr.sender.dtqid = ecn_udp_dataqueueid;
 	res.ptr->hdr.target.dtqid = req.ptr->hdr.reply.dtqid;
-	res.ptr->hdr.reply.dtqid = ecn_udp_mailboxid;
+	res.ptr->hdr.reply.dtqid = ecn_udp_dataqueueid;
 
 	*pk_res = res;
@@ -416,5 +416,5 @@
 		else if (memcmp(&a_dst.ipaddr, &locl, sizeof(a_dst.ipaddr)) == 0) {
 			/* 送信先が127.0.0.1 → dtqに転送 */
-			ECN_DBG_PUT_1("redirect ecn_udp_mailboxid → ecn_svc_mailboxid (esv:0x%02X)",
+			ECN_DBG_PUT_1("redirect ecn_udp_dataqueueid → ecn_svc_dataqueueid (esv:0x%02X)",
 				((T_EDATA *)fbs_id.ptr)->hdr.edata.esv);
 
@@ -462,5 +462,5 @@
 
 	switch (fncd) {
-	case TFN_UDP_CRE_CEP:
+	case TEV_UDP_RCV_DAT:
 	case TFN_UDP_RCV_DAT:
 		/* ECN_CAP_PUT("[UDP ECHO SRV] callback_nblk_udp() recv: %u", *(int *)p_parblk); */
@@ -488,11 +488,13 @@
 		return E_OK;
 
+	case TFN_UDP_CRE_CEP:
 	case TFN_UDP_SND_DAT:
 		break;
 	default:
 		ECN_CAP_PUT_2("[UDP ECHO SRV] fncd:0x%04X(%s)", -fncd,
+			(fncd == TEV_UDP_RCV_DAT ? "TEV_UDP_RCV_DAT" :
 			(fncd == TFN_UDP_CRE_CEP ? "TFN_UDP_CRE_CEP" :
 			(fncd == TFN_UDP_RCV_DAT ? "TFN_UDP_RCV_DAT" :
-			(fncd == TFN_UDP_SND_DAT ? "TFN_UDP_SND_DAT" : "undef"))));
+			(fncd == TFN_UDP_SND_DAT ? "TFN_UDP_SND_DAT" : "undef")))));
 
 		error = E_PAR;
Index: asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_udp6_task.h
===================================================================
--- asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_udp6_task.h	(revision 337)
+++ asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_udp6_task.h	(revision 364)
@@ -71,7 +71,7 @@
 #endif /* ECHONET_UDP_TASK_STACK_SIZE */
 
-#ifndef NUM_ECHONET_UDP_MAILBOX
-#define NUM_ECHONET_UDP_MAILBOX	10
-#endif /* NUM_ECHONET_UDP_MAILBOX */
+#ifndef NUM_ECHONET_UDP_DATAQUEUE
+#define NUM_ECHONET_UDP_DATAQUEUE	10
+#endif /* NUM_ECHONET_UDP_DATAQUEUE */
 
 /*
Index: asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_udp_task.c
===================================================================
--- asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_udp_task.c	(revision 337)
+++ asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_udp_task.c	(revision 364)
@@ -146,7 +146,7 @@
 
 	/* echonet_taskに送る */
-	a_ret = snd_dtq(ecn_svc_mailboxid, (intptr_t)a_fbs_id.ptr);
-	if (a_ret != E_OK) {
-		ECN_DBG_PUT_2("[UDP ECHO SRV] snd_dtq(ecn_svc_mailboxid) result = %d:%s", a_ret, itron_strerror(a_ret));
+	a_ret = snd_dtq(ecn_svc_dataqueueid, (intptr_t)a_fbs_id.ptr);
+	if (a_ret != E_OK) {
+		ECN_DBG_PUT_2("[UDP ECHO SRV] snd_dtq(ecn_svc_dataqueueid) result = %d:%s", a_ret, itron_strerror(a_ret));
 		goto lb_except;
 	}
@@ -206,5 +206,5 @@
 		a_timer = ECHONET_UDP_TASK_GET_TIMER;
 
-		a_ret = trcv_dtq(ecn_udp_mailboxid, (intptr_t *)&a_mdt.p_msg, a_timer);
+		a_ret = trcv_dtq(ecn_udp_dataqueueid, (intptr_t *)&a_mdt.p_msg, a_timer);
 		if ((a_ret != E_OK) && (a_ret != E_TMOUT)) {
 			ECN_DBG_PUT_2("trcv_dtq() result = %d:%s", a_ret, itron_strerror(a_ret));
@@ -266,5 +266,5 @@
 	req.ptr->hdr.type = ECN_MSG_INTERNAL;
 	req.ptr->hdr.sender.dtqid = sender;
-	req.ptr->hdr.target.dtqid = ecn_udp_mailboxid;
+	req.ptr->hdr.target.dtqid = ecn_udp_dataqueueid;
 	req.ptr->hdr.reply.dtqid = sender;
 
@@ -294,7 +294,7 @@
 
 	res.ptr->hdr.type = ECN_MSG_INTERNAL;
-	res.ptr->hdr.sender.dtqid = ecn_udp_mailboxid;
+	res.ptr->hdr.sender.dtqid = ecn_udp_dataqueueid;
 	res.ptr->hdr.target.dtqid = req.ptr->hdr.reply.dtqid;
-	res.ptr->hdr.reply.dtqid = ecn_udp_mailboxid;
+	res.ptr->hdr.reply.dtqid = ecn_udp_dataqueueid;
 
 	*pk_res = res;
@@ -420,5 +420,5 @@
 		else if (a_dst.ipaddr == MAKE_IPV4_ADDR(127,0,0,1)) {
 			/* 送信先が127.0.0.1 → dtqに転送 */
-			ECN_DBG_PUT_1("redirect ecn_udp_mailboxid → ecn_svc_mailboxid (esv:0x%02X)",
+			ECN_DBG_PUT_1("redirect ecn_udp_dataqueueid → ecn_svc_dataqueueid (esv:0x%02X)",
 				((T_EDATA *)fbs_id.ptr)->hdr.edata.esv);
 
@@ -466,5 +466,5 @@
 
 	switch (fncd) {
-	case TFN_UDP_CRE_CEP:
+	case TEV_UDP_RCV_DAT:
 	case TFN_UDP_RCV_DAT:
 		/* ECN_CAP_PUT("[UDP ECHO SRV] callback_nblk_udp() recv: %u", *(int *)p_parblk); */
@@ -492,11 +492,13 @@
 		return E_OK;
 
+	case TFN_UDP_CRE_CEP:
 	case TFN_UDP_SND_DAT:
 		break;
 	default:
 		ECN_CAP_PUT_2("[UDP ECHO SRV] fncd:0x%04X(%s)", -fncd,
+			(fncd == TEV_UDP_RCV_DAT ? "TEV_UDP_RCV_DAT" :
 			(fncd == TFN_UDP_CRE_CEP ? "TFN_UDP_CRE_CEP" :
 			(fncd == TFN_UDP_RCV_DAT ? "TFN_UDP_RCV_DAT" :
-			(fncd == TFN_UDP_SND_DAT ? "TFN_UDP_SND_DAT" : "undef"))));
+			(fncd == TFN_UDP_SND_DAT ? "TFN_UDP_SND_DAT" : "undef")))));
 
 		error = E_PAR;
Index: asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_udp_task.h
===================================================================
--- asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_udp_task.h	(revision 337)
+++ asp3_tinet_ecnl_rx/trunk/ntshell/echonet/echonet_udp_task.h	(revision 364)
@@ -71,7 +71,7 @@
 #endif /* ECHONET_UDP_TASK_STACK_SIZE */
 
-#ifndef NUM_ECHONET_UDP_MAILBOX
-#define NUM_ECHONET_UDP_MAILBOX	10
-#endif /* NUM_ECHONET_UDP_MAILBOX */
+#ifndef NUM_ECHONET_UDP_DATAQUEUE
+#define NUM_ECHONET_UDP_DATAQUEUE	10
+#endif /* NUM_ECHONET_UDP_DATAQUEUE */
 
 /*
