Use a provider interface to support NPN negotiation