Finally, after long reading and a little intelligence. my installation finally worked.
router - supports dyndns update
using free service from dyndns - zimbratest.gotdns.org
Create account with dyndns (free or paid). dyndns will detect your public ip. create your host name and enable mail routing.
on the router:
if the dsl router supports dyndns or similar dns update sites, configure it to update with your selected service.
configure port mapping port 25 from public ip to your local ip. this way, when email is sent from other domains, your router will forward it your zimbra server.
on Zimbra Server:
follow installation instructions.
configure splitdns or simple dns correctly. what's important is MX and A record are configured properly.
check /var/log/zimbra.log while troubleshooting mail. i found my problem with this. i dont have an smtp server to forward my email to other domains. a quick check with the ip address of my ISP's smtp server and boom! just like a quote from another post here "like a small miracle, email comes, email goes"