AVAYA IPO TFTP Requests

A number of parameters can be obtained from AVAYA IP Office via tftp requests. This is very easy because no login/logout procedure is needed - just one "get" request. Most of them was discovered by Monitor application and further experimenting.

I used the standard Linux tftp program.

nasystem/who_is

$ tftp 192.168.7.40 -c get "nasystem/who_is" /dev/stdout
mac="00e007024c59" type="IP 406 DS" class="CPU" icon="0" ver="3.2 (61)" name="derb.ancor" state="3"
mac="000000000001" type="DIG DCPx30 V2" class="TDM" icon="1" ver="5.2 (61)" name="derb.ancor" state="3"
mac="000000000002" type="DIG DCPx30 V2" class="TDM" icon="2" ver="5.2 (61)" name="derb.ancor" state="3"
mac="000000000003" type="DIG DCPx30 V2" class="TDM" icon="3" ver="5.2 (61)" name="derb.ancor" state="3"
mac="000000000004" type="ANALOG POTS8+" class="TDM" icon="4" ver="5.2 (61)" name="derb.ancor" state="3"
mac="000000000005" type="DIG DCPx30 V2" class="TDM" icon="5" ver="5.2 (61)" name="derb.ancor" state="3"

Fields returned:
mac – mac-address of AVAYA IP Office
type – unit type
class – ???
icon – ???
ver – firmware version
name – station name
state – ???

nasystem/licence_list

$ tftp 192.168.8.40 -c get "nasystem/licence_list" /dev/stdout
5,1,0,255,255
16,1,0,1,1
17,1,0,255,255
18,1,0,8,8
22,0,4,5,0

This is returned for VMPro+2xAddVMPro/4, PMPro/5, eBLF/255, SoftConsole/1.
Returns nothing if no license installed.

nasystem/user_list

$ tftp 192.168.2.40 -c get "nasystem/user_list" /dev/stdout
Krivolap E,1202,Krivolap Ekaterina,426D810002CD11D68E5100E00703089D
Lipatova N,1221,Lipatova Natalia,426D810002CD11D6907400E00703089D
...

Returns the FULL list (including SCN stations) in the format
Name, Ext, Full Name, UserID

nasystem/user_list2

$ tftp 192.168.2.40 -c get "nasystem/user_list2" /dev/stdout
Krivolap E,1202,Krivolap Ekaterina,0,1,426D810002CD11D68E5100E00703089D
Lipatova N,1221,Lipatova Natalia,0,1,426D810002CD11D6907400E00703089D
...

Returns the local station user list in the format:
Name, Ext, Full Name, Ex Directory,???, UserID

nasystem/user_list3

$ tftp 192.168.2.40 -c get "nasystem/user_list3" /dev/stdout
Krivolap E,1202,Krivolap Ekaterina,426D810002CD11D68E5100E00703089D
Lipatova N,1221,Lipatova Natalia,426D810002CD11D6907400E00703089D
...

Same as nasystem/user_list.

nasystem/user_list4

$ tftp 192.168.2.40 -c get "nasystem/user_list4" /dev/stdout
Krivolap E,1202,Krivolap Ekaterina,0,1,0,426D810002CD11D68E5100E00703089D
Lipatova N,1221,Lipatova Natalia,0,1,0,426D810002CD11D6907400E00703089D
...

Returns the local station user list in the format:
Name, Ext, Full Name, Ex Directory,??? - same as in user_list2, ???, UserID

nasystem/user_list5

$ tftp 192.168.8.40 -c get "nasystem/user_list5" /dev/stdout
Kuvshinova E,1902,Kuvshinova E,0,1,0935EE007D0911D5996100E0070201C6,kuvshinova@example.com
NoUser,,sss,0,1,0935EE007D0911D59A2E00E0070201C6,
...

Return FULL (including SCN) user list in the following format:
Name, Ext, Full Name, Ex Directory, ???, UserID, Voicemail EMail

nasystem/user_list6

