diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java index 5b7a0bbbc..7c0be02ca 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java @@ -264,10 +264,28 @@ private void connectAndLogin(SecurityAuthority authority) Roster.setDefaultSubscriptionMode(Roster.SUBSCRIPTION_MANUAL); - connection = new XMPPConnection( + try + { + connection = new XMPPConnection( serverAddress, Integer.parseInt(serverPort), serviceName); + } + catch (XMPPException exc) + { + logger.error("Failed to establish a Jabber connection for " + + getAccountID().getAccountUniqueID(), exc); + fireRegistrationStateChanged( + getRegistrationState() + , RegistrationState.CONNECTION_FAILED + , OperationFailedException.NETWORK_FAILURE + , null); + throw new OperationFailedException( + "Failed to establish a Jabber connection for " + + getAccountID().getAccountUniqueID() + , OperationFailedException.NETWORK_FAILURE + , exc); + } connection.addConnectionListener( new JabberConnectionListener());