Freelance Software Developer
Adventures in development, circuits, creativity, and questionable life choices.
As I was dabbling in some POTS hardware and PBX systems, I was on the lookout for analog telephone adaptors.
By chance, a fellow member of our local hackerspace happened to have a cleanout session at work.
Among the "things to be thrown out" were a couple of Cisco ATA186 analog telephone adaptors.
The PSU's were missing, but since they're just standard 5 volt DC PSU's, it's fairly trivial to build one from a standard USB-A brick.
These adaptors just require 5 volts and 2 amps, so a common, somewhat decent brick should suffice.
Of course, by default, these devices run the so-called "SCCP" or "skinny" firmware which is used for Cisco's proprietary phone manager and PBX systems.
Since my plan is to use them with open source PBX systems, I would much prefer to use SIP (Session Initiation Protocol).
That way, these old devices which many regard as "e-waste" now can still be useful in some setups.
As it took me a while to figure out how to flash these devices, I'm writing this blog post to share the (somewhat surprisingly easy) method to do just that.
You will need the following:
- Your Cisco ATA-186 device (obviously)
- An ethernet cable
- A computer running Windows or Linux (I will be using Linux Mint)
- An analog handset (I used a Proximus Maestro 6042. DECT might work, but has not been tested by yours truly)
Resetting the ATA-186
First of all, to factory reset these devices (in case they're password-protected), do the following:
- Connect the ATA-186 to power and your analog telephone to the ATA-186 using an RJ11 cable. Network is not needed for this procedure.
- Pick up the handset. You will probably not hear anything (other than some hissing noise). This is normal, possibly depending on the current configuration of the ATA.
- Press the button on the ATA-186 (which is illuminated red at this point)

- The ATA-186 will send a voice response.
Dial 322873738#* (or FACTRESET#*).
- Follow the voice prompts and press * to complete the reset.
Note: This is in theory and gathered from the information I've found, since I fortunately did not have to reset both the ATA's that I have here. I am just leaving this here for posterity.
Upgrading the firmware to SIP
To upgrade the firmware to the SIP firmare (you can find the firmware on Archive.org, at least at the time of writing), you can follow this procedure:
- Connect the ATA-186 to power and your analog telephone to the ATA-186 using an RJ11 cable.
Make sure the ATA and your PC are connected to the same Ethernet network.
- Find the IP address of your ATA-186, and open the WebUI at http://<ata device IP>/dev. Make sure that the UseTftp flag is set to 0. This is IMPORTANT. It took me way too long to realize this was the issue when upgrades consistently failed. 
- On your PC, extract the firmware ZIP file.
In the extracted folder, run the following command.
Replace the text in the brackets with your own.
sata186us.<exe/linux> -h<your PC IP address> -any2 -d1 <firmware>.zup
Note that the -h flag and the IP address does NOT have a space in between.
The application will now wait for the ATA to connect.
- On your analog phone, pick up the handset. On the ATA, press the button (illuminated red).
Enter the code to start the upgrade.
100#<your PC IP address>*8000# Replace the dots in the IP address with *.
- The ATA will connect to your PC, download the firmware code and perform the upgrade.
Once finished you will get a voice prompt, stating "Upgrade Succeeded."
Once finished, your ATA will reboot, and if all went well, you should be running SIP firmware now!

I hope this helps some people to reuse their own ATA186 devices. Apparently the ATA188 is the same device, but since I do not own any of those devices, I can not confirm that this procedure works with those types of devices as well. YMMV.