$ tftp 192.168.8.40 -c get "nasystem/user_list6" /dev/stdout
Kuvshinova E,1902,Kuvshinova E,0,1,0,kuvshinova@example.com,0,0,0,1,1,1902,0,0935EE007D0911D5996100E0070201C6
NoUser,,sss,0,1,0,,0,0,0,0,0,1403,0,0935EE007D0911D59A2E00E0070201C6
Reception d1,1401,Reception d1,0,1,0,,0,0,9,0,2,1401,0,0935EE007D0911D59AFB00E0070201C6
Fax 7898958,1404,Fax 7898958,0,1,0,,0,0,0,1,0,1404,0,0935EE007D0911D59BC800E0070201C6
...

Returns the local station user list in the format:
Name, Ext, Full Name, Ex Directory,???, ???, ???, Voicemail EMail, ???, ???, ???, ???, ???, ???, ???, UserID

nasystem/user_list7

$ tftp 192.168.8.40 -c get "nasystem/user_list7" /dev/stdout
Kuvshinova E,1902,Kuvshinova E,0,1,0935EE007D0911D5996100E0070201C6
Reception d1,1401,Reception d1,0,1,0935EE007D0911D59AFB00E0070201C6
Fax 7898958,1404,Fax 7898958,0,1,0935EE007D0911D59BC800E0070201C6
...

Return FULL (including SCN) user list in the following format:
Name, Ext, Full Name, Ex Directory,???, UserID

nasystem/hunt_list

$ tftp 192.168.8.40 -c get "nasystem/hunt_list" /dev/stdout
Gromkaya,1991,0,0,1,0,0,0,0,09CE39807D0911D5A30C00E0070201C6
G3616,1990,0,0,1,0,0,0,0,09CE39807D0911D5A30D00E0070201C6
Energy,1993,0,0,1,0,0,0,0,09CE39807D0911D5A30F00E0070201C6
ServiceDesk,1111,0,0,1,0,0,0,0,B1BE1C00A5F211D58B7100E0070201C6
DISA,1992,0,0,1,0,0,0,0,09CE39807D0911D5A30E00E0070201C6

Return hunt group information in the following format:
Name, Extension, QueueEnabled, QueueDepth, ???, ???, ???, NewMessages, ???, GroupID
(thanks to Shawn Wingate)

nasystem/dir_list

$ tftp 192.168.2.40 -c get "nasystem/dir_list" /dev/stdout
Vladivostok,984232402087
Vladivostok,984232402781
Vladivostok,984232300576
...

Lists entries under "Directory" item in Avaya IP Office Manager.

nasystem/extn_list

$ tftp 192.168.2.40 -c get "nasystem/extn_list" /dev/stdout
1664,426D810002CD11D68E2E00E00703089D
1201,426D810002CD11D68DDA00E00703089D
1232,426D810002CD11D68DDB00E00703089D
1544,426D810002CD11D68DDC00E00703089D
1202,426D810002CD11D68DDD00E00703089D
...

Lists extensions and its physical ID's

nasystem/AccountCode

Returns nothing for me (I do not use Account Codes)

nasystem/user_info/User

$ tftp 192.168.2.40 -c get "nasystem/user_info/1311" /dev/stdout
Pazhitnov E,Pazhitnov Eugene,1311,0,0,0,,0,,1,1,0,0,0,,,,,no,,,,,,0,0,0,0,0,2000,0,0,0,0,0,,0,preved,0,0,0,0,0,2
$ tftp 192.168.2.40 -c get "nasystem/user_info/Pazhitnov E" /dev/stdout
Pazhitnov E,Pazhitnov Eugene,1311,0,0,0,,0,,1,1,0,0,0,,,,,no,,,,,,0,0,0,0,0,2000,0,0,0,0,0,,0,preved,0,0,0,0,0,2

My extension number is 1311 so both variants are valid.It's interestion to look at the string while doing something with phone. Some fields reflects call status.

nasystem/user_info2/User

$ tftp 192.168.2.40 -c get "nasystem/user_info2/Elagina E" /dev/stdout
Elagina E,Elagina Elena,1437,0,0,0,989104379000,989104379000,0,,1,1,0,0,0,,,,,no,,,,,,0,0,0,0,0,2000,0,0,0,0,0,,0,,0,1,0,0,0,2

Same as user_info but one field more. Look at those 98910… - it's a forward number.

nasystem/user_info3/User

