Thanks for your answer.
IceCast server works on 80 port.
I want to do 2 connections from one pc (10.2.1.45) to icecast server, each connection should go throw different ISP.
So, first connection from 10.2.1.45:80 to 193.70.21.247:80 throw ISP1 - with this connection is everything OK
Second connection from 10.2.1.45:81 to 193.70.21.247:81 - since the icecast server is running on port 80 in mikrotik i have DSNAT rule from 81 port to adress and port to 193.70.21.247:80
In Mikrotik Firewall --> NAT i have rule's
1 chain=dstnat action=dst-nat to-addresses=193.70.21.247 to-ports=80 protocol=tcp in-interface=Lan dst-port=81 log=no log-prefix=""
2 chain=srcnat action=masquerade out-interface=ether1 log=no log-prefix=""
3 chain=srcnat action=masquerade out-interface=ether2 log=no log-prefix=""
In Mikrotik Firewall --> Mangle i have rule's
0 D ;;; special dummy rule to show fasttrack counters
chain=prerouting action=passthrough
1 D ;;; special dummy rule to show fasttrack counters
chain=forward action=passthrough
2 D ;;; special dummy rule to show fasttrack counters
chain=postrouting action=passthrough
3 chain=prerouting action=mark-connection new-connection-mark=ISP2-conn
passthrough=yes protocol=tcp src-address=10.2.1.45 in-interface=Lan
dst-port=81 log=no log-prefix=""
4 chain=prerouting action=mark-routing new-routing-mark=Wan2 passthrough=no
protocol=tcp src-address=10.2.1.45 connection-mark=ISP2-conn
in-interface=Lan dst-port=81 log=no log-prefix=""
5 X chain=prerouting action=mark-connection new-connection-mark=ISP2-conn
passthrough=yes in-interface=ether1 log=no log-prefix=""
6 X chain=output action=mark-routing new-routing-mark=Wan2 passthrough=yes
src-address=10.2.1.45 connection-mark=ISP2-conn out-interface=ether1
In Mikrotik Route rule's
DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 A S 0.0.0.0/0 10.3.1.1 2
1 ADS 0.0.0.0/0 192.168.8.1 1
2 ADC 10.2.1.0/24 10.2.1.1 Lan 0
3 ADC 10.3.1.0/24 10.3.1.252 ether1 0
4 ADC 192.168.8.0/24 192.168.8.101 ether2 0
Gateway 10.3.1.1 has routing Mark: Wan2
I have already reached the point where the connection is through the second provider is connecting to icecast server, but icecast server after some time drops this connection with error:
WARN source/get_next_buffer Disconnecting source due to socket timeout
IceCast drop's connection only for the second connection throw the Second ISP, from the first ISP connection is working flawlessly.