diff --git a/command/sol_cmds.cpp b/command/sol_cmds.cpp
index 8f5b0c6..3096d2e 100644
--- a/command/sol_cmds.cpp
+++ b/command/sol_cmds.cpp
@@ -47,6 +47,28 @@
     return std::vector<uint8_t>();
 }
 
+void activating(uint8_t payloadInstance, uint32_t sessionID)
+{
+    std::vector<uint8_t> outPayload(sizeof(ActivatingRequest));
+
+    auto request = reinterpret_cast<ActivatingRequest*>
+                    (outPayload.data());
+
+    request->sessionState = 0;
+    request->payloadInstance = payloadInstance;
+    request->majorVersion = MAJOR_VERSION;
+    request->minorVersion = MINOR_VERSION;
+
+    auto session = (std::get<session::Manager&>(singletonPool).getSession(
+            sessionID)).lock();
+
+    message::Handler msgHandler(session->channelPtr, sessionID);
+
+    msgHandler.sendUnsolicitedIPMIPayload(netfnTransport,
+                                          solActivatingCmd,
+                                          outPayload);
+}
+
 } // namespace command
 
 } // namespace sol
