As a student at UC Berkeley who's active with web development and campus groups, I need to be able to connect to computers that only allow Berkeley IP addresses. This means I have to connect to the Berkeley VPN service if I wish to work from off-campus. Therefore, with the campus moving to new VPN services, I had to figure the new ones out as well, but they didn't have anything for a Linux system, only a *BSD script and Windows executable. Cisco "supports" Ubuntu 32-bit, but there are a lot of problems with what Cisco does and, for me, it doesn't work at all. Full tunnel, Split tunnel, nothing. So in order to do my work effectively, I've taken on the task of maintaining a wrapper script for Debian (and possibly all Linux systems) that uses openconnect.
There are many improvements of openconnect over the official Cisco AnyConnect client, one of them being that it actually works. Because of these, I'm an advocate of this script versus the official client.
I've made my script available here. Please comment here regarding any issues or dependencies regarding this script. I'm happy to incorporate any patches you have for making more things work, and I'll try to fix any problems you may have. If you have to modify the script to make it work for your system, let me know so I can make the script more generic (assuming you're using a generic distribution, I have no intention in supporting custom Linux OSes).