+ * \brief Unsubscribe from a PubSub node
+ * \param client the configured XMPP client we use to connect to a XMPP server
+ * \param node the name of the node to which to unsubscribe from
+ * \return void
+ */
+static void xmpp_pubsub_unsubscribe(struct ast_xmpp_client *client, const char *node)
+{
+ iks *request = xmpp_pubsub_iq_create(client, "set");
+ iks *pubsub, *unsubscribe;
+
+ if (!request) {
+ ast_log(LOG_ERROR, "Could not create IQ when creating pubsub unsubscription on client '%s'\n", client->name);
+ return;
+ }
+
+ pubsub = iks_insert(request, "pubsub");
+ iks_insert_attrib(pubsub, "xmlns", "http://jabber.org/protocol/pubsub");
+ unsubscribe = iks_insert(pubsub, "unsubscribe");
+ iks_insert_attrib(unsubscribe, "jid", client->jid->partial);
+ iks_insert_attrib(unsubscribe, "node", node);
+
+ ast_xmpp_client_send(client, request);
+ iks_delete(request);
+}
+
+/*!