When new commands were required to control additional functionality in higher speed modems, a variety of one-off standards emerged from each of the major vendors.
The modems operated in either "originate" or "answer" modes, manually switching between two sets of frequencies for data transfer.
To fill this role, some modems included the ability to pick up the phone automatically when it was in answer mode, and to clear the line when the other user manually disconnected.
The need for automated outbound dialling was considerably less common, and was handled through a separate peripheral device: a "dialler".
However, the microcomputer revolution of the 1970s led to the introduction of low-cost modems and the idea of a semi-dedicated point-to-point link was no longer appropriate.
This had a major denial of service security implication in that it would lead to the modem hanging up the connection should the computer ever try to transmit the byte sequence +++ATH0 in data mode.
For any computer connected to the Internet through such a modem, this could be easily exploited by sending it a ping of death request containing the sequence +++ATH0 in the payload.
The command set was copied largely verbatim, including the meaning of the registers, by almost all early 300 baud modem manufacturers, of which there were quite a few.
The expansion to 1200 and 2400 baud required the addition of new commands, some of them prefixed with an ampersand (&) to denote those dedicated to new functionality.
Hayes itself was forced to quickly introduce a 2400 baud model shortly after their 1200, and the command sets were identical as a time-saving method.
[6] Essentially by accident, this allowed users of existing 1200 baud modems to use the new Hayes 2400 models without changing their software.
However, Hayes Communications was slow to release modems supporting higher speeds or compression, and three other companies led: Microcom, U.S. Robotics, and Telebit.
The following syntactical definitions apply:[7] A string can contain many Hayes commands placed together, so as to optimally prepare the modem to dial out or answer, e.g. AT&F&D2&C1S0=0X4.
Terminal-emulator software typically allows the user to send Hayes commands directly to the modem, and to see the responses.
While the original Hayes command set represented a huge leap forward in modem-based communications, with time many problems set in, almost none of them due to Hayes per se: As a result of all this, eventually many communications programs had to give up any sense of being able to talk to all "Hayes-compatible" modems, and instead the programs had to try to determine the modem type from its responses, or provide the user with some option whereby they could enter whatever special commands it took to coerce their particular modem into acting properly.
Most USB modem vendors, such as Huawei, Sierra Wireless, Option, have also defined proprietary extensions for radio mode selection (GSM/3G preference) or similar.
[14] Modems with voice or answering-machine capabilities support a superset of these commands to enable digital audio playback and recording.