¿Cómo mantener estable la conexión XMPP en Android con (a) smack?

Yo uso la biblioteca asmack-android-7-beem para Android. Tengo un servicio en segundo plano en ejecución, como mi aplicación se mantiene viva. Pero tarde o temprano la conexión XMPP muere sin previo aviso. El servidor dice que el cliente todavía está en línea pero no se envían ni reciben paquetes.

Por ejemplo, el cliente no recibe ningún paquete de presencia cuando otros clientes tienen una nueva presencia. Tengo XMPPConnection como un atributo de mi clase de aplicación principal.
lo puseConnectionConfiguration config.setReconnectionAllowed(true) antes de la conexión se hizo.
Pero la reconexión no ocurre.XMPPConnection connection.isConnected() devuelve verdadero

Así que el cliente no es consciente de que la conexión está realmente perdida.

¿Hay alguna manera de mantener viva la conexión?

Respuestas a la pregunta(6)

Su respuesta a la pregunta