~jonjfineman/callerID

7cf1283381a19206c90cff785f8dc730fd5dba38 — jjf 3 years ago
initial
A  => README.md +91 -0
@@ 1,91 @@
# callerID.py

This uses a USRobitics USB [modem][0] to get caller ID from a Plain Old
Telphone Service (POTS) line.

If the caller ID:

* is not a valid phone number[1] it requests the modem to answer the phone and
  then immediatly [hang up][2] on the caller.
* is on the phonebook list it will announce the caller twice.
* is on the block list it requests the modem to answer the phone and then
  immediatly [hang up][2] on the caller.
* is on the silent list it will not announce the call. These are local numbers
  that regulary get spoofed. While we normally don't get any calls from them we
want to be able to pick up just in case.
* is not on any list it will announce one.

[0]Of course I had thrown out all of my modems long ago!

[1]<https://en.wikipedia.org/wiki/North_American_Numbering_Plan>

[2]Interestingly once I added the hang up feature I got much less calls. I
guess they don't like being forced to play for a call completion. Otherwise
they typically hang up before it goes to voice mail.

I am using Python 3.7.7 on OpenBSD 6.7 release

In addition I installed the following packages:

* py3-pip 3.7 19.1.1.1
* socat
* py3-distutils-extra
* espeak
* py3-serial-3.4


## Software Dependencies

* pyserial
* python-distutils-extra
* vobject
* argparse
* logging


## Hardware Dependencies

* U.S. Robotics USR5637 High-performance V.92 modem 56Kbps USB
  <https://www.newegg.com/u-s-robotics-usr5637-dial-up-modem/p/N82E16825104006?Item=N82E16825104006>


## Installation

	cd ~ # or the parrent of whereever you want to install the software
	git clone git@github.com:JonJFineman/callerID.git

I use vdirsyncer[3] to download my phone book. Alternativly you can manually
download it.

set permissions for:

* OpenBSD: /dev/ttyU0
* Raspbian: /dev/ttyACM0


[3]<http://vdirsyncer.pimutils.org/en/stable/>


## Usage

You will need to convert the downloaded VCF file to a flat text file by
running:

	run_convert.sh

Then you will want to add/change any entries in listBlock.txt, listSilent.txt.
I provided a sample for you to follow.


## Operation

Run the below command to run callBlock.py from the command line, which will place it
in the background:

	start_callerid.sh

Or you can run it from cron at boot time by adding the below entry into your
crontab. See crontab.txt.

	@reboot /home/YOUR-PATH/callerID/start_callerid.sh > /tmp/callerid.log 2>&1


A  => announceCall.py +138 -0
@@ 1,138 @@
import sys, os, time
#import pyttsx3
import wave
#import pyaudio



#def announceCallerPYTTS(number, name):
    #engine = pyttsx3.init();

    #rate = engine.getProperty('rate')
    #engine.setProperty('rate', rate+50)

    #engine.setProperty('volume', 1.0)

    #voices = engine.getProperty('voices')

    #engine.setProperty('voice', 'english-us')

    #engine.say('Call From')
    #engine.say(name)
    #for n in number:
    #    engine.say(n)
    #print('pyaudio announced: ', number, name)
    #engine.runAndWait() ;
    #return(True)



def announceCallerFestival(number, name):
    text = 'Call From ' + name + ' ' + number
    #os.system(r'echo "(SayText \"' + text + r'\")" | festival')
    os.system(r'echo "' + text + r'" | festival --tts --language english')
    print('festival announced: ', number, name)
    return(True)



def ringBell(inList):
    print('ringing bell: in phone book: ', inList)
    
    if inList == True:
        #os.system(r'aplay --device=default data/vintage2a.wav')
        print('phone book bell')
        #os.system(r'aplay -q data/vintage2a.wav')
        os.system(r'aucat -i data/vintage2a.wav')
    else:
        print('unknown call bell')
        #os.system(r'aplay -q data/euro_ring.wav')
        os.system(r'aucat -i data/euro_ring.wav')
    return()

    

def announceCallerESpeak(number, name):
    # need to figure out how to announce string of numbers
    #text = 'Call From ' + name + ' ' + number
    text = name
    os.system(r'echo "' + text + r'" | espeak')
    print('espeak announced: ', number, name)
    return(True)



def ringBell_py():
    CHUNK = 1024

    limit = 75
    wf = wave.open('data/vintage2a.wav', 'rb')
    p = pyaudio.PyAudio()

    for i in range(p.get_device_count()):
        dev = p.get_device_info_by_index(i)
        print((i, dev['name'], dev['maxInputChannels']))
    
    stream = p.open(format=p.get_format_from_width(wf.getsampwidth()),
                    channels=wf.getnchannels(),
                    rate=wf.getframerate(),
                    output=True,
                    output_device_index=0)

    print('ringing bell')
    count = 0
    data = wf.readframes(CHUNK)
    while data != '':
        stream.write(data)
        data = wf.readframes(CHUNK)
        count += 1
        if count > limit:
            break

    stream.stop_stream()
    stream.close()
    p.terminate()
    return()

    

def main(argv):
    fd = open('data_test/announceInputTest.txt', 'r')
    phList = fd.readlines()
    fd.close()

    for entry in phList:
        entry = entry.strip()
        if entry == '' or '#' in entry:
            continue
    
        line = entry.split(':')
        number = line[0]
        name   = line[1]
        #print('calling announceCallerPYTTS')
        #ret = announceCallerPYTTS(number, name)
        #time.sleep(1)
        
        #print('calling announceCallerFestival')
        #ret = announceCallerFestival(number, name)
        #time.sleep(1)
        
        print('calling announceCallerESpeak')
        ret = announceCallerESpeak(number, name)
        time.sleep(1)
        break

    #print('calling bell true')
    #ringBell(True)
    #time.sleep(1)
    #print('calling bell false')
    #ringBell(False)
    
    #time.sleep(1)
    #print('calling bell_py')
    #ringBell_py()
    
if __name__ == "__main__":
    main(sys.argv)
    
    

A  => callBlock.py +538 -0
@@ 1,538 @@
import sys, time, serial, signal
import fcntl
import re
import logging
import argparse

from vallidatePhoneNumber import validateNumber
from parseCallerID import parseCallerID
from announceCall import *



for arg in sys.argv:
    print(arg)

# get/parse arguments
parser = argparse.ArgumentParser(description='caller ID blocker')
parser.add_argument('--port', required=False, default='/dev/ttyU0', help='port')
parser.add_argument('--bus', required=False, default='001', help='modem bus')
parser.add_argument('--device', required=False, default='004', help='modem device')
parser.add_argument('--book', required=False, default='data/listBook.txt', help='addr book')
parser.add_argument('--silent', required=False, default='data/listSilent.txt', help='silent book')
parser.add_argument('--block', required=False, default='data/listBlock.txt', help='block book')
parser.add_argument('--log', required=False, default='logs/callerID.log', help='log file')

args = parser.parse_args()
print(  args.port, '\n', \
        args.bus, '\n', \
        args.device, '\n', \
        args.book, '\n', \
        args.silent, '\n', \
        args.block, '\n', \
        args.log )





modemPort = args.port
modemBus = args.bus
modemDevice = args.device
modemUSBDevice = '/dev/bus/usb/' + modemBus + '/' + modemDevice
# MODEM commands
mInit = 'ATZ'
mTurnOnCallerID = 'AT#CID=1'
mHangUp = 'ATH0'
mAnswerVoice = 'ATA'
mAnswerData = 'ATA'
mAnsewrFax = 'AT+FSCLASS=1'
mBreak = '+++'
mLineTerminator = b'\r\n'



# files
CALLER_ID_LOG = args.log
LIST_BOOK     = args.book
LIST_SILENT   = args.silent
LIST_BLOCK    = args.block


# open log file
logging.basicConfig(filename = CALLER_ID_LOG, format='[%(levelname)s] %(asctime)s **** %(message)s')
log = logging.getLogger()
log.setLevel(logging.DEBUG)

log.critical('test-env: critical')
log.error('test-env: error')
log.warning('test-env: warning')
log.info('test-env: info')
log.debug('test-env: debug')


listSilent = []
listBlock = []
listBook = []



def sig_handler(signum, frame):
    global listSilent, listBlock, listBook
    print('Got Signal: ', signum)
    log.info('Got Signal {}, re-reading phone books'.format(signum))
    
    # read phone book, call silent list, call block list
    listSilent = readSilentList()
    print('silent: ', listSilent)
    log.info('silent: {}'.format(listSilent))

    listBlock = readBlockList()
    print('block: ', listBlock)
    log.info('block: {}'.format(listBlock))

    listBook = readPhoneBook()
    #print('book: ', listBook)
    log.info('book: {}'.format(listBook))



def resetUSB(USBDevice):
    USBDEVFS_RESET= 21780

    print("resetting driver:", USBDevice)
    log.info('resetting driver: {}'.format(USBDevice))

    try:
        f = open(USBDevice, 'w', os.O_WRONLY)
        fcntl.ioctl(f, USBDEVFS_RESET, 0)
    except Exception as msg:
        print("failed to reset device: ", msg)
        log.error('failed to reset device: {}'.format(msg))
    
    print("reset driver")
    log.info('reset driver')

    
    
def putModem(ser, line):
    line = line + '\r\n'
    ser.write(line.encode('ascii'))
    ser.flush()
    log.debug('putModem: {}'.format(line))

    #time.sleep(1)
    # need read loop
    # can you turn on/off read timeout?
    #ser.timeout = 1    
    response = getModem(ser)
    print('Modem Responded: ', response)
    log.debug('Modem Responded: {}'.format(response))



def getModem(ser):
    line = ser.readline().decode('ascii')
    #line = ser.read(size=64).decode('ascii')
    line = line.strip()
    log.debug('getModem: {}'.format(line))
    return(line)



def resetInputBuffer(ser):
    ser.reset_input_buffer()
    print('Modem input buffer reset')
    log.debug('Modem input buffer reset')
    return()



def actionHangUpRelay(modemSer):
    # False sets RTS output high, True low
    print('HU Relay going off hook')
    log.debug('HU Relay going off hook')
    ser = serial.Serial(modemPort, timeout=None)
    ser.setRTS(value=1)
    time.sleep(10)
    ser.setRTS(value=0)
    ser.close()
    print('HU Relay going on hook')
    log.debug('HU Relay going on hook')



def actionHangUp(ser):
    # first answer
    line = mAnswerData + '\r\n'
    ser.write(line.encode('ascii'))
    ser.flush()
    log.debug('hang up: answer call: {}'.format(line))
    print('HU send answer')
    time.sleep(4)
    resetInputBuffer(ser)

    # then hang up by interrupting modem
    line = '\r\n'
    ser.write(line.encode('ascii'))
    ser.flush()
    log.debug('hang up: send crlf')
    print('HU send null string')
    time.sleep(2)
    resetInputBuffer(ser)

    # then hang up by ah0 command
    line = mHangUp + '\r\n'
    ser.write(line.encode('ascii'))
    ser.flush()
    log.debug('hang up: HU cmd: {}'.format(line))
    print('HU send hang up cmd')
    time.sleep(2)
    resetInputBuffer(ser)
    
    

def cleanUpModemResponse(line):
    number = re.sub(r'\D', '', line)
    return(number)
        
        
        
def readPhoneBook():
    fd = open(LIST_BOOK, 'r')
    lines = fd.readlines()
    fd.close()
    
    phoneList = []
    for line in lines:
        line = line.strip()
        if line == '' or '#' in line:
            continue
        entry =  line.split(';')
        number = entry[0].split('=')
        name   = entry[1].split('=')
        newEntry = number[1].lower() + ':' + name[1].lower()
        phoneList.append(newEntry)
        
    return(phoneList)



def readSilentList():
    fd = open(LIST_SILENT, 'r')
    lines = fd.readlines()
    fd.close()
    
    phoneList = []
    for line in lines:
        line = line.strip()
        if line == '' or '#' in line:
            continue
        entry =  line.split(';')
        number = entry[0].split('=')
        name   = entry[1].split('=')
        newEntry = number[1].lower() + ':' + name[1].lower()
        phoneList.append(newEntry)
        
    return(phoneList)



def readBlockList():
    fd = open(LIST_BLOCK, 'r')
    lines = fd.readlines()
    fd.close()
    
    phoneList = []
    for line in lines:
        line = line.strip()
        if line == '' or '#' in line:
            continue
        entry =  line.split(';')
        number = entry[0].split('=')
        name   = entry[1].split('=')
        newEntry = number[1].lower() + ':' + name[1].lower()
        phoneList.append(newEntry)
        
    return(phoneList)



def checkPhoneList(number, name, book):
    for i in book:
        n = i.split(':')
        if number == n[0]:
            log.debug('checkPhoneList for {}, found: {}, {}'.format(number, n[0], n[1]))
            return([True, n[0], n[1]])
        
    # if number not found check name and see if it has * for number
    #for i in book:
    #    n = i.split(':')
    #    if name == n[1] and '*' == n[0]:
    #        return(True)

    log.debug('checkPhoneList no match: {}, {}'.format(number, name))
    return([False,'',''] )



def checkSilentList(number, name, book):
    for i in book:
        n = i.split(':')
        if number == n[0]:
            log.debug('checkSilentList for {}, found: {}, {}'.format(number, n[0], n[1]))
            return([True, n[0], n[1]])
        
    # if number not found check name and see if it has * for number
    #for i in book:
    #    n = i.split(':')
    #    if name == n[1] and '*' == n[0]:
    #        return(True)

    log.debug('checkSilentList no match: {}, {}'.format(number, name))
    return([False,'',''] )



def checkBlockList(number, name, book):
    for i in book:
        n = i.split(':')
        if number == n[0]:
            log.debug('checkBlockList for {}, found: {}, {}'.format(number, n[0], n[1]))
            return([True, n[0], n[1]])
        
    # if number not found check name and see if it has * for number
    for i in book:
        n = i.split(':')
        if name == n[1] and '*' == n[0]:
            log.debug('checkBlockList for {}, found: {}, {}'.format(name, n[0], n[1]))
            return([True, n[0], n[1]])

    log.debug('checkBlockList no match: {}, {}'.format(number, name))
    return([False,'',''] )
        
        

def main(argv):
    global listSilent, listBlock, listBook

    # open unknown number file

    # if lost modem connection retry 10 times

    # initialize modem
    #try:
        #ser = serial.Serial('/dev/ttyACM0', timeout=5)
    ser = serial.Serial(modemPort, timeout=None)
    #ser.reset_input_buffer()
    resetInputBuffer(ser)
    print('Connected to MODEM at: ', ser.name)
    log.info('Connected to MODEM at: {}'.format(ser.name))
    #except Exception as e:
        #print ("Exception: Opening modem: " + str(e))

    #try:
    print('Sending MODEM: ', 'init')
    log.info('Sending MODEM: init')
    putModem(ser, mInit)
    #time.sleep(0.5)
    print('Sending MODEM: ', 'turn on caller id')
    log.info('Sending MODEM: turn on caller id')
    putModem(ser, mTurnOnCallerID)
    #time.sleep(0.5)

    #except Exception as e:
        #print ("Exception: Initializing modem: " + str(e))



    # read phone book, call silent list, call block list
    listSilent = readSilentList()
    print('silent: ', listSilent)
    log.info('silent: {}'.format(listSilent))

    listBlock = readBlockList()
    print('block: ', listBlock)
    log.info('block: {}'.format(listBlock))

    listBook = readPhoneBook()
    #print('book: ', listBook)
    #log.debug('book: {}'.format(listBook))

    # main loop
    intervalTOD = 15
    currentTOD = previousTOD = time.time()
    mName = ''
    mNumber = ''
    bell = False
    nameInBook = False
    gotName = gotNumber = gotRing = False
    firstTime = True
    while True:
        if firstTime:
            firstTime = False
        else:
            pass
        
        # read modem for call status
        mInput = getModem(ser)
        if mInput == '':
            log.debug('modem sent blank line')
            continue
        print('modem sent: ', mInput)
        log.info('modem sent: {}'.format(mInput))

        # parse modem input
        # [0] status code
        # [1] token
        # [3] value
        ret = parseCallerID(mInput)
        if ret[1] == 'ok':
            log.error('not sure why we got ok: {}'.format(mInput))
            continue
        
        if ret[1] == 'mesg':
            log.critical('modem not configured properly: {}'.format(mInput))
            break
        
        if ret[0] != 0:
            log.error('parse token failure: {}'.format(mInput))
            continue
        
        if ret[1] == 'ring':
            gotName = gotNumber = False
            mName = mNumber = ''
            currentTOD = time.time()
            if currentTOD - previousTOD <= intervalTOD:
                if bell == True:
                    log.info('incoming call, ringing bell')
                    # jjf ringBell(nameInBook)
            gotRing = True
            log.info('incoming call')
            continue
        
        if ret[1] == 'date':
            mDate = ret[2]
            log.info('incoming date: {}'.format(mDate))
            continue
        
        if ret[1] == 'time':
            mTime = ret[2]
            log.info('incoming time: {}'.format(mTime))
            continue
        
        if ret[1] == 'name':
            mName = ret[2].lower()
            gotName = True
            log.info('incoming name: {}'.format(mName))
            #continue
        
        if ret[1] == 'nmbr':
            mNumber = ret[2]
            gotNumber = True
            log.info('incoming nmbr: {}'.format(mNumber))
            
        # wait until we have both name and number
        if gotName == True and gotNumber == True:
            gotName = gotNumber = False
            nameInBook = False
            previousTOD = time.time()
            log.debug('got number and name {}, {}'.format(mNumber, mName))
            
            # validate area code and NPA rules
            ret = validateNumber(mNumber)
            if ret[0] != 0:
                print(ret)
                log.info(ret)
                bell = False
                nameInBook = False
                #actionHangUpRelay(ser)
                actionHangUp(ser)
                continue

            # check number
            # if both name and number are null skip announcing
            if mName == '' and mNumber == '':
                log.info('name={}, number={}, skipping'.format(mName, mNumber))
                bell = False
                nameInBook = False
                continue
            
            #
            # check phone book, if found announce
            #
            listName = ''
            log.debug('checking for book number:{}:, name:{}:'.format(mNumber, mName))
            ret = checkPhoneList(mNumber, mName, listBook)
            if ret[0] == True:
                listName = ret[2]
                print('book found: ', mNumber, listName)
                log.info('book found: {} {}'.format(mNumber, listName))
                # call announce routine
                log.info('announcing: {}, {}'.format(mNumber, listName))
                # jjf announceCallerFestival(mNumber, listName)
                # and announce again 
                #announceCallerFestival(mNumber, listName)
                announceCallerESpeak(mNumber, listName)
                # announce second time
                announceCallerESpeak(mNumber, listName)
                bell = True
                nameInBook = True
                continue

            #
            # check block list, if found hang up
            #
            log.debug('checking for block number:{}:, name:{}:'.format(mNumber, mName))
            ret = checkBlockList(mNumber, mName, listBlock)
            if ret[0] == True:
                listName = ret[2]
                print('block found: ', mNumber, listName)
                log.info('block found: {} {}'.format(mNumber, listName))
                #actionHangUpRelay(ser)
                actionHangUp(ser)
                bell = False
                nameInBook = False
                #ser.close()
                #resetUSB(modemUSBDevice)
                #ser.open()
                continue
        
            #
            # check silent list, if found don't announce
            #
            log.debug('checking for silent number:{}:, name:{}:'.format(mNumber, mName))
            ret = checkSilentList(mNumber, mName, listSilent)
            if ret[0] == True:
                listName = ret[2]
                print('silent found: ', mNumber, listName)
                log.info('silent found: {} {}'.format(mNumber, listName))
                bell = False
                nameInBook = False
                continue
        
            #
            # announce once if unsolicited 
            #
            log.info('announcing: {}, {}'.format(mNumber, listName))
            # jjf announceCallerFestival(mNumber, listName)
            announceCallerESpeak(mNumber, mName)
            bell = True
            log.info('incoming call, ringing bell')
            # jjf ringBell(nameInBook)
        
            #
            # prompt to leave a message ???
            #
        
    # bottom of main loop
    
    
    
if __name__ == "__main__":
    
    # define signal
    signal.signal(signal.SIGUSR1, sig_handler)

    main(sys.argv)


A  => convertVCard.py +67 -0
@@ 1,67 @@
import sys
import argparse

import logging
import re
import vobject



for arg in sys.argv:
    print(arg)

# get/parse arguments
parser = argparse.ArgumentParser(description='caller ID blocker')
parser.add_argument('--vcardIn', required=False, default='data/complete.vcf', help='input vcard file')
parser.add_argument('--vcardOut', required=False, default='data/listBook_new.txt', help='output vcard file')
parser.add_argument('--log', required=False, default='logs/vcard.log', help='log file')

args = parser.parse_args()
print(  args.vcardIn, '\n', \
        args.vcardOut, '\n', \
        args.log )



logFileName = args.log
vcardIn = args.vcardIn
vcardOut = args.vcardOut



# open log file
logging.basicConfig(filename = logFileName, format='[%(levelname)s] %(asctime)s **** %(message)s')
log = logging.getLogger()
log.setLevel(logging.DEBUG)

log.critical('test-env: critical')
log.error('test-env: error')
log.warning('test-env: warning')
log.info('test-env: info')
log.debug('test-env: debug')



fdBook = open(vcardOut, 'w')

with open(vcardIn, 'r') as fd:
    inCard = fd.read()
    vcardlist = vobject.readComponents(inCard)
    for vcard in vcardlist:
        #print(vcard)
        #print(vcard.prettyPrint)
        try:
            vName = vcard.contents['fn']
            vNumber = vcard.contents['tel']
        except Exception as e:
            log.warning('no tel for: {}'.format(vName[0].value))
            continue
        for num in vNumber:
            vNumber = num.value
            vNumber = re.sub(r'\+1', '', vNumber)
            vNumber = re.sub(r'\D', '', vNumber)
            print('NMBR={};NAME={}'.format(vNumber,vName[0].value))
            fdBook.write( 'NMBR={};NAME={}'.format(vNumber,vName[0].value) + '\n' )

fdBook.close()


A  => data/euro_ring.wav +0 -0
A  => data/sample_complete.vcf +26 -0
@@ 1,26 @@
BEGIN:VCARD
VERSION:3.0
FN:AAA
N:;AAA;;;
ORG:AAA;
TEL;TYPE=main;TYPE=pref:(800) 555-1212
TEL;TYPE=cell;TYPE=voice:(800) 555-1212
ITEM1.TEL:(800) 555-1212
ITEM1.X-ABLABEL:City
ITEM2.ADR;TYPE=work;TYPE=pref:;;road;City;NY;00000;United Sta
 tes
ITEM2.X-ABADR:us
END:VCARD
BEGIN:VCARD
VERSION:3.0
FN:BBB
N:;BBB;;;
ORG:BBB;
TEL;TYPE=main;TYPE=pref:(800) 555-1213
TEL;TYPE=cell;TYPE=voice:(800) 555-1213
ITEM1.TEL:(800) 555-1213
ITEM1.X-ABLABEL:City
ITEM2.ADR;TYPE=work;TYPE=pref:;;road;City;NY;00000;United Sta
 tes
ITEM2.X-ABADR:us
END:VCARD

A  => data/sample_listBlock.txt +39 -0
@@ 1,39 @@
# blocked number list
# star is wildcard
#NMBR=*;NAME=name not provided
#NMBR=*;NAME=not provided
NMBR=*;NAME=o
NMBR=*;NAME=not in service
#NMBR=*;NAME=unknown name
NMBR=unknown number;NAME=*
NMBR=unknown number;NAME=Unknown Name
NMBR=0000000000;NAME=*

