Setting up the Cisco 186/188 ATA for dialup modem on Asterisk
Analog Modem



Setting up the Cisco 186/188 ATA for dialup modem on Asterisk:

To interact with the Cisco 186/188 ATA, you can select menu items with your phone. In my example, I didn't have a tounch tone phone. All of my phones are rotary phones. I was able to use the following two websites, along with my headphones to make due with configuring the Cisco ATA:

Creating DTMF Tones

To create DTMF strings: Audio Check Dynamically create DTMF tones: Online Tone Generator

Reset Defaults

The absolute first thing to do, as always is reset the device to factory defaults :
Pick up hand set, press the button on the Cisco ATA & you are greeted with a prompt for menu options.
To check the current firmware version :
To reset the device to factor defaults :

Web UI

Now load your router Web UI & the Cisco 186/188 ATA will grab an ip via DHCP & you can find this by checking "attached devices" under your router. Be sure that you can ping the ip as well, just to double check communication for later upgrading.

TFTP Server

My First Cisco 186/188 ATA was already set to the SIP protocol. However at this point wth my new Cisco 186/188 ATA, it was listed as SCCP "Cisco ATA 188 (SCCP)" & needed to flash the firmware in order to reset it to SIP in order to work with Asterisk. The TFTP section can be skipped completely if your Web UI shows the SIP protocol. Alternatively you can pick up the hand set, push the button ontop of the ATA, & when prompted enter 123# to get the firmware version. The firmware version will indicate either SIP or SCCP.

Running a TFTP server on Mac

Running a TFTP server on Debian

By issuing the following commands, you will install a tftp daemon, as well as the client. The client is only used for validation.
sudo apt-get install tftpd-hpa tftp
sudo service tftpd-hpa start
Validate with tftp client &/or tcpdump:
tcpdump port 69 -v
Leave the tcpdump running, because we've got a few more steps before that screen will see any activity.

Firmware Packages

At this point we are ready to gather & deploy the firmware. Download SIP firmware from the website Voip Info.
How I found the version Firmware that I needed to switch from SCCP to SIP: Cisco 186/188 ATA Firmware reference
To force flash of firmware to switch protocol we will extract the zip file download in the previous step. Copy the file sip_example.txt to atadefault.txt & edit where needed. Be sure to add the values in the following line :
Replace with your validated tftp server.
Replace ATA030201SIP050616A.zup with the zup firmware file you are using
Then use the OS specfic cfgfmt to create a binary from the text file. You also need to specify the sip protocol:
./cfgfmt.linux -sip atadefault.txt atadefault.cfg
With the binary file created, we will copy this to the tftp root directory for pickup.
/private/tftpboot/ For Mac
/srv/tftp/ For Debian
To issue an upgrade to your Cisco 186/188 ATA, pick up the handset on your phone, press the button ontop of the ATA & listen for the prompt. Once it's ready for input enter the following values :
100# issues an update, & the the next segments are the octets of the ip of your tftp server the port that it's binding to. Do not hang up until you get verification that it's completed. During the upgrade process you will see the button on the ATA illuminate indicating activity. Interestingly when it was completed, it told me that the upgrade failed. However, as noted below, you can view via the tcpdump what is actually taking place.
Watch via the tcpdump on port 69 that once the atadefault.cfg is picked up so is the firmware zup file. It will look like the following :
20:40:45.392353 IP (tos 0x0, ttl 250, id 315, offset 0, flags [none], proto UDP (17), length 84) > blackbox.tftp:  56 tftp-#27490
20:41:05.829404 IP (tos 0x0, ttl 250, id 1, offset 0, flags [none], proto UDP (17), length 52) > blackbox.tftp:  24 RRQ "ata001469323363" octet
20:41:05.834084 IP (tos 0x0, ttl 250, id 2, offset 0, flags [none], proto UDP (17), length 51) > blackbox.tftp:  23 RRQ "atadefault.cfg" octet
20:41:06.568739 IP (tos 0x0, ttl 250, id 5, offset 0, flags [none], proto UDP (17), length 60) > blackbox.tftp:  32 RRQ "ATA030201SIP050616A.zup" octet
When the atadefault.cfg file is picked up by the ATA device, the config line that points to the firmware is then requested from the tftp server. Once that file is picked up, it is then processed. You can see more activity indicated by the illuminated button on the ATA.
Once the device is flashed, be sure to disable tftp updates, or turn off the tftp service. Otherwise each time you make a change in the admin panel, the Cisco ATA will grab the firmware & overwrite your updates.

Asterisk Authentication

From here you need to add either a single user, or both users to asterisk. They are added to sip.conf, users.conf, & if needed voicemail.conf. Add the extentions into your dialplan as required, & reload the asterisk core. On the rasterisk cli you should be able to issue `sip show peers` & see the device logged in.
Once the Cisco 186/188 ATA is running the SIP protocol, you add your users under http://ip/SIPCfg in the UID0/UID1 input, providing passwords. The LoginID0 & LoginID1 must match the UID0 & UID1 values. Set Proxy to your Asterisk server with port 5090, & the OutBoundProxy to 5060.
With the Cisco 186/188 ATA now running SIP, connecting & authenticating to your asterisk server, you can verify usage with a phone. Once the phone is verified you can introduce your analog modem.

Reference points:


Utalizing industry leading web server software, the Apache engine is used to host over 55% of sites on the internet. We have combined Apache with the nginx webserver to deliver non-dynamic content faster as well as offering load & geo-location balacing. Lastly we put all of this behind Cloudflare to not only cache web content, but also defend from DDOS attacks.


Using Cloud-Computing technologies such as AWS, Digital Ocean, & Asterisk improves efficiency, accessibility, & as well as reliability. As the web continues to push advancements, we will be ready to utalize it to offer a better service.
Twitter BootstrapTwitter Bootstrap
Using current code frameworks such as jQuery, Twitter Bootstrap, & Font Awesome to deliver interactive content to browsers on all the devices we service. Desktop PCs, Laptops, iPads, iPods, & iPhones!