Siva, I can think of few things you need to look at.
You wrote:
I think there is no firewall problem. Because i can connect the system from
outside through remote desktop and PCAnywhere software.
Actually, this does not mean that you don't have a firewall problem.
Chances are remote desktop and PC Anywhere are allowed through the firewall, but the port used by Postgresql is blocked.
Look at the firewall logs, or temporarily disable firewall and test again.
Then, you have this entry in pg_hba.conf
host all all 202.153.125.187 255.255.255.0 md5
Please make sure that remote computer from which you attempt to connect has tcp address 202.153.125.187.
You can also try to temporarily replace 202.153.125.187 255.255.255.0 with 0.0.0.0/0 to allow connections from any remote host.
Keep in mind that in order to pick up changes to configuration files you either need to restart Postgres or execute
pg_ctl reload
You also need to verify that your database server is configured to listen to remote requests.
Remote TCP/IP connections will not be possible unless the server is started with an appropriate value for the listen_addresses configuration parameter, since the default behavior is to listen for TCP/IP connections only on the local loopback address localhost.
Check on your server startup command line and postgresql.conf file and read
this for more information.
Finally, you could probably make the whole debugging process much easier if you look at the database log. Failed connection attempts are typically logged there along with reason why they were rejected.