'Why are External NAT ports different when both NATs are restricted cone?

I'm in the progress of implementing my own Signaling server with UDP hole punching, everything have been smooth up until both hosts were behind Restricted Cone NAT, then the ports for P2P communication CHANGES compared to the ones used to communicate with the server ( symmetric NAT behavior ). This only manifests when both hosts are behind Restricted Cone Nat, if one host is behind a Full Cone (or open) NAT, the other's public port for P2P doesn't change. Searching around for this exact problem, i've found this day brightening tidbit:

"If both hosts have Restricted cone NATs or Symmetric NATs, the external NAT ports will differ from those used with S. On some routers, the external ports are picked sequentially, making it possible to establish a conversation through guessing nearby ports."

Could anyone confirm this is TRUE across the board, if yes, then WHY??? Is the reason(s) stated in an RFC somewhere? I thought the purpose of keeping the NAT restricted instead of Symmetric is to not change the external port when communicating with different host(s)...



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source