The ever growing computation and storage capability of mobile phones has given rise to mobile centric context recognition systems, which are able to sense and analyze the context of the carrier so as to provide an appropriate level of service. Particularly, as nonintrusive autonomous sensing and context recognition are one of the most desirable characteristics of a personal sensing system; commendable efforts have been made to develop opportunistic sensing techniques on mobile phones. The resulting combination of these approaches has ushered in a new realm of applications, namely opportunistic user context recognition with mobile phones. This article surveys the existing research and approaches towards realization of such systems. In doing so, the typical architecture of a mobile centric user context recognition system as a sequential process of sensing, pre-processing and context recognition phases are introduced. The main techniques used for the realization of the respective processes during these phases are described, highlighting strengths and limitations of those. In addition, lessons learned from previous approaches are presented as motivation for future research. Finally, several open challenges are discussed as possible ways to extend the capabilities of current systems and improve their real-world experience.