xxx is my WAN ip
[admin@MikroTik] > ip address print detail without-paging
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; added by setup
address=192.168.1.1/24 network=192.168.1.0 interface=LAN
actual-interface=LAN
1 ;;; added by setup
address=xxx.xxx.xxx.116/24 network=xxx.xxx.xxx.xxx interface=WAN
actual-interface=WAN
wan interface is a static ip provided by my isp. that is working fine
[admin@MikroTik] > / ip firewall nat print detail without-paging
Flags: X - disabled, I - invalid, D - dynamic
0 chain=srcnat action=masquerade out-interface=WAN
1 ;;; Avermedia 1
chain=dstnat action=dst-nat to-addresses=192.168.1.135 to-ports=5550
protocol=tcp dst-address=173.220.110.xxx
2 ;;; Avermedia 2
chain=dstnat action=dst-nat to-addresses=192.168.1.135 to-ports=5550
protocol=udp dst-address=xxx.xxx.xxx.xxx
3 ;;; Air Video 1
chain=dstnat action=dst-nat to-addresses=192.168.1.135 to-ports=45631
protocol=tcp dst-address=xxx.xxx.xxx.xxx
4 ;;; Air Video 2
chain=dstnat action=dst-nat to-addresses=192.168.1.135 to-ports=45631
protocol=udp dst-address=xxx.xxx.xxx.xxx
Everyone else was spot on - your rules are FAR too broad.
chain=dstnat action=dst-nat to-addresses=192.168.1.135 to-ports=5550
protocol=tcp dst-address=173.220.110.xxx
That means, translated to English, "forward all TCP traffic destined to 173.220.110.x to 192.168.1.135 on port 5550". Note here that you told the the router to forward ALL TCP traffic to that port, regardless of what port it was originally to. You want to add dst-port=5550 to that - presumably, anyway. Traffic never reaches the second TCP rule because all TCP traffic already matched the previous rule that matched all TCP traffic. Change the other rules accordingly. The router will do exactly what you tell it to, so if you only want to forward traffic to a specific port and IP to a different IP port you need to specify all parts of that.