# Ordres Hayes

El conjunt d'ordres Hayes, també conegut com el conjunt d'ordres AT (on AT significa atenció), és un llenguatge d'ordres específic, desenvolupat originalment per Dennis Hayes, el 1981, per al mòdem Hayes Smartmodem de 300 bauds.
El conjunt d'ordres consta d'una sèrie de cadenes de text curtes que es poden combinar per produir ordres per a operacions com ara marcar, penjar i canviar els paràmetres de connexió. La gran majoria dels mòdems d'accés telefònic utilitzen el conjunt d'ordres Hayes en diverses variacions.
El conjunt d'ordres només cobreix les operacions suportades pels primers mòdems de 300 bits/s. Quan es necessitaven noves ordres per controlar la funcionalitat addicional dels mòdems d'alta velocitat, van sorgir diversos estàndards puntuals de cadascun dels principals venedors. Van continuar compartint l'estructura i la sintaxi d'ordres bàsiques, però van afegir diverses ordres noves utilitzant algun tipus de caràcter de prefix - & per a Hayes i USR i \ per Microcom, per exemple. Molts d'aquests es van tornar a estandarditzar a les extensions de Hayes després de la introducció del SupraFAXModem 14400 i la consolidació del mercat que va seguir.
El terme " Compatible amb Hayes " era i, és a partir del 2018, encara molt important dins de la indústria de mòdems.

## Descripció

El conjunt d'ordres Hayes es pot subdividir en quatre grups:
* conjunt d'ordres bàsiques: un caràcter en majúscula seguit d'un dígit. Per exemple, M1.
* conjunt d'ordres estès: un "&" (ampersand) i un caràcter en majúscula seguit d'un dígit. Això amplia el conjunt d'ordres bàsics. Per exemple &M1.
* conjunt d'ordres propietàries: normalment comença amb una barra invertida ("\") o un signe de percentatge ("%"); aquestes ordres varien molt entre els fabricants de mòdems.
* ordres de registres - Sr = n, on r és el número de registre que cal canviar i n és el nou valor que s'assigna.

## Les ordres AT més utilitzades

| Ordre | Funcions |
| ATA | Respon la trucada |
| ATD+Número | Origina una trucada al número |
| ATE | Determina el mode d'eco de caràcters |
| ATH | Penja una trucada existent |
| ATO | Canvi del mode d'ordres al mode de dades |
| "+++" | Canvi del mode de dades al mode d'ordres |
| ATV | Formateu les respostes del mòdem |
| ATX | Supervisa el nombre de respostes del mòdem |

## Exemple de sessió
### Inicialització del mòdem

Una cadena enviada pot contenir moltes ordres Hayes col·locades juntes, per tal de preparar de manera òptima el mòdem per marcar o respondre, p. AT&F &D2 &C1S0=0X4. La majoria del programari del mòdem admetia una cadena d'inicialització subministrada per l'usuari, que normalment era una ordre AT concatenada llarga que s'enviava al mòdem en iniciar-se. L'especificació V.250 requereix que tots els DCE acceptin un cos (després de "AT") d'almenys 40 caràcters d'ordres concatenades.
| Mòdem A | Mòdem B | Comentaris |
| ATDT12125550100 | | L'usuari del mòdem A emet una ordre de marcatge: AT-Atén l'atenció del mòdem; D-Marca; T-Touch-To; 12125550100-Truca a aquest número |
| | RING | El mòdem A comença a marcar. Sona la línia telefònica del mòdem B i el mòdem informa del fet. |
| | ATA | L'ordinador del mòdem B emet l'ordre de resposta. |
| CONNECT | CONNECT | Els mòdems es connecten i tots dos informen de "connectar". (A la pràctica, la majoria dels mòdems informen de més informació després de la paraula CONNECT, especificant la velocitat de la connexió.) A més a més, en aquest moment, tots dos mòdems elevaran el DCD, o senyal de detecció de portador de dades, al port sèrie. |
| abcdef | abcdef | Quan els mòdems estan connectats, tots els caràcters escrits a cada costat apareixeran a l'altre costat. La persona de l'ordinador A comença a escriure. Els personatges passen pel mòdem i apareixen a la pantalla de l'ordinador B. (És possible que l'usuari A no vegi els seus propis caràcters escrits, depenent de la configuració d'eco local del programari del terminal). |
| | +++ | La persona de l'ordinador B emet l'ordre d'escapament del mòdem. (Alternativament, i més habitualment, l'ordinador B podria deixar caure el senyal DTR, o Data Terminal Ready, per aconseguir un bloqueig, sense necessitat d'utilitzar +++ o ATH.) |
| | OK | El mòdem ho reconeix. |
| | ATH | La persona de l'ordinador B emet una ordre de penjar. |
| NO CARRIER | OK | Tots dos mòdems informen que la connexió ha finalitzat. El mòdem B respon "D'acord" com a resultat esperat de l'ordre; el mòdem A diu NO CARRIER per informar que el costat remot ha interromput la connexió. Els mòdems d'ambdós costats fan desaparèixer els seus senyals DCD. |

