def unsubscribe(self, jid, node=None, *,
                    subscription_jid=None,
                    subid=None):
        """
        Unsubscribe from a node.

        :param jid: Address of the PubSub service.
        :type jid: :class:`aioxmpp.JID`
        :param node: Name of the PubSub node to unsubscribe from.
        :type node: :class:`str`
        :param subscription_jid: The address to subscribe from the service.
        :type subscription_jid: :class:`aioxmpp.JID`
        :param subid: Unique ID of the subscription to remove.
        :type subid: :class:`str`
        :raises aioxmpp.errors.XMPPError: as returned by the service

        By default, the unsubscribe request will be for the bare JID of the
        client. It can be specified explicitly using the `subscription_jid`
        argument.

        If available, the `subid` should also be specified.

        If an error occurs, the corresponding :class:`~.errors.XMPPError` is
        raised.
        """

        subscription_jid = subscription_jid or self.client.local_jid.bare()

        iq = aioxmpp.stanza.IQ(to=jid, type_=aioxmpp.structs.IQType.SET)
        iq.payload = pubsub_xso.Request(
            pubsub_xso.Unsubscribe(subscription_jid, node=node, subid=subid)
        )

        yield from self.client.send(iq)
Unsubscribe from a node.

        :param jid: Address of the PubSub service.
        :type jid: :class:`aioxmpp.JID`
        :param node: Name of the PubSub node to unsubscribe from.
        :type node: :class:`str`
        :param subscription_jid: The address to subscribe from the service.
        :type subscription_jid: :class:`aioxmpp.JID`
        :param subid: Unique ID of the subscription to remove.
        :type subid: :class:`str`
        :raises aioxmpp.errors.XMPPError: as returned by the service

        By default, the unsubscribe request will be for the bare JID of the
        client. It can be specified explicitly using the `subscription_jid`
        argument.

        If available, the `subid` should also be specified.

        If an error occurs, the corresponding :class:`~.errors.XMPPError` is
        raised.