---------------------------------------------------------- Peter Ingo in c't 2/88 ---------------------------------------------------------- BEFEHLSSATZ HAYES-KOMPATIBLER MODEMS ------------------------------------ Auf dem deutschen Markt gibt es eine Unmenge von Programmen, die den sog. HAYES-Standard bei Modems untersttzen. In erster Linie sind dies integrierte Softwarepakete wie Symphony, FrameWork, Open Access, um hier nur einige Namen zu nennen. Auch der absolute Renner unter den Utilities, n„mlich Borlands SideKick hat eine integrierte Modemfunktion, die nach diesem Standard arbeitet. In den jeweiligen Bedienungsanleitungen befindet sich meist der Hinweis, daá die Modemfunktionen nur mit einem Hayes-kompatiblen Modem m”glich seien und dieser Modemtyp in Deutschland 'noch' nicht erlaubt sei. Diese Kartei beschreibt also nur, was dem deutschen Anwender entgeht. Der Leser kann dann selbst ber Sinn und Unsinn der deutschen Postbestimmungen nachdenken. . Der Begriff HAYES ist schnell erkl„rt. Es handelt sich dabei um einen amerikanischen Modemhersteller, dessen 'Smartmodem' mittlerweile als das Referenzger„t fr den Hayes-Befehlssatz gilt. Es ist heute nahezu undenkbar, daá auf dem internationalen Markt ein Modem hergestellt wird, welches nicht diesen De-facto-Standard erfllt. Žhnliche Verh„ltnisse kennt man von der Centronics- Schnittstelle fr Drucker. . Das der Hayes-Befehlssatz ein Industriestandard wurde, hat seine Ursache in dem einfachen Konzept, das hinter der Modemansteuerung steht. V”llig rechnerunabh„ngig reagiert das Modem auf einfache ASCII-Zeichen, die ber die serielle Schnittstelle an das Modem gelangen. Das Modem verfgt intern ber einen Prozessor, der diese Zeichen in Befehle umwandelt. So lassen sich auf einfachste Art Kommunikationsprogramme schreiben. Ein wesentlicher Grund fr die Etablierung des Standards ist die F„higkeit des Modems, sich selbstst„ndig auf die Parameter eines Anrufers einstellen zu k”nnen. . . VORBILD USA ----------- Das typische Modem in den USA ist heute ein 2400-Baud-Hayes-Modem. Dieses Modem kann aber nicht nur mit 2400 Baud arbeiten, sondern auch mit 300, 600 und 1200 Baud. Dazu kommen noch verschiedene Normen, n„mlich die amerikanische Bell und die europ„ische CCITT- Norm. Diesem 'intelligenten' Modem ist es v”llig egal, welche Baudrate und Norm ein Anrufer benutzt; es stellt immer eine Verbindung her. Vor diesem Hintergrund wird auch verst„ndlich, warum es in den USA kaum einen Soft- und Hardwarehersteller gibt, der fr seine Kunden keinen On-line-Service bereith„lt. Es reichen ja eine Telefonleitung und ein Modem, um jeden Anrufer zu befriedigen. . Hayes-Modems reagieren auf ASCII-Zeichen, also lassen sie sich mit den einfachsten Terminalprogrammen ansprechen. Ein schlichter Kermit reicht aus, um mit jeder Mailbox zu kommunizieren. Bevor eine Verbindung aufgebaut wird, muá man dem Modem ber einige Befehle mitteilen, was zu tun ist. Jedem Befehl geht ein 'AT' voraus, das 'Attention' bedeutet und das Modem veranlasst, den direkt nachfolgenden Befehl entgegenzunehmen und sich auf die jeweilige Baudrate und Parit„t der seriellen Schnittstelle einzustellen. Nachfolgend sind kurz die wichtigsten Befehle beschrieben: . 'D'-DIAL Das Modem w„hlt eine Nummer. Dabei gibt es zwei Spielarten: 'DP' Pulse-Dialing (in Europa blich) 'DT' Touch-Tone-Dialing (in den USA blich). Beide W„hlarten k”nnen auch gemischt werden, wenn zum Beispiel eine private Nebenstallenanlage intern mit Touch-Tone und extern mit Pulse-Dialing arbeitet. 'ATDT0,P01188' wrde beispielsweise mit Touch-Tone eine Null w„hlen (Amtsleitung anfordern), kurz warten und danach mit Pulse-Dialing die Fernsprechauskunft anrufen. Allein diese Befehle reichen vollst„ndig fr SideKicks Modemfunktion aus. . 'A/'-WIEDERHOLUNG Das Modem wiederholt die letzte Funktion. H„ufigste Anwendung ist, die letzte Nummer noch einmal zu w„hlen. . 'H0'-AUFLEGEN Die Verbindung wird abgebrochen, der H”rer 'aufgelegt'. . 'H1'-ABHEBEN Der H”rer wird 'abgehoben', die Leitung erscheint nach auáen hin als besetzt. . 'A'-ANTWORTEN Das Modem sendet einen 'Antwortton' aus. Es versucht eine Verbindung aufzubauen, ohne vorher zu w„hlen. Nach diesem Befehl befindet man sich nicht mehr im Befehlsmodus, den erreicht man erst wieder ber die 'Escape'-Sequenz. . 'S0='-AUTOMATISCH ANTWORTEN Dieser Befehl schaltet den Automatisch-antworten-Modus ein und aus. Bei n=0 antwortet das Modem nicht auf ankommende Anrufe, jede andere Zahl zwischen 1 und 255 legt fest, beim wievielten Klingeln das Modem 'abhebt' und antwortet. . '+++'-ESCAPE Nachdem man eine Verbindung aufgebaut hat, befindet sich das Modem nicht mehr im Befehlsmodus, d.h., alle Zeichen, die man an das Modem schickt, leitet dieses ins Telefonnetz weiter. Empf„ngt es jedoch nach einer Sekunde Pause die drei Pluszeichen und danach wiederum kein Zeichen, schaltet es sofort in den Befehlsmodus zurck, und man kann wieder mit 'AT'Parameter „ndern oder einfach den H”rer 'auflegen'. . Neben diesen wichtigsten Befehlen kann man ber eine Feineinstellung der Parameter das Modem an alle Spielarten der Datenfernbertragung anpassen. Alle Modems namhafter Hersteller arbeiten zuverl„ssig mit den Ger„ten der Deutschen Bundespost (etwa bei Datex-P) zusammen. . RUECKMELDUNGEN -------------- Auf jeden Befehl antwortet das Modem ber die Schnittstelle zum Rechner. Das reicht vom einfachen 'OK' ber eine Stausausgabe aller eingestellten Parameter bis zur Feststellung, daá eine 'VOICE' aufder anderen Seite erkannt wurde. Letzteres ist allerdings nur im amerikanischen Netz m”glich. Im deutschen netz funktionieren zuverl„ssig nur 'CONNECT' und 'NO CARRIER' allein mit 'NO CARRIER' l„át sich aber schon eine Menge machen. Antwortet das Modem nach einem W„hlkommando 'ATDP' mit 'NO CARRIER', so drfte feststehen, daá die andere Seite besetzt ist oder niemand abgehoben hat. Jetzt kann ein Terminalprogramm selbstst„ndig noch einmal w„hlen. Solche fr 'dumme'Modems schon recht komplexe Funktionen kann man ohne groáen Aufwand mit einigen Zeilen Turbo- Pascal realisieren. - - - - ---------------------------------------------------------- ALLGEMEINE MODEM-BEFEHLE ---------------------------------------------------------- Modus-Umschaltung und Wiederholung ---------------------------------------------------------- AT Beginn eines Hayes-Befehles +++ Zurck in den Kommandomodus. Vor und nach diesem Befehl muá eine Sekunde gewartet werden. A/ Automatische Wiederholung des letzten Befehls ---------------------------------------------------------- W„hlen ---------------------------------------------------------- D W„hlen Ziffern: 0-9 Symbole: # und * Befehle: P Pulse-Dialing (Europa) T Touch-Tone-Dialing (USA) , W„hlpause, 2 Sekunden / W„hlpause, 125 ms ; Nach dem W„hlen in den Befehlsmodus R Ein Originate-Modem anrufen ---------------------------------------------------------- Antworten ---------------------------------------------------------- A Beantworten eines Anrufes ohne zu w„hlen ---------------------------------------------------------- Modem-Befehle ---------------------------------------------------------- B B0 CCITT V.21, V.22 (Europa) B1 BELL 103/212A (USA) C C0 Carrier-Signal aus C1 Carrier-Signal an E E0 Echo aus E1 Echo an F F0 Halb-Duplex F1 Voll-Duplex H H0 Modem legt auf H1 Modem hebt ab I I0 Ausgabe des Produktcodes I1 Ausgabe der Firmware-Version I2 Selbsttestfunktion M M0 Lautsprecher aus M1 Lautsprecher an bis zum Carrier M2 Lautsprecher immer an O Zurck in den On-line-Modus Q Q0 Sende Modem-Antwort an Rechner Q1 Keine Atworten senden Sr? Zeige Wert in Register r Sr=n Setze Register r auf n V V0 Numerische antworten V1 Ausgeschriebene Antworten X X0 Grundantworten (OK und CONNECT) X1 Antworten (CONNECT ) X2 Erkenne NO DIALTONE X3 Erkenne BUSY X4 Erkenne NO DIALTONE und BUSY Z Software-Reset ---------------------------------------------------------- REGISTER-FUNKTIONEN ---------------------------------------------------------- W„hlen ---------------------------------------------------------- S6 Warte auf Freizeichen Parameter: 2-255 Sekunden S8 Pausenzeiten fr ein Komma Parameter: 0-255 Sekunden ---------------------------------------------------------- Antworten ---------------------------------------------------------- S0 Anzahl der Klingelzeichen vor dem Abheben Parameter: 0-255 S1 Z„hler fr die Klingelzeichen Parameter: 0-255 ---------------------------------------------------------- W„hlen und Antworten ---------------------------------------------------------- S7 Wartezeit auf einen Carrier nach Wahl oder Antwort Parameter: 1-255 Sekunden S9 Carrier-Erkennungszeit Parameter: 1-255 (in 1/10 Sekunden) S10 Wartezeit zwischen Carrier-Ausfall und dem Auflegen Parameter: 1-255 (in 1/10 Sekunden) ---------------------------------------------------------- Zeichen-Definition ---------------------------------------------------------- S2 ESCAPE-Zeichen Parameter: 1-127 (ASCII) S3 RETURN-Zeichen Parameter: 1-127 (ASCII) S4 LINE-FEED-Zeichen Parameter: 1-127 (ASCII) S5 BACKSPACE-Zeichen Parameter: 1-32 oder 127 (ASCII) ---------------------------------------------------------- Spezial-Befehle ---------------------------------------------------------- S12 Wartezeit auf ein ESCAPE-Zeichen Parameter: 1-255 (in 1/50ekunden) S16 Selbsttest des Modems Parameter: 0-2 ----------------------------------------------------------