diff --git a/src/management/nfd-status-dataset.cpp b/src/management/nfd-status-dataset.cpp
index 2409254..9516e85 100644
--- a/src/management/nfd-status-dataset.cpp
+++ b/src/management/nfd-status-dataset.cpp
@@ -114,6 +114,17 @@
   name.append(m_filter.wireEncode());
 }
 
+ChannelDataset::ChannelDataset()
+  : StatusDataset("faces/channels")
+{
+}
+
+ChannelDataset::ResultType
+ChannelDataset::parseResult(ConstBufferPtr payload) const
+{
+  return parseDatasetVector<ChannelStatus>(payload);
+}
+
 FibDataset::FibDataset()
   : StatusDataset("fib/list")
 {
diff --git a/src/management/nfd-status-dataset.hpp b/src/management/nfd-status-dataset.hpp
index 39537bc..363186e 100644
--- a/src/management/nfd-status-dataset.hpp
+++ b/src/management/nfd-status-dataset.hpp
@@ -26,6 +26,7 @@
 #include "nfd-forwarder-status.hpp"
 #include "nfd-face-status.hpp"
 #include "nfd-face-query-filter.hpp"
+#include "nfd-channel-status.hpp"
 #include "nfd-fib-entry.hpp"
 #include "nfd-strategy-choice.hpp"
 #include "nfd-rib-entry.hpp"
@@ -179,6 +180,23 @@
 
 /**
  * \ingroup management
+ * \brief represents a faces/channels dataset
+ * \sa https://redmine.named-data.net/projects/nfd/wiki/FaceMgmt#Channel-Dataset
+ */
+class ChannelDataset : public StatusDataset
+{
+public:
+  ChannelDataset();
+
+  typedef std::vector<ChannelStatus> ResultType;
+
+  ResultType
+  parseResult(ConstBufferPtr payload) const;
+};
+
+
+/**
+ * \ingroup management
  * \brief represents a fib/list dataset
  * \sa http://redmine.named-data.net/projects/nfd/wiki/FibMgmt#FIB-Dataset
  */
diff --git a/tests/unit-tests/management/nfd-status-dataset.t.cpp b/tests/unit-tests/management/nfd-status-dataset.t.cpp
index 63b98aa..e27d4a3 100644
--- a/tests/unit-tests/management/nfd-status-dataset.t.cpp
+++ b/tests/unit-tests/management/nfd-status-dataset.t.cpp
@@ -284,6 +284,29 @@
   BOOST_CHECK_EQUAL(failCodes.size(), 0);
 }
 
+BOOST_AUTO_TEST_CASE(FaceChannels)
+{
+  bool hasResult = false;
+  controller.fetch<ChannelDataset>(
+    [&hasResult] (const std::vector<ChannelStatus>& result) {
+      hasResult = true;
+      BOOST_CHECK_EQUAL(result.size(), 2);
+      BOOST_CHECK_EQUAL(result.front().getLocalUri(), "tcp4://192.0.2.1:6363");
+    },
+    failCallback);
+  this->advanceClocks(time::milliseconds(500));
+
+  ChannelStatus payload1;
+  payload1.setLocalUri("tcp4://192.0.2.1:6363");
+  ChannelStatus payload2;
+  payload2.setLocalUri("udp4://192.0.2.1:6363");
+  this->sendDataset("/localhost/nfd/faces/channels", payload1, payload2);
+  this->advanceClocks(time::milliseconds(500));
+
+  BOOST_CHECK(hasResult);
+  BOOST_CHECK_EQUAL(failCodes.size(), 0);
+}
+
 BOOST_AUTO_TEST_CASE(FibList)
 {
   bool hasResult = false;