NMBR=*;NAME=AXACORE
NMBR=*;NAME=B R INTERVIEWIN
NMBR=*;NAME=CALL RESEARCH
NMBR=*;NAME=Call Research
NMBR=*;NAME=ENTERPRISE RENT
NMBR=*;NAME=FIRE ASSOC
NMBR=*;NAME=IBM
NMBR=*;NAME=ILLEGAL SCAM
NMBR=*;NAME=MAXIMUM RESEARC
NMBR=*;NAME=MAXIMUM RESEARCH
NMBR=*;NAME=MED LEAGUE SUPP
NMBR=*;NAME=MONTSERRAT CALL
NMBR=*;NAME=NOVA SCOTI CALL
NMBR=*;NAME=ORION
NMBR=*;NAME=PAGENET
NMBR=*;NAME=POLL RESEARCH
NMBR=*;NAME=RYAN 100 HOLDIN
NMBR=*;NAME=SERVICE EXPERTS
NMBR=*;NAME=SSI
NMBR=*;NAME=SSI-DYNATA
NMBR=*;NAME=SUPPORT ASSOC
NMBR=*;NAME=SURVEY TECHNOLO
NMBR=*;NAME=TPC RESEARCH
NMBR=*;NAME=TUESDAYSCHILDR
NMBR=*;NAME=TVG PICKUP
NMBR=*;NAME=WCF

NMBR=9082242185;NAME=*

A  => data/sample_listBook.txt +3 -0
@@ 1,3 @@
NMBR=8005551213;NAME=Sample Name
NMBR=8005551212;NAME=Sample Business
NMBR=411;NAME=Directory Assistance

A  => data/sample_listSilent.txt +14 -0
@@ 1,14 @@
# silent list i.e don't anounce
# start is wildcard
NMBR=*;NAME=NOVA SCOTI CALL
NMBR=*;NAME=TEXAS CALL
NMBR=*;NAME=WASH DC CALL
NMBR=*;NAME=IDAHO CALL

NMBR=*;NAME=name not provided
NMBR=*;NAME=not provided
NMBR=*;NAME=o
NMBR=*;NAME=not in service
NMBR=*;NAME=unknown name
NMBR=unknown number;NAME=*
NMBR=unknown number;NAME=Unknown Name

A  => data/vintage2.mp3 +0 -0
A  => data/vintage2.ogg +0 -0
A  => data/vintage2.wav +0 -0
A  => data/vintage2a.wav +0 -0
A  => data_test/announceInputTest.txt +2 -0
@@ 1,2 @@
2125551212:First Entry
2125551213:Second Entry

A  => data_test/callerIDInputTest.txt +30 -0
@@ 1,30 @@
RING

DATE=1003
TIME=1840
NAME=NEW YORK CALL
NMBR=2125551212

RING

RING

RING

DATE = 0321
TIME = 1405
NMBR = 5045551234
NAME = A N OTHER

RING

RING

RING

MESG = 060342424231

RING

OK


A  => data_test/testList.txt +13 -0
@@ 1,13 @@
# good numbers
908-555-1212
908 555 1234
9085551212
555-1212
   555-1235

# bad numbers
000
000-555-1212
aaa-555-1212
90-555-1212
908-   -1212

A  => doc/5637-ds.pdf +0 -0
A  => doc/AT Command Reference Manual.html +7868 -0
@@ 1,7868 @@
<html><head>
<title>AT Command Reference Manual</title>
<link href="../../styles.css" rel="stylesheet" type="text/css">
</head>
<body class="bodytext">
<p class="mainsubhead">AT Commands for <br>
RC288ACx and RC144ACx Modem Families</p>

<p class="subheadlinktext"><b>Reference Manual<br>
(Preliminary)</b><p>
	Order No. 1048P<br>	Rev. 3, January 31, 1996<p>

<hr>
<b>
This document is provided electronically for use for the express
purpose of assisting software developers and end users answer
frequently asked questions about Rockwell modem products.
<p>
This manual ONLY describes
the GENERIC Rockwell AT command set.  Modem vendors often change,
add, and delete commands based on their particular product and
feature set. Thus this document does not necessarily describe the AT
commands used within your modem, even if it is based on Rockwell
chipset products. Always consult your modem vendor's documentation
first.
</b>

<HR>

<b>NOTICE</b><p>
Information furnished by Rockwell International Corporation is believed
to be accurate and reliable. However, no responsibility is assumed by Rockwell
International for its use, nor any infringement of patents or other rights of
third parties which may result from its use. No license is granted by
implication or otherwise under any patent rights of Rockwell International
other than for circuitry embodied in Rockwell products. Rockwell International
reserves the right to change circuitry at any time without notice. This
document is subject to change without notice.<p>
<p>
ConfigurACE is a trademark of Rockwell International.<br>MNP is a registered
trademark of Microcom, Inc. <br>Hayes is a registered trademark of Hayes
Microcomputer Products, Inc.<p>
<p>
<HR>
<ol>
<li><a href="#RTFToC1">INTRODUCTION</a>
<li><a href="#RTFToC8">COMMAND SYNTAX</a>
 <ul>
<li><a href="#RTFToC9">2.1 DTE/DCE INTERCHANGE CIRCUITS</a>
<li><a href="#RTFToC10">2.2 COMMAND SYNTAX AND GUIDELINES</a>
<li><a href="#RTFToC13">2.3 AT COMMAND GUIDELINES</a>
 </ul>
<li><a href="#RTFToC16">AT COMMAND SET</a>
 <ul>
<li><a href="#RTFToC17">3.1 AT COMMAND GUIDELINES</a>
<li><a href="#RTFToC21">3.2 AT COMMAND SET</a>
  <ul>
<li><a href="#RTFToC22">3.2.1 AT Commands</a>
<li><a href="#RTFToC47">3.2.2 AT&amp; Commands</a>
<li><a href="#RTFToC66">3.2.3 AT% Commands</a>
<li><a href="#RTFToC70">3.2.4 AT\ Commands</a>
<li><a href="#RTFToC74">3.2.5 AT+ Commands</a>
<li><a href="#RTFToC80">3.2.6 AT- Commands</a>
  </ul>
<li><a href="#RTFToC83">3.3 ERROR DETECTION AND DATA COMPRESSION COMMANDS</a>
<li><a href="#RTFToC89">3.4 MNP 10 COMMANDS</a>
<li><a href="#RTFToC98">3.5 W-CLASS COMMANDS</a>
<li><a href="#RTFToC102">3.6 CALLER ID COMMANDS</a>
<li><a href="#RTFToC110">3.7 CELLULAR COMMANDS</a>
<li><a href="#RTFToC121">3.8 AT COMMAND RESULT CODES</a>
 </ul>
<li><a href="#RTFToC177">S-REGISTERS</a>
 <ul>
<li><a href="#RTFToC178">4.1 FACTORY DEFAULTS</a>
<li><a href="#RTFToC179">4.2 S-REGISTER DEFINITIONS</a>
 </ul>
<li><a href="#RTFToC228">FAX CLASS 1 COMMANDS</a>
<li><a href="#RTFToC251">FAX CLASS 2 COMMANDS</a>
<li><a href="#RTFToC320">VOICE/AUDIO COMMANDS</a>
 <ul>
<li><a href="#RTFToC321">7.1 VOICE/AUDIO SUBMODES</a>
<li><a href="#RTFToC325">7.2 VOICE/AUDIO CAPABILITIES</a>
<li><a href="#RTFToC357">7.3 AT VOICE COMMAND SUMMARY</a>
<li><a href="#RTFToC407">7.4 S-REGISTERS </a>
<li><a href="#RTFToC409">7.5 RESULT CODES FOR VOICE OPERATION</a>
<li><a href="#RTFToC410">7.6 EXAMPLES OF VOICE OPERATION</a>
 </ul>
<li><a href="#RTFToC411">AT COMMAND SET SUMMARY</a>
 <UL>
<li><a href="#RTFToC412">8.1 BASIC AT COMMANDS</a>
<li><a href="#RTFToC413">8.2 ECC COMMANDS</a>
<li><a href="#RTFToC414">8.3 MNP 10 COMMANDS</a>
<li><a href="#RTFToC415">8.4 W-CLASS COMMANDS</a>
<li><a href="#RTFToC416">8.5 CALLER ID COMMANDS</a>
<li><a href="#RTFToC417">8.6 FAX CLASS 1</a>
<li><a href="#RTFToC418">8.7 FAX CLASS 2</a>
<li><a href="#RTFToC419">8.8 VOICE/AUDIO COMMANDS</a>
<li><a href="#RTFToC420">8.9 CELLULAR COMMANDS</a>
 </UL>
<li><a href="#RTFToC421">COMMON CONFIGURATION SETUP STRINGS</a>
</ol>

<HR>
<p>
<b><i>PREFACE</i></b><p>
This manual supersedes the following manuals:<p>
1.	AT Command Reference Manual for the RC288ACi and RC288ACL Modem Families
(Order No. 1048, Rev.2, May 5, 1995).<p>
2.	AT Command Reference Manual for the RC144ACi/ATi, RC144ACL/ATL,
RC144ACF/ATF, RC144ACFL/ATFL, and RC144ACG Modem Families (Order No. 883,
Rev.3, May 5, 1995).<p>
This revision includes RC144ACx unique functions. This revision also
incorporates default value changes to reflect RC288ACi/RC288ACL Firmware
Version V1.400/V1.410. Major changes included in this revision are summarized
below.<p>
1.	In Section 1.1, the reference to RHSI was deleted.<p>
2.	In Section 3.2.1, Fn was added for RC144 support.<p>
3.	In Section 3.2.1, J and K were deleted from the Dn command.<p>
4.	In Section 3.2.1, the I3 definition was expanded in the In command.<p>
5.	In Section 3.2.1, the Y1 definition was corrected in the Yn command.<p>
6.	In Section 3.2.2, the &amp;Tn definition was expanded.<p>
7.	In Section 3.2.2, the maximum length of a telephone number that can be
stored using the &amp;Z command was changed to 34 digits.<p>
8.	In Section 3.2.2, the &amp;Tn default was changed to &amp;T5.<p>
9.	In Section 3.2.4, the \Vn - Single Line Connect Message Enable command was
added.<p>
10.	In Section 3.2.5, 11 was added to the list of supported modulations in +MS
command Reporting Supported Options example for 288ACx. The Subparameter
Definitions for item 2 &lt;automode&gt; were also revised.<p>
11.	In Section 3.2.5, the +H11 definition was added to +Hn command.<p>
12.	In Section 3.4.1, the )Mn command definition was deleted except for command
response compatibility.<p>
13.	In Section 3.4.1, the *Hn command definition was deleted except for command
response compatibility.<p>
14.	In Section 3.4.1, the -Kn default value was changed to  -K0.<p>
15.	In Section 3.4.1, the -Qn command definition was deleted except for command
response compatibility.<p>
16.	In Section 3.4.1, the -SEC command definition note was expanded.<p>
17.	In Section 3.4.1, the @Mn command definition was deleted except for command
response compatibility.<p>
18.	In Section 3.7.3, the definition was revised and expanded.<p>
19.	In Section 4.2, S21 default value was changed to 52 (34h) (to reflect
&amp;D2 and &amp;C1 selected).<p>
20.	In Section 4.2, S23 default value was changed to 62 (3Dh) (to reflect 38400
or higher DTE speed).<p>
21.	In Section 4.2, S27 default value was changed to 73 (to reflect B1, Bell
mode). Bit 2 state 1 was deleted.<p>
22.	In Section 4.2, S28 bits 6-7 were changed to reserved.<p>
23.	In Section 4.2, S29 default value was changed to 70 (to reflect 700 ms).<p>
24.	In Section 4.2, \Vn was added to S31 and S31 default value was changed to
194 (C2h) (to reflect a constant).<p>
25.	In Section 4.2, S40 default value was changed to 104 (68h) (to reflect -K0,
Disable extended services). Bit 2 was changed to reserved.<p>
26.	In Section 4.2, S41 default value was changed to 195 (C3h) (to reflect %E2,
Fallback/Fall forward enabled). Bit 27 was changed to reserved.<p>
27.	In Section 4.2, S201 was deleted.<p>
28.	In Section 5.1.3, the sentence referring to carrier loss for a time period
longer than the time specified by the register S10 was deleted. S10 does not
have any affect in fax data reception.<p>
29.	In Section 7 introduction, silence deletion was deleted.<p>
30.	In Section 7.1.2, silence deletion was deleted.<p>
31.	In Section 7.1.3, silence deletion was deleted.<p>
32.	In Section 7.2.3, the reference to RHSI was deleted and, in Table 7-1, the
0.5 (16-bits) option was deleted.<p>
33.	In Section 7.2.3, Table 7-2, silence deletion was deleted from the
&lt;DLE&gt;q description.<p>
34.	In Section 7.2.7, the volume ajustment during playback was revised.<p>
35.	In Section 7.3.1, the following paragraph was added to the introduction:
"All voice commands that can have a value of 0-255 will not respond error if a
value above 255 is entered; the resulting value will be the value entered minus
256 or 512, etc."<p>
36.	In Section 7.3.2, #TL command, the result code definition was modified and
the note for #TL command applicability was added.<p>
37.	In Section 7.3.2, #VBT command, the phrase "via the D command" was
deleted.<p>
38.	In Section 7.3.2, #VLS command, telephone emulation (#VLS=5) was added to
the command options and to Table 7-5. <p>
39.	In Section 7.3.2, #VSD command, the #VSD=1 command definition was deleted
except for command response compatibility.<p>
40.	In Section 7.3.2, #VSP command, description of operation with silence
deletion was deleted.<p>
41.	In Section 7.3.2, #VSR command, the result code definition was revised to
delete the operation with #VBS=16.<p>
42.	In Section 7.3.2, #VSS command, the default was changed.<p>
43.	In Section 7.6, Table 7-7, the #VSD=1 command description and reference to
silence deletion under #VSS=1 command were deleted.<p>
44.	In Section 7.6, Table 7-8, the #VSD=1 command description was deleted.<p>
45.	In Section 7.6, Table 7-9, the #VSD=1 command was deleted, the #VSS=2
command description was revised, and the #VRX CONNECT description was
revised.<p>
46.	In Section 7.6, Table 7-10, the #VSS=2 command description and the #VRX
command CONNECT descriptions were revised.<p>
47.	In Section 7.6, Table 7-11, the #VSS=2 command description was revised and
the #VSD=1 command was deleted.<p>
48.	In Section 7.6, Table 7-12, the #VSS=2 command description was revised.<p>
49.	In Section 8, the command summary was changed to reflect revised
commands.<p>
<p>
<b><i>Table of Contents</i></b><p>
<b><i> List of Tables</i></b><p>
Table 3-1. Result Codes	<p>
Table 3-2. Remote Modem Configuration and Resulting Transmit Levels	<p>
Table 4-1. S-Register Summary	<p>
Table 5-1. Fax Class 1 Commands	<p>
Table 5-2. Fax Class 1 Calling Sequence (One Page)	<p>
Table 5-3. Fax Class 1 Answering Sequence (One Page)	<p>
Table 6-1. Fax Class 2 Commands	<p>
Table 6-2. T.30 Session Subparameter Codes	<p>
Table 6-3. T.30 Post Page Message Codes	<p>
Table 6-4. T.30 Post Page Response Messages	<p>
Table 6-5. Hang Up Status Codes	<p>
Table 6-6. Send Two Pages, 1-D, No Errors	<p>
Table 6-7. Receive Two Pages, 1-D Data, No Errors	<p>
Table 7-1. DTE Speeds	<p>
Table 7-2. Codes Sent to the DTE	<p>
Table 7-3. Shielded DTE Codes	<p>
Table 7-4. AT Voice Commands	<p>
Table 7-5. Device Types Supported by #VLS	<p>
Table 7-6. #VTD Tone Detection/Reporting Bit Settings	<p>
Table 7-7. Record a Greeting Message	<p>
Table 7-8. Playback a Greeting Message	<p>
Table 7-9. Answer Call/Play Greeting/Record Message	<p>
Table 7-10. Call/Record Message/Receive Fax	<p>
Table 7-11. Answer Call, Determine It's a Fax	<p>
Table 7-12. Adaptive Fax/Data/Voice; Determine Data	<p>
Table 7-13. Originate a Call, Send Answerer a Message	<p>
<p>
<b><i>List of Figures</i></b><p>
Figure 6-1. T.30 Session Parameter Relationships	<p>
<p>
<a name="_Toc343068178"></a><a name="_Toc347715434"></a>
<p class="subheadlinktext">
<a name="RTFToC1">1.
INTRODUCTION</a>
<a name="_Toc343068179"></a><a name="_Toc347715435"></a></p>
<p class="bodytext"><b>
<a name="RTFToC2">1.1
OVERVIEW</a></a>
</a></b></p>
This manual describes the AT commands for the following Rockwell modem
families:<p>
	RC288ACi <br>	RC288ACL<br>	RCV288ACi/SP<br>	RCV288ACF/SP and RCV288ACF<br>
RCV288ACi/SVD<br>	RCV288ACL/SVD<br><p>
	RC144ACi and RC144ATi<br>	RC144ACL and RC144ATL<br>	RC144ACG<br>	RC144ACF and
RC144ATF<br>	RC144ACFL and RC144ATFL<br>	RCV144ACi/SP<br>	RCV144ACF/SP and
RCV144ACF<p>
The descriptions apply to all these modems with any differences between modem
product families noted. Refer to Modem FIrmware Release notes for the exact
applicable commands to modem firmware.<p>
ATi, ATL, ATF, and ATFL models support error correction and data compression
(ECC) performed by the host CPU and communications software for Windows using
the enhanced Rockwell Windows Protocol Interface (RPI or RPI+(TM)) and WinRPI
host software module.
<a name="_Toc343068180"></a><a name="_Toc347715436"></a>
<p class="bodytext"><b><i>
<a name="RTFToC3">1.1.1
Command Syntax</a>
</i></b></p>
The fundamental DTE interface command syntax is described in Section 2.
<a name="_Toc343068181"></a><a name="_Toc347715437"></a>
<p class="bodytext"><b><i>
<a name="RTFToC4">1.1.2
Command Descriptions</a>
</i></b></p>
These commands are grouped into the following categories:<p>
	AT commands	Section 3<br>	S-Registers	Section 4<br>	Fax Class 1 commands
Section 5<br>	Fax Class 2 commands	Section 6<br>	Voice/Audio commands	Section
7<p>
The AT commands are implemented in microcontroller (MCU) firmware for specific
modem models. The support for a command category is identified by modem model
in the modem designer's guide. Additional configuration and implementation
information is available in release notes and/or readme files that accompany
MCU firmware release.
<a name="_Toc343068182"></a><a name="_Toc347715438"></a>
<p class="bodytext"><b><i>
<a name="RTFToC5">1.1.3
Call Progress and Blacklisting Parameters</a>
</i></b></p>
The modem MCU firmware may be provided either in reconfigurable form or
preconfigured form. Consult the specific firmware release notes for exact
configuration information.<p>
<b>Reconfigurable Form.</b> The modem MCU firmware can be configured for
operation in specific countries by the PC-compatible ConfigurACE II program.
The call progress and blacklisting parameters described in the ConfigurACE II
User's Manual can be altered and loaded for a number of countries by this
program. <p>
<b>Preconfigured Form.</b> Specific MCU firmware configurations may be released
that can be directly installed without requiring the use of ConfigurACE II.
<a name="_Toc343068183"></a><a name="_Toc345311432"></a><a name="_Toc347715439"></a>
<p class="bodytext"><b><i>
<a name="RTFToC6">1.1.4
ConfigurACE II</a>
</i></b></p>
The ConfigurACE II User's Manual describes the use of ConfigurACE II and the
country modifiable parameters. Consult any readme files accompanying the
ConfigurACE&nbsp;II program for additional or later information.
<a name="_Toc343068184"></a><a name="_Toc347715440"></a>
<p class="bodytext"><b>
<a name="RTFToC7">1.2
REFERENCE DOCUMENTATION</a>
</b></p>
<b>	Order No.	Description</b><p>
	MD86	RC144ACi and RC144ACL Modem Data Sheet<p>
	MD108	RC144ACG Modem Data Sheet<p>
	MD95	RC144ATi and RC144ATL Modem Data Sheet<p>
	MD129	RC144ACF and RC144ATF Modem Data Sheet<p>
	MD130	RC144ACFL and RC144ATFL Modem Data Sheet<p>
	MD137	RCV144ACi/SP Modem Data Sheet<p>
	MD146	RC144ACF/SP and RC144ATF/SP Modem Data Sheet<p>
	MD127	RC288ACi and RC288ACL Modem Data Sheet<p>
	MD134	RC288ACi/SVD Integrated V.34 Data/V.17 Fax/Voice/SVD Modem Data Sheet<p>
	MD150	RC288ACF/SP and RC288ATF/SP Modem Data Sheet<p>
	MD161	RC288ACL/SVD Modem Data Sheet<p>
<p>
	876	RC144ACi and RC144ACL Modem Designer's Guide<p>
	897	RC144ATi and RC144ATL Modem Designer's Guide<p>
	1008	RC144ACG Modem Designer's Guide<p>
	1055	RC144ACF and RC144ATF Modem Designer's Guide<p>
	1046	RC144ACF/SP and RC144ATF Modem Designer's Guide<p>
	1027	RC288ACi and RC288ACL Modem Designer's Guide<p>
	1046	RC288ACF/SP, RC288ATF/SP, RC144ACF/SP, and RC144ATF/SP Modem Designer's
Guide<p>
	1054	RC288ACi/SVD Modem Designer's Guide<p>
	1082	RC144ACF/ASVD and RCV288ACF/ASVD Modem Designer's Guide<p>
	1096	RC288ACL/SVD SP Modem Designer's Guide<p>
<p>
	893	ConfigurACE II User's Manual<p>
