Asterisk phone cisco ATA18x

Cisco ATA-18x Series Analog Telephone Adaptor

Cisco's product pages:

The ATA 188 adds a switch with a second ethernet port.

These devices convert two analog phones to IP phones and support the following protocols:
(Note: You will most likely need to download a firmware package to convert the device for the desired protocol.)
(Note: Firmware packages require a contract to download.)

If you purchased the ATA new (not though a VOIP provider,) you get at least one free support call. If lucky and you press them enough, they will give you access to the SIP firmware for download. If you go the contract route, the SmartNet package that applies is part #CON-SNT-ATA186 for the 186 and CON-SNT-ATA188 for the 188.

They support the following Codecs:
  • G.729, G.729A, G.729AB2
  • G.723.1
  • G.711a-law
  • G.711u-law
(Note: The ATA only supports G.729A on one channel at a time due to CPU load. The other channel will use G.711)

Latest software version is 3.2:
Release Notes for the Cisco ATA 186 and Cisco ATA 188 Release 3.2

ATA186 firmware 3.2.0 and lower can be vulnerable to a denial of service attack. See for more info.

Firmware prior to 2.14 build 020514a is vulnerable and could be easily tricked to disclose device administration password to attacker:
Cisco Security Advisory: ATA-186 Password Disclosure Vulnerability

The latest 2.x release SIP/H.323 firmware:

3.1(0) firmware:


A detailed practical explanation how to configure ATA-18x with Asterisk (including password reset procedure):

You'll need to setup a TFTP server for firmware upgrades.

The firmware package should include detailed instructions on how to configure the unit. If you opt for the TFTP configuration route, the basic steps are:
  • Edit the text configuration file
  • Use the cfgfmt.exe tool to convert the file to binary format named the MAC address (no caps)
  • Upload the binary file to the TFTP server
  • Reboot the device


For Remote purposes, small installations or quick config changes, it's easier to configure the ATA 186 over the integrated Webserver.
To find out the the IP address of the ATA 186 pick up a connected phone, press the button on Top and Dial "21#". The ATA 186 now tells you it's actual IP address. Open a webbrowser an point it to the told address and ad "/dev" to the end.
Example: The ATA tells you IP then point your Browser to "" and you can quickly change some parameters without needing to reflash it.

Turning off silence suppression

If you're getting these warnings during a call from the ATA:

NOTICE[xxx]: File rtp.c, Line 264 (process_rfc3389): RFC3389 support incomplete.
Turn off on client if possible

Then you have to login to the ATA configuration page and change "audiomode" to "0x00140014"

Distinctive ring

Set variable ALERT_INFO to change the ring cadence. Example:

exten => 5555,1,SetVar(ALERT_INFO=Bellcore-dr1) ; possible values are Bellcore-dr1
exten => 5555,2,Dial(Sip/5555) ; ... Bellcore-dr5

Bellcore-dr1 -> standard phone ring cycle
Bellcore-dr2 -> "Long-Long"
Bellcore-dr3 -> "Short-Short-Long"
Bellcore-dr4 -> "Short-Long-Short"
Bellcore-dr5 -> Short - "Ringsplash"

NOTE: As of Asterisk 1.4 this method no longer works. Instead of SetVar(ALERT_INFO=Bellcore-drX) you must use SIPAddHeader(Alert-Info: Bellcore-drX).

Cancel CDP broadcasts

Cisco devices are quite friendly. When you hook them on the wire they will broadcast CDP
traffic (Cisco Discovery Protocol) trying to locate other cisco devices. You may not need the extra traffic. (if the only cisco device you got is your ATA 18x) Here's how to proceed:
This can be done by selecting IVR menu 323, and then entering in the value 106. If you are configuring this field via the Web Interface, then configure the hex value 0x6A in the OpFlags field. This will disable, CDP Discovery, 802.1Q tagging, and it will prevent the ATA from requesting option 150 in its DHCP request. Incidentally, some DHCP servers will not respond to a client that requests an Option unknown to them, which may lead to the ATA not being able to acquire an IP address.

Call Pickup

It seems that the logic for handling special calling features (vertical service codes) intercepts the standard *8 Asterisk call pickup code. One option is to change the pickupexten in features.conf to a regular extension number. My extensions range from 201-219, so I picked 200 as the pickup extension for example.


To alter the ringtones that you hear in the phone you need to update the settings for your configuration.
For Swedish dialtone you can use:
DialTone 1,30958,0,3889,0,1,0,0,0
BusyTone 1,30958,0,1757,0,0,2000,2000,0
ReorderTone 1,30958,0,1757,0,0,2000,6000,0
RingbackTone 1,30958,0,1927,0,0,8000,40000,0
SITTone 101,3,24062,3640,14876,4778,5126,5297,3,2664,0,2664,0,2664,8000,0,0
CallWaitTone 1,30958,0,1757,0,0,1600,4000,11200
AlertTone 1,30467,0,4385,0,0,480,480,1920

For other country's you can find Cisco's recomendations here

See Also

Asterisk | Asterisk Configuration | Channel Configuration | Configuration for Specific Phones

Where to buy:

Created by: rgauss, Last modification: Thu 13 of Mar, 2014 (22:15 UTC) by jhops
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+