I extracted the packets for the IoT device when it establishes connection with the phone (when the phone is in the same network and everything works):
15:04:36.892884 IP Elgato.lan.5353 > mdns.mcast.net.5353: 0*- [0q] 1/0/5 PTR Elgato Ring Light 5735._elg._tcp.local. (249)
15:04:37.246375 IP My-iPhone.lan > Elgato.lan: ICMP echo request, id 49091, seq 0, length 64
15:04:37.246511 ARP, Request who-has Elgato.lan (xx:xx:xx:xx:xx:xx (oui Unknown)) tell My-iPhone.lan, length 28
15:04:37.294022 ARP, Request who-has My-iPhone.lan tell Elgato.lan, length 28
15:04:37.295142 IP Elgato.lan > My-iPhone.lan: ICMP echo reply, id 49091, seq 0, length 64
15:04:37.295341 ARP, Reply Elgato.lan is-at xx:xx:xx:xx:xx:xx (oui Unknown), length 28
15:04:37.298233 ARP, Reply My-iPhone.lan is-at yy:yy:yy:yy:yy:yy (oui Unknown), length 28
15:04:37.310853 IP My-iPhone.lan.49892 > Elgato.lan.9123: Flags [SEW], seq 1241400912, win 65535, options [mss 1460,nop,wscale 6,nop,nop,TS val 355982920 ecr 0,sackOK,eol], length 0
15:04:37.311569 IP Elgato.lan.9123 > My-iPhone.lan.49892: Flags [S.], seq 40372, ack 1241400913, win 7300, options [mss 1460], length 0
15:04:37.315555 IP My-iPhone.lan.49892 > Elgato.lan.9123: Flags [.], ack 1, win 65535, length 0
15:04:37.319081 IP My-iPhone.lan.49892 > Elgato.lan.9123: Flags [P.], seq 1:253, ack 1, win 65535, length 252
15:04:37.328961 IP Elgato.lan.9123 > My-iPhone.lan.49892: Flags [P.], seq 1:421, ack 253, win 7048, length 420
15:04:37.336026 IP My-iPhone.lan.49892 > Elgato.lan.9123: Flags [.], ack 421, win 65535, length 0
15:04:37.372465 IP My-iPhone.lan.49892 > Elgato.lan.9123: Flags [P.], seq 253:506, ack 421, win 65535, length 253
15:04:37.375416 IP Elgato.lan.9123 > My-iPhone.lan.49892: Flags [P.], seq 421:680, ack 506, win 6795, length 259
15:04:37.379175 IP My-iPhone.lan.49892 > Elgato.lan.9123: Flags [.], ack 680, win 65535, length 0
15:04:37.382462 IP My-iPhone.lan.49892 > Elgato.lan.9123: Flags [P.], seq 506:750, ack 680, win 65535, length 244
15:04:37.386673 IP Elgato.lan.9123 > My-iPhone.lan.49892: Flags [P.], seq 680:864, ack 750, win 6551, length 184
15:04:37.391377 IP My-iPhone.lan.49892 > Elgato.lan.9123: Flags [.], ack 864, win 65535, length 0
15:04:38.189864 IP My-iPhone.lan.49892 > Elgato.lan.9123: Flags [.], ack 864, win 65535, length 0
15:04:38.190773 IP Elgato.lan.9123 > My-iPhone.lan.49892: Flags [.], ack 750, win 6551, length 0
15:04:38.408141 IP My-iPhone.lan.49892 > Elgato.lan.9123: Flags [P.], seq 750:994, ack 864, win 65535, length 244
15:04:38.410734 IP Elgato.lan.9123 > My-iPhone.lan.49892: Flags [P.], seq 864:1048, ack 994, win 6307, length 184
15:04:38.415622 IP My-iPhone.lan.49892 > Elgato.lan.9123: Flags [.], ack 1048, win 65535, length 0
15:04:39.284054 IP My-iPhone.lan > Elgato.lan: ICMP echo request, id 49091, seq 1, length 64
15:04:39.287860 IP Elgato.lan > My-iPhone.lan: ICMP echo reply, id 49091, seq 1, length 64
What can I do with this knowledge to make the 2 devices communicate with each other from different networks?