No audio / cracklin audio both ways on calls

i’m trying to get sip calls to work between different cell phone providers using 3g. when i’m on the same network, i get audio both ways, as i assume there are no NAT/port issues as they clients are on the same network, when i try to place a sip call BETWEEN networks with each phone being behind its own NAT, i get nothing. My asterisk server is NOT behind a nat. what’s strange is that the between network calls are not totally silent, i can here this weird crackling? for the between network calls i checked that the correct ip’s are being used and forwarded - i made sure its not sending rtp to local ips, they correct external ips are being used, i even doubled checked the wire shark dump and the invites and oks all reference the right ips? , , i’ve double checked that the correct/same codecs are being used…im not sure what anyone would like me to attached but let me know and i gladly attach all the info i can, i have wireshark captures, asterisk configs etc… i’m at my wits ends. my latest test is using the 3CX client for iphone and phonerlite on the pc. ive also tried bria app and zoiper on the iphoen and for the computer jitsi and zoiper. all the same thing i must also ADD that if i call a sip extension FROM an iAX2 account when on different networks, the call goes through and i get audio, the quality is god awful but it goes through, which again makes me think its a NAT/port issue, but how to get around it? when i look at the tcpdumps and rtp debug the rtp is being sent to the right place???