aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/java')
-rw-r--r--src/net/java/sip/communicator/impl/protocol/jabber/CallGTalkImpl.java19
-rw-r--r--src/net/java/sip/communicator/impl/protocol/jabber/CallJabberImpl.java19
2 files changed, 34 insertions, 4 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/CallGTalkImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/CallGTalkImpl.java
index 6d9cdb4..a7995fe 100644
--- a/src/net/java/sip/communicator/impl/protocol/jabber/CallGTalkImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/jabber/CallGTalkImpl.java
@@ -214,8 +214,23 @@ public class CallGTalkImpl
//STUN/TURN addresses in initiateSession() which would take a while.
callPeer.setState(CallPeerState.CONNECTING);
- callPeer.initiateSession(sessionInitiateExtensions);
+ // if initializing session fails, set peer to failed
+ boolean sessionInitiated = false;
+ try
+ {
- return callPeer;
+ callPeer.initiateSession(sessionInitiateExtensions);
+ sessionInitiated = true;
+
+ return callPeer;
+ }
+ finally
+ {
+ // if initialization throws an exception
+ if(!sessionInitiated)
+ {
+ callPeer.setState(CallPeerState.FAILED);
+ }
+ }
}
}
diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/CallJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/CallJabberImpl.java
index 66ec67b..d1a4cc6 100644
--- a/src/net/java/sip/communicator/impl/protocol/jabber/CallJabberImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/jabber/CallJabberImpl.java
@@ -305,9 +305,24 @@ public class CallJabberImpl
//STUN/TURN addresses in initiateSession() which would take a while.
callPeer.setState(CallPeerState.CONNECTING);
- callPeer.initiateSession(sessionInitiateExtensions);
+ // if initializing session fails, set peer to failed
+ boolean sessionInitiated = false;
+ try
+ {
- return callPeer;
+ callPeer.initiateSession(sessionInitiateExtensions);
+ sessionInitiated = true;
+
+ return callPeer;
+ }
+ finally
+ {
+ // if initialization throws an exception
+ if(!sessionInitiated)
+ {
+ callPeer.setState(CallPeerState.FAILED);
+ }
+ }
}
/**