How to: Asterisk 1.6.2 and Nortel 2002 IP Phone (NTDU91)

Nortel 2002 IP Phone (NTDU91)
chan_unistim
This is a channel driver for the UNISTIM (Unified Networks IP Stimulus) protocol. It provides UNISTIM server services that you can use to drive Nortel 2002 IP phone.

The following features are supported:

    Transfer
    Threeway call
    Call Forward
    Message Waiting Indication (MWI)
    Distinctive ring
    Call History
    Send/Receive CallerID
    Redial
    (Dynamic) SoftKeys
    SendText()
    Music On Hold 

unistim.conf
First we need to edit the ‘/etc/asterisk/unistim.conf‘ with your favourite to look something like below to meet your needs and setup.

;
; chan_unistim configuration file.
;

[general]
port=5000                     ; UDP port
;
; See qos.tex or Quality of Service section of asterisk.pdf 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.
;
;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.
autoprovisioning=yes
qualify=yes
;------------------------------ 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".
;-----------------------------------------------------------------------------------
;[violet]
;device=001122334455
;line => 102

[i2002]                       ; name of the device
device=001122334455           ; mac address of the phone
;tn=101
maintext0="Welcome to Asterisk"  ; default = "Welcome", 24 characters max
callerid="me" <101>
context=default               ; context, default="default"
mailbox=101                   ; Specify the mailbox number. Used by Message Waiting Indication
linelabel="101"               ; Softkey label for the next line=> entry, 9 char max.
rtp_port=10000                ; RTP port used by the phone, default = 10000. RTCP = rtp_port+1
rtp_method=3                  ; If you don't have sound, you can try 1, 2 or 3, default = 0
status_method=0               ; If you don't see status text, try 1, default = 0
titledefault=TimeZone Australia/Adelaide       ; default = "TimeZone (your time zone)". 12 characters max
extension=line                ; 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
;maintext0="Nortel Phone"     ; default = the name of the device, 24 characters max
;maintext2="2002 NTDU91"      ; 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=5                    ; define the contrast of the LCD. From 0 to 15. Default = 8
country=au                    ; country (ccTLD) for dial tone frequency. See README, default = us
ringvolume=3                  ; ring volume : 0,1,2,3, can be overrided by Dial(), default = 2
ringstyle=2                   ; ring style : 0 to 7, can be overrided by Dial(), default = 3
callhistory=1                 ; 0 = disable, 1 = enable call history, default = 1
line => 101                   ; Only one line by device is currently supported.
                              ; Beware ! only bookmark and softkey entries are allowed after line=>

bookmark=3@VoiceMail.@3121    ; Use a softkey to dial 123. Name : 9 char max
bookmark=Laptop@102           ; 54 shows a mailbox icon. See #define FAV_ICON_ for other values (32 to 63)
;bookmark=Test@*@USTM/violet  ; Display an icon if violet is connected (dynamic), only for unistim device
bookmark=4@Acc. Bal.@3151     ; Display a pager icon and dial 54321 when softkey 4 is pressed

extensions.conf
If you want to direct incoming calls from VoIP providor to the Nortel IP Phone 2002 edit the ‘/etc/asterisk/extensions.conf‘ to something like below to suit your needs

[from-trunk]
; Incoming calls from VoIP provider to Asterisk are directed to the extension
; 101 (the IP Phone)
exten => [sip Provider],1,Dial(USTM/101@i2002,30)
exten => [sip Provider],2,Congestion
exten => [sip Provider],102,Busy

[local]
exten => _1XX,1,Dial(SIP/${EXTEN},30)
exten => _1XX,2,Congestion
exten => _1XX,102,Busy

[default]
include => local
include => from-trunk

; Send all outbound calls with prefix 9 via VoIP provider. Strip the prefix 9
; before sending call to VoIP provider SIP proxy
exten => _9.,1,Dial(SIP/${EXTEN:1}@[sip Provider],30)
exten => _9.,2,Congestion
exten => _9.,102,Busy

How to configure the Nortel 2002 IP phone:
1) Power on the phone
2) Wait for message “Nortel Networks”
3) While the “Nortel Networks” splash is showing, quickly press each the four softkeys just below the LCD screen, in sequence from left to right. If you see “Locating server”, you weren’t fast enough. Power off and try again.

    EAP Enable? [0-N, 1-Y]: 0
    DHCP? [0-N, 1-Y]: 1
    Cached IP? [0-N, 1-Y]: 1
    DHCP:0-Full,1-Partial: 1
    S1 IP: xxx.xxx.xxx.xxx (Asterisk's Server IP Address)
    S1 PORT: 5000
    S1 ACTION: 1
    S1 RETRY COUNT: 10
    S2 IP: xxx.xxx.xxx.xxx (Asterisk's Server IP Address)
    S2 PORT: 5000
    S2 ACTION: 1
    S2 RETRY COUNT: 10
    Cfg XAS? [0-No, 1-Yes]: 0
    VOICE VLAN?[0-N, 1-Y]: 0
    PC PORT?[0-OFF,1-ON]: 1
    DATA VLAN? [0-N, 1-Y]: 0
    PCUntagAll?0-No,1-Yes: 0
    DUPLEX0-AUTO,1-FULL: 1
    SPEED0-10Mb,1-100Mb: 1
    GARP Ignore?[0-N, 1-Y]: 1

Diagnostics mode on Nortel IP phone:
All diagnostic functions begin with the ‘lead sequence':

    mute key
    up arrow button
    down arrow button
    up arrow button
    down arrow button
    up arrow button
    mute key 

Followed immediately by one of the following sequences:

    0 key - Display Firmware hard version
    1 key - RAM check
    2 key - DTIC check
    3 key - EEPROM check
    4 key - Xmt, Rcv, Attenuation levels
    5 key - TCM loop back test, between i2004 and CE equipment
    6 key - unassigned
    7 key - Display Firmware hard version
    8 key - TCM BERT test
    9 Release key - Reset set/power cycle
    * 2 key - RUDP on/off check. If RUDP is off, power cycle the set (9 Release).
    * 0 key - Display Firmware soft version

Reference:
http://www.voip-info.info/wiki/view/Asterisk+Documentation+1.6.1+unistim.txt

Leave a Reply