If at least one of the clients can accept incoming connections, then you're fine. But it is in principle not possible for two clients to communicate directly if they cannot connect to each other (in either direction). In this case a connection can only be established indirectly if both clients connect to an intermediate host that is not firewalled and which forwards messages from one client to the other and vice versa.
Of course you can enable port-forwarding or similar stuff on a firewall to let the clients connect directly, but most of the time you are not the administrator of the firewall.