<?xml version="1.0"?> 
<!-- Providers for workgroup extensions -->
<smackProviders>

    <!-- XEP-0332 HTTP over XMPP transport -->
    <iqProvider>
        <elementName>req</elementName>
        <namespace>urn:xmpp:http</namespace>
        <className>org.jivesoftware.smackx.hoxt.provider.HttpOverXmppReqProvider</className>
    </iqProvider>
    <iqProvider>
        <elementName>resp</elementName>
        <namespace>urn:xmpp:http</namespace>
        <className>org.jivesoftware.smackx.hoxt.provider.HttpOverXmppRespProvider</className>
    </iqProvider>
    <extensionProvider>
        <elementName>chunk</elementName>
        <namespace>urn:xmpp:http</namespace>
        <className>org.jivesoftware.smackx.hoxt.provider.Base64BinaryChunkProvider</className>
    </extensionProvider>

    <!-- XEP-0280 Message Carbons -->
    <extensionProvider>
        <elementName>sent</elementName>
        <namespace>urn:xmpp:carbons:2</namespace>
        <className>org.jivesoftware.smackx.carbons.provider.CarbonManagerProvider</className>
    </extensionProvider>
    <extensionProvider>
        <elementName>received</elementName>
        <namespace>urn:xmpp:carbons:2</namespace>
        <className>org.jivesoftware.smackx.carbons.provider.CarbonManagerProvider</className>
    </extensionProvider>

    <!-- XEP-0352 Client State Indication -->
    <streamFeatureProvider>
        <elementName>csi</elementName>
        <namespace>urn:xmpp:csi:0</namespace>
        <className>org.jivesoftware.smackx.csi.provider.ClientStateIndicationFeatureProvider</className>
    </streamFeatureProvider>

    <!-- XEP-0335 JSON Containers -->
    <extensionProvider>
        <elementName>json</elementName>
        <namespace>urn:xmpp:json:0</namespace>
        <className>org.jivesoftware.smackx.json.provider.JsonExtensionProvider</className>
    </extensionProvider>

    <!-- GCM JSON payload -->
    <extensionProvider>
        <elementName>gcm</elementName>
        <namespace>google:mobile:data</namespace>
        <className>org.jivesoftware.smackx.gcm.provider.GcmExtensionProvider</className>
    </extensionProvider>

    <!-- XEP-0347: Internet of Things - Discovery -->
    <iqProvider>
      <elementName>register</elementName>
      <namespace>urn:xmpp:iot:discovery</namespace>
      <className>org.jivesoftware.smackx.iot.discovery.provider.IoTRegisterProvider</className>
    </iqProvider>
    <iqProvider>
      <elementName>claimed</elementName>
      <namespace>urn:xmpp:iot:discovery</namespace>
      <className>org.jivesoftware.smackx.iot.discovery.provider.IoTClaimedProvider</className>
    </iqProvider>
    <iqProvider>
      <elementName>disown</elementName>
      <namespace>urn:xmpp:iot:discovery</namespace>
      <className>org.jivesoftware.smackx.iot.discovery.provider.IoTDisownProvider</className>
    </iqProvider>
    <iqProvider>
      <elementName>disowned</elementName>
      <namespace>urn:xmpp:iot:discovery</namespace>
      <className>org.jivesoftware.smackx.iot.discovery.provider.IoTDisownedProvider</className>
    </iqProvider>
    <iqProvider>
      <elementName>remove</elementName>
      <namespace>urn:xmpp:iot:discovery</namespace>
      <className>org.jivesoftware.smackx.iot.discovery.provider.IoTRemoveProvider</className>
    </iqProvider>
    <iqProvider>
      <elementName>disown</elementName>
      <namespace>urn:xmpp:iot:discovery</namespace>
      <className>org.jivesoftware.smackx.iot.discovery.provider.IoTRemovedProvider</className>
    </iqProvider>
    <iqProvider>
      <elementName>unregister</elementName>
      <namespace>urn:xmpp:iot:discovery</namespace>
      <className>org.jivesoftware.smackx.iot.discovery.provider.IoTUnregisterProvider</className>
    </iqProvider>

    <!-- XEP-0324: Internet of Things - Provisioning -->
   <iqProvider>
      <elementName>isFriend</elementName>
      <namespace>urn:xmpp:iot:provisioning</namespace>
      <className>org.jivesoftware.smackx.iot.provisioning.provider.IoTIsFriendProvider</className>
    </iqProvider>
   <iqProvider>
      <elementName>isFriendResponse</elementName>
      <namespace>urn:xmpp:iot:provisioning</namespace>
      <className>org.jivesoftware.smackx.iot.provisioning.provider.IoTIsFriendResponseProvider</className>
    </iqProvider>
   <iqProvider>
      <elementName>clearCache</elementName>
      <namespace>urn:xmpp:iot:provisioning</namespace>
      <className>org.jivesoftware.smackx.iot.provisioning.provider.ClearCacheProvider</className>
    </iqProvider>
   <iqProvider>
      <elementName>clearCacheResponse</elementName>
      <namespace>urn:xmpp:iot:provisioning</namespace>
      <className>org.jivesoftware.smackx.iot.provisioning.provider.ClearCacheResponseProvider</className>
    </iqProvider>
    <extensionProvider>
        <elementName>unfriend</elementName>
        <namespace>urn:xmpp:iot:provisioning</namespace>
        <className>org.jivesoftware.smackx.iot.provisioning.provider.UnfriendProvider</className>
    </extensionProvider>

    <!-- XEP-0323: Internet of Things - Data -->
    <iqProvider>
      <elementName>req</elementName>
      <namespace>urn:xmpp:iot:data</namespace>
      <className>org.jivesoftware.smackx.iot.data.provider.IoTDataRequestProvider</className>
    </iqProvider>
    <iqProvider>
      <elementName>accepted</elementName>
      <namespace>urn:xmpp:iot:data</namespace>
      <className>org.jivesoftware.smackx.iot.data.provider.IoTDataReadOutAcceptedProvider</className>
    </iqProvider>
    <extensionProvider>
      <elementName>fields</elementName>
      <namespace>urn:xmpp:iot:data</namespace>
      <className>org.jivesoftware.smackx.iot.data.provider.IoTFieldsExtensionProvider</className>
    </extensionProvider>

    <!-- XEP-0325: Internet of Things - Control -->
    <iqProvider>
      <elementName>set</elementName>
      <namespace>urn:xmpp:iot:control</namespace>
      <className>org.jivesoftware.smackx.iot.control.provider.IoTSetRequestProvider</className>
    </iqProvider>
    <iqProvider>
      <elementName>setResponse</elementName>
      <namespace>urn:xmpp:iot:control</namespace>
      <className>org.jivesoftware.smackx.iot.control.provider.IoTSetResponseProvider</className>
    </iqProvider>

</smackProviders>