What file controls the display and programming of a softkey on an IP set?

That depends on the end point. What type of end points are you using? Have you read the documentation provided by the manufacturer of that ens point?

Thanks for the response. The end point is a Avaya / Nortel 1120e phone. The documentation doesn’t mention connecting to an Asterisk box (wonder why) nor about programming the softkey buttons. There are 4 memory / lone buttons and these are programmable, however the softkeys must be getting their labeling and feature codes from the Asterisk box. Any idea which file I should be looking at?

This is not a FreePBX question, so you may not find much help here. You’ll want to find documentation on how to provision your endpoints, typically through FTP/TFTP/HTTP. There is an endpoint module but I’ve not used it before so no idea if it supports those phones.

Thanks for your response. I need to clarrify one thing; the 1120e was configured from a UNIStim phone to SIP. It is now capable of making and recieving calls plus use of the softkeys (Redial etc). My co-workers tell me that when the phone is connected to a Nortel CS1K, the softkeys can be programmed on the PBX while the autodial buttons are left up to the end user. It would seem that the softkeys are controled by the PBX (in my example, the CS1K). So my therory is that this must be the same with the Asterisk PBX. There must be a file that has the “label” and “Feature Code” for each softkey button and it varies depending on what state the phone is in; idle or active. If the softkeys were programmed at the phone, you’d need a way to change the “Feature Code” from one PBX to another (Cisco vs Avaya etc) for each feature.
Does anyone have any experience changing the softkey’s on any phone? It can be a Grandstream or a Polycom. It’s probably the same for each phone (except these one s can be configured by an end point manager). Unfortunately the 1120e isn’t included with an end point manager.
Thanks again for any assistance.

The most important fact is “My co-workers tell me that when the phone is connected to a Nortel CS1K, the softkeys can be programmed”

The Nortel CS1K knows how to build the config files to configure the phone whereas FreePBX does not. You need to find and read the documentation on how to provision and configure these phones so you can build the correct config in FreePBX.

Out of the box the End Point Manager in FreePBX can configure many phones, however an Avaya/Nortel 1120e phone is not one of those phones so you will have to build the configs yourself.

These are not popular phones. If you are going to use Open Source software you need to search and find answers.

This was the second search hit.

Thank you for your response. This is the information I was looking for. Thanks again.

Thanks for the response. I found Michael’s site and used it to upload the SIP firmware for the 1120e before coming to this forum to inquire about configuring the softkeys. It would seem I need to explore the creation of a config file for the phone. Thanks

Use asterisk version 11.x, earlier versions may need a patch.
You need to create a file with nano or another text editor in /etc/asterisk/unistim.conf, my file looks like this :
; chan_unistim configuration file.

port=5000 ; UDP port
; See for a description of these parameters.
;tos=cs3 ; Sets TOS for signaling packets.
;tos_audio=ef ; Sets TOS for RTP audio packets.
;cos=3 ; Sets 802.1p priority for signaling packets.
;cos_audio=5 ; Sets 802.1p priority for RTP audio packets.
;debug=yes ; Enable debug (default no)
;keepalive=120 ; in seconds, default = 120
;public_ip= ; if asterisk is behind a nat, specify your public IP
;autoprovisioning=no ; Allow undeclared phones to register an extension. See README for important
; informations. no (default), yes, tn.
;------------------------------ JITTER BUFFER CONFIGURATION --------------------------
; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a
; SIP channel. Defaults to “no”. An enabled jitterbuffer will
; be used only if the sending side can create and the receiving
; side can not accept jitter. The SIP channel can accept jitter,
; thus a jitterbuffer on the receive SIP side will be used only
; if it is forced and enabled.

; jbforce = no ; Forces the use of a jitterbuffer on the receive side of a SIP
; channel. Defaults to “no”.

; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds.

; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is
; resynchronized. Useful to improve the quality of the voice, with
; big jumps in/broken timestamps, usually sent from exotic devices
; and programs. Defaults to 1000.

; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a SIP
; channel. Two implementations are currently available - “fixed”
; (with size always equals to jbmaxsize) and “adaptive” (with
; variable size, actually the new jb of IAX2). Defaults to fixed.

; jblog = no ; Enables jitterbuffer frame logging. Defaults to “no”.

[black] ; name of the device
device=000ae406edb5 ; mac address of the phone
;rtp_port=10000 ; RTP port used by the phone, default = 10000. RTCP = rtp_port+1
;rtp_method=0 ; If you don’t have sound, you can try 1, 2 or 3, default = 0
; value 3 works on newer i2004, 1120E and 1140E
;status_method=0 ; If you don’t see status text, try 1, default = 0
; value 1 works on 1120E and 1140E
;titledefault=Asterisk ; default = “TimeZone (your time zone)”. 12 characters max
;height=3 ; default = 3, the number of display lines the device can show
; For example on a Nortel I2001 or I2002, set this to 1
;maintext0=“you can insert” ; default = “Welcome”, 24 characters max
maintext1=“Spa Room” ; default = the name of the device, 24 characters max
maintext2=“EXT 1100” ; default = the public IP of the phone, 24 characters max
;dateformat=1 ; 0 = month/day, 1 (default) = day/month
;timeformat=1 ; 0 = 0:00am ; 1 (default) = 0h00, 2 = 0:00
;contrast=8 ; define the contrast of the LCD. From 0 to 15. Default = 8
;country=us ; country (ccTLD) for dial tone frequency. See README, default = us
;ringvolume=2 ; ring volume : 0,1,2,3, can be overrided by Dial(), default = 2
;ringstyle=3 ; ring style : 0 to 7, can be overrided by Dial(), default = 3
;cwvolume=2 ; ring volume : 0,1,2,3, default = 0
;cwstyle=3 ; ring style : 0 to 7, default = 2
sharpdial=1 ; dial number by pressing #, default = 0
interdigit_timer=8000 ; timer for automatic dial after several digits of number entered (in ms, 0 is off)
;callhistory=1 ; 0 = disable, 1 = enable call history, default = 1
;callerid=“Customer Support” <555-234-5678>
context=from-internal ; context, default="default"
mailbox=1100 ; Specify the mailbox number. Used by Message Waiting Indication
;linelabel=“Support” ; Softkey label for the next line=> entry, 9 char max.
;extension=none ; Add an extension into the dialplan. Only valid in context specified previously.
; none=don’t add (default), ask=prompt user, line=use the line number
;line => 100 ; Any number of lines can be defined in any order with bookmarks
line => 1100 ; After line defined it placed in next available slot
bookmark=Living [email protected] ; Use a softkey to dial 123. Name : 9 char max
bookmark=Computer [email protected]
bookmark=Clock [email protected]
;[email protected]@54 ; 54 shows a mailbox icon. See #define FAV_ICON_ for other values (32 to 63)
;[email protected]*@USTM/violet ; Display an icon if violet is connected (dynamic), only for unistim device
;[email protected]@[email protected] ; Display a pager icon and dial 54321 when softkey 4 is pressed

maintext1="Living RM"
maintext2="EXT 1101"
line => 1101
bookmark=Spa [email protected]
bookmark=Computer [email protected]
bookmark=Clock [email protected]

maintext1="Computer RM"
maintext2="EXT 1102"
line => 1102
bookmark=Spa [email protected]
bookmark=Living [email protected]
bookmark=Clock [email protected]

maintext1="Clock Room"
maintext2="EXT 1103"
line => 1103
bookmark=Spa [email protected]
bookmark=Living [email protected]
bookmark=Computer [email protected]

with “This device uses custom technology.
dial” USTM/[email protected]