# XMPP client daemon
## XMPP
### XMPP Core
Ensures granted subscription before delivering messages
### XEPs
#### XEP-0030: Service Discovery
Answers to `http://jabber.org/protocol/disco#info` query.
Answers to `http://jabber.org/protocol/disco#items` query.
At start send self-discovery to server.
#### XEP-0045: Multi-User Chat
Enters to all MUC in `account.chatrooms` at start.
#### XEP-0050: Ad-Hoc Commands
Answers empty commands list. (Awaiting for implementation in xmpp_parser).
#### XEP-0092: Software Version
Answers version.
#### XEP-0163: Personal Eventing Protocol
Checks if own server supports it.
#### XEP-0199: XMPP Ping
Sends ping each `account.ping` seconds to XMPP server.
Sends ping to any JID.
Answers to incoming pings.
#### XEP-0203: Delayed Delivery
Ignores delayed messages.
## HTTP API
### Sending messages
```
curl http://localhost:8083/ -H "X-XMPP-To: some@domain.org" -d "Test"
```
### Sending pings
```
curl http://localhost:8083/ping -H "X-XMPP-To: some@domain.org"
```
### Sending messages to MUC
```
curl http://localhost:8083/ -H "X-XMPP-Muc: smac" -d "Test"
```
### Setting status
```
curl http://localhost:8083/ -H "X-XMPP-Presence: chat" -d "Test"
```
### Setting status to MUC
```
curl http://localhost:8083/ -H "X-XMPP-Muc: smac" -H "X-XMPP-Presence: chat" -d "Test"
```