A telephone is described that allows any arbitrary combination of key
strokes, including numerical keys, extension keys, as well as function
keys such as TRANSFER, CONFERENCE, etc., to be programmed such that the
entire sequence of key strokes can be recalled with the touch of a single
button. The phone can be programmed directly by operation of the
telephone user interface on the phone (i.e., the keys, phone display, and
speaker prompting the user) and a program button dedicated to the feature
of programming a separate programmable button to map to the specified key
sequence. The feature can be implemented in advanced telephones capable
of voice over Internet Protocol networks, and supporting the Session
Initiation Protocol. In these more advanced phones, the programming can
be done by a system administrator or by the user of the phone via a
computer with internet access.