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(); }