This happens due to the retail routers having a default setting of only allowing ICMP and blocking others (such as Telnet, SSH, HTTP, HTTPS), especially on GPON Gateways. The solution can be achieved in two steps which need to be performed on the router of your SSH Server:
Type in 192.168.1.X in your browser (X being the serial of the router, generally X=1). This opens the login page. The default passkey and username is 'admin'. Go to the Security settings, go to the "Access Control" sub-menu and enable "Allow" for SSH under WAN (if you use Wifi to SSH into the target machine via the router) and under LAN (if you use Ethernet to SSH into the target machine via the router).
Next, more to Application Settings and choose the Post Forwarding menu. Now on the browser you will see a lot of fields. One of them must be "Applications", which is a drop down menu and choose SSH Server. Next in the "Internet Client" drop down menu choose the device/machine from list of devices connected to the router into which you want to SSH. Click on Add.
You can add multiple devices in this manner. In that case, you will have to explicitly specify the device from the SSH Client.
For example lets say, you have added three devices:
Dev A: 192.168.1.2
Dev B: 192.168.1.3
Deb C: 192.168.1.4
So if you want to SSH into Dev B you must enter the following command:
where AAA.BBB.CCC.XXX is the public IP displayed by the router.