Xmpp

A reactive XMPP client library for OCaml.

xmpp

The core libary is detatched from the underlying transport that connects a client to a server. This allows the core libary to be portable. For usable transports see the packages xmpp_unix or xmpp_websocket.

The entry point of this library is the module: Xmpp.

XMPP Extensions

A few XMPP extensions are implemented. These modules provide types, parsers and helper logic around the core XMPP library for working with specific extensions.

Warning these extensions are even more incomplete than the core library.

xmpp.roster

Roster management as described in RFC 6121.

The entry point of this library is the module: Xmpp_roster.

xmpp.disco

Implements parts of XEP-0030: Service Discovery.

The entry point of this library is the module: Xmpp_disco.

xmpp.entity_capabilities

Implements XEP-0115: Entity Capabilities. This can also be used to set presence.

The entry point of this library is the module: Xmpp_entity_capabilities.

xmpp.ping

Implements XEP-0199: XMPP Ping.

The entry point of this library is the module: Xmpp_ping.

xmpp.pubsub

Implements XEP-0060: Publish-Subscribe.

The entry point of this library is the module: Xmpp_pubsub.

xmpp.mam

Implements XEP-0313: Message Archive Management.

The entry point of this library is the module: Xmpp_mam.

Helpers

digestif_pbkdf

Implementation of PBKDF. This is a quick hack to make ocaml-pbkdf use Digestif instead of mirage-crypto (Digestif is more portable than mirage-crypto)

The entry point of this library is the module: Digestif_pbkdf.

digestif_scram

Implementation of SCRAM using Digestif.

The entry point of this library is the module: Digestif_scram.