# Protocols

OpenConnect was initially created to support Cisco's AnyConnect SSL VPN. This remains the default protocol used by the client, if not otherwise specified. See the `--protocol` option for how to use a different protocol with the command-line client.

The following pages document protocol-specific features and deficiencies:

- Details on support for Cisco's AnyConnect SSL VPN (`--protocol=anyconnect`). The OpenConnect VPN server, ocserv, now implements an improved version of this protocol.
- Details on support for Juniper SSL VPN (`--protocol=nc`)
- Details on support for Pulse/Ivanti Connect Secure SSL VPN (`--protocol=pulse`; most Pulse VPNs also support the older Juniper protocol, unless explicitly disabled)
- Details on support for Palo Alto Networks GlobalProtect SSL VPN (`--protocol=gp`)
- Details on support for F5 Big-IP SSL VPN (`--protocol=f5`; PPP-based)
- Details on support for Fortinet Fortigate SSL VPN (`--protocol=fortinet`; PPP-based)
- Details on support for Array Networks AG SSL VPN (`--protocol=array`)

If you are interested in adding support for additional protocols to OpenConnect, see the "New Protocols" section of the Contribute page.