Hola,
En GSM el numero de telefono no se encuentra ni en la SIM, ni en el terminal. De echo ni con una aplicacion instalada (en Java, C++, etc...) de forma local en el terminal podrias obtener ese numero (MSISND).
Para conseguir lo que dices, necesariamente tienes que forzar una conexion. Me explico: el numero de telefono se "resuelve" por la operadora al enviar un SMS o realizar una llamada. Al conectarte a la BTS se envia el IMSI (entre otras cosas) y a partir del mismo el operador en su base de daros (HLR) determina el numero de telefono para esa SIM.
Nosotros lo que haciamos en nuestro
XBlue Point Mobile, era conectarnos a traves del Bluetooth al perfil del modem incluido en el terminal remoto y hacer que nos enviara un SMS.
http://www.xblue.es/xblue_point_mobile.htmlCon ello obteniamos el numero de telefono del terminal remoto. Pero para conectarte al modem remoto por bluetooth, necesariamente necesitas tener autentificacion: vamos tener que meter un PIN para realizar la conexion en bluetooth...
Saludos,
Sir Graham.