<a name="_Toc343068185"></a><a name="_Toc347715441"></a>
<p class="subheadlinktext">
<a name="RTFToC8">2. COMMAND SYNTAX</a>
<a name="_Toc343068186"></a><a name="_Toc347715442"></a></p>
<p class="bodytext"><b>
<a name="RTFToC9">2.1
DTE/DCE INTERCHANGE CIRCUITS</a></a>
</a></b></p>
Communication between the DTE and modem is half duplex (i.e., only one entity
'talks' at a time).
<a name="_Toc343068187"></a><a name="_Toc347715443"></a>
<p class="bodytext"><b>
<a name="RTFToC10">2.2
COMMAND SYNTAX AND GUIDELINES</a>
<a name="_Toc343068188"></a><a name="_Toc347715444"></a></b></p>
<p class="bodytext"><b><i>
<a name="RTFToC11">2.2.1
DTE Commands</a></a>
</a></i></b></p>
The ISO 646 character set (CCITT T.50 International Alphabet 5, American
Standard Code for Information Interchange) is used for the issuance of commands
and responses. Only the low-order 7 bits of each character are used for
commands or parameters; the high-order bit is ignored. Upper case characters
are equivalent to lower case characters.
<a name="_Toc343068189"></a><a name="_Toc347715445"></a>
<p class="bodytext"><b><i>
<a name="RTFToC12">2.2.2
DTE Command Lines</a>
</i></b></p>
A command line is a string of characters sent from a DTE to the DCE while the
DCE is in a command state. Command lines have a prefix, a body, and a
terminator. The prefix consists of the ASCII characters "AT" (065, 084) or "at"
(097, 116). The body is a string of commands restricted to printable ASCII
characters (032 - 126). Space characters (ASCII 032) and control characters
other than carriage return &lt;CR&gt; (default value = ASCII 013 = 0Dh, see
register S3), backspace &lt;BS&gt; (default value = ASCII 008 = 08h, see
register S5), and cancel &lt;cntrl-x&gt; (ASCII 024 = 18h) in the command
string are ignored. The default terminator is the &lt;CR&gt; character.
Characters that precede the AT prefix are ignored.
<a name="_Toc343068190"></a><a name="_Toc347715446"></a>
<p class="bodytext"><b>
<a name="RTFToC13">2.3
AT COMMAND GUIDELINES</a>
</b></p>
Modem operation is controlled by generic AT commands. These AT commands may be
basic AT (i.e., commands preceded by AT, AT&amp;, AT%, AT*, AT\, AT), AT-, or
AT#), S-Register (e.g., S6=n), Fax class 1 (e.g., +FTM), Fax class 2 (e.g.,
+FDCS:), or voice (e.g., #VBS) commands. The command syntax and operation
guidelines governing each of these command categories are described in
subsequent sections.
<a name="_Toc343068191"></a><a name="_Toc347715447"></a>
<p class="bodytext"><b><i>
<a name="RTFToC14">2.3.1
Basic Command Syntax</a>
</i></b></p>
Characters within the command line are parsed as commands with associated
parameter values. The basic commands consist of single ASCII characters, or
single characters preceded by a prefix character, followed by a decimal
parameter (e.g., "&amp;D1"). Missing decimal parameters are evaluated as 0. 
<a name="_Toc343068192"></a><a name="_Toc347715448"></a>
<p class="bodytext"><b><i>
<a name="RTFToC15">2.3.2
Extended Command Syntax</a>
</i></b></p>
The facsimile commands use extended syntax. They are preceded by the "+F"
characters, and they are terminated by the semicolon ":" character (ASCII 059)
or by the &lt;CR&gt; that terminates the command line.<p>

<a name="_Toc343068193"></a><a name="_Toc347715449"></a>
<p class="subheadlinktext">
<a name="RTFToC16">3. AT COMMAND SET</a>
<a name="_Toc343068194"></a><a name="_Toc347715450"></a></p>
<p class="bodytext"><b>
<a name="RTFToC17">3.1
AT COMMAND GUIDELINES</a></a>
</a></b></p>
The basic AT commands used to control modem operation are defined in this
section. These commands are summarized in Appendix A. All these commands may
not be available in a specific product depending upon supported data rates and
modes. The default values are typical of a fully configured modem supporting
all data rates and options. The actual default value is dependent upon modem
firmware as defined by the firmware release notes. 
<a name="_Toc343068195"></a><a name="_Toc347715451"></a>
<p class="bodytext"><b><i>
<a name="RTFToC18">3.1.1
AT Commands, DTE Adaption</a>
</i></b></p>
Under AT operation, the serial interfaced modem performs an
autobaud/autoparity/autolength function on each AT header entered. The
autolength/autoparity facility can detect 7- or 8-bit characters of even, odd,
or no parity with one stop bit. This is not necessary for the parallel
interfaced modem since it has direct access to the UART registers.
<a name="_Toc343068196"></a><a name="_Toc347715452"></a>
<p class="bodytext"><b><i>
<a name="RTFToC19">3.1.2
AT Command Format</a>
</i></b></p>
A command line is a string of characters sent from a DTE to the modem (DCE)
while the modem is in a command state. A command line has a prefix, a body, and
a terminator. Each command line (with the exception of the A/ command) must
begin with the character sequence AT and must be terminated by a carriage
return. Commands entered in upper case or lower case are accepted, but both the
A and T must be of the same case, i.e., "AT" = ASCII 065, 084 or "at" = ASCII
097, 116. The body is a string of commands restricted to printable ASCII
characters (032 - 126). Space characters (ASCII 032) and control characters
other than CR (ASCII 013) and BS (ASCII 010) in the command string are ignored.
The default terminator is the ASCII &lt;CR&gt; character. Characters that
precede the AT prefix are ignored. The command line interpretation begins upon
receipt of the carriage return character.<p>
Characters within the command line are parsed as commands with associated
parameter values. The basic commands consist of single ASCII characters, or
single characters preceded by a prefix character (e.g., "&amp;"), followed by a
decimal parameter. Missing decimal parameters are evaluated as 0. <p>
The modem supports the editing of command lines by recognizing a backspace
character. When modem echo is enabled, the modem responds to receipt of a
backspace or delete by echoing a backspace character, a space character, and
another backspace. The hex value to be used for the backspace character is
programmable through register S5. Values equal to 0 or greater than 127, or the
value which corresponds to the carriage return character, cannot be used for
the backspace character. This editing is not applicable to the AT header of a
command. A command line may be aborted at any time by entering &lt; cntrl-x
&gt; (18h).<p>
The AT sequence may be followed by any number of commands in sequence, except
for commands such as Z, D, or A. Commands following commands Z, D, or A on the
same command line will be ignored. The maximum number of characters on any
command line is 39 (including "A" and "T"). If a syntax error is found anywhere
in a command line command, the remainder of the line will be ignored and the
ERROR result code will be returned.<p>
Most commands entered with parameters out of range will not be accepted and the
ERROR response will be returned to the DTE.<p>
Commands will only be accepted by the modem once the previous command has been
fully executed, which is normally indicated by the return of an appropriate
result code. Execution of commands D and A, either as a result of a direct
command or a re-execute command, will be aborted if another character is
entered before completion of the handshake.
<a name="_Toc343068197"></a><a name="_Toc347715453"></a>
<p class="bodytext"><b><i>
<a name="RTFToC20">3.1.3
Escape Code Sequence</a>
</i></b></p>
When the modem has established a connection and has entered on-line data mode,
it is possible to break into the data transmission in order to issue further
commands to the modem in an on-line command mode. This is achieved by the DTE
sending to the modem a sequence of three ASCII characters specified by register
S2. The default character is '+'. The maximum time allowed between receipt of
the last character of the three escape character sequence from the DTE and
sending of the OK result code to the DTE is controlled by the S12 register.<p>
<a name="_Toc343068198"></a><a name="_Toc347715454"></a>
<p class="bodytext"><b>
<a name="RTFToC21">3.2
AT COMMAND SET</a>
</b></p>
The modem will respond to the commands detailed below. Parameters applicable to
each command are listed with the command description. The defaults shown for
each configuration command are those used in the Rockwell factory profile&nbsp;0.
<a name="_Toc343068199"></a><a name="_Toc347715455"></a>
<p class="bodytext"><b><i>
<a name="RTFToC22">3.2.1
AT Commands</a>
<a name="_Toc343068200"></a><a name="_Toc347715456"></a></i></b></p>
<p class="bodytext"><i>
<a name="RTFToC23">A/
- Re-execute Command</a></a>
</a></i></p>
The modem behaves as though the last command line had been re-sent by the DTE.
"A/" will repeat all the commands in the command buffer.<p>
The principal application of this command is to place another call (using the
Dial command) that failed to connect due to a busy line, no answer, or a wrong
number. This command must appear alone on a command line. This command should
not be terminated by a carriage return.
<a name="_Toc343068201"></a><a name="_Toc347715457"></a>
<p class="bodytext"><i>
<a name="RTFToC24">AT=
x - Write to Selected S-Register</a>
</i></p>
This command writes the value x to the currently selected S-Register. An
S-Register can be selected by using the ATSn command. All of the S-Registers
will return the OK response if x is a number. Some registers may not be written
due to country specific PTT limitations.<p>
Result Codes<p>
OK	For all arguments.
<a name="_Toc343068202"></a><a name="_Toc347715458"></a>
<p class="bodytext"><i>
<a name="RTFToC25">AT?
- Read Selected S-Register</a>
</i></p>
This command reads and displays the selected S-Register. An S-Register can be
selected by using the ATSn command.<p>
Result Codes:<p>
OK	For all arguments.
<a name="_Toc343068203"></a><a name="_Toc347715459"></a>
<p class="bodytext"><i>
<a name="RTFToC26">A
- Answer</a>
</i></p>
The modem will go off-hook and attempt to answer an incoming call if correct
conditions are met. Upon successful completion of answer handshake, the modem
will go on-line in answer mode. This command may be affected by the state of
Line Current Sense, if enabled. (Most countries do not require Line Current
Sense.) Operation is also dependent upon +FCLASS command and country-specific
requirements.<p>
If +FCLASS=0 is selected, the modem will enter the connect state after
exchanging carrier with the remote modem. If no carrier is detected within a
period specified in register S7, the modem hangs up. Any character entered
during the connect sequence will abort the connection attempt.<p>
If +FCLASS=1 or 2 is selected, the modem will go off-hook in V.21 answer mode.
It will generate the V.21 2100 Hz answer tone for 3 +/- 0.5 seconds and,
following a delay of 70 ms, will proceed as if the +FTH=3 command were issued.
At any stage up to (but excluding) the +FTH=3 command state, any character will
abort the communication. (See the description of the +FTH command for details.)
<a name="_Toc343068204"></a><a name="_Toc347715460"></a>
<p class="bodytext"><i>
<a name="RTFToC27">Bn
- CCITT or Bell</a>
</i></p>
When the modem is configured to allow either option, the modem will select Bell
or CCITT modulation for a line speed connection of 300 or 1200 bps according to
the parameter supplied. Any other line speed will use a CCITT modulation
standard. The parameter value, if valid, is written to S27 bit 6. (Also, see
ATFn command.)<p>
B0	Selects CCITT operation at 300 or 1200 bps during Call Establishment and a
subsequent connection. (Default for W-class models.)<p>
B1	Selects BELL operation at 300 or 1200 bps during Call Establishment and a
subsequent connection. (Default for US models.)<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068205"></a><a name="_Toc347715461"></a>
<p class="bodytext"><i>
<a name="RTFToC28">Cn
- Carrier Control</a>
</i></p>
This command is included for compatibility only, and has no effect other than
returning a result code. The only valid parameter is 1.<p>
Result Codes:<p>
OK	n = 1.<p>
ERROR	Otherwise.
<a name="_Toc343068206"></a><a name="_Toc347715462"></a>
<p class="bodytext"><i>
<a name="RTFToC29">Dn
- Dial</a>
</i></p>
This command directs the modem to go on-line, dial according to the string
entered and attempt to establish a connection. If no dial string is supplied,
the modem will go on-line and attempt the handshake in originate mode. In
W-class models, the action of going off-hook is affected by the status of the
Line Current Sense input, if line current sensing is enabled, and by the
blacklist and delayed list. <b>NOTE:</b> If the ATD command is issued before
the S1 register has cleared, the modem will respond with the NO CARRIER result
code.<p>
If +FCLASS=0 is selected, the modem will behave as a data modem and will
attempt to connect to another data modem. The modem will have up to the period
of time specified by register S6 or S7 to wait for carrier and complete the
handshake. If this time expires before the modem can complete the handshake,
the modem will go on-hook with the NO CARRIER response. This command will be
aborted in progress upon receipt of any DTE character before completion of the
handshake.<p>
If +FCLASS=1 or 2 is selected, the modem will behave as a facsimile modem and
attempt to connect to a facsimile machine (or modem) by entering the HDLC V.21
channel 2 receive state (as if +FRH=3 had been issued). This command will be
aborted upon receipt of any DTE character if the modem has not finished
dialing. In this case, the modem will go on-hook and return to command mode
after displaying the NO CARRIER message. If the modem has finished dialing, it
proceeds as if the +FRH=3 command has been issued. (Refer to the +FRH command
to determine how the modem behaves following this stage.)<p>
Dial Modifiers. The valid dial string parameters are described below.
Punctuation characters may be used for clarity, with parentheses, hyphen, and
spaces being ignored.<p>
0-9	DTMF digits 0 to 9.<p>
*	The 'star' digit (tone dialing only).<p>
#	The 'gate' digit (tone dialing only).<p>
A-D	DTMF digits A, B, C, and D. Some countries may prohibit sending of these
digits during dialing.<p>
L	Re-dial last number: the modem will re-dial the last valid telephone number.
The L must be immediately after the D with all the following characters
ignored).<p>
P	Select pulse dialing: pulse dial the numbers that follow until a "T" is
encountered. Affects current and subsequent dialing. Some countries prevent
changing dialing modes after the first digit is dialed.<p>
T	Select tone dialing: tone dial the numbers that follow until a "P" is
encountered. Affects current and subsequent dialing. Some countries prevent
changing dialing modes after the first digit is dialed.<p>
R	This command will be accepted, but not acted on.<p>
S=n	Dial the number stored in the directory (n = 0 to 3). (See &amp;Z.)<p>
!	Flash: the modem will go on-hook for a time defined by the value of S29.
Country requirements may limit the time imposed.<p>
W	Wait for dial tone: the modem will wait for dial tone before dialing the
digits following "W". If dial tone is not detected within the time specified by
S7 (US) or S6 (W-class), the modem will abort the rest of the sequence, return
on-hook, and generate an error message.<p>
@	Wait for silence: the modem will wait for at least 5 seconds of silence in
the call progress frequency band before continuing with the next dial string
parameter. If the modem does not detect these 5 seconds of silence before the
expiration of the call abort timer (S7), the modem will terminate the call
attempt with a NO ANSWER message. If busy detection is enabled, the modem may
terminate the call with the BUSY result code. If answer tone arrives during
execution of this parameter, the modem handshakes.<p>
&amp;	Wait for credit card dialing tone before continuing with the dial string.
If the tone is not detected within the time specified by S7 (US models) or S6
(W-class models), the modem will abort the rest of the sequence, return
on-hook, and generate an error message.<p>
,	Dial pause: the modem will pause for a time specified by S8 before dialing
the digits following ",".<p>
;	Return to command state. Added to the end of a dial string, this causes the
modem to return to the command state after it processes the portion of the dial
string preceding the ";". This allows the user to issue additional AT commands
while remaining off-hook. The additional AT commands may be placed in the
original command line following the ";" and/or may be entered on subsequent
command lines. The modem will enter call progress only after an additional dial
command is issued without the ";" terminator. Use "H" to abort the dial in
progress, and go back on-hook.<p>
^	Toggles calling tone enable/disable: applicable to current dial attempt
only.<p>
( )	Ignored: may be used to format the dial string.<p>
-	Ignored: may be used to format the dial string.<p>
&lt;space&gt;	Ignored: may be used to format the dial string.<p>
&lt;i&gt;	Invalid character: will be ignored.<p>
&gt;	If enabled by country specific parameter, the modem will generate a
grounding pulse on the EARTH relay output.
<a name="_Toc343068207"></a><a name="_Toc347715463"></a>
<p class="bodytext"><i>
<a name="RTFToC30">En
- Command Echo</a>
</i></p>
The modem enables or disables the echo of characters to the DTE according to
the parameter supplied. The parameter value, if valid, is written to S14 bit
1.<p>
E0	Disables command echo.<p>
E1	Enables command echo. (Default.)<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068208"></a><a name="_Toc347715464"></a>
<p class="bodytext"><i>
<a name="RTFToC31">Fn
- Select Line Modulation (RC144 Models Only)</a>
</i></p>
This command selects the line modulation according to the parameter supplied.
The line modulation is fixed unless Automode is selected. This command
interacts with the S37 and the N command. The parameter value, if valid, is
written to S37 bits 0-4. To select line modulation, it is recommended that
either the F command, or a combination of the S37 and the N command, be used,
but not both. <p>
F0	Selects auto-detect mode. Sets N1 and sets S31 bit 1. In this mode, the
modem configures for automode operation. All connect speeds supported by the
modem are possible according to the remote modem's preference. The contents of
S37 are ignored as is the sensed DTE speed.<p>
F1	Selects V.21 or Bell 103 according to the B setting as the only acceptable
line speed resulting in a subsequent connection. Sets N0, sets S37 to 1, and
clears S31 bit 1. This command is equivalent to the command string:
ATN0S37=1.<p>
F2	Not supported.<p>
F3	Selects V.23 as the only acceptable line modulation for a subsequent
connection. Originator is at 75 bps and answerer is at 1200 bps. Sets N0, sets
S37 to 7, and clears S31 bit 1. This command is equivalent to the command
string: ATN0S37=7.<p>
F4	Selects V.22 1200 or Bell 212A according to the B command setting as the
only acceptable line speed for a subsequent connection. Sets N0, sets S37 to 5,
and clears S31 bit 1. This command is equivalent to the command string:
ATN0S37=5.<p>
F5	Selects V.22 bis as the only acceptable line modulation for a subsequent
connection. Sets N0, sets S37 to 6, and clears S31 bit 1. This command is
equivalent to the command string: ATN0S37=6.<p>
F6	Select V.32 bis 4800 or V.32 4800 as the only acceptable line modulation for
a subsequent connection. Sets N0, sets S37 to 8, and clears S31 bit 1. This
command is equivalent to the command string: ATN0S37=8.<p>
F7	Selects V.32 bis 7200 as the only acceptable line modulation for a
subsequent connection. Sets N0, sets S37 to 12, and clears S31 bit 1. This
command is equivalent to the command string: ATN0S37=12.<p>
	This setting also allows connection at the Rockwell proprietary 7200 V.32
speed, e.g., with a RC9696/12 based modem.<p>
F8	Selects V.32 bis 9600 or V.32 9600 as the only acceptable line modulations
for a subsequent connection. Sets N0, sets S37 to 9, and clears S31 bit 1. This
command is equivalent to the command string: ATN0S37=9.<p>
F9	Selects V.32 bis 12000 as the only acceptable line modulation for a
subsequent connection. Sets N0, sets S37 to 10, and clears S31 bit 1. This
command is equivalent to the command string: ATN0S37=10.<p>
	This setting also allows connection at the Rockwell proprietary 12000 V.32
speed, e.g., with a RC9696/12 based modem.<p>
F10	Selects V.32 bis 14400 as the only acceptable line modulation for a
subsequent connection. Sets N0, sets S37 to 11, and clears S31 bit 1. This
command is equivalent to the command string: ATN0S37=11.
<a name="_Toc347715465"></a>
<p class="bodytext"><i>
<a name="RTFToC32">Hn
- Disconnect (Hang-Up)</a>
</i></p>
This command initiates a hang up sequence.<p>
This command may not be available for some countries due to PTT restrictions.<p>
H0	The modem will release the line if the modem is currently on-line, and will
terminate any test (AT&amp;T) that is in progress. Country specific, modulation
specific, and error correction protocol specific (S38) processing is handled
outside of the H0 command.<p>
H1	If on-hook, the modem will go off-hook and enter command mode. For US
models, the modem will remain off-hook. For W-class models, the modem will
return on-hook after a period of time determined by S7.<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068209"></a><a name="_Toc347715466"></a>
<p class="bodytext"><i>
<a name="RTFToC33">In
- Identification</a>
</i></p>
The modem reports to the DTE the requested result according to the command
parameter.<p>
I0	Reports product code. Example: 28800<p>
I1	Calculates the ROM checksum and reports the least significant byte of the
checksum in decimal (see firmware release notes). Reports 255 if the prestored
checksum value is FFh.<p>
I2	Calculates the ROM checksum and compares it with the prestored checksum.
Reports "OK" if the calculated checksum equals the prestored checksum or if the
prestored checksum value is FFh; otherwise reports "ERROR".<p>
I3	Reports the firmware version (F), basic model (e.g.,V34), application code
(A), and interface type code (I) typically in the form VF.FFF-V34_AI. The
application codes are: D = Desktop, L = Low Power (PCMCIA). The interface type
codes are: S = Serial, P = Parallel. Example: V1.400-V34_DS<p>
	Note: If RPI+ is supported, "ROCKWELL RPI (TM)" is appended.<p>
I4	Reports OEM defined identifier string in either Hayes-compatible binary
format (default) or ASCII format (selectable by ConfigurACE). Example: RC288ACi
(ASCII)<p>
I5	Reports Country Code parameter. Example: 022<p>
I6	Reports modem data pump model and internal code revision. Example: RC288DPi
Rev 05BA<p>
I7	Reports the DAA code resulting from MCU interrogation of the DAA for auto
DAA recognition. Examples: 000 for US or Canada, 016 for Japan, 033 for
Belgium, 034 for Finland, 035 for France, 037 for Italy, 038 for Netherlands,
039 for Sweden, 040 for Switzerland, and 041 for UK.<p>
Result Codes:<p>
OK	n = 0 to 7.<p>
ERROR	Otherwise.
<a name="_Toc343068210"></a><a name="_Toc347715467"></a>
<p class="bodytext"><i>
<a name="RTFToC34">Ln
- Speaker Volume</a>
</i></p>
The modem sets the speaker volume control according to the parameter supplied.
The parameter value, if valid, is written to S22 bits 0 and 1.<p>
L0	Low volume.<p>
L1	Low volume. (Default.)<p>
L2	Medium volume.<p>
L3	High volume.<p>
Result Codes:<p>
OK	n = 0 to 3.<p>
ERROR	Otherwise.
<a name="_Toc343068211"></a><a name="_Toc347715468"></a>
<p class="bodytext"><i>
<a name="RTFToC35">Mn
- Speaker Control</a>
</i></p>
This command selects when the speaker will be on or off. The parameter value,
if valid, is written to S22 bits 2 and 3.<p>
M0	Speaker is always off.<p>
M1	Speaker is on during call establishment, but off when receiving carrier.
(Default.)<p>
M2	Speaker is always on.<p>
M3	Speaker is off when receiving carrier and during dialing, but on during
answering.<p>
Result Codes:<p>
OK	n = 0 to 3.<p>
ERROR	Otherwise.
<a name="_Toc343068212"></a><a name="_Toc347715469"></a>
<p class="bodytext"><i>
<a name="RTFToC36">Nn
- Automode Enable</a>
</i></p>
This command enables or disables automode detection. The parameter value, if
valid, is written to S31 bit 1.<p>
N0	Automode detection is disabled (equivalent to setting the +MS
&lt;automode&gt; subparameter to 0). A subsequent handshake will be conducted
according to the contents of S37 or, if S37 is zero, according to the most
recently sensed DTE speed.<p>
N1	Automode detection is enabled (equivalent to setting the +MS
&lt;automode&gt; subparameter to 1). A subsequent handshake will be conducted
according the automode algorithm supported by the modem, e.g., according to the
contents of S37 or, if S37 is zero, starting at 28800 bps V.34 (RC288). This
command is also equivalent to F0 (RC144). (Default.)<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.<p>
<b>Notes: </b><p>
1.	The Nn and S37=x commands override the +MS command settings. When the
N0 or N1 command is issued, the +MS subparameters are updated to reflect the Nn
and S37 values (see +MS command and S37 register). For example:<p>
N1S37=10 updates the +MS command subparameters to reflect +MS=10,1,300,12000<p>
N0S37=10 updates the +MS command subparameters to reflect
+MS=10,0,12000,12000<p>
2.	Use of the +MS command is recommended instead of the Nn and S37=x commands.
Nn and S37=x commands are supported for compatibility with existing
communication software. 
<a name="_Toc343068213"></a><a name="_Toc347715470"></a>
<p class="bodytext"><i>
<a name="RTFToC37">On
- Return to On-Line Data Mode</a>
</i></p>
This command determines how the modem will enter the on-line data mode. If the
modem is in the on-line command mode, the enters the on-line data mode with or
without a retrain. If the modem is in the off-line command mode (no
connection), ERROR is reported.<p>
O0	Enters on-line data mode without a retrain. Handling is determined by the
Call Establishment task. Generally, if a connection exists, this command
connects the DTE back to the remote modem after an escape (+++).<p>
O1	Enters on-line data mode with a retrain before returning to on-line data
mode.<p>
Result Codes:<p>
OK	n = 0 or 1 and a connection exists.<p>
ERROR	Otherwise or if not connected.
<a name="_Toc343068214"></a><a name="_Toc347715471"></a>
<p class="bodytext"><i>
<a name="RTFToC38">P
- Set Pulse Dial Default</a>
</i></p>
This command forces pulse dialing until the next T dial modifier or T command
is received. Sets S14 bit 5.<p>
As soon as a dial command is executed which explicitly specifies the dialing
mode for that particular call (e.g., ATDT...), this command is overridden so
that all future dialing will be tone dialed. (See T command.)<p>
This command may not be permitted in some countries.<p>
Result Code:<p>
OK
<a name="_Toc343068215"></a><a name="_Toc347715472"></a>
<p class="bodytext"><i>
<a name="RTFToC39">Qn
- Quiet Results Codes Control</a>
</i></p>
The command enables or disables the sending of result codes to the DTE
according to the parameter supplied. The parameter value, if valid, is written
to S14 bit 2.<p>
Q0	Enables result codes to the DTE. (Default.)<p>
Q1	Disables result codes to the DTE.<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068216"></a><a name="_Toc347715473"></a>
<p class="bodytext"><i>
<a name="RTFToC40">Sn
- Read/Write S-Register</a>
</i></p>
The modem selects an S-Register, performs an S-Register read or write function,
or reports the value of an S-Register.<p>
n	Establishes S-Register n as the last register accessed.<p>
n=v	Sets S-Register n to the value v.<p>
n?	Reports the value of S-Register n.<p>
The parameter n can be omitted, in which case the last S-Register accessed will
be assumed. The S can be omitted for AT= and AT?, in which case the last
S-Register accessed will be assumed.<p>
For example:<p>
	ATS7 establishes S7 as the last accessed register.<p>
	AT=40 sets the contents of the last register accessed to 40.<p>
	ATS=20 sets the contents of the last register accessed to 20.<p>
