diff --git a/src/libqrtr-glib/qrtr-control-socket.c b/src/libqrtr-glib/qrtr-control-socket.c
index 63cac4b..a4dad46 100644
--- a/src/libqrtr-glib/qrtr-control-socket.c
+++ b/src/libqrtr-glib/qrtr-control-socket.c
@@ -42,6 +42,8 @@
 enum {
     SIGNAL_NODE_ADDED,
     SIGNAL_NODE_REMOVED,
+    SIGNAL_SERVICE_ADDED,
+    SIGNAL_SERVICE_REMOVED,
     SIGNAL_LAST
 };
 
@@ -77,6 +79,7 @@
     }
 
     __qrtr_node_add_service_info (node, service, port, version, instance);
+    g_signal_emit (self, signals[SIGNAL_SERVICE_ADDED], 0, node_id, service);
 }
 
 static void
@@ -96,6 +99,7 @@
     }
 
     __qrtr_node_remove_service_info (node, service, port, version, instance);
+    g_signal_emit (self, signals[SIGNAL_SERVICE_REMOVED], 0, node_id, service);
     if (!qrtr_node_has_services (node)) {
         g_debug ("[qrtr] removing node %u", node_id);
         g_signal_emit (self, signals[SIGNAL_NODE_REMOVED], 0, node_id);
@@ -380,4 +384,48 @@
                       G_TYPE_NONE,
                       1,
                       G_TYPE_UINT);
+
+    /**
+     * QrtrControlSocket::qrtr-service-added:
+     * @self: the #QrtrControlSocket
+     * @node: the node ID where service is added
+     * @service: the service ID of the service that has been added
+     *
+     * The ::qrtr-service-added signal is emitted when a new service registers
+     * on the QRTR bus.
+     */
+    signals[SIGNAL_SERVICE_ADDED] =
+        g_signal_new (QRTR_CONTROL_SOCKET_SIGNAL_SERVICE_ADDED,
+                      G_OBJECT_CLASS_TYPE (G_OBJECT_CLASS (klass)),
+                      G_SIGNAL_RUN_LAST,
+                      0,
+                      NULL,
+                      NULL,
+                      NULL,
+                      G_TYPE_NONE,
+                      2,
+                      G_TYPE_UINT,
+                      G_TYPE_UINT);
+
+    /**
+     * QrtrControlSocket::qrtr-service-removed:
+     * @self: the #QrtrControlSocket
+     * @node: the node ID where service is removed
+     * @service: the service ID of the service that was removed
+     *
+     * The ::qrtr-service-removed signal is emitted when a service deregisters
+     * from the QRTR bus.
+     */
+    signals[SIGNAL_SERVICE_REMOVED] =
+        g_signal_new (QRTR_CONTROL_SOCKET_SIGNAL_SERVICE_REMOVED,
+                      G_OBJECT_CLASS_TYPE (G_OBJECT_CLASS (klass)),
+                      G_SIGNAL_RUN_LAST,
+                      0,
+                      NULL,
+                      NULL,
+                      NULL,
+                      G_TYPE_NONE,
+                      2,
+                      G_TYPE_UINT,
+                      G_TYPE_UINT);
 }
diff --git a/src/libqrtr-glib/qrtr-control-socket.h b/src/libqrtr-glib/qrtr-control-socket.h
index 9dff727..beea9b8 100644
--- a/src/libqrtr-glib/qrtr-control-socket.h
+++ b/src/libqrtr-glib/qrtr-control-socket.h
@@ -83,6 +83,20 @@
 #define QRTR_CONTROL_SOCKET_SIGNAL_NODE_REMOVED "qrtr-node-removed"
 
 /**
+ * QRTR_CONTROL_SOCKET_SIGNAL_SERVICE_ADDED:
+ *
+ * Symbol defining the #QrtrControlSocket::qrtr-service-added signal.
+ */
+#define QRTR_CONTROL_SOCKET_SIGNAL_SERVICE_ADDED   "qrtr-service-added"
+
+/**
+ * QRTR_CONTROL_SOCKET_SIGNAL_SERVICE_REMOVED:
+ *
+ * Symbol defining the #QrtrControlSocket::qrtr-service-removed signal.
+ */
+#define QRTR_CONTROL_SOCKET_SIGNAL_SERVICE_REMOVED "qrtr-service-removed"
+
+/**
  * qrtr_control_socket_new:
  * @cancellable: optional #GCancellable object, #NULL to ignore.
  * @error: Return location for error or %NULL.
