Erro ao tentar conectar base de dados do sqlserver remotamente

Olá pessoal,

Estou tentando conectar minha aplicação a uma base de dados do cliente remotamente, o banco de dados é o SQLSever 2005.
Eu fiz as seguintes configurações no servidor do cliente:

-configurei o sqlserver para receber conexões remotas na porta 1433.
-reiniciei o service do SQLServer(varias vezes)
-configurei o sqlbrowser para executar automaticamente.
-adicionei os arquivos sqlserv.exe e sqlbrowser.exe no firewall do windows no servidor, para as conexões não serem bloqueadas.
-criei uma regra de entrada e saida para a porta 1433 no firewall do windows
-configurei o roteador para liberar a porta 1433.

monto minha url de conexão corretamente


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class TestaConexaoRemota {

	private Connection connection;
	private CredenciaisBancoServidor cbs;
	
	
	public TestaConexaoRemota(CredenciaisBancoServidor cbs) {
		this.cbs = cbs;
	}
	
	public Connection getConnection() {		
		try {		
			Class.forName("net.sourceforge.jtds.jdbc.Driver");
    		String url = "jdbc:jtds:sqlserver://" + cbs.getIp() + ":" + cbs.getPorta() + "/" + cbs.getNomeBanco();
			System.out.println(url);
			
			//connection = DriverManager.getConnection(urlCompleta, cbs.getUsuario(), cbs.getSenha());
			connection = DriverManager.getConnection(url, cbs.getUsuario(), cbs.getSenha());
						
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
				
		} catch (SQLException e) {
			e.printStackTrace();
			
		} 
			
		return connection;
	}

	public void setConnection(Connection connection) {
		this.connection = connection;
	}
}

Porém quando executo a aplicação passando o IP do servidor, a porta 1433 e o nome do banco de dados, recebo a seguinte mensagem:

java.sql.SQLException: Connection timed out: connect
	at net.sourceforge.jtds.jdbc.TdsConnection.allocateTds(Unknown Source)
	at net.sourceforge.jtds.jdbc.TdsConnection.<init>(Unknown Source)
	at net.sourceforge.jtds.jdbc.Driver.connect(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at TestaConexaoRemota.getConnection(TestaConexaoRemota.java:29)
	at Main.main(Main.java:44) Exception in thread "main" java.lang.NullPointerException
	at Main.main(Main.java:56)

Estou usando o driver jtds.

Será que eu preciso fazer mais alguma alteração no servidor?
Se eu tento conectar uma base de dados localmente, passsando o IP 127.0.0.1, a conexão é estabelecida com sucesso.
Além de todas essas configurações, preciso fazer mais algum procedimento para conseguir estabelecer a conexão com a base de dados do cliente?

Já fiz muitas pesquisas desde a semana passada, os caras dizem que a única diferença na url de uma conexão local para uma conexão remota, é o endereço IP que no caso de uma conexão remota deve ser passado o IP público estático.

Grato.

O erro estava no servidor que não estava configurado corretamente para receber a conexão.