## Odres AT bàsiques -compatibles Hayes-

Les ordres següents s'entenen per pràcticament tots els mòdems que admeten un conjunt d'ordres AT, ja siguin antics o nous.
| Ordre | Descripció:__________ | Comentaris |
| A0 o A | Respondre a la trucada entrant | |
| Un/ | Repetir l'última ordre | No prefaci amb AT, no segueixis amb carruatge de tornada. Entrar normalment avorta. |
| D | Marcar | Marcar el número següent i, a continuació, establir connexxió P - Pulse Dial T - Marcatge de to tàctil W - Espereu el segon to de marcatge R - Inverteix al mode de resposta després de marcar @ - Esperar fins a 30 segons per a una o més retrucades , - Pausa per al temps especificat al registre S8 (normalment 2 segons) ; - Romandre en mode d'ordres després de marcar. ! - Flash switch-hook (Penja't durant mig segon, com en la transferència d'una trucada.) L - Marcar l'últim número |
| E0 o E | Sense eco | No es farà ressò de les ordres a l'ordinador |
| E1 | Eco | Es farà ressò de les ordres a l'ordinador (de manera que es pot veure quins tipus es fan si el programa de l'ordinador no admet eco) |
| H0 o H | Estat del "hook" | En "hook". Penjar el telèfon, acabant qualsevol trucada en curs. |
| H1 | Estat del "hook" | Fora de "hook". Agafar línia telefònica (normalment se sent un dialtone) |
| I0 a I9 | Indagació, informació o interrogatori | Aquesta ordre retorna informació sobre el model, com ara el firmware o el nom de la marca. Cada número (del 0 al 9, i de vegades el 10 i superior) retorna una línia d'informació específica del mòdem, o la paraula ERROR si la línia no està definida. Avui en dia, Windows ho utilitza per a la detecció de plug-and-play de tipus de mòdem específics. |
| L0 o Ln (n=1 a 3) | Volum Altaveu. Només és compatible amb alguns mòdems amb altaveus. Els mòdems que no tinguin altaveus, o amb controls de volum físics, o aquells la sortida de so dels quals es canalitzi a través de la targeta de so no admetran aquesta ordre. | 0 apagar l'altaveu, d'1 a 3 són per augmentar els volums. |
| M0 o M | Altaveu Mute, completament silenciós durant el marcatge | M3 també és comú, però diferent en moltes marques |
| M1 | | Altaveu encès fins que es detecti un operador remot (l'usuari escoltarà el marcatge i l'encaixada de mans del mòdem, però un cop establerta una connexió completa, l'altaveu està silenciat) |
| M2 | | Altaveu sempre activat (els sons de dades s'escolten després CONNECT) |
| O | Devolució Online | Retorna el mòdem a l'estat normal connectat després de ser interromput pel codi d'escapament "+++". |
| Q0 o Q | Mode silenciós | Desactivat- Mostra els codis de resultats, l'usuari veu les respostes d'ordres (p. ex., OK) |
| 1r trimestre | Mode silenciós | Activat - Se suprimeixen els codis de resultats, l'usuari no veu respostes. |
| Sn | Seleccionar el registre actual Tingueu en compte que Sn, ? i =r són en realitat tres ordres separades, i es poden donar en ordres AT separades. | Seleccionar el registre n com a registre actual |
| Sn? | Seleccionar el registre actual Tingueu en compte que Sn, ? i =r són en realitat tres ordres separades, i es poden donar en ordres AT separades. | Seleccionar registre n com a registre actual i consulteu-ne el valor. Utilitzant ? pel seu compte es consultarà el registre que s'ha seleccionat més recentment. |
| Sn=r | Seleccionar el registre actual Tingueu en compte que Sn, ? i =r són en realitat tres ordres separades, i es poden donar en ordres AT separades. | Seleccionar registre n com a registre actual i emmagatzemeu-hi r. L'ús de =r per si sol s'emmagatzemarà en el registre que s'hagi seleccionat més recentment. |
| V0 o V | "Verbose" (el mateix) | Codis numèrics de resultats |
| V1 | | Codis de resultats en anglès (per exemple,, , etc.) CONNECTBUSYNO CARRIER |
| X0 o X | Smartmodem | Codis de resultats compatibles amb Hayes Smartmodem 300 |
| X1 | | Normalment, afegeix la velocitat de connexió als codis de resultats bàsics (per exemple, CONNECT 1200) |
| X2 | | Normalment afegeix la detecció del to de marcatge (evitant el marcatge cec i, de vegades, evitant l'ATO) |
| X3 | | Normalment afegeix una detecció de senyal ocupada. |
| X4 | | Normalment afegeix senyal ocupat i detecció de to de marcatge |
| Z0 o Z | Reinicialitzar | Restableix el mòdem a la configuració emmagatzemada i, normalment, també emet físicament els cicles d'alimentació del mòdem (durant els quals no respon). Z0, Z1 etc. són per a diversos perfils emmagatzemats. & F' és similar, ja que torna a la configuració predeterminada de fàbrica en mòdems sense NVRAM (memòria no volàtil), però no restableix el mòdem |
Nota: una cadena d'ordres es completa amb un caràcter CR (\r)
Tot i que no forma part del conjunt d'ordres, un caràcter tilde ~ s'utilitza habitualment en seqüències d'ordres de mòdem. El ~ fa que moltes aplicacions es posin en pausa enviant el flux d'ordres al dispositiu (normalment durant mig segon), per exemple, després d'un restabliment. El ~ no s'envia al mòdem.

## Definicions de registres del mòdem

| Registrar | Descripció:__________ | Gamma | Valor per defecte |
| S0 | Nombre de timbres abans de la resposta automàtica | 0–255 (0 = mai) | 0 |
| S1 | Comptador de timbres | 0–255 anells | 0 |
| S2 | Caràcter d'escapament | 0–255, ascii decimal | 43 ("+") |
| S3 | Caràcter de retorn del carruatge | 0–127, ascii decimal | 13 (Devolució en cotxe) |
| S4 | Caràcter d'alimentació de línia | 0–127, ascii decimal | 10 (Alimentació de línia) |
| S5 | Caràcter de retrocés | 0–32, ascii decimal | 8 (Retrocés) |
| S6 | Temps d'espera abans del marcatge a cegues | 2–255 segons | 2 |
| S7 | Espereu l'operador després de marcar | 1–255 segons | 50 |
| S8 | Temps de pausa per a la coma (retard de marcatge) | 0–255 segons | 2 |
| S9 | Carrier Detecta temps de resposta | 1–255 dècimes de segons | 6 (0,6 segon) |
| S10 | Retard entre pèrdua de transportista i hang-up | 1-255 dècimes de segon | 14 (1,4 segons) |
| S11 | Durada del to DTMF | 50–255 mil·lisegons | 95 mil·lisegons |
| S12 | Temps de guàrdia del codi d'escapament | 0-255 cinquanta de segon | 50 (1 segon) |
| S18 | Temporitzador de proves | 0–255 segons | 0 segons |
| S25 | Retard a DTR | 0-255 (segons si és mode síncron, centèsimes de segon en tots els altres modes) | 5 |
| S26 | Interval de retard RTS a CTS | 0-255 centèsimes de segon | 1 centèsima de segon |
| S30 | Temporitzador de desconnexió d'inactivitat | 0-255 desenes de segons | 0 (desactivar) |
| S37 | Velocitat de línia Telecom desitjada | 0–10 Opcions d'ordre: 0 Intent de connexió en mode automàtic 1 Intent de connectar-se a 300 bit/s 2 Intent de connectar-se a 300 bit/s 3 Intent de connectar-se a 300 bit/s 5 Intent de connectar-se a 1200 bit/s 6 Intent de connectar-se a 2400 bit/s 7 Intent de connectar-se en mode V.23 75/1200. 8 Intent de connectar-se a 9600 bit/s 9 Intent de connectar-se a 12000 bit/s 10 Intent de connectar-se a 14400 bit/s | 0 |
| S38 | Retard abans de forçar la desconnexió | 0–255 segons |

## GSM

L'ETSI GSM 07.07 (3GPP TS 27.007) especifica ordres d'estil AT per controlar un telèfon o mòdem GSM. L'ETSI GSM 07.05 (3GPP TS 27.005) especifica les ordres d'estil AT per gestionar la funció de servei de missatges curts (SMS) de GSM.
Exemples d'ordres GSM:
| Ordre | Descripció:__________ |
| AT+CPIN=1234 | Introduïu el codi PIN |
| AT+CPWD="SC","antic","nou" | Canviar el codi PIN de "antic" a "nou" |
| AT+CLCK="SC",0,"1234" | Suprimir el codi PIN |
| AT&V | Estatus |
| ATI | Estat (fabricant, model, revisió, IMEI, capacitats) |
| AT+COPS=? | Llista xarxes disponibles 0-Desconegut/2-Actual/3-Prohibit, Nom llarg, Nom curt, Numèric-ID, "AcT" |
| AT+CSQ | Obteniu la intensitat del senyal. Resposta: +CSQ: <rssi (més=millor)>, <ber, menys=millor> |
| ATD*99 # | Punt d'accés telefònic |
| AT+CGDCONT=1,"IP","access.point.name" | Defineix el context del PDP |
Els mòdems GSM/3G normalment admeten les extensions del conjunt d'ordres ETSI GSM 07.07/3GPP TS 27.007 AT, tot i que varia el nombre d'ordres implementades.
La majoria dels proveïdors de mòdems USB, com Huawei, Sierra Wireless, Option, també han definit extensions propietàries per a la selecció de mode de ràdio (preferència GSM/3G) o similars. Alguns mòdems d'alta velocitat recents proporcionen una interfície Ethernet virtual en lloc d'utilitzar un protocol punt a punt (PPP) per a la connexió de dades per raons de rendiment (la connexió PPP només s'utilitza entre l'ordinador i el mòdem, no a través de la xarxa). La configuració requereix extensions d'ordre AT específiques del proveïdor. Les especificacions d'aquestes extensions estan disponibles obertament, o bé el proveïdor requereix un NDA per accedir-hi.

## Conjunt d'ordres de veu

Els mòdems amb capacitats de veu o contestador-màquina admeten un superconjunt d'aquestes ordres per permetre la reproducció i gravació d'àudio digital.

## Referències

* ↑ «The Modem of Dennis Hayes and Dale Heatherington». [Consulta: 8 gener 2015].
* ↑ «How to Set Up a Hayes Compatible Modem», 17-06-2018.
* ↑ «Cópia arquivada». Arxivat de l'original el 2015-11-17. [Consulta: 16 novembre 2015].
* ↑ «Cópia arquivada». Arxivat de l'original el 2016-03-03. [Consulta: 16 novembre 2015].
* ↑ «Initialization Strings: Why, What & Where». Arxivat de l'original el 2009-03-10. [Consulta: 9 abril 2008].
* ↑ V.250 : Serial asynchronous automatic dialling and control (05/99, 07/03).
* ↑ «More Modem Commands». Chebucto Community Net. [Consulta: 12 setembre 2016].
* ↑ «Developers guidelines June 2010 AT commands for Sony Ericsson phones». Arxivat de l'original el 2011-09-29. 090505 developer.sonyericsson.com
* ↑ «Developers guidelines June 2010 AT commands for Sony Ericsson phones». Arxivat de l'original el 2011-09-29. 090505 developer.sonyericsson.com
* ↑ «UC864-E Software User Guide». Arxivat de l'original el 2011-07-14. 090505 m2m-platforms.com
* ↑ «Dan Williams' blog – That's when I reach for my revolver…».

## Enllaços externs

* Especificació de la ITU -AT: http://www.itu.int/rec/dologin_pub.asp?lang=e&id=T-REC-V.250-200307-I!!PDF-E&type=items
* Especificació de la ETSI -AT: http://pda.etsi.org/pda/home.asp?wki_id=WcS1SZUTvXloqtul7.2xJ