$ tftp 192.168.2.40 -c get "nasystem/user_info3/Elagina E" /dev/stdout
Elagina E,Elagina Elena,1437,0,0,0,989104379000,989104379000,0,,1,1,0,0,0,,,,,no,,,,,,0,0,0,0,0,2000,0,0,0,0,0,,0,,0,1,0,0,0,2,0,0,ffffffff,,,,rus,1,,00000002,0,ffffffff,ffffffff,ffffffff,00017f48,00017f48,00000004,0,00000000,ffffffff,00000000,00000000,,0,1,1,1,0

Even more detailed information.

nasystem/MemberOf/User

$ tftp 192.168.7.40 -c get "nasystem/MemberOf/Pazhitnov E" /dev/stdout
Paging,3998,1,0,1,0,0,0,1,72102900528811D58C8200E007024C59
$ tftp 192.168.7.40 -c get "nasystem/MemberOf/1311" /dev/stdout
Paging,3998,1,0,1,0,0,0,1,72102900528811D58C8200E007024C59

Shows groups in which user is a member of.

nasystem/call_list/q/cs02

$ tftp 192.168.7.40 -c get "nasystem/call_list/q/cs02" /dev/stdout
NAME: "derb.ancor"
RAS: 1 Chans=68 1.0
POTS: 2 Chans=2 0.0
Q931Line: 1 Chans=30 Used=4 2.1 Version=Q931 PRI TE Version 2.001
CALL: 70.5.2 State=2 Cut=3 Music=0.0 Aend="Line 70" (250.10005) Bend="Prilepskaya T(1326)" [Prilepskaya T] (10.3) CalledNum=1326 ()CallingNum=984953993000 () Internal=0 Time=138587 AState=2
CALL: 70.1.2 State=2 Cut=3 Music=0.0 Aend="Line 70" (250.10001) Bend="Minaeva S(1228)" [Minaeva S] (13.26) CalledNum=1228 ()CallingNum=1293 () Internal=0 Time=228941 AState=2

This returns Call Status information.

Seems you can use any letters instead of "cs02"

nasystem/call_info/voice channel

$ tftp 192.168.7.40 -c get "nasystem/call_info/0.19429.0" /dev/stdout
Skryabina Nina,0.19429.0,13.12,0,-1431655766,1,0,,0.19430.0,2.8,0,-1431655766,1,0,0,2,16,983434233961,83434233961,100,100,100,100,4959562807,1,100,100,100,,100,100,100,100,1,,,,2008/7/21 14:57:00,2008/7/21 15:08:01,,rus,0

Shows the information about selected call.

nasystem/call_info2/voice channel

$ tftp 192.168.7.40 -c get "nasystem/call_info2/0.19429.0" /dev/stdout
Skryabina Nina,0.19429.0,13.12,0,-1431655766,1,0,,0.19430.0,2.8,0,-1431655766,1,0,0,2,16,983434233961,83434233961,100,100,100,100,4959562807,1,100,100,100,,100,100,100,100,1,,,,2008/7/21 14:57:00,2008/7/21 15:12:24,,rus,0,0

Same as call_info but with more detail (the ",0" is appended actually).

nasystem/hunt_info/group

$ tftp 192.168.7.40 -c get "nasystem/hunt_info/Paging" /dev/stdout
*1135
*1153
1311
*1318
...

Shows the list of extensions which are the members of selected Hunt Group. Asterisk ("*") means extension is active.

config/password

Returns binary config of station. Password must be encoded with the following great program :-)

#!/usr/bin/perl -w
 
$s = $ARGV[0];
$ps1 = "";
$ps2 = "";
 
# $PASS:
#   0x10 for extension
#   0x11 for system unit
 
$PASS1 = 0x10;
$PASS2 = 0x11;
 
for($i=0; length($s) != 0; $s = substr($s,1))    {
        $c = unpack("C", $s);
        $nc = $c + $PASS1 - $i;
        $ps1 .= pack("C", $nc);
        $nc = $c + $PASS2 - $i;
        $ps2 .= pack("C", $nc);
        $i++;
}
print "User password: $ps1\nStation password: $ps2\n";

deltaconfig/vmail

Returns binary voicemail config file (??? - I guess that only by the name of file).

nasystem/application_deployment

This is not a file actually. This is requested before station upgrade.

nasystem/enh_conf_url

Return nothing for my stations.

Author: eugene pazhitnov, moc.liamg|vontihzap#moc.liamg|vontihzap

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License