I wanted to let people know of a case where a user of mine had an "ICE Negotiation Failed" error, that was caused by their local system.
The user has two macOS laptops, with each one running Globus Connect Personal. The two macOS laptops are on the campus network, behind a network firewall, with both on the same subnet. The network firewall was allowing all outbound connections, and was blocking all inbound connections, but connections within the subnet were fine (the network firewall was not blocking intra-subnet traffic).
The user was trying to perform Globus transfers between the two GCP endpoints. Directory listings etc. were working fine, but the transfers were getting "ICE Negotiation Failed" errors.
In the end, the cause of the problem was the local macOS firewall, which you can access through System Preferences -> Security & Privacy -> Firewall. The firewall is on by default, which is fine. If you unlock the preferences and click on the Firewall Options button, you will see the checkbox "Block all incoming connections". For my user, this box had been checked. That was causing the GCP-to-GCP transfer to fail.
So, if you support users doing GCP-to-GCP transfers, and they are getting "ICE Negotiation Failed" errors, this is one thing to check on before putting in a ticket.