Skip to content

Instantly share code, notes, and snippets.

@mrcodetastic
Last active January 14, 2026 02:14
Show Gist options
  • Select an option

  • Save mrcodetastic/02640c5825baa9fe23696f28761fdd0b to your computer and use it in GitHub Desktop.

Select an option

Save mrcodetastic/02640c5825baa9fe23696f28761fdd0b to your computer and use it in GitHub Desktop.
Using a Nortel Avaya 1140e SIP firmware based VoIP phone in 2026

Using the Nortel / Avaya 1140e SIP Deskphone in 2026

This phone is like 20 years old, but it still works with your ISP's SIP service is configured correctly. Firstly, it's best to update to the latest available public firmware version, however do to this you'll probably need to factory reset it, and convert from UniStim to SIP firmware (version 2 or 3.2) prior.

Per this guide to factory reset:

You can factory reset a Nortel IP phone that is already running UNIStim firmware release 3.0 or later.  You will need to be running the following firmware at a minimum for this procedure to work;
IP 1110 (0623C6E), IP 1120E (0624C6E), IP 1140E (0625C6E), IP 1150E (0627C6E), IP 1210 (062AC6E), IP 1220 (062AC6E), IP 1230 (062AC6E), IP 2001 (0604DCD), IP 2002 (0604DCD), IP 2004 (0604DCD), and IP 2007 (0621C6D).

The UNIStim firmware release 3.0 for IP Phones introduces the ability to restore an IP Phone to a “factory default” configuration. This can be useful when redeploying an IP Phone from one location to another, when starting to use an IP Phone with unknown history, or to reset to a known baseline configuration.

With UNIStim firmware release 3.0, and greater, the following keypad sequence is used to reset all provisioning parameters to a “factory default”:

[*][*][7][3][6][3][9][MAC][#][#]

Where the MAC corresponds to the MAC address of the IP Phone which can be found on a label on the back of the IP Phone.

Since a MAC address can contain the letters A through F, the letters A, B and C can be entered via the [2] key on the dial pad, and letters D, E and F can be entered via the [3] key.

For example, an IP Phone with MAC address 00:19:E1:E2:17:12 would be reset to “factory default” when the sequence **73639001931321712## is entered on the keypad.

Then to provision a firmware update

  1. Download and install a TFTP server, such as Pumpkin or tftpd64, to a PC or Server on the TLAN.
  2. Configure the TFTP server. Set the root folder, and copy the latest UNIStim or SIP firmware to it.
  3. SIP Firmware v4.4 for 1140e: https://support.avaya.com/support/en/download/C20186281340103310_8?productId=P0599&releaseId=SIP%204.x
  4. Create a new text file. Name the file the model of the phone, such as 1140e.cfg (if not already running SIP firmware) or 1140eSIP.cfg (if already running SIP firmware) for an 1140e.
  5. The content of the file should be as follows:
[FW]
DOWNLOAD_MODE AUTO
# Version value for example 'SIP1140e04.04.33.00'
VERSION   <firmware>
# Filename for example is 'SIP1140e04.04.33.00.bin'
FILENAME  <firmware.bin>
PROTOCOL TFTP
SERVER_PORT 69
SERVER_IP  <TFTP server IP>
SECURITY_MODE 0
PROMPT 1

Provisioning file

Configure Provision: line in the phones Network Configuration to the IP address of the TFTP server: Double Tap the Services key and access Network Configuration, or as the phone boots up, and the small 'Avaya' logo appears, swipe the 4 softkeys below the display. Enter color*set (26567*737) as the password to access Network Configuration.

As the phone reboots, watch for the provisioning information displaying, as well as the log window from the TFTP server to ensure that the set is connecting during the provisioning phase.

Once converted the device to SIP, on the same provisoining server (for example, I use an old Linux box running Apache2 HTTP server), amend the contents of the file '1140eSIP.cfg' (for example, I can access this via http://192.168.1/100/1140eSIP.cfg) to point to another file (in this case it is called '1140e_fw_v4.txt', but it can be any name) that contains the actual configuration to be provisioned to get the device to work with the SIP provider of choice.

In my working configuration below, I make use of the 'auto login' feature, such that the phone, when boots, connects automatically to the SIP provider and is usable as a basic VoIP phone.

"1140eSIP.cfg" contents:

[DEVICE_CONFIG]
DOWNLOAD_MODE AUTO
VERSION 000056

# Try and get this to use HTTP instead!
PROTOCOL HTTP
FILENAME 1140e_fw_v4.txt
PROMPT 1

"1140e_fw_v4.txt" contents below. Please note the user id and password in this are fake.

# Do this this when on say the 'cable unplugged' error page.

# Provide the NTP server address here
SNTP_ENABLE YES
SNTP_SERVER au.pool.ntp.org

# Autologin Logic
DNS_DOMAIN local
HOST_NAME 1140e

# 2 = AUTOLOGIN_ENABLE
AUTOLOGIN_ENABLE 2

SIP_DOMAIN1 aussiebb.nms1.voice.wide.net.au
AUTOLOGIN_ID_KEY01 <your_sip_userid>@aussiebb.nms1.voice.wide.net.au
AUTOLOGIN_PASSWD_KEY01 <your_sip_password>
AUTOLOGIN_AUTHID_KEY01 <your_sip_userid>

# aussiebb.nms1.voice.wide.net.au
SERVER_IP1_1 180.150.1.212
SERVER_IP1_2 0.0.0.0

SERVER_PORT1_1 5060
SERVER_PORT1_2 0

SERVER_TCP_PORT1_1 5061
SERVER_TCP_PORT1_2 0

# Keep this zero or get a licencing issue.
SERVER_TLS_PORT1_1 0
SERVER_TLS_PORT1_2 0

SERVER_RETRIES1 3

# NAT and Signaling
USE_RPORT YES

# Enable/Disable SIP ping method for NAT traversal
# This a PROPRIATARY NORTEL thing, and if implemented the phone will disconnect/reconnect to a 
# non nortel SIP server continuously - because these server don't suporrt nortel SIP PING.
SIP_PING NO

# Turn of PC Port
PCPORT_ENABLE NO

# License Avoidance & Performance (Prevents "Invalid Key" or "License Error")
ENABLE_SERVICE_PACKAGE NO
MAX_LOGINS 1
ENABLE_BT NO
EXP_MODULE_ENABLE NO
USB_HEADSET LOCK
AVAYA_AUTOMATIC_QOS NO
VQMON_PUBLISH NO
IP_OFFICE_ENABLE NO

# UI Customization
BANNER "VoIP Phone"
FORCE_BANNER YES
ADMIN_PASSWORD 123456

# Maintenance
SSH NO

# Time configuration
# Refer to page 49 of SIP Firmware for IP Phone 1140E Release 2.1/NN43113-300_03.09_SIP_FW_1140E_AG.pdf
DST_ENABLED NO
FORCE_TIME_ZONE YES # force it to use the timezone offset or it simply shows just the GMT time
TIMEZONE_OFFSET 36000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment