Dialogue-based computer-assisted language learning (CALL) encompasses applications that allow a learner to practice a foreign language by carrying a conversation with a computer through unconstrained input. Such systems, whether speech or text-based, present various challenges to the CALL developer, both with the instructional design (degree of openness of the interaction, types of prompt, etc.) and the technological design (rules-driven vs. data-driven system, complexity level of the natural language processing, etc.). We propose a general task design framework for dialogue-based CALL, and align it with recommendations for natural language processing (NLP) techniques to tackle such challenge.