Cómo hacer una llamada telefónica en Windows Mobile con C#

telefono

Un teléfono móvil moderno, provisto de Windows Mobile, nos permite abrir archivos de MS Office, leer PDFs, hacer fotos, leer el correo electrónico, acceder a contenidos online por RSS, llevar la agenda de actividades, gestionar nuestros contactos, escuchar música, ver vídeos, chatear, jugar, ejecutar aplicaciones de un amplio rango… Además, por si no fuera suficiente, también sirve para hacer llamadas telefónicas. 😉

Realizar una llamada telefónica mediante código C# desde una aplicación nuestra de Windows Mobile es algo ridículamente simple, gracias a un recurso que Microsoft ha puesto a nuestra disposición: la clase Phone. Esta clase se encuentra definida dentro del ensamblado Microsoft.WindowsMobile.Telephony (en la DLL microsoft.windowsmobile.telephony.dll), por lo que debemos agregar una referencia a este ensamblado en nuestro proyecto de Visual Studio.

Microsoft.WindowsMobile.Telephony

Ahora sólo nos resta declarar y crear un objeto de la clase Phone, y llamar a su método mágico: Talk().

Phone p = new Phone();
p.Talk(numero);

Este método recibe como parámetro un texto (string) que representa el número al cual se desea llamar: public void Talk(string number).

El proceso no es silencioso. Realmente lo que hace es ejecutar (y mostrar) el programa Teléfono del sistema operativo. Delega en él todas las operaciones, como por ejemplo, colgar la llamada.

Puedes descargarte el proyecto completo desde aquí.

¿Y por qué necesitaríamos realizar llamadas telefónicas desde una aplicación propia? ¿Acaso para escribir una versión mejorada del programa nativo? Yo conozco al menos un caso en que sí es necesario acudir a esta funcionalidad. Hace algunos años tuve que desarrollar una aplicación de telecomunicaciones que necesitaba, como parte de su funcionamiento, realizar llamadas automáticamente a un cierto número. La aplicación OIGAA convierte los teléfonos móviles en extensiones de la centralita corporativa, permitiendo a sus usuarios responder desde cualquier lugar como si estuvieran en la oficina, y ofreciendo además diversas funcionalidades de valor añadido. Aquí te dejo algunas capturas de pantalla de la aplicación ejecutándose en el emulador de dispositivos móviles.

Enlaces de interés:
Código completo del ejemplo