Source:
<code>private boolean constructOtherInfo() { StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append( "<html><body><p align=\"left\">" + "<font color=\"" + fontColor + "\" size=\"3\">"); stringBuffer.append(getLineString(R.getI18NString( "service.gui.PROTOCOL"), protocolProvider.getProtocolName())); stringBuffer.append(getLineString(R.getI18NString( "service.gui.ADDRESS"), protocolProvider.getAccountID().getServerAddress())); stringBuffer.append(getLineString(R.getI18NString( "service.gui.PORT"), protocolProvider.getAccountID().getServerPort())); <START> <END> TransportProtocol preferredTransport = protocolProvider.getTransportProtocol(); if (preferredTransport != TransportProtocol.UNKNOWN) stringBuffer.append(getLineString( R.getI18NString("service.gui.callinfo.CALL_TRANSPORT"), preferredTransport.toString())); final OperationSetTLS opSetTls = protocolProvider .getOperationSet(OperationSetTLS.class); if (opSetTls != null) { stringBuffer.append(getLineString( R.getI18NString( "service.gui.callinfo.TLS_PROTOCOL"), opSetTls.getProtocol())); stringBuffer.append(getLineString( R.getI18NString( "service.gui.callinfo.TLS_CIPHER_SUITE"), opSetTls.getCipherSuite())); stringBuffer.append("<b><a href=\"") .append(CERTIFICATE_URL) .append("\">") .append(R.getI18NString( "service.gui.callinfo.VIEW_CERTIFICATE")) .append("</a></b><br/>"); } stringBuffer.append("</font></p></body></html>"); infoTextPane.setText(stringBuffer.toString()); infoTextPane.revalidate(); infoTextPane.repaint(); return true; }</code><technical_language>Simply showing values account config sense here. If I idea right, want show details of actual connection. for SIP account (which a NAPTR SRV record), shows "Domain: example.com" "Port: 5060", is wrong (should sip.example.com port 5061). for XMPP if server is a non-standard port (which easily work SRV it) interested in actual server name domain name</technical_language>

Target:
private boolean constructOtherInfo() { StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append( "<html><body><p align=\"left\">" + "<font size=\"3\">"); stringBuffer.append(getLineString(R.getI18NString( "service.gui.PROTOCOL"), protocolProvider.getProtocolName())); final OperationSetConnectionInfo opSetConnectionInfo = protocolProvider .getOperationSet(OperationSetConnectionInfo.class); if (opSetConnectionInfo != null) { stringBuffer.append(getLineString(R.getI18NString( "service.gui.ADDRESS"), opSetConnectionInfo.getServerAddress() == null ? "" : opSetConnectionInfo.getServerAddress() .getHostName())); stringBuffer.append(getLineString(R.getI18NString( "service.gui.PORT"), opSetConnectionInfo.getServerAddress() == null ? "" : String.valueOf(opSetConnectionInfo .getServerAddress().getPort()))); } TransportProtocol preferredTransport = protocolProvider.getTransportProtocol(); if (preferredTransport != TransportProtocol.UNKNOWN) stringBuffer.append(getLineString( R.getI18NString("service.gui.callinfo.CALL_TRANSPORT"), preferredTransport.toString())); final OperationSetTLS opSetTls = protocolProvider .getOperationSet(OperationSetTLS.class); if (opSetTls != null) { stringBuffer.append(getLineString( R.getI18NString( "service.gui.callinfo.TLS_PROTOCOL"), opSetTls.getProtocol())); stringBuffer.append(getLineString( R.getI18NString( "service.gui.callinfo.TLS_CIPHER_SUITE"), opSetTls.getCipherSuite())); stringBuffer.append("<b><a href=\"") .append(CERTIFICATE_URL) .append("\">") .append(R.getI18NString( "service.gui.callinfo.VIEW_CERTIFICATE")) .append("</a></b><br/>"); } stringBuffer.append("</font></p></body></html>"); infoTextPane.setText(stringBuffer.toString()); infoTextPane.revalidate(); infoTextPane.repaint(); return true; }