diff --git a/src/net/java/sip/communicator/impl/gui/main/call/CallInfoFrame.java b/src/net/java/sip/communicator/impl/gui/main/call/CallInfoFrame.java
index 59ba1cf66..fa30827f8 100644
--- a/src/net/java/sip/communicator/impl/gui/main/call/CallInfoFrame.java
+++ b/src/net/java/sip/communicator/impl/gui/main/call/CallInfoFrame.java
@@ -186,9 +186,8 @@ private void constructCallInfo()
"service.gui.callinfo.IS_CONFERENCE_FOCUS"),
String.valueOf(isConfFocus)));
- String preferredTransport = call.getProtocolProvider().getAccountID()
- .getAccountPropertyString(
- ProtocolProviderFactory.PREFERRED_TRANSPORT);
+ String preferredTransport =
+ call.getProtocolProvider().getTransportType();
if (preferredTransport != null && preferredTransport.length() > 0)
stringBuffer.append(getLineString(
diff --git a/src/net/java/sip/communicator/impl/protocol/dict/ProtocolProviderServiceDictImpl.java b/src/net/java/sip/communicator/impl/protocol/dict/ProtocolProviderServiceDictImpl.java
index 55e36c234..1f045b455 100644
--- a/src/net/java/sip/communicator/impl/protocol/dict/ProtocolProviderServiceDictImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/dict/ProtocolProviderServiceDictImpl.java
@@ -310,6 +310,16 @@ public boolean isSignalingTransportSecure()
return false;
}
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1).
+ */
+ public String getTransportType()
+ {
+ return "TCP";
+ }
+
/**
* Close the connection to the server
*/
diff --git a/src/net/java/sip/communicator/impl/protocol/gibberish/ProtocolProviderServiceGibberishImpl.java b/src/net/java/sip/communicator/impl/protocol/gibberish/ProtocolProviderServiceGibberishImpl.java
index 610c7bd8c..199f71244 100644
--- a/src/net/java/sip/communicator/impl/protocol/gibberish/ProtocolProviderServiceGibberishImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/gibberish/ProtocolProviderServiceGibberishImpl.java
@@ -299,6 +299,16 @@ public boolean isSignalingTransportSecure()
return false;
}
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1).
+ */
+ public String getTransportType()
+ {
+ return null;
+ }
+
/**
* Returns the gibberish protocol icon.
* @return the gibberish protocol icon
diff --git a/src/net/java/sip/communicator/impl/protocol/icq/ProtocolProviderServiceIcqImpl.java b/src/net/java/sip/communicator/impl/protocol/icq/ProtocolProviderServiceIcqImpl.java
index 7bf77e32b..120414d04 100644
--- a/src/net/java/sip/communicator/impl/protocol/icq/ProtocolProviderServiceIcqImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/icq/ProtocolProviderServiceIcqImpl.java
@@ -428,6 +428,16 @@ public boolean isSignalingTransportSecure()
return false;
}
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1).
+ */
+ public String getTransportType()
+ {
+ return "TCP";
+ }
+
/**
* Returns the short name of the protocol that the implementation of this
* provider is based upon (like SIP, Jabber, ICQ/AIM, or others for
diff --git a/src/net/java/sip/communicator/impl/protocol/irc/ProtocolProviderServiceIrcImpl.java b/src/net/java/sip/communicator/impl/protocol/irc/ProtocolProviderServiceIrcImpl.java
index e4e2870b3..19c8fba73 100644
--- a/src/net/java/sip/communicator/impl/protocol/irc/ProtocolProviderServiceIrcImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/irc/ProtocolProviderServiceIrcImpl.java
@@ -288,6 +288,16 @@ public boolean isSignalingTransportSecure()
return false;
}
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1).
+ */
+ public String getTransportType()
+ {
+ return "TCP";
+ }
+
/**
* Returns the icon for this protocol.
*
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 51e9ab3f4..a4199a3c2 100644
--- a/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/jabber/ProtocolProviderServiceJabberImpl.java
@@ -569,6 +569,28 @@ public boolean isSignalingTransportSecure()
return connection != null && connection.isUsingTLS();
}
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1), or
+ * null the protocol is not connected.
+ */
+ public String getTransportType()
+ {
+ // Without a connection, there is no transport available.
+ if(connection != null && connection.isConnected())
+ {
+ // Transport using a secure connection.
+ if(connection.isUsingTLS())
+ {
+ return "TLS";
+ }
+ // Transport using a unsecure connection.
+ return "TCP";
+ }
+ return null;
+ }
+
/**
* Connects and logins to the server
* @param authority SecurityAuthority
diff --git a/src/net/java/sip/communicator/impl/protocol/mock/MockProvider.java b/src/net/java/sip/communicator/impl/protocol/mock/MockProvider.java
index 84d869916..5a5169428 100644
--- a/src/net/java/sip/communicator/impl/protocol/mock/MockProvider.java
+++ b/src/net/java/sip/communicator/impl/protocol/mock/MockProvider.java
@@ -211,6 +211,16 @@ public boolean isSignalingTransportSecure()
return false;
}
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1).
+ */
+ public String getTransportType()
+ {
+ return null;
+ }
+
/**
* Returns the AccountID that uniquely identifies the account represented by
* this instance of the ProtocolProviderService.
diff --git a/src/net/java/sip/communicator/impl/protocol/msn/ProtocolProviderServiceMsnImpl.java b/src/net/java/sip/communicator/impl/protocol/msn/ProtocolProviderServiceMsnImpl.java
index 226081c19..ba165ad62 100644
--- a/src/net/java/sip/communicator/impl/protocol/msn/ProtocolProviderServiceMsnImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/msn/ProtocolProviderServiceMsnImpl.java
@@ -260,6 +260,16 @@ public boolean isSignalingTransportSecure()
return false;
}
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1).
+ */
+ public String getTransportType()
+ {
+ return "TCP";
+ }
+
/**
* Unregister and fire the event if requested
* @param fireEvent boolean
diff --git a/src/net/java/sip/communicator/impl/protocol/rss/ProtocolProviderServiceRssImpl.java b/src/net/java/sip/communicator/impl/protocol/rss/ProtocolProviderServiceRssImpl.java
index 59c0ec025..1f9d3ea85 100644
--- a/src/net/java/sip/communicator/impl/protocol/rss/ProtocolProviderServiceRssImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/rss/ProtocolProviderServiceRssImpl.java
@@ -242,6 +242,16 @@ public boolean isSignalingTransportSecure()
return false;
}
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1).
+ */
+ public String getTransportType()
+ {
+ return "TCP";
+ }
+
/**
* Returns the rss protocol icon.
* @return the rss protocol icon
diff --git a/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java b/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java
index baed1dda4..4ff1b174f 100644
--- a/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/sip/ProtocolProviderServiceSipImpl.java
@@ -1639,6 +1639,25 @@ public boolean isSignalingTransportSecure()
return ListeningPoint.TLS.equalsIgnoreCase(connection.getTransport());
}
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1), or
+ * null the protocol is not connected.
+ */
+ public String getTransportType()
+ {
+ // The transport protocol is not set properly when dealing with a
+ // RegistrarLess account. This is why we return "null" in this case.
+ if(this.sipRegistrarConnection == null
+ || this.sipRegistrarConnection instanceof
+ SipRegistrarlessConnection)
+ {
+ return null;
+ }
+ return sipRegistrarConnection.getTransport();
+ }
+
/**
* Registers methodProcessor in the methorProcessors table
* so that it would receives all messages in a transaction initiated by a
diff --git a/src/net/java/sip/communicator/impl/protocol/ssh/ProtocolProviderServiceSSHImpl.java b/src/net/java/sip/communicator/impl/protocol/ssh/ProtocolProviderServiceSSHImpl.java
index 0aa2a1859..2f9ea80ee 100644
--- a/src/net/java/sip/communicator/impl/protocol/ssh/ProtocolProviderServiceSSHImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/ssh/ProtocolProviderServiceSSHImpl.java
@@ -631,6 +631,16 @@ public boolean isSignalingTransportSecure()
return false;
}
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1).
+ */
+ public String getTransportType()
+ {
+ return "TCP";
+ }
+
/**
* Returns the ssh protocol icon.
* @return the ssh protocol icon
diff --git a/src/net/java/sip/communicator/impl/protocol/yahoo/ProtocolProviderServiceYahooImpl.java b/src/net/java/sip/communicator/impl/protocol/yahoo/ProtocolProviderServiceYahooImpl.java
index 5cf495a7e..1a38f35c7 100644
--- a/src/net/java/sip/communicator/impl/protocol/yahoo/ProtocolProviderServiceYahooImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/yahoo/ProtocolProviderServiceYahooImpl.java
@@ -343,6 +343,16 @@ public boolean isSignalingTransportSecure()
return false;
}
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1).
+ */
+ public String getTransportType()
+ {
+ return "TCP";
+ }
+
/**
* Returns the short name of the protocol that the implementation of this
* provider is based upon (like SIP, Msn, ICQ/AIM, or others for
diff --git a/src/net/java/sip/communicator/impl/protocol/zeroconf/ProtocolProviderServiceZeroconfImpl.java b/src/net/java/sip/communicator/impl/protocol/zeroconf/ProtocolProviderServiceZeroconfImpl.java
index 5e323a8d9..9a25262e7 100644
--- a/src/net/java/sip/communicator/impl/protocol/zeroconf/ProtocolProviderServiceZeroconfImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/zeroconf/ProtocolProviderServiceZeroconfImpl.java
@@ -269,6 +269,16 @@ public boolean isSignalingTransportSecure()
return false;
}
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1).
+ */
+ public String getTransportType()
+ {
+ return "TCP";
+ }
+
/**
* Returns the zeroconf protocol icon.
* @return the zeroconf protocol icon
diff --git a/src/net/java/sip/communicator/service/protocol/ProtocolProviderService.java b/src/net/java/sip/communicator/service/protocol/ProtocolProviderService.java
index be134954c..f21ede6f4 100644
--- a/src/net/java/sip/communicator/service/protocol/ProtocolProviderService.java
+++ b/src/net/java/sip/communicator/service/protocol/ProtocolProviderService.java
@@ -187,4 +187,11 @@ public void removeRegistrationStateChangeListener(
* @return True when the connection is secured, false otherwise.
*/
public boolean isSignalingTransportSecure();
+
+ /**
+ * Returns the transport protocol of this instance.
+ *
+ * @return The transport protocol of this instance (UDP, TCP, TLSv1).
+ */
+ public String getTransportType();
}