0
votes

We're using ejabberd as our xmpp server and iphone xmppframework for client side. The problem is when we get the offline messages the timestap that is written in the message is in actual date/time format but the timezone of the server is different than the clients time zones so at this point the things are getting messy.

We're using a same approach while querying Last Activity of a user(XEP-0012) , but in last activity xep the server returns the information as "how many seconds ago the user last logged in to server" so in this way we can apply seconds difference to our clients time and found the message delivery date/time so there is no problem in Last Activity query.

But in delayed delivery , ejabberd sends an exact date and time value and clients confuses about the conversion(Date and time of each client may be very different from each others)

Does anyone know how can we fix that problem? Is there any way to configure ejabberd to return "seconds passed information" until offline message send ?

By the way we're using latest ejabberd version.

Thanks

1

1 Answers

1
votes

XEP-0091 (Legacy Delayed Delivery) says:

The timezone is be understood as UTC.

So you need to convert the time from UTC to the local time of the client in order to get the correct result.

The newer specification, XEP-0203 (Delayed Delivery) also says:

[...] MUST be expressed in UTC