It appears that Android may have a bug in it relating to NAT traversal. In android, I get the following errors when attempting to connect:
12-31 13:16:07.482 I/Vpn (799): Switched from [Legacy VPN] to [Legacy VPN]
12-31 13:16:07.485 D/Vpn (799): setting state=IDLE, reason=prepare
12-31 13:16:07.486 I/Vpn (799): Switched from [Legacy VPN] to [Legacy VPN]
12-31 13:16:07.487 D/Vpn (799): setting state=IDLE, reason=prepare
12-31 13:16:07.487 D/Vpn (799): setting state=CONNECTING, reason=startLegacyVpn
12-31 13:16:07.497 V/LegacyVpnRunner(799): Waiting
12-31 13:16:07.502 V/LegacyVpnRunner(799): Executing
12-31 13:16:07.504 D/Vpn (799): setting state=CONNECTING, reason=execute
12-31 13:16:07.520 D/racoon (10824): Waiting for control socket
12-31 13:16:07.721 D/racoon (10824): Received 9 arguments
12-31 13:16:07.735 I/racoon (10824): ipsec-tools 0.7.3 (http://ipsec-tools.sf.net)
12-31 13:16:07.747 I/racoon (10824): 10.0.203.120[500] used as isakmp port (fd=6)
12-31 13:16:07.747 I/racoon (10824): 10.0.203.120[500] used for NAT-T
12-31 13:16:07.747 I/racoon (10824): 10.0.203.120[4500] used as isakmp port (fd=7)
12-31 13:16:07.747 I/racoon (10824): 10.0.203.120[4500] used for NAT-T
12-31 13:16:07.747 I/racoon (10824): initiate new phase 1 negotiation: 10.0.203.120[500]<=>69.135.168.176[500]
12-31 13:16:07.747 I/racoon (10824): begin Aggressive mode.
12-31 13:16:08.594 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:10.631 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:12.689 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:13.781 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:16.870 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:19.859 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:19.934 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:23.022 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:25.144 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:28.246 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:31.339 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:32.872 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:34.958 E/racoon (10824): ignore the packet, received unexpecting payload type 20.
12-31 13:16:37.962 E/racoon (10824): phase1 negotiation failed due to time up. 118a955695bcb745:0000000000000000
12-31 13:16:37.962 I/racoon (10824): Bye
12-31 13:16:38.024 I/LegacyVpnRunner(799): Aborting
12-31 13:16:38.024 I/LegacyVpnRunner(799): java.lang.IllegalStateException: racoon is dead
12-31 13:16:38.024 I/LegacyVpnRunner(799): at com.android.server.connectivity.Vpn$LegacyVpnRunner.execute(Vpn.java:1213)
12-31 13:16:38.024 I/LegacyVpnRunner(799): at com.android.server.connectivity.Vpn$LegacyVpnRunner.run(Vpn.java:1092)
12-31 13:16:38.024 D/Vpn (799): setting state=FAILED, reason=racoon is dead
Googling the error, there is this bug report for strongswan: https://wiki.strongswan.org/issues/255