In the 1970s, the emergence of the minicomputers led to the introduction of low-cost modems and the partially dedicated point-to-point connections were no longer sufficient. By that time, there were more than a thousand of potential users who wanted to call another thousand of people. To do this, the only way was that the user itself dialled the called party.
The solution was presented by Hayes Communications in 1977. That was the Smartmoderm. The modems are operating in one of two modes: command and data (transmission) mode. The modem would normally start up in command mode. In command mode, data forwarded from the serial port of the computer was not sent over but interpreted as commands.
Most modems operate with the more or less extended / modified version of the so called Hayes command inventory.
Each Hayes-command starts with the ‘AT’ (ATtention) string; this is how a modem knows that the next string should be interpreted as a command. The end of the command is indicated by the end of the line (carriage return, ASCII 13) character.
The modem begins the command execution (except the + + +) after the end of the line character ‘carriage return’ is received. Successful command execution is indicated by the modem with ‘OK’, while it sends an ‘ERROR’ message in case of failure.
The Hayes command set were developed from a command language. Although the set has not been standardized, most dial-up modems follow the Hayes command set, and they are called Hayes-compatible modems.