If the number "n" is beyond the range of the S-Registers available, the modem
will return the ERROR message. The value "v" is "MOD"ed with 256. If the result
is outside the range permitted for a given S-Register the values will still be
stored, but functionally the lower and higher limits will be observed. Input
and output are always in decimal format. Note that some S-Registers are
read-only.<p>
In some cases, writing to the S-Register will appear to be accepted but the
value will not actually be written.<p>
Due to country restrictions, some commands will be accepted, but the value may
be limited and replaced by a maximum or minimum value.<p>
Minimum, maximum, and default values for S-Registers may be altered with
ConfigurACE.
<a name="_Toc343068217"></a><a name="_Toc347715474"></a>
<p class="bodytext"><i>
<a name="RTFToC41">T
- Set Tone Dial Default</a>
</i></p>
This command forces DTMF dialing until the next P dial modifier or P command is
received. The modem will set an S-Register bit to indicate that all subsequent
dialing should be conducted in tone mode. Note that the DP command will
override this command. Clears S14 bit 5.<p>
This command may not be permitted in some countries. (See P.)<p>
Result Code:<p>
OK
<a name="_Toc343068218"></a><a name="_Toc347715475"></a>
<p class="bodytext"><i>
<a name="RTFToC42">Vn
- Result Code Form</a>
</i></p>
This command selects the sending of short-form or long-form result codes to the
DTE. The parameter, if valid, is written to S14 bit 3.<p>
V0	Enables short-form (terse) result codes. Line feed is not issued before a
short-form result code.<p>
V1	Enables long-form (verbose) result codes. (Default.)<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068219"></a><a name="_Toc347715476"></a>
<p class="bodytext"><i>
<a name="RTFToC43">Wn
- Connect Message Control</a>
</i></p>
This command controls the format of CONNECT messages. The parameter value, if
valid, is written to S31 bits 2 and 3. Note that the Wn command can be
overridden by register S95 bits (see S95 description).<p>
W0	Upon connection, the modem reports only the DTE speed (e.g., CONNECT 19200).
Subsequent responses are disabled. (Default.)<p>
W1	Upon connection, the modem reports the line speed, the error correction
protocol, and the DTE speed, respectively. Subsequent responses are disabled.<p>
W2	Upon connection, the modem reports the DCE speed (e.g., CONNECT 14400).
Subsequent responses are disabled.<p>
Result Codes:<p>
OK	n = 0, 1, or 2.<p>
ERROR	Otherwise.
<a name="_Toc343068220"></a><a name="_Toc347715477"></a>
<p class="bodytext"><i>
<a name="RTFToC44">Xn
- Extended Result Codes:</a>
</i></p>
This command selects which subset of the result messages will be used by the
modem to inform the DTE of the results of commands.<p>
Blind dialing is enabled or disabled by country parameters. If the user wishes
to enforce dial tone detection, a "W" can be placed in the dial string (see D
command). Note that the information below is based upon the default
implementation of the X results table. Table 3-1 indicates the messages which
are enabled for each X value.<p>
If the modem is in facsimile mode (+FCLASS=1 or 2), the only message sent to
indicate a connection is CONNECT without a speed indication.<p>
X0	Disables monitoring of busy tones unless forced otherwise by country
requirements; send only OK, CONNECT, RING, NO CARRIER, ERROR, and NO ANSWER
result codes. Blind dialing is enabled/disabled by country parameters. If busy
tone detection is enforced and busy tone is detected, NO CARRIER will be
reported. If dial tone detection is enforced or selected and dial tone is not
detected, NO CARRIER will be reported instead of NO DIAL TONE. The value 000b
is written to S22 bits 6, 5, and 4, respectively.<p>
X1	Disables monitoring of busy tones unless forced otherwise by country
requirements; send only OK, CONNECT, RING, NO CARRIER, ERROR, NO ANSWER, and
CONNECT XXXX (XXXX = rate). Blind dialing enabled/disabled by country
parameters. If busy tone detection is enforced and busy tone is detected, NO
CARRIER will be reported instead of BUSY. If dial tone detection is enforced or
selected and dial tone is not detected, NO CARRIER will be reported instead of
NO DIAL TONE. The value 100b is written to S22 bits 6, 5, and 4,
respectively.<p>
X2	Disables monitoring of busy tones unless forced otherwise by country
requirements; send only OK, CONNECT, RING, NO CARRIER, ERROR, NO DIALTONE, NO
ANSWER, and CONNECT XXXX. If busy tone detection is enforced and busy tone is
detected, NO CARRIER will be reported instead of BUSY. If dial tone detection
is enforced or selected and dial tone is not detected, NO DIAL TONE will be
reported instead of NO CARRIER. The value 101b is written to S22 bits 6, 5, and
4, respectively.<p>
X3	Enables monitoring of busy tones; send only OK, CONNECT, RING, NO CARRIER,
ERROR, NO ANSWER, and CONNECT XXXX. Blind dialing is enabled/disabled by
country parameters. If dial tone detection is enforced and dial tone is not
detected, NO CARRIER will be reported. The value 110b is written to S22 bits 6,
5, and 4, respectively.<p>
X4	Enables monitoring of busy tones; send all messages. The value 111b is
written to S22 bits 6, 5, and 4, respectively. (Default.)<p>
Result Codes:<p>
OK	n = 0 to 4.<p>
ERROR	Otherwise.
<a name="_Ref345291496"></a><a name="_Toc347715837"></a><p>
<b>Table 3-1. Result Codes</b>

<pre>
Short Form  Long Form                  n Value in ATXn Command                       Notes      
                                       0      1      2      3      4                 
     0      OK                           x    x      x      x      x                 
    1       CONNECT                      x    x      x      x      x                 
    2       RING                         x    x      x      x      x                 
    3       NO CARRIER                   x    x      x      x      x                 
    4       ERROR                        x    x      x      x      x                 
    5       CONNECT 1200                 1    x      x      x      x                 
    6       NO DIALTONE                  3    3      x      x      x                 
    7       BUSY                         3    3      3      x      x                 
    8       NO ANSWER                    x    x      x      x      x                 
    9       CONNECT 0600                 1    x      x      x      x                 
    10      CONNECT 2400                 1    x      x      x      x                 
    11      CONNECT 4800                 1    x      x      x      x                 
    12      CONNECT 9600                 1    x      x      x      x                 
    13      CONNECT 7200                 1    x      x      x      x                 
    14      CONNECT 12000                1    x      x      x      x                 
    15      CONNECT 14400                1    x      x      x      x                 
    16      CONNECT 19200                1    x      x      x      x                 
    17      CONNECT 38400                1    x      x      x      x                 
    18      CONNECT 57600                1    x      x      x      x                 
    19      CONNECT 115200               1    x      x      x      x                 
    22      CONNECT 75TX/1200RX          1    x      x      x      x                 
    23      CONNECT 1200TX/75RX          1    x      x      x      x                 
    24      DELAYED                      4    4      4      4      x                 
    32      BLACKLISTED                  4    4      4      4      x                 
    33      FAX                          x    x      x      x      x                 
    35      DATA                         x    x      x      x      x                 
    40      CARRIER 300                  x    x      x      x      x                 
    44      CARRIER 1200/75              x    x      x      x      x                 
    45      CARRIER 75/1200              x    x      x      x      x                 
    46      CARRIER 1200                 x    x      x      x      x                 
    47      CARRIER 2400                 x    x      x      x      x                 
    48      CARRIER 4800                 x    x      x      x      x                 
    49      CARRIER 7200                 x    x      x      x      x                 
    50      CARRIER 9600                 x    x      x      x      x                 
    51      CARRIER 12000                x    x      x      x      x                 
    52      CARRIER 14400                x    x      x      x      x                 
    53      CARRIER 16800                x    x      x      x      x      RC288      
                                                                          only       
    54      CARRIER 19200                x    x      x      x      x      RC288      
                                                                          only       
    55      CARRIER 21600                x    x      x      x      x      RC288      
                                                                          only       
    56      CARRIER 24000                x    x      x      x      x      RC288      
                                                                          only       
    57      CARRIER 26400                x    x      x      x      x      RC288      
                                                                          only       
    58      CARRIER 28800                x    x      x      x      x      RC288      
                                                                          only       
    59      CONNECT 16800                1    x      x      x      x      RC288      
                                                                          only       
    61      CONNECT 21600                1    x      x      x      x      RC288      
                                                                          only       
    62      CONNECT 24000                1    x      x      x      x      RC288      
                                                                          only       
    63      CONNECT 26400                1    x      x      x      x      RC288      
                                                                          only       
    64      CONNECT 28800                1    x      x      x      x      RC288      
                                                                          only       
    66      COMPRESSION: CLASS 5         x    x      x      x      x                 
    67      COMPRESSION: V.42 bis        x    x      x      x      x                 
    69      COMPRESSION: NONE            x    x      x      x      x                 
    76      PROTOCOL: NONE               x    x      x      x      x                 
    77      PROTOCOL: LAPM               x    x      x      x      x                 
    80      PROTOCOL: ALT                x    x      x      x      x                 
    81      PROTOCOL: ALT-CELLULAR       x    x      x      x      x                 
   +F4      +FCERROR                     x    x      x      x      x                 
Note: An 'x' in a column indicates that the message (either the long form if                        
verbose, or the value only for short form) will be generated when that                              
particular value of 'n' (shown at the top of the column) has been selected by                       
the use of ATXn. If the column is blank, then no message will be generated for                      
that x option. A numeral indicates which less explicit message (verbose or                          
short form) will be output for that X option. (Also, see Section 3.3).                              
<a name="_Toc343068221"></a><a name="_Toc347715478"></a>
</pre>
<p class="bodytext"><i>
<a name="RTFToC45">Yn
- Long Space Disconnect</a></a>
</a></i></p>
This command enables/disables the generation and response to long space
disconnect. The parameter value, if valid, is written to S21 bit 7.<p>
Y0	Disables long space disconnect. (default.)<p>
Y1	Enables long space disconnect. In non-error correction mode, the modem will
send a long space of four seconds prior to going on-hook. In non-error
correction mode, the modem will respond to the receipt of a long space (i.e., a
break signal greater than 1.6 seconds) by going on-hook.<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068222"></a><a name="_Toc347715479"></a>
<p class="bodytext"><i>
<a name="RTFToC46">Zn
- Soft Reset and Restore Profile</a>
</i></p>
The modem performs a soft reset and restores (recalls) the configuration
profile according to the parameter supplied. If no parameter is specified, zero
is assumed.<p>
Z0	Soft reset and restore stored profile 0.<p>
Z1	Soft reset and restore stored profile 1.<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068223"></a><a name="_Toc347715480"></a>
<p class="bodytext"><b><i>
<a name="RTFToC47">3.2.2
AT&amp; Commands</a>
<a name="_Toc343068224"></a><a name="_Toc347715481"></a></i></b></p>
<p class="bodytext"><i>
<a name="RTFToC48">&amp;Cn
- RLSD (DCD) Option</a></a>
</a></i></p>
The modem controls the RLSD output in accordance with the parameter supplied.
The parameter value, if valid, is written to S21 bit 5.<p>
&amp;C0	RLSD remains ON at all times. <p>
&amp;C1	RLSD follows the state of the carrier. (Default.)<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068225"></a><a name="_Toc347715482"></a>
<p class="bodytext"><i>
<a name="RTFToC49">&amp;Dn
- DTR Option</a>
</i></p>
This command interprets the ON to OFF transition of the DTR signal from the DTE
in accordance with the parameter supplied. The parameter value, if valid, is
written to S21 bits 3 and 4. Also, see S25.<p>
&amp;D0 -	DTR drop is interpreted according to the current &amp;Qn setting as
follows:<p>
&amp;Q0, &amp;Q5, &amp;Q6	DTR is ignored (assumed ON). Allows operation with
DTEs which do not provide DTR.<p>
&amp;Q1, &amp;Q4	DTR drop causes the modem to hang up. Auto-answer is not
affected.<p>
&amp;Q2, &amp;Q3	DTR drop causes the modem to hang up. Auto-answer is
inhibited.<p>
&amp;D1	DTR drop is interpreted according to the current &amp;Qn setting as
follows:<p>
&amp;Q0, &amp;Q1, &amp;Q4, &amp;Q5, &amp;Q6	DTR drop is interpreted by the
modem as if the asynchronous escape sequence had been entered. The modem
returns to asynchronous command state without disconnecting.<p>
&amp;Q2, &amp;Q3	DTR drop causes the modem to hang up. Auto-answer is
inhibited.<p>
&amp;D2	DTR drop is interpreted according to the current &amp;Qn setting as
follows:<p>
&amp;Q0 through &amp;Q6	DTR drop causes the modem to hang up. Auto-answer is
inhibited. (Default.)<p>
&amp;D3	DTR drop is interpreted according to the current &amp;Qn setting as
follows:<p>
&amp;Q0, &amp;Q1, &amp;Q4, &amp;Q5, &amp;Q6	DTR drop causes the modem to
perform a soft reset as if the Z command were received. The &amp;Y setting
determines which profile is loaded.<p>
&amp;Q2, &amp;Q3	DTR drop causes the modem to hang up. Auto-answer is
inhibited.<p>
If &amp;Q5, &amp;Q6, +FCLASS=1 or +FCLASS=2 is in effect, the action taken is
the same as for &amp;Q0.
<a name="_Toc343068226"></a><a name="_Toc347715483"></a>
<p class="bodytext"><i>
<a name="RTFToC50">&amp;Fn
- Restore Factory Configuration (Profile)</a>
</i></p>
The modem loads the factory default configuration (profile). The factory
defaults are identified for each command and in the S-Register descriptions. A
configuration (profile) consists of a subset of S-Registers.<p>
&amp;F0	Restore factory configuration 0.<p>
&amp;F1	Restore factory configuration 1.<p>
Result Codes:<p>
OK	<p>
ERROR	If the modem is connected.
<a name="_Toc343068227"></a><a name="_Toc347715484"></a>
<p class="bodytext"><i>
<a name="RTFToC51">&amp;Gn
- Select Guard Tone</a>
</i></p>
The modem generates the guard tone selected by this command according to the
parameter supplied (DPSK modulation modes only). The parameter value, if valid,
is written to S23 bits 6 and 7.<p>
&amp;G0	Disables guard tone. (Default for US models.)<p>
&amp;G1	Disables guard tone.<p>
&amp;G2	Selects 1800 Hz guard tone. (Default for W-class models.)<p>
This command may not be permitted in some countries.<p>
Result Codes:<p>
OK	n = 0 to 2.<p>
ERROR	Otherwise.
<a name="_Toc343068228"></a><a name="_Toc347715485"></a>
<p class="bodytext"><i>
<a name="RTFToC52">&amp;Jn
- Telephone Jack Control</a>
</i></p>
This command is included only for compatibility and performs no function except
to load the S-Register. The parameter value, if valid, is written S21 bit 1.<p>
&amp;J0	&amp;J0 command. (Default.)<p>
&amp;J1	&amp;J1 command.<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068229"></a><a name="_Toc347715486"></a>
<p class="bodytext"><i>
<a name="RTFToC53">&amp;Kn
- Flow Control</a>
</i></p>
This command defines the DTE/DCE (terminal/modem) flow control mechanism. The
parameter value, if valid, is written to S39 bits 0, 1, and 2.<p>
&amp;K0	Disables flow control.<p>
&amp;K3	Enables RTS/CTS flow control. (Default for data modem modes.)<p>
&amp;K4	Enables XON/XOFF flow control.<p>
&amp;K5	Enables transparent XON/XOFF flow control.<p>
&amp;K6	Enables both RTS/CTS and XON/XOFF flow control. (Default for fax modem
and voice modes.)<p>
Result Codes:<p>
OK	n = 0, 3, 4, 5, or 6.<p>
ERROR	Otherwise.
<a name="_Toc343068230"></a><a name="_Toc347715487"></a>
<p class="bodytext"><i>
<a name="RTFToC54">&amp;Ln
- Leased Line Operation</a>
</i></p>
This command requests leased line or dial-up operation. This command is
provided for compatibility only; no mode change is performed, dial-up operation
continues. The OK response is returned for a valid parameter, but no other
action is performed. The parameter value, if valid, is written to S27 bit 2.<p>
&amp;L0	Requests dial-up operation. Dial-up operation continues.<p>
Result Codes:<p>
OK	n = 0.<p>
ERROR	Otherwise.
<a name="_Toc343068231"></a><a name="_Toc347715488"></a>
<p class="bodytext"><i>
<a name="RTFToC55">&amp;Mn
- Asynchronous/Synchronous Mode Selection</a>
</i></p>
This command determines the DTR operating mode. The modem treats the &amp;M
command as a subset of the &amp;Q command.<p>
&amp;M0	Selects direct asynchronous operation. Note that the command sequence
&amp;M0\N0 selects normal buffered mode, but the command sequence \N0&amp;M0
selects direct mode. This is because the \N0 command is analogous to the
&amp;Q6 command. The value 000b is written to S27 bits 3, 1, and 0,
respectively. (See &amp;Q).<p>
&amp;M1	Selects synchronous connect mode with async off-line command mode. The
value 001b is written to S27 bits 3, 1, and 0, respectively. (Serial interface
operation only.)<p>
&amp;M2	Selects synchronous connect mode with async off-line command mode. Same
as &amp;M1 except that &amp;M2 enables DTR dialing of directory slot 0. The
modem will disconnect if DTR is OFF for more than the period in S25 (in units
of hundredths of a second): the data connection will be synchronous. The value
010b is written to S27 bits 3, 1, and 0, respectively. (Serial interface
operation only.)<p>
&amp;M3	Selects synchronous connect mode. This mode allows DTR to act as a
talk/data switch. The call is manually initiated while DTR is inactive. When
DTR becomes active, the handshake proceeds in originate or answer mode
according to S14 bit 7. The value 011b is written to S27 bits 3, 1, and 0,
respectively. (Serial interface operation only.)<p>
Result Codes:<p>
OK	n = 0 to 3.<p>
ERROR	Otherwise.
<a name="_Toc343068232"></a><a name="_Toc347715489"></a>
<p class="bodytext"><i>
<a name="RTFToC56">&amp;Pn
- Select Pulse Dial Make/Break Ratio</a>
</i></p>
This command determines the make/break ratio used during pulse dialing. It is
only effective if the appropriate bit to enable this command is set through the
ConfigurACE program. If enabled, it will override the make/break ratios in the
OEM parameters in ConfigurACE. The default is country-dependent. The parameter
value, if valid, is written to S28 bits 3 and 4.<p>
&amp;P0	Selects 39%-61% make/break ratio at 10 pulses per second. (Default.)<p>
&amp;P1	Selects 33%-67% make/break ratio at 10 pulses per second.<p>
&amp;P2	Selects 39%-61% make/break ratio at 20 pulses per second.<p>
&amp;P3	Selects 33%-67% make/break ratio at 20 pulses per second.<p>
Result Codes:<p>
OK	n = 0 to 3.<p>
ERROR	Otherwise.
<a name="_Toc343068233"></a><a name="_Toc347715490"></a>
<p class="bodytext"><i>
<a name="RTFToC57">&amp;Qn
- Sync/Async Mode</a>
</i></p>
This command is an extension of the &amp;M command and is used to control the
connection modes permitted. It is used in conjunction with S36 and S48. (Also,
see \N.) <p>
<b>NOTE:</b> When the &amp;Q0 to &amp;Q4 command is issued to select the mode,
the subsequent connect message will report the DCE speed regardless of the W
command and S95 settings.<p>
&amp;Q0	Selects direct asynchronous operation. The value 000b is written to S27
bits 3, 1, and 0, respectively. See &amp;M0.<p>
&amp;Q1	Selects synchronous connect mode with async off-line command mode. The
value 001b is written to S27 bits 3, 1, and 0, respectively. See &amp;M1.
(Serial interface operation only.)<p>
&amp;Q2	Selects synchronous connect mode with async off-line command mode and
enables DTR dialing of directory 0. The value 010b is written to S27 bits 3, 1,
and 0, respectively. See &amp;M2. (Serial interface operation only.)<p>
&amp;Q3	Selects synchronous connect mode with async off-line command mode and
enables DTR to act as Talk/Data switch. The value 011b is written to S27 bits
3, 1, and 0, respectively. See &amp;M3. (Serial interface operation only.)<p>
&amp;Q4	Selects AutoSync operation. The value 100b is written to S27 bits 3, 1,
and 0, respectively. <p>
	AutoSync operation, when used in conjunction with the Hayes Synchronous
Interface (HSI) capability in the DTE, provides synchronous communication
capability from an asynchronous terminal. <p>
	<b>Starting AutoSync.</b> Set registers S19, S20, and S25 to the desired
values before selecting AutoSync operation with &amp;Q4. After the CONNECT
message is issued, the modem waits the period of time specified by S25 before
examining DTR. If DTR is on, the modem enters the synchronous operating state;
if DTR is off, the modem terminates the line connection and returns to the
asynchronous command state.<p>
	<b>Stopping AutoSync. </b>AutoSync operation is stopped upon loss<b> </b>of
