When troubleshooting Phase 1 of a VPN tunnel the MM_WAIT_MSG state can be a great clue as to why your tunnel is not forming. If your firewall hangs at a certain state then this will show you where in the path your VPN is failing.
MM_WAIT_MSG2
What is happening
Initiator sends its hashed IKE policy details to the receiver to create the initial contact. Initiator will stay in this state until it receives a response back from the remote peer.