public void SwitchPresence(agsXMPP.protocol.client.Presence pres) { switch (pres.Type) { //El usuario que lo envía desea suscribirse a la presencia del destinatario. case PresenceType.subscribe: { AceptSubscribe f = new AceptSubscribe(Util.XmppServices.XmppCon, pres.From); f.Show(); break; } //respuesta que recibirá un usuario que ha realizado una petición de suscripción, que indica el estado actual de la suscripción. case PresenceType.subscribed: { break; } //respuesta que recibirá un usuario que ha realizado una petición de suscripción y le ha sido negada, o una petición de cancelación de la suscripción. case PresenceType.unsubscribed: { break; } //cancelación de suscripción de presencia, el usuario que lo envía desea cancelar su suscripción a la presencia del destinatario. case PresenceType.unsubscribe: { break; } //available: Indica que el usuario está listo para recibir mensajes. case PresenceType.available: //unavailable: Usuario no está disponible para recibir mensajes. case PresenceType.unavailable: //case PresenceType.probe: case PresenceType.error: { try { rosterControl.SetPresence(pres); } catch (Exception ex) { AddLog(ex.Message); } break; } } }