carrier or the on-to-off transition of DTR. Loss of carrier will cause the
modem to return to the asynchronous command state. An on-to-off transition of
DTR will cause the modem to return to the asynchronous command state and either
not terminate the line connection (&amp;D1 active) or terminate the line
connection (any other &amp;Dn command active).<p>
&amp;Q5	The modem will try to negotiate an error-corrected link. The modem can
be configured using S36 to determine whether a failure will result in the modem
returning on-hook or will result in fallback to an asynchronous connection. The
value 101b is written to S27 bits 3, 1, and 0, respectively. (Default.)<p>
&amp;Q6	Selects asynchronous operation in normal mode (speed buffering). The
value 110b is written to S27 bits 3, 1, and 0, respectively.<p>
Result Codes:<p>
OK	n = 0 to 6.<p>
ERROR	Otherwise.
<a name="_Toc343068234"></a><a name="_Toc347715491"></a>
<p class="bodytext"><i>
<a name="RTFToC58">&amp;Rn
- RTS/CTS Option</a>
</i></p>
This selects how the modem controls CTS. CTS operation is modified if hardware
flow control is selected (see &amp;K command). The parameter value, if valid,
is written to S21 bit 2.<p>
&amp;R0	In sync mode, CTS tracks the state of RTS; the RTS-to-CTS delay is
defined by S26. In async mode, CTS acts according to V.25 bis handshake. <p>
&amp;R1	In sync mode, CTS is always ON (RTS transitions are ignored). In async
mode, CTS will only drop if required by flow control. (Default.)<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068235"></a><a name="_Toc347715492"></a>
<p class="bodytext"><i>
<a name="RTFToC59">&amp;Sn
- DSR Override</a>
</i></p>
This command selects how the modem will control DSR. The parameter value, if
valid, is written to S21 bit 6.<p>
&amp;S0	DSR will remain ON at all times. (Default.)<p>
&amp;S1	DSR will become active after answer tone has been detected and inactive
after the carrier has been lost.<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068236"></a><a name="_Toc347715493"></a>
<p class="bodytext"><i>
<a name="RTFToC60">&amp;Tn
- Test and Diagnostics</a>
</i></p>
The modem will perform selected test and diagnostic functions according to the
parameter supplied. A test can be run only when in an asynchronous operation in
non-error-correction mode (normal or direct mode). To terminate a test in
progress, the escape sequence must be entered first, except for parameters 7
and 8 (see Section 3.1.3). If S18 is non-zero, a test will terminate
automatically after the time specified by S18 and display the OK message. Note:
For tests 3, 6, and 7, a connection between the two modems must first be
established.<p>
&amp;T0	Terminates test in progress. Clears S16.<p>
&amp;T1	Initiates local analog loopback, V.54 Loop 3. Sets S16 bit 0. If a
connection exists when this command is issued, the modem hangs up. The CONNECT
XXXX message is displayed upon the start of the test.<p>
&amp;T2	Returns ERROR.<p>
&amp;T3	Initiates local digital loopback, V.54 Loop 2. Sets S16 bit 2. If no
connection exists, ERROR is returned. Sets S16 bit 4 when the test is in
progress.<p>
&amp;T4	Enables digital loopback acknowledgment for remote request, i.e., an
RDL request from a remote modem is allowed. Sets S23 bit 0.<p>
&amp;T5	Disables digital loopback acknowledgment for remote request, i.e., an
RDL request from a remote modem is denied. Clears S23 bit 0. (Default.)<p>
&amp;T6	Requests a remote digital loopback (RDL), V.54 Loop 2, without self
test. If no connection exists, ERROR is returned. Sets S16 bit 4 when the test
is in progress. The CONNECT XXXX message is displayed upon the start of the
test.<p>
&amp;T7	Requests a remote digital loopback (RDL),V.54 Loop 2, with self test.
(In self test, a test pattern is looped back and checked by the modem.) If no
connection exists, ERROR is returned. When the test is terminated either via
expiration of S18, or via the &amp;T0 or H command, the number of detected
errors is reported to the DTE. Sets S16 bit 5 when the test is in progress.<p>
&amp;T8	Initiates local analog loopback, V.54 Loop 3, with self test. (In self
test, a test pattern is looped back and checked by the modem.) If a connection
exists, the modem hangs up before the test is initiated. When the test is
terminated either via expiration of S18, or via the &amp;T0 or H command, the
number of detected errors is reported to the DTE. Sets S16 bit 6 when the test
is in progress. This command may not be available in some countries due to PTT
restrictions. 
<a name="_Toc343068237"></a><a name="_Toc347715494"></a>
<p class="bodytext"><i>
<a name="RTFToC61">&amp;V
- Display Current Configuration and Stored Profiles</a>
</i></p>
Reports the current (active) configuration, the stored (user) profiles, and the
first four stored telephone numbers. The stored profiles and telephone numbers
are not displayed if the NVRAM is not installed or is not operational as
detected by the NVRAM test during reset processing. <p>
Result Code:<p>
OK<p>
Example:<p>
<tt>AT&amp;V</tt><p>
<tt>ACTIVE PROFILE:</tt><p>
<tt>B0 E1 L1 M1 N1 QO T V1 W0 X4 Y0 &amp;C0 &amp;D0 &amp;G2 &amp;J0 &amp;K3
&amp;Q5 &amp;R1 &amp;S0 &amp;T4 &amp;X0 &amp;Y0</tt><p>
<tt>S00:002 S01:000 S02:043 S03:013 S04:010 S05:008 S06:002 S07:030 S08:002
S09:006</tt><p>
<tt>S10:014 S11:255 S12:050 S18:000 S25:005 S26:001 S36:007 S37:000 S38:020
S46:138 </tt><p>
<tt>S48:007 S95:000</tt>
<p>
<p>
<tt>STORED PROFILE 0:</tt><p>
<tt>B0 E1 L1 M1 N1 QO T V1 W0 X4 Y0 &amp;C0 &amp;D0 &amp;G2 &amp;J0 &amp;K3
&amp;Q5 &amp;R1 &amp;S0 &amp;T4 &amp;X0</tt><p>
<tt>S00:002 S02:043 S06:002 S07:030 S08:002 S09:006 S10:014 S11:095 S12:050
S18:000</tt><p>
<tt>S36:007 S37:000 S40:105 S41:003 S46:138 S95:000</tt>
<p>
<p>
<tt>STORED PROFILE 1:</tt><p>
<tt>B0 E1 L1 M1 N1 QO T V1 W0 X4 Y0 &amp;C0 &amp;D0 &amp;G2 &amp;J0 &amp;K3
&amp;Q5 &amp;R1 &amp;S0 &amp;T4 &amp;X0</tt><p>
<tt>S00:002 S02:043 S06:002 S07:030 S08:002 S09:006 S10:014 S11:095 S12:050
S18:000</tt><p>
<tt>S36:007 S37:000 S40:105 S41:003 S46:138 S95:000</tt>
<p>
<p>
<tt>TELEPHONE NUMBERS:</tt><p>
<tt>0 =	1 =</tt><p>
<tt>2 =	3 =</tt>
<p>
<p>
<tt>OK</tt><p>
<a name="_Toc343068238"></a>
<a name="_Toc347715495"></a><tt></tt>
<p class="bodytext"><i>
<a name="RTFToC62">&amp;Wn
- Store Current Configuration</a>
</i></p>
Saves the current (active) configuration (profile), including S-Registers, in
one of the two user profiles in NVRAM as denoted by the parameter value. This
command will yield an ERROR message if the NVRAM is not installed or is not
operational as detected by the NVRAM test.<p>
The current configuration is comprised of a list of storable parameters
illustrated in the &amp;V command. These settings are restored to the active
configuration upon receiving an Zn command or at power up (see &amp;Yn
command).<p>
&amp;W0	Store the current configuration as profile 0.<p>
&amp;W1	Store the current configuration as profile 1.<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068239"></a><a name="_Toc347715496"></a>
<p class="bodytext"><i>
<a name="RTFToC63">&amp;Xn
- Select Synchronous Clock Source</a>
</i></p>
Selects the source of the transmit clock for the synchronous mode of operation.
The parameter value, if valid, is written to S27 bits 4 and 5.<p>
In asynchronous mode, the transmit and receive clocks are turned OFF. In
synchronous mode, the clocks are turned ON with the frequency of 1200 Hz or
faster corresponding to the speed that is selected for modem operation.<p>
&amp;X0	Selects internal timing. The modem generates the transmit clock signal
and applies it to the TXCLK output at the serial interface.<p>
&amp;X1	Selects external timing. The local DTE sources the transmit clock
signal on the XTCLK input of the serial interface. The modem applies this clock
to the TXCLK output at the serial interface.<p>
&amp;X2	Selects slave receive timing. The modem derives the transmit clock
signal from the incoming carrier and applies it to the TXCLK output at the
serial interface.<p>
Result Codes:<p>
OK	n = 0 to 2.<p>
ERROR	Otherwise.
<a name="_Toc343068240"></a><a name="_Toc347715497"></a>
<p class="bodytext"><i>
<a name="RTFToC64">&amp;Yn
- Designate a Default Reset Profile</a>
</i></p>
Selects which user profile will be used after a hard reset.<p>
&amp;Y0	The modem will use profile 0.<p>
&amp;Y1	The modem will use profile 1.<p>
Result Codes:<p>
OK	n = 0 to 1.<p>
ERROR	If n &gt; 1, or if NVRAM is not installed or is not operational.
<a name="_Toc343068241"></a><a name="_Toc347715498"></a>
<p class="bodytext"><i>
<a name="RTFToC65">&amp;Zn=x
- Store Telephone Number</a>
</i></p>
The modem can store up to four telephone numbers and each telephone number dial
string can contain up to 34 digits.<p>
&amp;Zn=x	n = 0 to 3 and x = dial string. (Requires 256-byte NVRAM.)<p>
Result Codes:<p>
OK	For n &lt;= 3, and x &lt;= 34 digits.<p>
ERROR	If n &gt; 3, x &gt; 35 digits, or if NVRAM is not installed or is not
operational.
<a name="_Toc343068242"></a><a name="_Toc347715499"></a>
<p class="bodytext"><b><i>
<a name="RTFToC66">3.2.3
AT% Commands</a>
<a name="_Toc343068243"></a><a name="_Toc347715500"></a></i></b></p>
<p class="bodytext"><i>
<a name="RTFToC67">%En
- Enable/Disable Line Quality Monitor and Auto-Retrain or Fallback/Fall
Forward</a></a>
</a></i></p>
Controls whether or not the modem will automatically monitor the line quality
and request a retrain (%E1) or fall back when line quality is insufficient or
fall forward when line quality is sufficient (%E2). The parameter value, if
valid, is written to S41 bits 2 and 6.<p>
If enabled, the modem attempts to retrain for a maximum of 30 seconds.<p>
%E0	Disable line quality monitor and auto-retrain. <p>
%E1	Enable line quality monitor and auto-retrain.<p>
%E2	Enable line quality monitor and fallback/fall forward. (Default.)<p>
Result Codes:<p>
OK	n = 0, 1, or 2.<p>
ERROR	Otherwise.<p>
<b>Fallback/Fall Forward. </b>When %E2 is active, the modem monitors the line
quality (EQM). When line quality is insufficient, the modem will initiate a
rate renegotiation to a lower speed within the V.34/V.FC/V.32 bis/V.32 (RC288)
or V.32 bis/V.32   (RC144) modulation speeds. The modem will keep falling back
within the current modulation if necessary until the speed reaches 2400 bps
(V.34), 14400 bps (V.FC), or 4800 bps (V.32). Below this rate, the modem will
only do retrains if EQM thresholds are exceeded. If the EQM is sufficient for
at least one minute, the modem will initiate a rate renegotiation to a higher
speed within the current modulation speeds. The rate renegotiations will be
done without a retrain if a V.32 bis connection is established.<p>
Speeds attempted during fallback/fall forward are those shown to be available
in the rate sequences exchanged during the initial connection. Fallback/fall
forward is available in error correction and normal modes, but not in direct
mode or synchronous mode with external clocks. 
<a name="_Toc343068244"></a><a name="_Toc347715501"></a>
<p class="bodytext"><i>
<a name="RTFToC68">%L
- Line Signal Level</a>
</i></p>
Returns a value which indicates the received signal level. The value returned
is a direct indication (DAA dependent) of the receive level at the MDP,
<b>not</b> at the telephone line connector. For example, 009 = -9 dBm, 043 =
-43 dBm, and so on.<p>
Result Codes:<p>
OK
<a name="_Toc343068245"></a><a name="_Toc347715502"></a>
<p class="bodytext"><i>
<a name="RTFToC69">%Q
- Line Signal Quality</a>
</i></p>
Reports the line signal quality (DAA dependent). Returns the higher order byte
of the EQM value. Based on the EQM value, retrain or fallback/fall forward may
be initiated if enabled by %E1 or %E2.<p>
Example:<p>
<tt>AT%Q<br><br>015</tt><p>Result Codes:
<p>
OK	If connected.<p>
ERROR	If not connected, or connected in 300 bps, V.23, or fax modes.
<a name="_Toc343068248"></a><a name="_Toc347715503"></a>
<p class="bodytext"><b><i>
<a name="RTFToC70">3.2.4
AT\ Commands</a>
<a name="_Toc343068249"></a><a name="_Toc347715504"></a></i></b></p>
<p class="bodytext"><i>
<a name="RTFToC71">\Kn
- Break Control</a></a>
</a></i></p>
Controls the response of the modem to a break received from the DTE or the
remote modem or the \B command according to the parameter supplied. The
parameter value, if valid, is written to S40 bits 3, 4, and 5.<p>
The response is different in three separate states.<p>
The first state is where the modem receives a break from the DTE when the modem
is operating in data transfer mode:<p>
\K0	Enter on-line command mode, no break sent to the remote modem.<p>
\K1	Clear data buffers and send break to remote modem.<p>
\K2	Same as 0.<p>
\K3	Send break to remote modem immediately.<p>
\K4	Same as 0.<p>
\K5	Send break to remote modem in sequence with transmitted data. (Default.)<p>
The second case is where the modem is in the on-line command state (waiting for
AT commands) during a data connection, and the \B is received in order to send
a break to the remote modem:<p>
\K0	Clear data buffers and send break to remote modem.<p>
\K1	Clear data buffers and send break to remote modem. (Same as 0.)<p>
\K2	Send break to remote modem immediately.<p>
\K3	Send break to remote modem immediately. (Same as 2.)<p>
\K4	Send break to remote modem in sequence with data.<p>
\K5	Send break to remote modem in sequence with data. (Same as 4.) (Default.)<p>
The third case is where a break is received from a remote modem during a
non-error corrected connection:<p>
\K0	Clears data buffers and sends break to the DTE.<p>
\K1	Clears data buffers and sends break to the DTE. (Same as 0.)<p>
\K2	Send a break immediately to DTE.<p>
\K3	Send a break immediately to DTE. (Same as 2.)<p>
\K4	Send a break in sequence with received data to DTE.<p>
\K5	Send a break in sequence with received data to DTE. (Same as 4.)
(Default.)<p>
Result Codes:<p>
OK	n = 0 to 5.<p>
ERROR	Otherwise.
<a name="_Toc343068250"></a><a name="_Toc347715505"></a>
<p class="bodytext"><i>
<a name="RTFToC72">\Nn
- Operating Mode</a>
</i></p>
This command controls the preferred error correcting mode to be negotiated in a
subsequent data connection. This command is affected by the OEM firmware
configuration.<p>
\N0	Selects normal speed buffered mode (disables error-correction mode).
(Forces &amp;Q6.)<p>
\N1	Serial interface selected - Selects direct mode and is equivalent to
&amp;M0, &amp;Q0 mode of operation. (Forces &amp;Q0.)<p>
	Parallel interface selected - Same as \N0.<p>
\N2	Selects reliable (error-correction) mode. The modem will first attempt a
LAPM connection and then an MNP connection. Failure to make a reliable
connection results in the modem hanging up. (Forces &amp;Q5, S36=4, and
S48=7.)<p>
\N3	Selects auto reliable mode. This operates the same as \N2 except failure to
make a reliable connection results in the modem falling back to the speed
buffered normal mode. (Forces &amp;Q5, S36=7, and S48=7.)<p>
\N4	Selects LAPM error-correction mode. Failure to make an LAPM
error-correction connection results in the modem hanging up. (Forces &amp;Q5
and S48=0.) Note: The -K1 command can override the \N4 command.<p>
\N5	Selects MNP error-correction mode. Failure to make an MNP error-correction
connection results in the modem hanging up. (Forces &amp;Q5, S36=4, and
S48=128.)<p>
Result Codes:<p>
OK	n = 0 to 5.<p>
ERROR	Otherwise.
<a name="_Toc347715506"></a>
<p class="bodytext"><i>
<a name="RTFToC73">\Vn
- Single Line Connect Message Enable</a>
</i></p>
The single line connect message format can be enabled or disabled by the \Vn
command as follows:<p>
\V0	Connect messages are controlled by the command settings X, W, and S95.<p>
\V1	Connect messages are displayed in the single line format described below
subject to the command settings V (Verbose) and Q (Quiet). In Non-Verbose mode
(V0), single line connect messages are disabled and a single numeric result
code is generated for CONNECT DTE.<p>
When single line connect messages are enabled, there are no CARRIER, PROTOCOL,
or COMPRESSION messages apart from the fields described below. <p>
The single line connect message format is: <p>
CONNECT &lt;DTE
Speed&gt;&lt;/Modulation&gt;&lt;/Protocol&gt;&lt;/Compression&gt;&lt;/Line
Speed&gt;<p>
Where:<p>
&lt;DTE Speed =	DTE speed, e.g., 57600.<p>
Modulation =	"V32" for V.32 or V.32bis modulations.<br>"VFC" for V.FC(TM)
modulations.<br>"V34" for V.34 modulations.<p>
	Note: Modulation is omitted for all other modulations.<p>
Protocol =	"NONE" for no protocol.<br>"ALT" for Microcom Network
Protocol.<br>"LAPM" for LAP-M protocol.<p>
Compression =	"CLASS5" for Microcom MNP5 compression.<br>"V42BIS" for V.42bis
compression.<p>
	Note: Compression is omitted if protocol is NONE.<p>
Line Speed =	Asymmetric rates are displayed as /rate:TX/rate:RX, e.g., /1200
TX/75 RX.<br>Symmetric rates are displayed as a single DCE rate, e.g., 14400.
<a name="_Toc343068251"></a><a name="_Toc347715507"></a>
<p class="bodytext"><b><i>
<a name="RTFToC74">3.2.5
AT+ Commands</a>
<a name="_Toc343068252"></a><a name="_Toc347715508"></a></i></b></p>
<p class="bodytext"><i>
<a name="RTFToC75">+MS
- Select Modulation</a></a>
</a></i></p>
This extended-format command selects the modulation, optionally enables or
disables automode, and optionally specifies the lowest and highest connection
rates using one to four subparameters. The command format is:<p>
+MS= &lt;mod&gt;
[,[&lt;automode&gt;][,[&lt;min_rate&gt;][,[&lt;max_rate&gt;]]]]&lt;CR&gt;<p>
<b>Notes:</b><p>
1.	For 14400 bps and lower speeds, the Nn command and S37 register can
alternatively be used, in which case the +MS subparameters will modified to
reflect the Nn and S37=x settings. Use of the Nn and S37=x commands is not
recommended but is provided for compatibility with existing communication
software. (S37 is not updated by the +MS command.)<p>
2.	Subparameters not entered (enter a comma only or &lt;CR&gt; to skip the last
subparameter) remain at their current values.
<h5>
<a name="RTFToC76">Reporting
Selected Options
</a></h5>
The modem can send a string of information to the DTE consisting of selected
options using the following command:<p>
+MS?<p>
The response is:<p>
+MS: &lt;mod&gt;,&lt;automode&gt;,&lt;min_rate&gt;,&lt;max_rate&gt;<p>
For example,<p>
+MS: 11,1,300,28800	(shows default values) [RC288]<p>
+MS: 10,1,300,14400	(shows default values) [RC144]
<h5>
<a name="RTFToC77">Reporting
Supported Options
</a></h5>
The modem can send a string of information to the DTE consisting of supported
options using the following command:<p>
+MS=?<p>
The response is:<p>
+MS: (list of supported &lt;mod&gt; values), (list of supported
&lt;automode&gt; values) (list of supported &lt;min_rate&gt; values), <br>(list
of supported &lt;max_rate&gt; values)<p>
For example,<p>
+MS: (0, 1, 2, 3, 9, 10, 11, 64, 69, 74), (0,1) (300-28800), (300-28800)
[RC288]<p>
+MS: (0, 1, 2, 3, 9, 10, 64, 69), (0,1) (300-14400), (300-14400) [RC144]<p>

<h5>
<a name="RTFToC78">Subparameter
Definitions
</a></h5>
1.	&lt;mod&gt; = A decimal number which specifies the preferred modulation
(automode enabled) or the modulation (automode disabled) to use in originating
or answering a connection. The options are:

<pre>
   &lt;mod&gt;     Modulation    Possible Rates (bps) 1                     Notes          
          0  V.21          300                                                       
          1  V.22          1200                                                      
          2  V.22 bis      2400 or 1200                                              
          3  V.23          1200                                       See Note 2     
          9  V.32          9600 or 4800                                              
         10  V.32 bis      14400, 12000, 9600, 7200, or 4800          Default        
                                                                      [RC144]        
         11  V.34          28800, 26400, 24000, 21600, 19200,         Default        
                           16800, 14400, 12000, 9600, 7200, 4800,     [RC288]        
                           or 2400                                    [RC288 only]   
         64  Bell 103      300                                                       
         69  Bell 212      1200                                                      
         74  V.FC          28800, 26400, 24000, 21600, 19200,         [RC288 only]   
                           16800, or 14400                                           
Notes: 1. See optional &lt;automode&gt;, &lt;min_rate&gt;, and &lt;max_rate&gt; subparameters. 2.           
For V.23, originating modes transmit at 75 bps and receive at 1200 bps; answering         
modes transmit at 1200&nbsp;bps and receive at 75 bps. The rate is always specified as         
1200 bps.                                                                                 

</pre>

The modem may also automatically switch to another modulation (automode),
subject to the following constraints:<p>
a.	The modem may not be able to automatically switch from the current
modulation (specified by &lt;mod&gt;) to some other modulation. For example,
there is no standard way to automode from Bell 103 to V.23.<p>
b.	The DTE may disable automode operation (see &lt;automode&gt; below).<p>
c.	The DTE may constrain the range of modulations available by specifying the
lowest and highest rates (see &lt;min_rate&gt; and &lt;max_rate&gt; below).<p>
2.	&lt;automode&gt; is an optional numeric value which enables or disables
automatic modulation negotiation using V.8 or V.32 bis Annex A. The options are:

<pre>
 &lt;automode&gt;   Option Selected                                        Notes          
           0  Automode disabled                                                     
           1  Automode enabled using V.8 or V.32 Annex A             Default        

</pre>
<p>
The default value is 1, which enables automode. Note, however, there are
modulations for which there is no automatic negotiation, e.g., Bell 212
(&lt;mod&gt; = 69).<p>
<b>For &lt;automode&gt; = 0 (automode disabled, i.e., fixed modulation):</b><p>
a.	If &lt;max_rate&gt; is within the rates supported by the selected
modulation, the selected rate is that specified by &lt;max_rate&gt;. For
example:<p>
	+MS=10,0,1200,4800 selects V.32 bis 4800 bps fixed rate.<p>
b.	If &lt;max_rate&gt; is greater than the highest speed supported by the
modulation specified by &lt;mod&gt;, the starting rate is the highest rate
supported by the selected modulation. For example:<p>
	+MS=10,0,2400,14400 selects V.32 bis 14400, 12000, 9600, 7200, or 4800 bps.<p>
c.	To emulate issuance of the N0S37=x command sequence to select fixed mode
operation, specify the &lt;max_rate&gt; and &lt;min_rate&gt; both to be the
(same) requested speed, and &lt;mod&gt; to be the modulation for that speed.
For example:<p>
	+MS=11,0,16800,16800 selects V.34 16800 bps fixed mode (no comparable S37
command).<p>
	+MS=10,0,12000,12000 selects V.32 bis 12000 bps fixed mode (same as
N0S37=10).<p>
<b>For &lt;automode&gt; = 1 (automode enabled, i.e., automatically selected
speed and modulation): </b><p>
The modem connects at the highest possible rate in accordance with V.8,
or V.32 bis Annex A if V.8 is not supported by the remote modem. <p>
a.	If &lt;max_rate&gt; is greater than the highest rate supported by the
modulation specified by &lt;mod&gt;, the modem automodes down from the highest
rate of the selected modulation. For example:<p>
	+MS=10,1,1200,24000 selects automoding down from V.32 bis 14400 bps. <p>
b.	To emulate issuance of the N1S37=x sequence command, specify the modulation
and the rate to start automoding down from using &lt;mod&gt; and
&lt;max_rate&gt;, respectively. Set &lt;min_rate&gt; to 300 to allow automoding
all the way down to V.21 300 bps. For example:<p>
	+MS=11,1,300,16800 selects automode starting at V.34 16800 bps (no comparable
S37 command).<p>
	+MS=9,1,300,12000 selects automode starting at V.32 bis 12000 bps (same as
N1S37=10).<p>
3.	&lt;min_rate&gt; is an optional number which specifies the lowest rate at
which the modem may establish a connection. The value is decimal coded, in
units of bps, e.g., 2400 specifies the lowest rate to be 2400 bps. The default
is 300 for 300&nbsp;bps.<p>
4.	&lt;max_rate&gt; is an optional number which specifies the highest rate at
which the modem may establish a connection. The value is decimal coded, in
units of bps, e.g., 14400 specifies the highest rate to be 14400 bps. The
default is 28800 for 28800 bps.
<a name="_Toc343068253"></a><a name="_Toc347715509"></a>
<p class="bodytext"><i>
<a name="RTFToC79">+Hn
- Enable/Disable RPI and DTE Speed</a>
</i></p>
This command enables or disables Rockwell Protocol Interface (RPI) processing
and sets the DTE speed. (Applicable only to modems supporting RPI and RPI+).<p>
+H0	Disable RPI/RPI+.<p>
+H1	Enable RPI mode and set DTE speed to 19200 bps.<p>
+H2	Enable RPI mode and set DTE speed to 38400 bps.<p>
+H3	Enable RPI mode and set DTE speed to 57600 bps.<p>
+H11	Enable RPI+ mode (applicable only to modems supporting RPI). When in RPI+
mode, a link is established between the modem and the WinRPI or WinRPI95 host
PC software driver to allow the modem to support protocol
(V.42bis/LAP-M/MNP2-5) connections with a remote modem. This command should
only be used when the WinRPI or WinRPI95 driver software is installed in the
PC.<p>
Result Codes:<p>
OK	n = 0 to 3, 11.<p>
ERROR	Otherwise.
<a name="_Toc343068256"></a><a name="_Toc347715510"></a>
<p class="bodytext"><b><i>
<a name="RTFToC80">3.2.6
AT- Commands</a>
<a name="_Toc343068257"></a><a name="_Toc347715511"></a></i></b></p>
<p class="bodytext"><i>
<a name="RTFToC81">-SDR=n
-  Enable/Disable Distinctive Ring</a></a>
</a></i></p>
This command enables or disables detection and reporting of distinctive ring.
The syntax is AT-SDR=n, where n is a number from 0 to 7. One, two, or three
distinctive ring types can be simultaneously enabled depending upon the value
of n (bit mapped). The detected ring type is reported in the long form
(verbose) of the result code by appending the ring type number to the end of
the RING message.<p>
-SDR=0	Disables Distinctive Ring. Any valid ring detected is reported as RING
(default). <p>
-SDR=1	Enables Distinctive Ring Type 1.<p>
-SDR=2	Enables Distinctive Ring Type 2.<p>
-SDR=3	Enables Distinctive Ring Type 1 and 2.<p>
-SDR=4	Enables Distinctive Ring Type 3.<p>
-SDR=5	Enables Distinctive Ring Type 1 and 3.<p>
-SDR=6	Enables Distinctive Ring Type 2 and 3.<p>
-SDR=7	Enables Distinctive Ring Type 1, 2, and 3.<p>
Result Codes:<p>
OK	n = 0 to 7.<p>
ERROR	Otherwise.<p>
The n value bit map is:<p>
Bit 0=1	Enable RING type 1. RING type 1 is detected and reported as RING1.<p>
Bit 1=1	Enable RING type 2. RING type 2 is detected and reported as RING2.<p>
Bit 2=1	Enable RING type 3. RING type 3 is detected and reported as RING3.<p>
<p>
The ring types supported and the corresponding ring cadence detect criteria are:

