juego de comandos AT específico para telefonía móvil GSM
Código:
GSM AT COMMAND SET Call Control ATA Answer Command ATD Dial Command ATH Hang Up Call ATL Monitor Speaker Loudness ATM Monitor Speaker Mode ATO Go On-Line ATP Set Pulse Dial as Default ATT Set Tone Dial as Default AT+CSTA Select Type of Address AT+CRC Cellular Result Codes Data Card Control Commands ATI Identification ATS Select an S-register ATZ Recall Stored Profile AT&F Restore Factory Settings AT&V View Active Configuration AT&W Store Parameters in Given Profile AT&Y Select Set as s Powerup Option AT+CLCK Facility Lock Command AT+COLP Connected Line Identification Presentation AT+GCAP Request Complete Capabilities List AT+GMI Request Manufacturer Identification AT+GMM Request Model Identification AT+GMR Request Revision Identification AT+GSN Request Product Serial Number Identification Phone Control Commands AT+CBC Battery Charge AT+CGMI Request Manufacturer Identification AT+CGMM Request Model Identification AT+CGMR Request Revision Identification AT+CGSN Request Product Serial Number Identification AT+CMEE Report Mobile Equipment Error AT+CPAS Phone Activity Status AT+CPBF Find Phone Book Entries AT+CPBR Read Phone Book Entry AT+CPBS Select Phone Book Memory Storage AT+CPBW Write Phone Book Entry AT+CSCS Select TE Character Set AT+CSQ Signal Quality Computer Data Card Interface Commands ATE Command Echo ATQ Result Code Suppression ATV Define Response Format ATX Response Range Selection AT&C Define DCD Usage AT&D Define DTR Usage AT&K Select Flow Control AT&Q Define Communications Mode Option AT&S Define DSR Option AT+ICF DTE-DCE Character Framing AT+IFC DTE-DCE Local Flow Control AT+IPR Fixed DTE Rate ServiceAT+CLIP Calling Line Identification Presentation AT+CR Service Reporting Control AT+DR Data Compression Reporting AT+ILRR DTE-DCE Local Rate Reporting Network Communication Parameter Commands ATB Communications Standard Option AT+CBST Select Bearer Service Type AT+CEER Extended Error Report AT+CRLP Radio Link Protocol AT+DS Data Compression Miscellaneous Commands A/ Re-Execute Command Line AT? Command Help AT*C Start SMS Interpreter AT*T Enter SMS Block Mode Protocol AT*V Activate V.25bis Mode AT*NOKIATEST Test Command AT+CESP Enter SMS Block Mode Protocol SMS Commands SMS Text Mode AT+CSMS Select Message Service AT+CPMS Preferred Message Storage AT+CMGF Message Format AT+CSCA Service Centre Address AT+CSMP Set Text Mode Parameters AT+CSDH Show Text Mode Parameters AT+CSCB Select Cell Broadcast Message Types AT+CSAS Save Settings AT+CRES Restore Settings AT+CNMI New Message Indications to TE AT+CMGL List Messages AT+CMGR Read Message AT+CMGS Send Message AT+CMSS Send Message from Storage AT+CMGW Write Message to Memory AT+CMGD Delete Message SMS PDU Mode AT+CMGL List Messages AT+CMGR Read Message AT+CMGS Send Message AT+CMGW Write Message to Memory
3.4.3. Documentación de los comandos AT más interesantes
Todos los comandos han sido testeados con éxito utilizando un Nokia 8310.
Notación empleada:
Comando AT: [Definición técnica]
- Funcionalidad del comando
- Sintaxis: Petición | Respuesta
- Respuesta obtenida al testear el comando con Nokia 8310
## Comandos de Llamada ##
ATD: [Dial Command]
- Inicia una llamada telefónica
- Sintaxis: ATD64612345 para una llamada de Datos.
ATD64612345; para una llamada de Voz. (Importante la notación ‘;’)
ATD>”Gospel”; para llamar al contacto almacenado en la agenda con el texto asociado Gospel.
## Comandos de Operador ##
AT+CCFC: [Call Forwarding Number]
- Gestiona el Desvío de Llamadas. Permite redireccionar llamadas entrantes a otro número de teléfono.
- Sintaxis: AT+CCFC=<razón>,<modo>,<número>,<tipo>,<clase>,[<subaddr>,<satype>,[<time>]]
<razón> Razón por la cual entra en acción el desvío de llamada.
0 – incondicional
1 – si teléfono ocupado
2 – si no obtiene respuesta
3 – si inalcanzable
4 – todos los desvíos de llamadas
5 – todos los desvíos de llamadas condicionales
<modo> Estado del desvío de llamada.
0 – desahabilitado
1 – habilitado
2 – query status
3 – registro
4 – erasure (borrado)
<número> Cadena de texto con el número de teléfono destino del desvío de llamada. Se especifica en el formato indicado en el campo <type>
<tipo> Tipo de código de dirección de teléfono:
145 – para código internacional +
129 – en otro caso
<clase> Código que representa la clase de información que contiene la llamada a desviar.
1 – voz
2 – datos
4 – fax
7 – cualquier clase (por defecto)
<time> Tiempo en segundos a esperar antes de desviar la llamada.
1..30 (por defecto, 20)
<status> Estado de la opción desvío de llamadas. (Sólo en respuesta AT)
0 – no activo
1 – activo
- Ejemplo: Implementación del comando en Blooover: “AT+CCFC=0,3,\”+4913377001\”,145,7\r”
Vemos que utiliza los siguientes parámetros:
<razón> = 0, incondicional
<modo> = 3, registro
<número> = +4913377001 (German Windows XP Activation Hotline)
<tipo> = 145, formato de código internacional
<clase> = 7, cualquier clase de información a desviar
## Comandos de Control del Teléfono ##
AT+CPAS: [Phone Activity Status]
1) AT+CPAS=?
- Muestra la implementación del comando.
- Sintaxis: AT+CPAS=? | +CPAS: (lista de estados soportados)
0 – Ready (Encendido pero inactivo)
1 – Unavailable (No disponible)
2 – Unknown (Desconocido)
3 – Ringing (Llamada entrante en proceso)
4 – Call in progress (Llamada saliente en proceso)
5 – Asleep (Dormido)
- Respuesta: +CMGD: (0,2,3,4)
2) AT+CPAS
- Informa del estado de actividad del teléfono.
- Sintaxis: AT+CPAS | +CPAS: <estado>
- Respuesta: +CPAS: 0, en estado normal de inactividad.
+CPAS: 3, si el teléfono atacado está sonando a causa de una llamada entrante.
AT+CBC: [Battery Charge]
- Devuelve el estado de carga de la batería.
- Sintaxis: AT+CBC | +CBC: <bcs>, <bcl>
<bcs> = 0 indica que el teléfono está conectado a una batería.
<bcl> = 0 indica que el teléfono tiene la batería agotada.
= 1..100 indica el porcentaje de carga que aún queda por agotar.
- Respuesta: +CBC:0,56
AT+CGMI: [Request Manufacturer Identification]
- Petición de identificación del Fabricante (Marca del teléfono).
- Sintaxis: AT+CGMM | <fabricante>
- Respuesta: Nokia Mobile Phones
AT+CGMM: [Request Model Identification]
- Petición de identificación del modelo de teléfono.
- Sintaxis: AT+CGMM | <modelo>
- Respuesta: Nokia 8310
AT+CGSN: [Request Product Serial Number Identification]
- Petición de identicación del número de serie del producto.
- Sintaxis: AT+CGSN | <IMEI>
- Respuesta: 1234567890etc
AT+CSQ: [Signal Quality]
- Devuelve el estado de calidad de la señal de cobertura.
- Sintaxis: AT+CSQ | +CSQ: <rssi>,<ber>
<rssi> = 0 indica -113 dBm o menos
= 1 indica -111 dBm
= 2..30 indica -109..-53 dBm
= 31 indica -51dBm o más
= 99 indica desconocido
<ber> = 99 indica porcentaje desconocido
- Respuesta: +CSQ: 13,99
AT+CPBS: [Select Phone Book Memory Storage]
1) AT+CPBS?
- Informa de los dispositivos de memoria que soporta el teléfono para almacenar las distintas listas de contactos.
- Sintaxis: AT+CPBS? | +CPBS: “XX”, donde “XX” se sustituye por el dispositivo de almacenamiento:
“SM” – SIM phonebook list [Lista de contactos de la agenda SIM]
“TA” – TA phonebook list [Lista de contactos del terminal]
“LD” – SIM last dialing list [Lista de números marcados]
“DC” – Dialled call list [Lista de llamadas realizadas]
“RC” – ME received calls list [Lista de llamadas recibidas]
“MC” – ME missed call list [Lista de llamadas perdidas]
“EN” – Emergency number list [Lista de números de emergencia]
“FD” – SIM fix dialing list
“MT” – ME + SIM conbined list
“ON” – SIM o ME own number list
- Respuesta: +CPBS: “SM”
2) AT+CPBS=”XX”
- Selecciona por defecto uno de los dispositivos de memoria que soporta el teléfono para almacenar las distintas listas de contactos.
- Sintaxis: AT+CPBS=”XX”, donde “XX” se sustituye por el dispositivo de almacenamiento:
“SM” – SIM phonebook list [Lista de contactos de la agenda SIM]
“TA” – TA phonebook list [Lista de contactos del terminal]
“LD” – SIM last dialing list [Lista de números marcados]
“DC” – Dialled call list [Lista de llamadas realizadas]
“RC” – ME received calls list [Lista de llamadas recibidas]
“MC” – ME missed call list [Lista de llamadas perdidas]
“EN” – Emergency number list [Lista de números de emergencia]
“FD” – SIM fix dialing list
“MT” – ME + SIM conbined list
“ON” – SIM o ME own number list
AT+CPBR: [Read Phone Book Entry]
1) AT+CPBR=?
- Informa del tamaño de la agenda de contactos.
- Sintaxis: AT+CPBR=? | +CPBR: <(1-n)>,<nlen>,<tlen>
<(1-n)> indica el rango de índices que la agenda puede contener.
<nlen> indica la longitud máxima permitida para un número de teléfono.
<tlen> indica la longitud máxima permitida para el texto asociado a ese número (nombre del contacto).
- Respuesta: +CPBR: (1-150),48,14
2) AT+CPBR=<indice>
- Leer una entrada de la agenda de contactos.
- Sintaxis: AT+CPBR=<indice inicial> [,<indice final>] | +CPBR: <índice>, <número>, <tipo>, <texto>
<índice> indica el índice de la agenda de contactos.
<número> indica el número de teléfono almacenado en el índice.
<tipo> indica el tipo de tipo de número de teléfono. Por defecto, 129 o 145 si incluye el prefijo internacional +.
<text> indica el texto asociado al número de teléfono, normalmente, el nombre del contacto.
- Respuesta a AT+CPBR=8: +CPBR: 8,”646123456″,129,”Gospel”
Nota: Para leer todas las entradas de la agenda, basta con preguntar por el tamaño de la agenda, almacenarlo en una variable int PhoneBookSize y lanzar un bucle FOR preguntando por cada índice:
for (int n = 1; n <= PhoneBookSize; n++)
{
Enviar(“AT+CPBR=%d”, n);
}
Combinación de AT+CPBS;+CPBR [Leer una entrada de una lista de contactos seleccionada]
- Primero elegimos la lista de contactos a la que queremos acceder, y luego leemos una entrada por su índice.
Sintaxis: AT+CPBS=”XX”;+CPBR=<índice>, donde “XX” se sustituye por el dispositivo de almacenamiento:
“SM” – SIM phonebook list [Lista de contactos de la agenda SIM]
“TA” – TA phonebook list [Lista de contactos del terminal]
“LD” – SIM last dialing list [Lista de números marcados]
“DC” – Dialled call list [Lista de llamadas realizadas]
“RC” – ME received calls list [Lista de llamadas recibidas]
“MC” – ME missed call list [Lista de llamadas perdidas]
“EN” – Emergency number list [Lista de números de emergencia]
“FD” – SIM fix dialing list
“MT” – ME + SIM conbined list
“ON” – SIM o ME own number list
- Ejemplo de Respuesta a AT+CPBS=”DC”;+CPBR=2: +CPBR: 1,”646123456″,129,”Pepito” (Visualizamos el último contacto al que hemos llamado).
AT+CPBS=”MC”;+CPBR=1: +CPBR: 1,”646987654″,129,”Jaimito” (Visualizamos la última llamada perdida).
AT+CPBF: [Find Phone Book Entries]
- Devuelve la entrada de la agenda de contactos cuyo texto asociado a un número contiene la cadena alfanumérica proporcionada.
- Sintaxis: AT+CPBF=”textoaencontrar” | +CPBR: <índice>, <número>, <tipo>, <texto>
“textoaencontrar” es case-sensitive, así que cuidado con el uso de mays.
<índice> indica el índice de la agenda de contactos.
<número> indica el número de teléfono almacenado en el índice.
<tipo> indica el tipo de tipo de número de teléfono. Por defecto, 129 o 145 si incluye el prefijo internacional +.
<text> indica el texto asociado al número de teléfono, normalmente, el nombre del contacto.
- Respuesta a AT+CPBF=”Pepito”: +CPBF: 19, “646987654″,129,”Pepito”
AT+CPBW: [Write Phone Book Entry]
- Escribe una entrada en la agenda de contactos.
- Sintaxis: AT+CPBW = <índice>, <número>, <tipo>, <texto>
<índice> indica el índice de la agenda de contactos donde se creará la entrada de contacto. Si no se proporciona índice, se añade la entrada en el primer hueco libre.
<número> indica el número de teléfono almacenado en el índice.
<tipo> indica el tipo de tipo de número de teléfono. Por defecto, 129 o 145 si incluye el prefijo internacional +.
<text> indica el texto asociado al número de teléfono, normalmente, el nombre del contacto.
Nota: Si únicamente se proporciona el campo del índice (omitiendo el resto de campos), la entrada de la agenda asociada a ese índice se borrará.
- Ejemplo para crear un nuevo contacto: AT+CPBW=,”696224466″,129,”Jaimito”
## Comandos de SMS ##