def __init__(self, typ=None, queryNS=None, attrs={}, to=None, frm=None, payload=[], xmlns=NS_CLIENT, node=None):
        """ Create Iq object. You can specify type, query namespace
            any additional attributes, recipient of the iq, sender of the iq, any additional payload (f.e. jabber:x:data node) and namespace in one go.
            Alternatively you can pass in the other XML object as the 'node' parameted to replicate it as an iq. """
        Protocol.__init__(self, 'iq', to=to, typ=typ, attrs=attrs, frm=frm, xmlns=xmlns, node=node)
        if payload: self.setQueryPayload(payload)
        if queryNS: self.setQueryNS(queryNS)
 Create Iq object. You can specify type, query namespace
            any additional attributes, recipient of the iq, sender of the iq, any additional payload (f.e. jabber:x:data node) and namespace in one go.
            Alternatively you can pass in the other XML object as the 'node' parameted to replicate it as an iq. 
chrome-cordova/gcmServer/xmpp/protocol.py