<pre>
Distinctive   Ring Cadence Detect Criteria                                       
 Ring Type                                                                       
     1        2.0 sec ON, 4.0 sec OFF.                                           
     2        0.8 sec ON, 0.4 sec OFF, 0.8 sec ON, 4.0 sec OFF.                  
     3        0.4 sec ON, 0.2 sec OFF, 0.4 sec ON, 0.2 sec OFF, 0.8 sec ON,      
              4.0 sec OFF.                                                       

</pre>
<p>
<b>Notes:</b><p>
1.	The Ring Indicate (RI) output does not toggle on the first ring if
AT-SDR!=0. <p>
2.	The RI output waveform is the same for all ring types detected, i.e., RI is
on for the total duration of the ring period.
<a name="_Toc343068258"></a><a name="_Toc347715512"></a>
<p class="bodytext"><i>
<a name="RTFToC82">-SSE=n
- Enable/Disable DSVD</a>
</i></p>
This command enables or disables DSVD (digital simultaneous voice and data) in
modem models supporting DSVD. The syntax is AT-SSE=n, where n is a number from
0 to 1. <p>
-SSE=0	Disables DSVD (default). <p>
-SSE=1	Enables DSVD.<p>
Result Codes:<p>
OK	n = 0 and 1.<p>
ERROR	Otherwise.<p>
<a name="_Toc343068259"></a><a name="_Toc347715513"></a>
<p class="bodytext"><b>
<a name="RTFToC83">3.3
ERROR DETECTION AND DATA COMPRESSION COMMANDS</a>
<a name="_Toc343068260"></a><a name="_Toc347715514"></a></b></p>
<p class="bodytext"><b><i>
<a name="RTFToC84">3.3.1
AT% Commands</a></a>
</a><a name="_Toc343068261"></a><a name="_Toc347715515"></a></i></b></p>
<p class="bodytext"><i>
<a name="RTFToC85">%C
- Enable/Disable Data Compression</a></a>
</a></i></p>
Enables or disables data compression negotiation. The modem can only perform
data compression on an error corrected link. The parameter value, if valid, is
written to S41 bits 0 and 1.<p>
%C0	Disables data compression. Resets S46 bit 1.<p>
%C1	Enables MNP 5 data compression negotiation. Resets S46 bit 1.<p>
%C2	Enables V.42 bis data compression. Sets S46 bit 1.<p>
%C3	Enables both V.42 bis and MNP 5 data compression. Sets S46 bit 1.
(Default.)<p>
Result Codes:<p>
OK	n = 0, 1, 2, or 3.<p>
ERROR	Otherwise.
<a name="_Toc343068262"></a><a name="_Toc347715516"></a>
<p class="bodytext"><b><i>
<a name="RTFToC86">3.3.2
AT\ Commands</a>
<a name="_Toc343068263"></a><a name="_Toc347715517"></a></i></b></p>
<p class="bodytext"><i>
<a name="RTFToC87">\An
- Select Maximum MNP Block Size</a></a>
</a></i></p>
The modem will operate an MNP error corrected link using a maximum block size
controlled by the parameter supplied. The parameter value, if valid, is written
to S40 bits 6 and 7.<p>
\A0	64 characters.<p>
\A1	128 characters. (Default.)<p>
\A2	192 characters.<p>
\A3	256 characters.<p>
Result Codes:<p>
OK	n = 0 to 3.<p>
ERROR	Otherwise.
<a name="_Toc343068264"></a><a name="_Toc347715518"></a>
<p class="bodytext"><i>
<a name="RTFToC88">\Bn
- Transmit Break to Remote</a>
</i></p>
In non-error correction mode, the modem will transmit a break signal to the
remote modem with a length in multiples of 100 ms according to parameter
specified. If a number in excess of 9 is entered, 9 is used. The command works
in conjunction with the \K command.<p>
In error correction mode, the modem will signal a break through the active
error correction protocol, giving no indication of the length.<p>
\B1-\B9	Break length in 100 ms units. (Default = 3.) (Non-error corrected mode
only.)<p>
Result Codes:<p>
OK	If connected in data modem mode.<p>
NO CARRIER	If not connected or connected in fax modem mode.<p>
<b>Note: </b>When the modem receives a break from the remote modem, break is
passed to the DTE as follows: In non-error correction mode direct, the break
length is passed; in non-error correction mode normal and in error correction
mode, a 300 ms break is passed.
<a name="_Toc343068265"></a><a name="_Toc347715519"></a>
<p class="bodytext"><b>
<a name="RTFToC89">3.4
MNP 10 COMMANDS</a>
<a name="_Toc343068266"></a><a name="_Toc347715520"></a></b></p>
<p class="bodytext"><b><i>
<a name="RTFToC90">3.4.1
AT) Commands</a></a>
</a><a name="_Toc343068267"></a><a name="_Toc347715521"></a></i></b></p>
<p class="bodytext"><i>
<a name="RTFToC91">)Mn
- Enable Cellular Power Level Adjustment</a></a>
</a></i></p>
This command is included only for compatibility and performs no function.<p>
)M0	)M0 command.<p>
)M1	)M1 command.<p>
)M2	)M2 command.<p>
Result Codes:<p>
OK	n = 0 to 2.<p>
ERROR	Otherwise.
<a name="_Toc343068268"></a><a name="_Toc347715522"></a>
<p class="bodytext"><i>
<a name="RTFToC92">*Hn
- Link Negotiation Speed</a>
</i></p>
This command is included only for compatibility and performs no function.<p>
*H0	*H0 command.<p>
*H1	*H1 command.<p>
*H2	*H2 command.<p>
Result Codes:<p>
OK	n = 0 to 2.<p>
ERROR	Otherwise.
<a name="_Toc343068269"></a><a name="_Toc347715523"></a>
<p class="bodytext"><i>
<a name="RTFToC93">-Kn
- MNP Extended Services</a>
</i></p>
Enables or disables conversion of a V.42 LAPM connection to an MNP 10
connection. The parameter value, if valid, is written to S40 bits 0 and 1.<p>
-K0	Disables V.42 LAPM to MNP 10 conversion. (Default.)<p>
-K1	Enables V.42 LAPM to MNP 10 conversion.<p>
-K2	Enables V.42 LAPM to MNP 10 conversion; inhibits MNP Extended Services
initiation during V.42 LAPM answer mode detection phase.<p>
Result Codes:<p>
OK	n = 0 or 2.<p>
ERROR	Otherwise.
<a name="_Toc343068270"></a><a name="_Toc347715524"></a>
<p class="bodytext"><i>
<a name="RTFToC94">-Qn
- Enable Fallback to V.22 bis/V.22</a>
</i></p>
This command is included only for compatibility and performs no function.<p>
-Q0	-Q0 command.<p>
-Q1	-Q1 command.<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068271"></a><a name="_Toc347715525"></a>
<p class="bodytext"><i>
<a name="RTFToC95">-SEC=n
- Enable/Disable MNP10-EC</a>
</i></p>
Enables or disables MNP10-EC operation. The command format is: <p>
	-SEC=n,[&lt;tx level&gt;]	where &lt;tx level&gt; is the optional transmit
level sub parameter.<p>
-SEC=0	Disable MNP10-EC; the transmit level is that defined in S91.<p>
-SEC=1,[&lt;tx level&gt;]	Enable MNP10-EC; the transmit level will be defined
by the sub parameter &lt;tx level&gt; range 0 to 30 (0 dBm to -30 dBm), the
default &lt;tx level&gt; (&lt;tx level&gt; not specified) is the S91 value.<p>
Result Codes:<p>
OK	n=0, 1, or 1 and &lt;tx level&gt;=0 to 30<p>
ERROR	Otherwise<p>
Example: AT-SEC=1,18 enables MNP10-EC and sets the transmit level to -18 dBm.<p>
<b>Note: </b>If AT-SEC=0, the modem will automatically set AT-SEC=1 if the
remote modem indicates Cellular in the V.8 phase or if a Cellular Driver is
loaded and the Cell Phone is attached.<p>
<b><i>Inquiries</i></b><p>
AT-SEC?	Retrieves the current -SEC command settings, e.g.,
1,18.<a name="_Toc343068272"></a><a name="_Toc347715526"></a>
<b><i></i></b>
<p class="bodytext"><i>
<a name="RTFToC96">@Mn
- Initial Cellular Power Level Setting</a>
</i></p>
This command is included only for compatibility and performs no function.<p>
@M0	@M0 command.<p>
.<p>
.<p>
.<p>
@M30	@M30 command.<p>
Result Codes:<p>
OK	n = 0 to 30.<p>
ERROR	Otherwise.
<a name="_Toc343068273"></a><a name="_Toc347715527"></a>
<p class="bodytext"><i>
<a name="RTFToC97">:E
- Compromise Equalizer Enable Command</a>
</i></p>
This command is included only for compatibility and performs no function.<p>
:E0	:E0 command.<p>
:E1	:E1 command.<p>
<p>
Result Codes:<p>
OK	n = 0 or 1.<p>
ERROR	Otherwise.
<a name="_Toc343068274"></a><a name="_Toc347715528"></a>
<p class="bodytext"><b>
<a name="RTFToC98">3.5
W-CLASS COMMANDS</a>
<a name="_Toc343068275"></a><a name="_Toc347715529"></a></b></p>
<p class="bodytext"><b><i>
<a name="RTFToC99">3.5.1
AT* Commands</a></a>
</a><a name="_Toc343068276"></a><a name="_Toc347715530"></a></i></b></p>
<p class="bodytext"><i>
<a name="RTFToC100">*B
- Display Blacklisted Numbers</a></a>
</a></i></p>
This command requests the modem to return a list of blacklisted numbers to the
DTE. The format of the response is shown by the example below. Permanently
forbidden numbers as defined by country requirements will not appear on this
list. If no numbers are blacklisted, only the OK result code is issued.<p>
Example:<p>
<tt>	NO. - PHONE NUMBER -</tt><p>
<tt>	------ ------------------------------</tt><p>
<tt>	1;	4175537660<br>	2;	8288924961<br>	3;	3887278862<br>	4;	3124839442<br>	5;
6284664</tt>
<p>
<p>
<tt>	OK
</tt><a name="_Toc343068277"></a><a name="_Toc347715531"></a><tt></tt>
<p class="bodytext"><i>
<a name="RTFToC101">*D
- Display Delayed Numbers</a>
</i></p>
This command causes the modem to send a list of the delayed numbers together
with the delay associated with each. The modem will return a list of delayed
telephone numbers as defined in the *B command. The format of the response is
shown by the example below (delay times are shown as hours:minutes:seconds). If
no numbers are delayed, only the OK result code is issued.<p>
Example:<p>
<tt>	NO. - PHONE NUMBER -DELAY</tt><p>
<tt>	------ -------------------------------------------</tt><p>
<tt>	1;	8264734660	2:00:00<br>	2;	7532634661	2:00:00<br>	3;	2587334662
0:02:00<br>	4;	7532651663	0:03:25<br>	5;	7459931664	0:01:45</tt>
<p>
<p>
<tt>	OK
</tt><a name="_Toc343068279"></a><a name="_Toc347715532"></a><tt></tt>
<p class="bodytext"><b>
<a name="RTFToC102">3.6
CALLER ID COMMANDS</a>
<a name="_Toc343068280"></a><a name="_Toc347715533"></a></b></p>
<p class="bodytext"><b><i>
<a name="RTFToC103">3.6.1
AT#CID Command</a></a>
</a><a name="_Toc343068281"></a><a name="_Toc347715534"></a></i></b></p>
<p class="bodytext"><i>
<a name="RTFToC104">#CIDn
- Caller ID</a></a>
</a></i></p>
Enables or disables Caller ID.<p>
#CID=0	Disables Caller ID. (Default.)<p>
#CID=1	Enables Caller ID with formatted presentation to the DTE. The modem will
present the data items in a &lt;Tag&gt;&lt;Value&gt; pair format. The expected
pairs are data, time, caller code (telephone number), and name.<p>
#CID=2	Enables Caller ID with unformatted presentation to the DTE. The modem
will present the entire packet of information, excluding the leading U's, in
ASCII printable hex numbers.<p>
Result Codes:<p>
OK	n = 0 or 2.<p>
ERROR	Otherwise.
<a name="_Toc343068282"></a><a name="_Toc347715535"></a>
<p class="bodytext"><i>
<a name="RTFToC105">Inquiries</a></i></p>
#CID?	Retrieves the current Caller ID mode from the modem.<p>
#CID=?	Returns the mode capabilities of the modem in a list with each element
separated by commas.
<a name="_Toc343068283"></a><a name="_Toc347715536"></a>
<p class="bodytext"><i>
<a name="RTFToC106">Formatted
Form Reporting</a>
</i></p>
The modem presents the data in the &lt;tag&gt; = &lt;value&gt; pair format as
described in the table below. Spaces are present on both sides of the equal
sign.<p>
<b>	Tag	Description</b><p>
DATE	DATE = MMDD where MM is the month number (01 to 12) and DD is the
day number (01..31).<p>
TIME	TIME = HHMM where HH is the hour number (00 to 23) and MM is the minute
number (00 to 59).<p>
NMBR	NMBR = &lt;number&gt; or P or O where &lt;number&gt; is the telephone
number of the caller, where P indicates that the calling number information is
not available since the originating caller has requested private service, and
where O indicates that the calling number information is not available or out
of service at the calling location.<p>
NAME	NAME = &lt;listing name&gt; where &lt;listing name&gt; is the subscription
name.<p>
MESG	MESG = &lt;data tag&gt; &lt;length of message&gt; &lt;data&gt;
&lt;checksum&gt; in printable ASCII hex numbers. This tag indicates a data item
not listed above. The message is only possible for Multiple Message Format.<p>
<b>Notes:</b><p>
1.	The modem does not present any Caller ID information if the DCE detects a
checksum error in the Caller ID packet.<p>
2.	In the event of an unrecognized data tag, the modem will present the data in
ASCII hex numbers following the MESG tag.
<a name="_Toc343068284"></a><a name="_Toc347715537"></a>
<p class="bodytext"><i>
<a name="RTFToC107">Example
of Formatted Form Reporting</a>
</i></p>
1.	The following example illustrates the standard Caller ID message packet.<p>
<tt>RING</tt><p>
<tt>DATE	=	0321<br>TIME	=	1405<br>NMBR	=	5045551234<br>NAME	=	A N OTHER</tt><p>
<tt>RING</tt><p>
<tt>RING</tt><p>2.	The following example illustrates the case where the tag of the
packet is not recognized by the modem.
<p>
<tt>RING</tt><p>
<tt>MESG	=	060342424231</tt><p>
<tt>RING</tt><p>
<tt>RING</tt>
<a name="_Toc343068285"></a><a name="_Toc347715538"></a>
<p class="bodytext"><i>
<a name="RTFToC108">Unformatted
Form Reporting</a>
</i></p>
The modem presents all information and packet control information found in the
message. The modem, however, excludes the leading U's (channel seizure
information) from the presentation. The packet is presented in ASCII printable
hex numbers, the modem does not insert spaces, or line feeds, for formatting
between bytes or words of the packet.<p>
The modem does not detect the checksum of the packet.
<a name="_Toc343068286"></a><a name="_Toc347715539"></a>
<p class="bodytext"><i>
<a name="RTFToC109">Example
of Unformatted Form Reporting</a>
</i></p>
<tt>RING</tt><p>
<tt>0412303332323234303539313435353132333435</tt><p>
<tt>RING</tt><p>
<tt>RING
</tt><a name="_Toc343068287"></a><a name="_Toc347715540"></a><tt></tt>
<p class="bodytext"><b>
<a name="RTFToC110">3.7
CELLULAR COMMANDS</a>
</b></p>
The Direct Connect Modem allows a direct interface to most cellular telephones
eliminating the need for other intelligent interfaces. <p>
Landline modems operate with the telephone system by either going off hook
detecting dialtone and the dialing the telephone number using pulses or DTMF
digits, or detecting the RING signal and answering the call. Intelligent
cellular phone interfaces connect between the modems RJ-11 socket and the
cellular phone's data interface. The interface provides landline features to
the modem (line current, dial tone, ringing, etc.), and translates the modem's
signals (off hook, DTMF digits, etc.) into signals that the cellular phone
understands. Once connected the interface acts as a transparent link between
the modem and the cellular telephone.<p>
The Direct Connect Modem interfaces directly to the cellular phone's data
interface and provides direct control over the cellular phones operation. For
example if the user were to instruct the modem to dial using the ATDTnnnn
command the modem would relay the telephone number and the SEND command to the
cellular phone over the data interface.<p>
The modem connects to the cellular phone using a special cable which must be
purchased separately. A different cable is required for each cellular phone or
make of cellular phones. Below is a block diagram of a typical Direct Connect
Cellular Modem (based on AK14-X270 Rev 4 reference schematic).
<a name="_Toc343068288"></a><a name="_Toc347715541"></a>
<p class="bodytext"><b><i>
<a name="RTFToC111">3.7.1
Cellular Phone Drivers</a>
</i></b></p>
The data interface to cellular phones differs between manufacturers and models
and requires a unique cellular phone driver for each phone or group of phones.
Therefore the particular phone driver needs to be downloaded from the PC into
the modem's RAM before the modem can be used directly with the cellular phone.
If a driver is not loaded the modem will operate as a normal landline modem.
<a name="_Toc343068289"></a><a name="_Toc347715542"></a>
<p class="bodytext"><b><i>
<a name="RTFToC112">3.7.2
Cellular Commands</a>
<a name="_Toc343068290"></a><a name="_Toc347715543"></a></i></b></p>
<p class="bodytext"><i>
<a name="RTFToC113">^C2
- Download Cellular Phone Driver</a></a>
</a></i></p>
The ^C2 command initiates the cellular phone driver download function. Upon
receipt of the command, the modem issues the "OK" message. The user then
performs an ASCII download of the driver (in .S37 format) from the host to the
modem, typically using a communications software package (with transmit pacing
turned off). <p>
^C2	Download Cellular Phone command<p>
Result Codes:<p>
OK<p>
[Download Process]<p>
OK	Cellular phone driver download completed successfully<p>
ERROR	Cellular phone driver download not completed successfully, e.g., checksum
of record (in S37 file) is not correct, driver size is larger than 2k bytes, or
an invalid driver is downloaded, or modem is connected.
<a name="_Toc343068291"></a><a name="_Toc347715544"></a>
<p class="bodytext"><i>
<a name="RTFToC114">^I
- Identify Cellular Phone Driver</a>
</i></p>
The modem reports the identification of the loaded cellular phone driver in
response to the ^I command. The response is dependent upon the driver. <p>
Result Codes (Typical):<p>
CELLULAR DRIVER: OKI 900/910<p>
(c) Copyright 1994, Spectrum Cellular, Inc.<p>
Version 0.07 Thu Jan 10:29:52 1994<p>
OK<p>
or<p>
ERROR	Cellular phone driver is not loaded
<a name="_Toc343068292"></a><a name="_Toc347715545"></a>
<p class="bodytext"><i>
<a name="RTFToC115">^T6
- Indicate Status of Cellular Phone</a>
</i></p>
The status of the cellular phone connected to the modem is reported in response
to the ^T6 command. The status is reported in a single byte formatted as a
decimal number. The individual status signals assigned to the status byte bits
are:<p>
	bit 0	1 =	Cellular phone is receiving an incoming call<p>
	bit 1	1 =	Cellular phone is in use<p>
	bit 2	1 =	Cellular phone is locked (cannot be used)<p>
	bit 3	1 =	There is no service for cellular phone (does not indicate signal
strength)<p>
	bit 4	1 =	Cellular phone is powered on<p>
	bit 5	1 =	Cellular driver is initialized<p>
	bit 6	0 =	Reserved (0)<p>
	bit 7	1 =	Cellular cable detected<p>
Result Codes (typical):<p>
128	(Cellular cable detected)<p>
OK
<h5>
<a name="RTFToC116">Application
of ^T6 Status Byte
</a></h5>
The information obtained by issuing a AT^T6 can be used to determine if the
loading of the cellular phone driver is necessary by the host software. A
download is not necessary if landline (or no cable) is connected to the modem,
in which ^T6 will return a value of 0 (bit 7=0). A download is necessary when a
cellular cable is detected (implied cellular phone is also connected), in which
^T6 will return a value of 128 (bit 7=1). Once a driver is downloaded to the
modem, it will be able to operate in landline or cellular mode based on
detection of a cellular cable.
<a name="_Toc343068293"></a><a name="_Toc347715546"></a>
<p class="bodytext"><b><i>
<a name="RTFToC117">3.7.3
Operation</a>
</i></b></p>
Once the driver is loaded and the modem is connected to the cellular phone, and
the phone is powered on dial/answer functions will be routed through the phone
instead of the landline DAA, i.e., no special commands are needed to place or
answer calls, the same AT commands and software packages that are used for
landline communication sessions can be used. If the cellular phone is not
connected or is powered off dial/answer functions will be routed through the
landline DAA, and if V.42 bis connection is established the cellular phone
driver will be purged so that the V.42 bis dictionaries can be increased to
their normal size.<p>
While the modem is being used with a cellular phone it will respond with normal
result messages with the following differences in meaning:<p>
NO DIALTONE	Indicates that cellular service is not currently available.<p>
RING	Indicates that the cellular phone is receiving an incoming call.
<a name="_Toc343068294"></a><a name="_Toc347715547"></a>
<p class="bodytext"><i>
<a name="RTFToC118">Modem
Configuration</a>
</i></p>
Modem performance will be improved by modification of your standard
configuration; it is recommended that the landline modem also be EC compatible
for reliable communications.<p>
Cell Site	AT&amp;F<p>
Base Site	AT&amp;F -SEC=1,18<p>
MNP10-EC is automatically enabled on the cell side when a cellular phone driver
is loaded and the modem firmware detects that the cellular phone is attached,
also in the V.34 products the modem is automatically configured to force the
connection in V.32bis mode.<p>
On the cell side the transmit level is defined in the cellular driver,
therefore it is not necessary to set the level using the AT-SEC command.<p>
In the V.34 products on the landline side if MNP10-EC is disabled (AT-SEC=0),
it will automatically be enabled if another V.34 modem is calling (V.8 signal
indicates cellular capability). No particular modulation will be chosen on the
land line side. Therefore if a landside V.34 modem is NOT going to receive any
calls from a V.32bis MNP10-EC modem it can be configured using AT&amp;F
-SEC=0,18 , otherwise use the configuration above.<p>
In V.34 modems if MNP10-EC is enabled manually (using AT-SEC=1) no particular
modulation will be chosen, therefore if the user wishes to force V.32bis
modulation they should use the AT+MS=10,1,minspeed,maxspeed command (e.g.
AT+MS=10,1,4800,12000 would force V.32bis and limit the speed between 4800 and
12000 bps). To allow V.34 modulation use AT+MS=11,1,minspeed,maxspeed (e.g.
AT+MS=11,1,4800,19200 would allow V.34 speeds between 4800 and 19200).<p>
When MNP10-EC is enabled in V.34 modes the symbol rate is limited to 3000,
therefore the maximum speed would be 26.4K however the initial connect speed is
limited to 21600.<p>
If an AXCELL(TM) solution is used, a transmit level of -10dBm is required,
therefore the following init string should be used:<p>
Cell Site	AT &amp;F -SEC=1,10<p>
It is recommended that systems be set up if possible with separate modems to
receive calls from other land based modems and cellular modems. This is so that
land based users that experience high network attenuation do not have
connection problems when communicating to modems configured for cellular
operation.<p>
The above configurations are the minimum additional AT commands may be issued
to change the result messages etc, AT&amp;F is used to ensure that the modem is
in a know state.<p>
Table 3-2 summarizes the mode and resulting transmit levels for both modems
depending on their configuration.
<a name="_Toc347715548"></a>
<p class="bodytext"><i>
<a name="RTFToC119">Fax
Configuration</a>
</i></p>
It is recommended that fax transmissions be configured to operate at  9600 bps
in V.17 mode or 7200 bps in V.29 mode.
<a name="_Toc347715549"></a>
<p class="bodytext"><i>
<a name="RTFToC120">Cellular
Phone Configuration</a>
</i></p>
To achieve the best operational performance, a cellular data connection should
be attempted in a location where adequate signal strength is observed for the
cellular phone. This condition can be easily monitored on some phones with
signal strength indicator. In locations where even voice calls are unreliable,
data connections should not be attempted.  Under some circumstances a special
high gain antenna may improve performance.<p>
Additional information regarding the use of the cellular phone and cellular
network should be obtained from the service provider and or cellular phone
manufacturer.
<a name="_Ref345229775"></a><p>
<a name="_Ref345310964"></a><a name="_Toc347715838"></a><p>
<b>Table 3-2. Remote Modem Configuration and Resulting Transmit
Levels</b>

