Message acknowledge and message archiving database

We are developing an XMPP chat client for iphone and connecting it using openfire can any one let us know if they can answer the below:

  1. Is there any way to acknowledge if a message has been sent to the other side (not delivered since we have already implemented this) ?

This is because sometimes the messages are not sent via XMPP and we would like to have similar to a http callback response.

  1. Is there any way to customize the xmpp messages database (we are currently storing the messages in our separate database and we would like to bypass this and store the messages with custom fields - read, delivered, failed etc. in the same xmpp messages database)

We are intrested to have a freelance developer having a good knowledge in openfire and adding plugins to it

and or experience in building xmpp clients on any mobile dialer platform or web clients.