Xbox online co-op disconnecting

Me and my friends (all open nats) are trying to play online co-op campaign together but all of us keep getting timed out and disconnected every few mins. Happens to us all no matter who we join.

Any fixes or is it just the internet? Is there a port that can be open besides the basic xbox ports?