<pre>
     Remote Modem        Base Site Configuration<br>(Connected to PSTN)                        
     Configuration                                                                          
                         AT&amp;F-SEC=0,x                      AT&amp;F-SEC=1,x                      
                         V.34             V.32bis          V.34             V.32bis          
V.34<br>Dir  AT&amp;F           Mod =               Mod =               Mod =               Mod =               
ect<br>Conn                 V.32bis<br>Mode =   V.32bis<br>Mode =   V.32bis<br>Mode =   V.32bis<br>Mode =   
ect                      -EC<br>RTxlv =      Single              -EC<br>RTxlv =      -EC<br>RTxlv =      
                         Driver<br>BTxlv =   -EC<br>RTxlv =      Driver<br>BTxlv =   Driver<br>BTxlv =   
                         x                Driver<br>BTxlv =   x                x                
                                          -10                                                
          AT&amp;F-SEC=1,x   Mod =               Mod =               Mod =               Mod =               
                         V.34<br>Mode =      V.32bis<br>Mode =   V.34<br>Mode =      V.32bis<br>Mode =   
                         -EC<br>RTxlv =         Single              -EC<br>RTxlv =         -EC<br>RTxlv =         
                         x<br>BTxlv = x      -EC<br>RTxlv =         x<br>BTxlv = x      x<br>BTxlv = x      
                                          x<br>BTxlv = -10                                      
V.32bis<br>  AT&amp;F           Mod =               Mod =               Mod =               Mod =               
Direct<br>C                 V.32bis<br>Mode =   V.32bis<br>Mode =   V.32bis<br>Mode =   V.32bis<br>Mode =   
onnect                   Single              Single              -EC<br>RTxlv =      -EC<br>RTxlv =      
                         -EC<br>RTxlv =      -EC<br>RTxlv =      Driver<br>BTxlv =   Driver<br>BTxlv =   
                         Driver<br>BTxlv =   Driver<br>BTxlv =   x                x                
                         -10              -10                                                
          AT&amp;F-SEC=1,x   Mod =               Mod =               Mod =               Mod =               
                         V.32bis<br>Mode =   V.32bis<br>Mode =   V.32bis<br>Mode =   V.32bis<br>Mode =   
                         Single              Single              -EC<br>RTxlv =         -EC<br>RTxlv =         
                         -EC<br>RTxlv =         -EC<br>RTxlv =         x<br>BTxlv = x      x<br>BTxlv = x      
                         x<br>BTxlv = -10    x<br>BTxlv = -10                                      
V.34<br>PST  AT&amp;F           Mod =               Mod =               Mod =               Mod =               
N                        V.34<br>Mode =      V.32bis<br>Mode =   V.34<br>Mode =      V.32bis<br>Mode =   
                         non -EC<br>RTxlv    non -EC<br>RTxlv    Single              Single              
                         = -10<br>BTxlv =    = -10<br>BTxlv =    -EC<br>RTxlv =      -EC<br>RTxlv =      
                         -10              -10              -10<br>BTxlv = x    -10<br>BTxlv = x    
V.32bis<br>  AT&amp;F           Mod =               Mod =               Mod =               Mod =               
PSTN                     V.32bis<br>Mode =   V.32bis<br>Mode =   V.32bis<br>Mode =   V.32bis<br>Mode =   
                         non -EC<br>RTxlv    non -EC<br>RTxlv    Single              Single              
                         = -10<br>BTxlv =    = -10<br>BTxlv =    -EC<br>RTxlv =      -EC<br>RTxlv =      
                         -10              -10              -10<br>BTxlv = x    -10<br>BTxlv = x    
Key: Mod = Modulation negotiated (V.32bis or V.34) Mode = -EC = Both ends in MNP10-EC      
mode  Single -EC = one end in MNP10-EC mode  non -EC = neither end in MNP10-EC mode        
RTxlv = Transmit level of Remote side modem in dBm BTxlv = Transmit level of Base side     
modem in dBm x = User defined transmit level Driver = Transmit level defined in cellular   
phone driver.                                                                              

</pre>
<a name="_Toc343068296"></a><a name="_Toc347715550"></a>
<p class="bodytext"><b>
<a name="RTFToC121">3.8
AT COMMAND RESULT CODES</a>
</b></p>
The modem responds to commands from the DTE and to activity on the line by
signalling to the DTE in the form of result codes. The result codes that the
modem can send are described below.<p>
Two forms of each result code are available: long-form, an English-like
"verbose" response, and short-form, a data-like numeric response (included in
parentheses following the long-form). The long-form code is preceded and
terminated by the sequence &lt; CR&gt; &lt; LF&gt;. The short-form is
terminated by &lt; CR&gt;, only with no preceding sequence.<p>
If result messages are suppressed, nothing is returned to the DTE. The
long-form results codes can be modified by the OEM through the ConfigurACE
Configuration Utility Program. (See ConfigurACE description.)
<a name="_Toc343068297"></a><a name="_Toc347715551"></a>
<p class="bodytext"><i>
<a name="RTFToC122">OK</a>
(0)
</i></p>
The OK code is returned by the modem to acknowledge execution of a command line.
<a name="_Toc343068298"></a><a name="_Toc347715552"></a>
<p class="bodytext"><i>
<a name="RTFToC123">CONNECT</a>
(1)
</i></p>
The modem will send this result code upon connecting when:<p>
1.	The line speed is 300 bps and the modem has been instructed to report the
line speed to the DTE upon connecting, or<p>
2.	The DTE speed is 300 bps and the modem has been instructed to report the DTE
speed to the DTE upon connecting, or<p>
3.	The range of result code responses is restricted by the X command such that
no speed reporting is allowed.
<a name="_Toc343068299"></a><a name="_Toc347715553"></a>
<p class="bodytext"><i>
<a name="RTFToC124">RING</a>
(2)
</i></p>
The modem sends this result code when incoming ringing is detected on the line.
What qualifies as a ring signal is determined by country-dependent parameters,
modifiable through ConfigurACE.<p>
When cellular interface is selected, RING indicates that the cellular phone is
receiving an incoming call.
<a name="_Toc343068300"></a><a name="_Toc347715554"></a>
<p class="bodytext"><i>
<a name="RTFToC125">NO
CARRIER</a> (3)
</i></p>
The modem sends this result code when attempting to establish a call if:<p>
1.	Ringback is detected and later ceases but no carrier is detected within the
period of time determined by register S7, or<p>
2.	No ringback is detected within the period of time determined by register
S7.<p>
This result code is also used when the modem auto-disconnects due to loss of
carrier.<p>
Under X0, if busy tone detection is enforced, this result code is used as a
response to the detection of busy or circuit busy. Under X0, if dial tone
detection is enforced or selected, this result code is used to indicate that
dial tone has not been detected.
<a name="_Toc343068301"></a><a name="_Toc347715555"></a>
<p class="bodytext"><i>
<a name="RTFToC126">ERROR</a>
(4)
</i></p>
The modem returns this result code if the command line contains a syntax error
or it is unable to execute a command contained in the command line. It is
issued if a command does not exist or if the parameter supplied is outside the
permitted range.<p>
Under X0, X1, X2, and X3, this result is used instead of DELAYED and BLACKLISTED.
<a name="_Toc343068302"></a><a name="_Toc347715556"></a>
<p class="bodytext"><i>
<a name="RTFToC127">CONNECT
1200</a> (5)
</i></p>
For X1, X2, X3, and X4, the modem sends this result code when:<p>
1.	The line speed is 1200 bps and the modem has been instructed to report the
line speed to the DTE upon connecting, or<p>
2.	The DTE speed is 1200 bps and the modem has been instructed to report the
DTE speed to the DTE upon connecting.<p>
(Also, see the W command.)
<a name="_Toc343068303"></a><a name="_Toc347715557"></a>
<p class="bodytext"><i>
<a name="RTFToC128">NO
DIALTONE</a> (6)
</i></p>
For X2 and X4, the modem sends this result code if it has been instructed to
wait for dial tone during dialing but none is received.<p>
When cellular phone interface is selected, NO DIALTONE indicates that cellular
service is not currently available.
<a name="_Toc343068304"></a><a name="_Toc347715558"></a>
<p class="bodytext"><i>
<a name="RTFToC129">BUSY</a>
(7)
</i></p>
For X3 and X4, if busy tone detection is enforced, the modem sends this result
code when attempting to originate a call if the busy (engaged) signal is
detected on the line.
<a name="_Toc343068305"></a><a name="_Toc347715559"></a>
<p class="bodytext"><i>
<a name="RTFToC130">NO
ANSWER</a> (8)
</i></p>
The modem sends this result code when attempting to originate a call if a
continuous ringback signal is detected on the line until the expiration of the
timer S7.
<a name="_Toc343068306"></a><a name="_Toc347715560"></a>
<p class="bodytext"><i>
<a name="RTFToC131">CONNECT
0600</a> (9)
</i></p>
For X1, X2, X3, and X4, the modem sends this result code when:<p>
1.	The line speed is 600 bps and the modem has been instructed to report the
line speed to the DTE upon connecting, or<p>
2.	The DTE speed is 600 bps and the modem has been instructed to report the DTE
speed to the DTE upon connecting.
<a name="_Toc343068307"></a><a name="_Toc347715561"></a>
<p class="bodytext"><i>
<a name="RTFToC132">CONNECT
2400</a> (10)
</i></p>
For X1, X2, X3, and X4, the modem sends this result code when:<p>
1.	The line speed is 2400 bps and the modem has been instructed to report the
line speed to the DTE upon connecting, or<p>
2.	The DTE speed is 2400 bps and the modem has been instructed to report the
DTE speed to the DTE upon connecting.
<a name="_Toc343068308"></a><a name="_Toc347715562"></a>
<p class="bodytext"><i>
<a name="RTFToC133">CONNECT
4800</a> (11)
</i></p>
For X1, X2, X3, and X4, the modem sends this result code when:<p>
1.	The line speed is 4800 bps and the modem has been instructed to report the
line speed to the DTE upon connecting, or<p>
2.	The DTE speed is 4800 bps and the modem has been instructed to report the
DTE speed to the DTE upon connecting.
<a name="_Toc343068309"></a><a name="_Toc347715563"></a>
<p class="bodytext"><i>
<a name="RTFToC134">CONNECT
9600</a> (12)
</i></p>
For X1, X2, X3, and X4, the modem sends this result code when:<p>
1.	The line speed is 9600 bps and the modem has been instructed to report the
line speed to the DTE upon connecting, or<p>
2.	The DTE speed is 9600 bps and the modem has been instructed to report the
DTE speed to the DTE upon connecting.
<a name="_Toc343068310"></a><a name="_Toc347715564"></a>
<p class="bodytext"><i>
<a name="RTFToC135">CONNECT
7200</a> (13)
</i></p>
For X1, X2, X3, and X4, the modem sends this result code when:<p>
1.	The line speed is 7200 bps and the modem has been instructed to report the
line speed to the DTE upon connecting, or<p>
2.	The DTE speed is 7200 bps and the modem has been instructed to report the
DTE speed to the DTE upon connecting.
<a name="_Toc343068311"></a><a name="_Toc347715565"></a>
<p class="bodytext"><i>
<a name="RTFToC136">CONNECT
12000</a> (14)
</i></p>
For X1, X2, X3, and X4, the modem sends this result code when:<p>
1.	The line speed is 12000 bps and the modem has been instructed to report the
line speed to the DTE upon connecting, or<p>
2.	The DTE speed is 12000 bps and the modem has been instructed to report the
DTE speed to the DTE upon connecting.
<a name="_Toc343068312"></a><a name="_Toc347715566"></a>
<p class="bodytext"><i>
<a name="RTFToC137">CONNECT
14400</a> (15)
</i></p>
For X1, X2, X3, and X4, the modem sends this result code when:<p>
1.	The line speed is 14400 bps and the modem has been instructed to report the
line speed to the DTE upon connecting, or<p>
2.	The DTE speed is 14400 bps and the modem has been instructed to report the
DTE speed to the DTE upon connecting.
<a name="_Toc343068313"></a><a name="_Toc347715567"></a>
<p class="bodytext"><i>
<a name="RTFToC138">CONNECT
19200</a> (16)
</i></p>
For X1, X2, X3, and X4, the modem sends this result code when:<p>
1.	The line speed is 19200 bps and the modem has been instructed to report the
line speed to the DTE upon connecting, or<p>
2.	The DTE speed is 19200 bps and the modem has been instructed to report the
DTE speed to the DTE upon connecting.
<a name="_Toc343068314"></a><a name="_Toc347715568"></a>
<p class="bodytext"><i>
<a name="RTFToC139">CONNECT
38400</a> (17)
</i></p>
For X1, X2, X3, and X4, the modem sends this result code upon connecting when
the DTE speed is 38400 bps and the modem has been instructed to report the DTE
speed to the DTE upon connecting.
<a name="_Toc343068315"></a><a name="_Toc347715569"></a>
<p class="bodytext"><i>
<a name="RTFToC140">CONNECT
57600</a> (18)
</i></p>
For X1, X2, X3, and X4, the modem sends this result code upon connecting when
the DTE speed is 57600 bps and the modem has been instructed to report the DTE
speed to the DTE upon connecting.
<a name="_Toc343068316"></a><a name="_Toc347715570"></a>
<p class="bodytext"><i>
<a name="RTFToC141">CONNECT
115200</a> (19)
</i></p>
For X1, X2, X3, and X4, the modem sends this result code upon connecting when
the DTE speed is 115200 bps and the modem has been instructed to report the DTE
speed to the DTE upon connecting.
<a name="_Toc343068317"></a><a name="_Toc347715571"></a>
<p class="bodytext"><i>
<a name="RTFToC142">CONNECT
75TX/1200RX</a> (22)
</i></p>
For X1, X2, X3, and X4, the modem returns this result code upon establishing a
V.23 originate connection when the modem has been instructed to report the DCE
speed upon connection.
<a name="_Toc343068318"></a><a name="_Toc347715572"></a>
<p class="bodytext"><i>
<a name="RTFToC143">CONNECT
1200TX/75RX</a> (23)
</i></p>
For X1, X2, X3, and X4, the modem returns this result code upon establishing a
V.23 answer connection when the modem has been instructed to report the DCE
speed upon connection.
<a name="_Toc343068319"></a><a name="_Toc347715573"></a>
<p class="bodytext"><i>
<a name="RTFToC144">DELAYED</a>
(24)
</i></p>
For X4, the modem returns this result code when a call fails to connect and the
number dialed is considered 'delayed' due to country blacklisting requirements.
<a name="_Toc343068320"></a><a name="_Toc347715574"></a>
<p class="bodytext"><i>
<a name="RTFToC145">BLACKLISTED</a>
(32)
</i></p>
For X4, the modem returns this result code when a call fails to connect and the
number dialed is considered 'blacklisted'.
<a name="_Toc343068321"></a><a name="_Toc347715575"></a>
<p class="bodytext"><i>
<a name="RTFToC146">FAX</a>
(33)
</i></p>
The modem returns this result code when a fax modem connection is established
in a facsimile mode.
<a name="_Toc343068322"></a><a name="_Toc347715576"></a>
<p class="bodytext"><i>
<a name="RTFToC147">DATA</a>
(35)
</i></p>
The modem returns this result code when a data modem connection is established
in a facsimile mode.
<a name="_Toc343068323"></a><a name="_Toc347715577"></a>
<p class="bodytext"><i>
<a name="RTFToC148">CARRIER
300</a> (40)
</i></p>
The modem returns this result code when a 0-300 bps data rate has been detected
on the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068324"></a><a name="_Toc347715578"></a>
<p class="bodytext"><i>
<a name="RTFToC149">CARRIER
1200/75</a> (44)
</i></p>
The modem sends this result code when the V.23 backward channel carrier has
been detected on the line and carrier reporting has been enabled. (See S95 and
Xn.)
<a name="_Toc343068325"></a><a name="_Toc347715579"></a>
<p class="bodytext"><i>
<a name="RTFToC150">CARRIER
75/1200</a> (45)
</i></p>
The modem sends this result code when the V.23 forward channel carrier has been
detected on the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068326"></a><a name="_Toc347715580"></a>
<p class="bodytext"><i>
<a name="RTFToC151">CARRIER
1200</a> (46)
</i></p>
The modem sends this result code when a 1200 bps data rate has been detected on
the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068327"></a><a name="_Toc347715581"></a>
<p class="bodytext"><i>
<a name="RTFToC152">CARRIER
2400</a> (47)
</i></p>
The modem sends this result code when a 2400 bps data rate has been detected on
the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068328"></a><a name="_Toc347715582"></a>
<p class="bodytext"><i>
<a name="RTFToC153">CARRIER
4800</a> (48)
</i></p>
The modem sends this result code when a 4800 bps data rate has been detected on
the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068329"></a><a name="_Toc347715583"></a>
<p class="bodytext"><i>
<a name="RTFToC154">CARRIER
7200</a> (49)
</i></p>
The modem sends this result code when a 7200 bps data rate has been detected on
the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068330"></a><a name="_Toc347715584"></a>
<p class="bodytext"><i>
<a name="RTFToC155">CARRIER
9600</a> (50)
</i></p>
The modem sends this result code when a 9600 bps data rate has been detected on
the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068331"></a><a name="_Toc347715585"></a>
<p class="bodytext"><i>
<a name="RTFToC156">CARRIER
12000</a> (51)
</i></p>
The modem sends this result code when a 12000 bps data rate has been detected
on the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068332"></a><a name="_Toc347715586"></a>
<p class="bodytext"><i>
<a name="RTFToC157">CARRIER
14400</a> (52)
</i></p>
The modem sends this result code when a 14400 bps data rate has been detected
on the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068333"></a><a name="_Toc347715587"></a>
<p class="bodytext"><i>
<a name="RTFToC158">CARRIER
16800</a> (53)
</i></p>
The modem sends this result code when a 16800 bps data rate has been detected
on the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068334"></a><a name="_Toc347715588"></a>
<p class="bodytext"><i>
<a name="RTFToC159">CARRIER
19200</a> (54)
</i></p>
The modem sends this result code when a 19200 bps data rate has been detected
on the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068335"></a><a name="_Toc347715589"></a>
<p class="bodytext"><i>
<a name="RTFToC160">CARRIER
21600</a> (55)
</i></p>
The modem sends this result code when a 21600 bps data rate has been detected
on the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068336"></a><a name="_Toc347715590"></a>
<p class="bodytext"><i>
<a name="RTFToC161">CARRIER
24000</a> (56)
</i></p>
The modem sends this result code when a 24000 bps data rate has been detected
on the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068337"></a><a name="_Toc347715591"></a>
<p class="bodytext"><i>
<a name="RTFToC162">CARRIER
26400</a> (57)
</i></p>
The modem sends this result code when a 26400 bps data rate has been detected
on the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068338"></a><a name="_Toc347715592"></a>
<p class="bodytext"><i>
<a name="RTFToC163">CARRIER
28800</a> (58)
</i></p>
The modem sends this result code when a 28800 bps data rate has been detected
on the line and carrier reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068339"></a><a name="_Toc347715593"></a>
<p class="bodytext"><i>
<a name="RTFToC164">CONNECT
16800</a> (59)
</i></p>
For X1, X2, X3, and X4, the modem returns this result code upon connecting when
the DTE speed is 16800 bps and the modem has been instructed to report the DTE
speed upon connecting.
<a name="_Toc343068340"></a><a name="_Toc347715594"></a>
<p class="bodytext"><i>
<a name="RTFToC165">CONNECT
21600</a> (61)
</i></p>
For X1, X2, X3, and X4, the modem returns this result code upon connecting when
the DTE speed is 21600 bps and the modem has been instructed to report the DTE
speed upon connecting.
<a name="_Toc343068341"></a><a name="_Toc347715595"></a>
<p class="bodytext"><i>
<a name="RTFToC166">CONNECT
24000</a> (62)
</i></p>
For X1, X2, X3, and X4, the modem returns this result code upon connecting when
the DTE speed is 24000 bps and the modem has been instructed to report the DTE
speed upon connecting.
<a name="_Toc343068342"></a><a name="_Toc347715596"></a>
<p class="bodytext"><i>
<a name="RTFToC167">CONNECT
26400</a> (63)
</i></p>
For X1, X2, X3, and X4, the modem returns this result code upon connecting when
the DTE speed is 26400 bps and the modem has been instructed to report the DTE
speed upon connecting.
<a name="_Toc343068343"></a><a name="_Toc347715597"></a>
<p class="bodytext"><i>
<a name="RTFToC168">CONNECT
28800</a> (64)
</i></p>
For X1, X2, X3, and X4, the modem returns this result code upon connecting when
the DTE speed is 28800 bps and the modem has been instructed to report the DTE
speed upon connecting.
<a name="_Toc343068344"></a><a name="_Toc347715598"></a>
<p class="bodytext"><i>
<a name="RTFToC169">COMPRESSION:
CLASS 5</a>  (66)
</i></p>
This message is sent to the DTE when the modem has connected in MNP Class 5 and
COMPRESSION message reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068345"></a><a name="_Toc347715599"></a>
<p class="bodytext"><i>
<a name="RTFToC170">COMPRESSION:
V.42 bis</a> (67)
</i></p>
This message is sent to the DTE when the modem has connected in V.42 bis and
COMPRESSION message reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068346"></a><a name="_Toc347715600"></a>
<p class="bodytext"><i>
<a name="RTFToC171">COMPRESSION:
NONE</a> (69)
</i></p>
This message is sent to the DTE when the modem has connected without data
compression and COMPRESSION message reporting has been enabled. (See S95 and Xn.)
<a name="_Toc343068347"></a><a name="_Toc347715601"></a>
<p class="bodytext"><i>
<a name="RTFToC172">PROTOCOL:
NONE</a> (70)
</i></p>
This message is sent to the DTE when the modem has connected without any form
of error correction, and the PROTOCOL message reporting has been enabled. (See
S95 and Xn.)
<a name="_Toc343068348"></a><a name="_Toc347715602"></a>
<p class="bodytext"><i>
<a name="RTFToC173">PROTOCOL:
LAPM</a> (77)
</i></p>
This message is sent to the DTE when the modem has connected in the V.42 LAPM
mode of error correction, and PROTOCOL message reporting has been enabled. (See
S95 and Xn.)
<a name="_Toc343068349"></a><a name="_Toc347715603"></a>
<p class="bodytext"><i>
<a name="RTFToC174">PROTOCOL:
ALT</a> (80)
</i></p>
This message is sent to the DTE when the modem has connected in the MNP mode of
error correction, and PROTOCOL message reporting has been enabled. (See S95 and
Xn.)
<a name="_Toc343068350"></a><a name="_Toc347715604"></a>
<p class="bodytext"><i>
<a name="RTFToC175">PROTOCOL:
ALT-CELLULAR</a> (81)
</i></p>
This message is sent to the DTE when the modem has connected in the MNP 10 mode
and cellular power level adjustment is enabled (")M1 or )M2").(See S95 and Xn.)
<a name="_Toc343068351"></a><a name="_Toc347715605"></a>
<p class="bodytext"><i>
<a name="RTFToC176">+FCERROR</a>
(+F4)
</i></p>
This message is sent to the DTE when high speed fax data (V.27, V.29, V.33, or
V.17) is expected and a V.21 signal is received.<p>

<a name="_Toc343068352"></a><a name="_Toc347715606"></a>
<p class="subheadlinktext">
<a name="RTFToC177">4. S-REGISTERS</a>
</p>
The S-Registers are summarized in Table 4-1 along with their default values;
registers denoted with an '*' may be stored in one of the two user profiles by
entering the &amp;Wn command. One of these profiles may be loaded at any time
by using the Zn command. Registers or register fields quoted as "reserved" are
reserved for current or future use by the firmware, or are permanently
overridden by PTT limitations. For the latter, control of the equivalent
functionality is available with ConfigurACE Call Progress and Blacklisting
options. <p>
All bit-mapped registers are read-only. The appropriate AT command which
controls the relevant bits in the S-Register should be used to change the value. 
<a name="_Toc343068353"></a><a name="_Toc347715607"></a>
<p class="bodytext"><b>
<a name="RTFToC178">4.1
FACTORY DEFAULTS</a>
</b></p>
The factory default values are stored in ROM and are loaded into the active
configuration at power up or by the ATZn command. In addition, the designated
default profile is subsequently loaded, and may change some of the factory
default values. The designated default profile can be changed by entering the
&amp;Yn command where n is one of the two possible user profiles.<p>
The defaults shown are those used by Rockwell in factory profiles zero and one.
These may be overwritten by the OEM with ConfigurACE prior to placing the
firmware in PROM. Minimum and maximum values may also be imposed by ConfigurACE
in response to country PTT requirements.<p>
The default values shown in Table 4-1 may vary by modem firmware configuration.
Consult the MCU firmware release notes for exact configuration.<p>
The factory default values may be loaded at any time by entering the &amp;Fn
command.
<a name="_Ref345291535"></a><a name="_Toc347715839"></a><p>
<b>Table 4-1. S-Register Summary</b>

<pre>
Register   Function                      Range     Units     Saved    Default**                
S0         Rings to Auto-Answer          0-255     rings     *        0                        
S1         Ring Counter                  0-255     rings              0                        
S2         Escape Character              0-255     ASCII     *        43                       
S3         Carriage Return Character     0-127     ASCII              13                       
S4         Line Feed Character           0-127     ASCII              10                       
S5         Backspace Character           0-255     ASCII              8                        
S6         Wait Time for Dial Tone       2-255     s         *        2                        
S7         Wait Time for Carrier         1-255     s         *        50                       
S8         Pause Time for Dial Delay     0-255     s         *        2                        
           Modifier                                                                            
S9         Carrier Detect Response Time  1-255     0.1 s     *        6                        
S10        Carrier Loss Disconnect Time  1-255     0.1 s     *        14                       
S11        DTMF Tone Duration            50-255    0.001 s   *        95                       
S12        Escape Prompt Delay           0-255     0.02 s    *        50                       
S13        Reserved                      -         -                  -                        
S14        General Bit Mapped Options    -         -         *        138 (8Ah)                
           Status                                                                              
S15        Reserved                      -         -                  -                        
S16        Test Mode Bit Mapped          -         -                  0                        
           Options Status (&amp;T)                                                                 
S17        Reserved                      -         -                  -                        
S18        Test Timer                    0-255     s         *        0                        
S19        AutoSync Options              -         -                  0                        
S20        AutoSync HDLC Address or      0-255     -         *        0                        
           BSC Sync Character                                                                  
S21        V.24/General Bit Mapped       -         -         *        52 (34h)                 
           Options Status                                                                      
S22        Speaker/Results Bit Mapped    -         -         *        117 (75h)                
           Options Status                                                                      
S23        General Bit Mapped Options              -         *        62 (3Dh)                 
           Status                                                                              
S24        Sleep Inactivity Timer        0-255     s         *        0                        
S25        Delay to DTR Off              0-255     s or               5                        
                                                   0.01 s                                      
S26        RTS-to-CTS Delay              0-255     0.01 s             1                        
S27        General Bit Mapped Options    -         -         *        73 (49h)                 
           Status                                                                              
S28        General Bit-Mapped Options    -         -         *        0                        
           Status                                                                              
S29        Flash Dial Modifier Time      0-255     10 ms              70                       
S30        Disconnect Inactivity Timer   0-255     10 s               0                        
S31        General Bit-Mapped Options    -         -         *        194  (C2h)               
           Status                                                                              
S32        XON Character                 0-255     ASCII              17 (11h)                 
S33        XOFF Character                0-255     ASCII              19 (13h)                 
S34-S35    Reserved                      -         -                  -                        
S36        LAPM Failure Control          -         -         *        7                        
S37        Line Connection Speed         -         -         *        0                        
S38        Delay Before Forced Hangup    0-255     s                  20                       
S39        Flow Control Bit Mapped       -         -         *        3                        
           Options Status                                                                      
S40        General Bit-Mapped Options    -         -         *        104 (68h)                
           Status                                                                              
S41        General Bit-Mapped Options    -         -         *        195 (C3h)                
           Status                                                                              
S42-S45    Reserved                      -         -                  -                        
S46        Data Compression Control      -         -         *        138                      
S48        V.42 Negotiation Control      -         -         *        7                        
S82        LAPM Break Control            -         -                  128(40h)                 
S86        Call Failure Reason Code      0-255     -                  -                        
S91        PSTN Transmit Attenuation     0-15      dBm                10 (Country dependent)   
           Level                                                                               
S92        Fax Transmit Attenuation      0-15      dBm                10 (Country dependent)   
           Level                                                                               
S95        Result Code Messages Control  -         -         *        0                        
* Register value may be stored in one of two user profiles with the &amp;W command. ** Default                               
values may be modified using ConfigurACE.                                                                                
<a name="_Toc343068354"></a><a name="_Toc347715608"></a>
</pre>
<p class="bodytext"><b>
<a name="RTFToC179">4.2
S-REGISTER DEFINITIONS</a></a>
</a><a name="_Toc343068355"></a><a name="_Toc347715609"></a></b></p>
<p class="bodytext"><i>
<a name="RTFToC180">S0
- Number of Rings to Auto-Answer</a></a>
</a></i></p>
Sets the number of the rings required before the modem automatically answers a
call. Setting this register to zero disables auto-answer mode.<p>
Range:	0-255 rings<p>
Default:	0
<a name="_Toc343068356"></a><a name="_Toc347715610"></a>
<p class="bodytext"><i>
<a name="RTFToC181">S1
- Ring Counter</a>
</i></p>
S1 is incremented each time the modem detects a ring signal on the telephone
line. S1 is cleared if no rings occur over an eight second interval.<p>
Range:	0-255 rings<p>
Default:	0
<a name="_Toc343068357"></a><a name="_Toc347715611"></a>
<p class="bodytext"><i>
<a name="RTFToC182">S2
- Escape Character</a>
</i></p>
S2 holds the decimal value of the ASCII character used as the escape character.
The default value corresponds to an ASCII '+'. A value over 127 disables the
escape process, i.e., no escape character will be recognized.<p>
Range:	0-255, ASCII decimal<p>
Default:	43 (+)
<a name="_Toc343068358"></a><a name="_Toc347715612"></a>
<p class="bodytext"><i>
<a name="RTFToC183">S3
- Carriage Return Character</a>
</i></p>
Sets the command line and result code terminator character. Pertains to
asynchronous operation only. <p>
Range:	0-127, ASCII decimal<p>
Default:	13 (Carriage Return)
<a name="_Toc343068359"></a><a name="_Toc347715613"></a>
<p class="bodytext"><i>
<a name="RTFToC184">S4
- Line Feed Character</a>
</i></p>
Sets the character recognized as a line feed. Pertains to asynchronous
operation only. The Line Feed control character is output after the Carriage
Return control character if verbose result codes are used.<p>
Range:	0-127, ASCII decimal<p>
Default:	10 (Line Feed)
<a name="_Toc343068360"></a><a name="_Toc347715614"></a>
<p class="bodytext"><i>
<a name="RTFToC185">S5
- Backspace Character</a>
</i></p>
Sets the character recognized as a backspace. Pertains to asynchronous
operation only. The modem will not recognize the Backspace character if it is
set to a value that is greater than 32 ASCII. This character can be used to
edit a command line. When the echo command is enabled, the modem echoes back to
the local DTE the Backspace character, an ASCII space character and a second
Backspace character; this means a total of three characters are transmitted
each time the modem processes the Backspace character.<p>
Range:	0-32, ASCII decimal<p>
Default:	8 (Backspace)
<a name="_Toc343068361"></a><a name="_Toc347715615"></a>
<p class="bodytext"><i>
<a name="RTFToC186">S6
- Wait Time for Dial Tone Before Blind Dialing, or After "W" Dial Modifier
(W-Class Models)</a> 
</i></p>
1.	Sets the length of time, in seconds, that the modem will wait before
starting to dial after going off-hook when blind dialing. This operation,
however, may be affected by some ATX options according to country restrictions.
The "Wait for Dial Tone" call progress feature (W dial modifier in the dial
string) will override the value in register S6. <p>
2.	For W-class models, S6 sets the length of time, in seconds, that the modem
will wait for dial tone when encountering a "W" dial modifier before returning
NO DIAL TONE result code.<p>
The modem always pauses for a minimum of 2 seconds, even if the value of S6 is
less than 2 seconds. <p>
Range:	2-255 seconds<p>
Default:	2
<a name="_Toc343068362"></a><a name="_Toc347715616"></a>
<p class="bodytext"><i>
<a name="RTFToC187">S7
- Wait Time For Carrier After Dial, For Silence, or For Dial Tone After "W"
Dial Modifier (US Models)</a>
</i></p>
1.	Sets the length of time, in seconds, that the modem will wait for carrier
before hanging up. The timer is started when the modem finishes dialing
(originate), or 2 seconds after going off-hook (answer). In originate mode, the
timer is reset upon detection of answer tone if allowed by country
restrictions.<p>
2.	Sets the length of time, in seconds, that modem will wait for silence when
encountering the @ dial modifier before continuing with the next dial string
parameter.<p>
3.	For US models, S7 sets the length of time, in seconds, that the modem will
wait for dial tone when encountering a "W" dial modifier before continuing with
the next dial string parameter.<p>
Range:	1-255 seconds<p>
Default:	50
<a name="_Toc343068363"></a><a name="_Toc347715617"></a>
<p class="bodytext"><i>
<a name="RTFToC188">S8
- Pause Time For Dial Delay</a>
</i></p>
Sets the time, in seconds, that the modem must pause when the "," dial modifier
is encountered in the dial string.<p>
Range:	0-255 seconds<p>
Default:	2
<a name="_Toc343068364"></a><a name="_Toc347715618"></a>
<p class="bodytext"><i>
<a name="RTFToC189">S9
- Carrier Detect Response Time</a>
</i></p>
Sets the time, in tenths of a second, that the carrier must be present before
the modem considers it valid and turns on RLSD. As this time is increased,
there is less chance to detect a false carrier due to noise from the telephone
line.<p>
Range:	1-255 tenths of a second<p>
Default:	6 (0.6 second)
<a name="_Toc343068365"></a><a name="_Toc347715619"></a>
<p class="bodytext"><i>
<a name="RTFToC190">S10
- Lost Carrier To Hang Up Delay</a>
</i></p>
Sets the length of time, in tenths of a second, that the modem waits before
hanging up after a loss of carrier. This allows for a temporary carrier loss
without causing the local modem to disconnect. When register S10 is set to 255,
the modem functions as if a carrier is always present.<p>
The actual interval the modem waits before disconnecting is the value in
register S10 minus the value in register S9. Therefore, the S10 value must be
greater than the S9 value or else the modem disconnects before it recognizes
the carrier.<p>
Range:	1-255 tenths of a second<p>
Default:	14 (1.4 seconds)
<a name="_Toc343068366"></a><a name="_Toc347715620"></a>
<p class="bodytext"><i>
<a name="RTFToC191">S11
- DTMF Tone Duration</a>
</i></p>
Sets the duration of tones in DTMF dialing (US models only). This value has no
effect on pulse dialing.<p>
For W-class models, this parameter is a country parameter loaded by
ConfigurACE.<p>
Range:	50-255 milliseconds<p>
Default:	95 (95 milliseconds)
<a name="_Toc343068367"></a><a name="_Toc347715621"></a>
<p class="bodytext"><i>
<a name="RTFToC192">S12
- Escape Prompt Delay (EPD)</a>
</i></p>
Defines the maximum period, in fiftieths of a second, allowed between receipt
of the last character of the three escape character sequence from the DTE and
sending of the OK result code to the DTE. If any characters are detected during
this time, the OK will not be sent. Note that sending of the OK result code
does not affect entry into command mode. (See 3.1.3.)<p>
Range:	0-255 1/50 of a second<p>
Default:	50 (1 second)
<a name="_Toc343068368"></a><a name="_Toc347715622"></a>
<p class="bodytext"><i>
<a name="RTFToC193">S13
- Reserved</a>
<a name="_Toc343068369"><a name="_Toc347715623"><br>
<a name="RTFToC194">S14
- General Bit Mapped Options Status</a></a>
</a></i></p>
Indicates the status of command options. <p>
Default: 138 (8Ah) (10001010b)<p>
Bit 0	This bit is ignored. <p>
Bit 1	Command echo (En)<p>
0 =	Disabled (E0)<p>
1 =	Enabled (E1) (Default.)<p>
Bit 2	Quiet mode (Qn)<p>
0 =	Send result codes (Q0) (Default.)<p>
1 =	Do not send result codes (Q1)<p>
Bit 3	Result codes (Vn)<p>
0 =	Numeric (V0) <p>
1 =	Verbose (V1) (Default.)<p>
Bit 4	Reserved<p>
Bit 5	Tone (T)/Pulse (P)<p>
0 =	Tone (T) (Default.)<p>
1 =	Pulse (P)<p>
Bit 6	Reserved<p>
Bit 7	Originate/Answer<p>
0 =	Answer<p>
1 =	Originate (Default.)
<a name="_Toc343068370"></a><a name="_Toc347715624"></a>
<p class="bodytext"><i>
<a name="RTFToC195">S15
- Reserved</a>
<a name="_Toc343068371"><a name="_Toc347715625"><br>
<a name="RTFToC196">S16
- General Bit Mapped Test Options Status</a></a>
</a></i></p>
Indicates the test in progress status. <p>
Default:	0<p>
Bit 0	Local analog loopback<p>
0 =	Disabled (Default.)<p>
1 =	Enabled (&amp;T1)<p>
Bit 1	Not used<p>
Bit 2	Local digital loopback<p>
0 =	Disabled (Default.)<p>
1 =	Enabled (&amp;T3)<p>
Bit 3	Remote digital loopback (RDL) status <p>
0 =	Modem not in RDL (Default.)<p>
1 =	RDL in progress<p>
Bit 4	RDL requested (AT&amp;T6)<p>
0 =	RDL not requested (Default.)<p>
1 =	RDL requested (&amp;T6)<p>
Bit 5	RDL with self test<p>
0 =	Disabled (Default.)<p>
1 =	Enabled (&amp;T7)<p>
Bit 6	Local analog loopback (LAL) with self test<p>
0 =	Disabled (Default.)<p>
1 =	Enabled (&amp;T8)<p>
Bit 7	Not used
<a name="_Toc343068372"></a><a name="_Toc347715626"></a>
<p class="bodytext"><i>
<a name="RTFToC197">S17
- Reserved</a>
<a name="_Toc343068373"><a name="_Toc347715627"><br>
<a name="RTFToC198">S18
- Test Timer</a></a>
</a></i></p>
Sets the length of time, in seconds, that the modem conducts a test (commanded
by &amp;Tn) before returning to the command mode. If this register value is
zero, the test will not automatically terminate; the test must be terminated
from the command mode by issuing an &amp;T0 or H command. When S18 is non-zero,
the modem returns the OK message upon test termination.<p>
Range:	0-255 seconds<p>
Default:	0
<a name="_Toc343068374"></a><a name="_Toc347715628"></a>
<p class="bodytext"><i>
<a name="RTFToC199">S19
- AutoSync Bit Mapped Options</a>
</i></p>
Defines the options for AutoSync operation (see &amp;Q4 command). S19 must be
set to the desired value before &amp;Q4 is issued.<p>
Default:	0<p>
Bit 0	Reserved<p>
Bit 1	BSC/HDLC format select<p>
0 =	BSC selected (Default.)<p>
1 =	HDLC selected<p>
Bit 2	Address detection enable/disable<p>
0 =	Disabled (Default.)<p>
1 =	Enabled<p>
Bit 3	NRZI/NZI coding select<p>
0 =	NRZI (Default.)<p>
1 =	NZI<p>
Bit 4	Idle indicator select<p>
0 =	Mark idle (Default.)<p>
1 =	Flag or sync idle<p>
Bits 5 - 7	Reserved
<a name="_Toc343068375"></a><a name="_Toc347715629"></a>
<p class="bodytext"><i>
<a name="RTFToC200">S20
- AutoSync HDLC Address or BSC Sync Character</a>
</i></p>
Defines the HDLC address (S19 bit 1 = 1) or BSC Sync Character (S19 bit 1 = 0)
for AutoSync operation (see &amp;Q4 command). S20 must be set to the desired
value before &amp;Q4 is issued.<p>
Range:	0-255 <p>
Default:	0
<a name="_Toc343068376"></a><a name="_Toc347715630"></a>
<p class="bodytext"><i>
<a name="RTFToC201">S21
- V.24/General Bit Mapped Options Status</a>
</i></p>
Indicates the status of command options.<p>
Default:	52 (34h) (00110100b)<p>
Bit 0	Set by &amp;Jn command but ignored otherwise.<p>
0 =	&amp;J0 (Default.)<p>
1 =	&amp;J1<p>
Bit 1	Reserved<p>
Bit 2	CTS behavior (&amp;Rn)<p>
0 =	CTS tracks RTS (&amp;R0) <p>
1 =	CTS always on (&amp;R1) (Default.)<p>
Bits 3-4	DTR behavior (&amp;Dn)<p>
0 =	&amp;D0 selected<p>
1 =	&amp;D1 selected<p>
2 =	&amp;D2 selected (Default.)<p>
3 =	&amp;D3 selected<p>
Bit 5	RLSD (DCD) behavior (&amp;Cn)<p>
0 =	&amp;C0 selected<p>
1 =	&amp;C1 selected (Default.)<p>
Bit 6	DSR behavior (&amp;Sn)<p>
0 =	&amp;S0 selected (Default.)<p>
1 =	&amp;S1 selected<p>
Bit 7	Long space disconnect (Yn)<p>
0 =	Y0 (Default.)<p>
1 =	Y1
<a name="_Toc343068377"></a><a name="_Toc347715631"></a>
<p class="bodytext"><i>
<a name="RTFToC202">S22
- Speaker/Results Bit Mapped Options Status</a>
</i></p>
Indicates the status of command options.<p>
Default:	117 (75h) (01110101b)<p>
Bits 0-1	Speaker volume (Ln)<p>
0 =	Off (L0)<p>
1 =	Low (L1) (Default.)<p>
2 =	Medium (L2)<p>
3 =	High (L3)<p>
Bits 2-3	Speaker control (Mn)<p>
0 =	Disabled (M0)<p>
1 =	Off on carrier (M1) (Default.)<p>
2 =	Always on (M2)<p>
3 =	On during handshake (M3)<p>
Bits 4-6	Limit result codes (Xn)<p>
0 =	X0<p>
4 =	X1<p>
5 =	X2<p>
6 =	X3<p>
7 =	X4 (Default.)<p>
Bit 7	Reserved
<a name="_Toc343068378"></a><a name="_Toc347715632"></a>
<p class="bodytext"><i>
<a name="RTFToC203">S23
- General Bit Mapped Options Status</a>
</i></p>
Indicates the status of command options.<p>
Default:	62 (3Dh) (00111110b)<p>
Bit 0	Grant RDL<p>
0 =	RDL not allowed (&amp;T5) (Default.)<p>
1 =	RDL allowed (&amp;T4) <p>
Bits 1-3	DTE Rate<p>
0 =	0 - 300 bps<p>
1 =	600 bps<p>
2 =	1200 bps<p>
3 =	2400 bps<p>
4 =	4800 bps<p>
5 =	9600 bps<p>
6 =	19200 bps<p>
7 =	38400 bps or higher (Default.)<p>
Bits 4-5	Assumed DTE parity <p>
0 =	even<p>
1 =	not used<p>
2 =	odd<p>
3 =	none (Default.)<p>
Bits 6-7	Guard tone (&amp;Gn)<p>
0 =	None (&amp;G0) (Default.)<p>
1 =	None (&amp;G1)<p>
2 =	1800 Hz (&amp;G2)
<a name="_Toc343068379"></a><a name="_Toc347715633"></a>
<p class="bodytext"><i>
<a name="RTFToC204">S24
- Sleep Inactivity Timer</a>
</i></p>
Sets the length of time, in seconds, that the modem will operate in normal mode
with no detected telephone line or DTE line activity before entering low-power
sleep mode. The timer is reset upon any DTE line or telephone line activity. If
the S24 value is zero, neither DTE line nor telephone inactivity will cause the
modem to enter the sleep mode. <p>
Range:	0-255 seconds<p>
Default:	0
<a name="_Toc343068380"></a><a name="_Toc347715634"></a>
<p class="bodytext"><i>
<a name="RTFToC205">S25
- Delay To DTR</a>
</i></p>
Sets the length of time that the modem will ignore DTR for taking the action
specified by &amp;Dn. Its units are seconds for synchronous modes and one
hundredths of a second for other modes.<p>
Range:	0-255 (1 second for synchronous modes 1; 0.01 second otherwise)<p>
Default:	5
<a name="_Toc343068381"></a><a name="_Toc347715635"></a>
<p class="bodytext"><i>
<a name="RTFToC206">S26
- RTS to CTS Delay</a> 
</i></p>
Sets the time delay, in hundredths of a second, before the modem turns CTS ON
after detecting an OFF-to-ON transition on RTS when &amp;R0 is commanded.
Pertains to synchronous operation only. <p>
Range:	0-255 hundredths of a second<p>
Default:	1
<a name="_Toc343068382"></a><a name="_Toc347715636"></a>
<p class="bodytext"><i>
<a name="RTFToC207">S27
- Bit Mapped Options Status</a>
</i></p>
Indicates the status of command options.<p>
Default:	73 (49h) (01001001b) <p>
Bits 0,1,3	Synchronous/asynchronous selection (&amp;Mn/&amp;Qn)<p>
<b>3	1	0</b>	<p>
0	0	0	=	&amp;M0 or &amp;Q0<p>
0	0	1	=	&amp;M1 or &amp;Q1<p>
0	1	0	=	&amp;M2 or &amp;Q2<p>
0	1	1	=	&amp;M3 or &amp;Q3<p>
1	0	0	=	&amp;Q4<p>
1	0	1	=	&amp;Q5 (Default.)<p>
1	1	0	=	&amp;Q6 <p>
Bit 2	Leased line control (&amp;Ln)<p>
0 =	Dial up line (&amp;L0) (Default.)<p>
Bits 4 - 5	Internal clock select (&amp;Xn)<p>
0 =	Internal clock (&amp;X0) (Default.)<p>
1 =	External clock (&amp;X1)<p>
2 =	Slave clock (&amp;X2)<p>
Bit 6	CCITT/Bell mode select (Bn)<p>
0 =	CCITT mode (B0)<p>
1 =	Bell mode (B1) (Default.)<p>
Bit 7 - Reserved
<a name="_Toc343068383"></a><a name="_Toc347715637"></a>
<p class="bodytext"><i>
<a name="RTFToC208">S28
- Bit Mapped Options Status</a>
</i></p>
Default:	0&