Michael McNamara https://blog.michaelfmcnamara.com technology, networking, virtualization and IP telephony Sat, 30 Oct 2021 17:46:28 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.2 Avaya Enterprise Device Manager – Help Files https://blog.michaelfmcnamara.com/2011/01/avaya-enterprise-device-manager-help-files/ https://blog.michaelfmcnamara.com/2011/01/avaya-enterprise-device-manager-help-files/#comments Tue, 01 Feb 2011 03:33:30 +0000 http://blog.michaelfmcnamara.com/?p=1921 Over the past few days I’ve been working with an Avaya Ethernet Routing Switch 4500 (v5.4.1) and an Avaya Ethernet Routing Switch 5520 (v6.2.1) which both utilize Avaya’s new Enterprise Device Manager (EDM) as opposed to the legacy Nortel Java Device Manager (JDM). As you know by now (from my previous ranting) that I personally thought JDM was a significant differentiator for Nortel/Avaya when comparing their products to other competitors. While I think they’ve done a pretty good job with EDM it has one major drawback – it’s incredibly slow. I believe that lack of speed will generally force a large majority of Avaya users to use the CLI interface which has it’s own problems and issues.

In any event I tried to use the Help while I was using EDM and quickly discovered that I had to set it up. You’ll need to download the help files from Avaya’s website (I’ve included links at the bottom of this post). And you’ll need to upload the files to a permanent TFTP server somewhere on your network. I use the word permanent because every time someone clicks on the Help box the switch will download the content via TFTP and serve it up to the user via HTTP so your TFTP server will need to be continuously running, it can’t be hosted on your laptop.

I uploaded both archives to my TFTP server and then set out to configure both switches.

Avaya Ethernet Routing Switch 4500 Series

If you want to configure it via the CLI interface you can issue the following commands;

enable
config t
edm help-file-path ERS_4500_Help_EDM tftp address 192.168.1.6

In the example above my TFTP server was at 192.168.1.6 and the files were stored in /tftpboot/ERS_4500_Help_EDM on my CentOS Linux server. If you want to configure it via the EDM interface you can go to Configuration -> Edit -> File System -> Help File Path and enter “tftp://192.168.1.6/ERS_4500_Help_EDM” as the path. You should substitute the IP address above with the IP address of your TFTP server.

Once you’ve configured the path you could be able to click on any of the Help links.

Avaya Ethernet Routing Switch 5000 Series

If you want to configure it via the CLI interface you can use the following commands which are identical to the ERS 4500 with the exception of the path;

enable
config t
edm help-file-path ERS5000_Help_EDM tftp address 192.168.1.6

In the example above my TFTP server was at 192.168.1.6 and the files were stored in /tftpboot/ERS5000_Help_EDM on my CentOS Linux server. If you want to configure it via the EDM interface you can go to Configuration -> Edit -> File System -> Help File Path and enter “tftp://192.168.1.6/ERS_4500_Help_EDM” as the path (same as the ERS 4500). Again, you should substitute the IP address above with the IP address of your TFTP server.

The process is identical on both switches with the exception of the TFTP path.

Interestingly enough I get a HTTP/404 error when I clicked on the Help link (next to the Refresh button and above the path) in the figure above. The browser tried to load http://192.168.1.50/releaseNotes.html which results in a HTTP/404 “Not Found” error from the built-in web server on the switch. This only happens on the Ethernet Routing Switch 5520 and it works as expected on the Ethernet Routing Switch 4500.

Do you think there’s any chance Avaya will start paying users to report bugs?

Cheers!

References;

ERS5000_Help_EDM.zip
ERS_4500_Help_EDM.zip

]]>
https://blog.michaelfmcnamara.com/2011/01/avaya-enterprise-device-manager-help-files/feed/ 19
Avaya 1100 Series IP Phone Upgrade to SIP https://blog.michaelfmcnamara.com/2011/01/avaya-ip-1100-series-ip-phone-upgrade-to-sip/ https://blog.michaelfmcnamara.com/2011/01/avaya-ip-1100-series-ip-phone-upgrade-to-sip/#comments Tue, 18 Jan 2011 03:34:18 +0000 http://blog.michaelfmcnamara.com/?p=1839 Over the past weekend I set out to setup Asterisk, an open source communication server, to test some of the issues reported in a thread over on the discussion forums. I had an Avaya 1120e and 1165e IP phone available to test with, however, both phones were running the UNIStim software for the Avaya Communications Server 1000. I needed to upgrade them to support SIP.

About a year ago I posted how I setup Asterisk to work with an i2002 IP phone utilizing the UNIStim channel driver. This time around I was looking to utilize the standard SIP channel driver with the 1120e and 1165e.

SIP Software

You’ll need to download the SIP software from the Avaya Support website. You should be able to retreive the SIP software from this link without needing to log into Avaya’s website. You should download the software for the appropriate model you’ll be working with. In my case I downloaded the following two files;

  • SIP1120e04.00.04.00.bin
  • SIP1165e04.00.04.00.bin

TFTP Server

You’ll need a TFTP server to host the files that the IP phone will download. You can use any TFTP server you already have on the network. If you don’t have a TFTP server you can use TFTPD32 from Philippe Jounin on any Microsoft Windows XP, Vista or Windows 7 personal computer. I download the zip and exploded the files to D:\Temp.

TFTP Files

With the TFTPD32 software in D:\Temp I then copied the two firmware images (SIP1120e04.00.04.00.bin and SIP1165e04.00.04.00.bin) to the same directory. At this point I needed to create some configuration (provisioning) files which the IP phones would download. The first file 1120e.cfg will be used for the 1120e IP phone;

[FW]
DOWNLOAD_MODE AUTO
VERSION SIP1120e04.00.04.00
FILENAME SIP1120e04.00.04.00.bin
PROTOCOL TFTP
SERVER_IP 192.168.1.3
SECURITY_MODE 0

I also created a file 1165e.cfg that would be used for the 1165e IP phone;

[FW]
DOWNLOAD_MODE AUTO
VERSION SIP1165e04.00.04.00
FILENAME SIP1165e04.00.04.00.bin
PROTOCOL TFTP
SERVER_IP 192.168.1.6
SECURITY_MODE 0

You’ll need to substitute the IP address above (192.168.1.6) with the IP address of the personal computer that will be running TFTPD32. Now that you have all the files you’ll need for the upgrade, you can start the TFTPD32 executable. You should see a window similar to the figure to the right.

Upgrade

You need to make sure that the IP phones know which TFTP server to use. This can be accomplished via DHCP option 66 or it can be set in the device configuration on the actual IP phone itself. I was utilizing the DHCP server built into my Verizon FiOS router so I had to set the TFTP server manually via the IP phone configuration.

When you are ready just reboot the phone. As the IP phone boots up it will request an IP address from the DHCP server and it will check the TFTP serve. The IP phone should download the 1120e.cfg (or 1140e.cfg of 1165e.cfg depending on the model). Once the phone realizes there is a software update it will boot into BOOTPC mode in order to perform the actual upgrade.

You should see something similar to the following;

[FW] reading...
SIP1120e04.00.04.00.bin
VERSION SIP1120e04.00.04.00

Shortly followed by;

[FW] writing...
SIP1120e04.00.04.00.bin
VERSION SIP1120e04.00.04.00

Once the upgrade is complete the IP phone should reboot. I will warn you that you should I’ve seen some odd behavior between the settings on the IP phone and the settings that should be applied via the provisioning files. There have been a few cases where I needed to reconfigure the IP phone even though it appeared to be configured properly. In the few cases I’ve experienced reconfiguring the IP phone solved the problem.

Once the 1100 series IP phone is upgraded to SIP it will start looking for a new configuration file, 1120eSIP.cfg (or 1140eSIP.cfg or 1165eSIP.cfg depending on your model).

Here’s a quick example;

[FW]
DOWNLOAD_MODE AUTO
VERSION SIP1120e04.00.04.00
FILENAME SIP1120e04.00.04.00.bin
PROTOCOL TFTP
#SERVER_IP 192.168.1.3
#SECURITY_MODE 0

[DEVICE_CONFIG]
DOWNLOAD_MODE FORCED
VERSION 000002
FILENAME users.dat

[DIALING_PLAN]
DOWNLOAD_MODE FORCED
VERSION 000002
FILENAME dialplan.txt

Here’s a copy of the users.dat file which gets called from the 1120eSIP.cfg file above;

DNS_DOMAIN asterisk.home
SIP_DOMAIN1 asterisk.home
SERVER_IP1_1 192.168.1.6
SERVER_PORT1_1 5060
SERVER_RETRIES1 3
DEF_USER2 ASTERISK
VMAIL 5000
VMAIL_DELAY 300
DEF_LANG English
DEF_AUDIO_QUALITY High
ENABLE_LLDP YES
ADMIN_PASSWORD 26567*738
ADMIN_PASSWORD_EXPIRY 0
# Settings to disable extended license
MAX_LOGINS 1
USB_HEADSET LOCK
EXP_MODULE_ENABLE NO
ENABLE_SERVICE_PACKAGE NO
IM_MODE DISABLED
AVAYA_AUTOMATIC_QoS NO
VQMON_PUBLISH NO
SIP_TLS_PORT 0
ENABLE_BT NO
# Enable SSH
SSH YES
SSHID admin
SSHPWD admin

The settings above disable any advanced features and allow the IP phone to run a basic SIP configuration.

Cheers!

]]>
https://blog.michaelfmcnamara.com/2011/01/avaya-ip-1100-series-ip-phone-upgrade-to-sip/feed/ 182
ASCII Configuration Generator (ACG) for Nortel Switches https://blog.michaelfmcnamara.com/2008/10/ascii-configuration-generator-acg-for-nortel-switches/ https://blog.michaelfmcnamara.com/2008/10/ascii-configuration-generator-acg-for-nortel-switches/#comments Tue, 28 Oct 2008 02:00:28 +0000 http://blog.michaelfmcnamara.com/?p=478 I wrote a Perl script a long time ago to backup the binary configuration files for all our Nortel Ethernet and Ethernet Routing Switches (including BayStack 350 and 450s, Ethernet Switch 460 and 470s, Ethernet Routing Switch 4500s and Ethernet Routing Switch 5500s, Ethernet Routing Switch 1600 and 8600s along with Motoroal WS5100 and RFS7000s and HP GbE2s). The Perl script was very simple and straightforward. The problem was that the Nortel configuraiton files were binary files that we as engineers were unable to review or analyze. There were no tools (at least not that I’m aware of) that could allow us to review those configurations. If we had a question about the configuration stored in the binary file we had to restore the configuration to a mock up switch(s) in our testlab in order to be able to review the actually configuration. It seems that Nortel finally heard our cries for help and added a new feature in v3.7.x (ES460/ES470) and v5.1.x (ERS5500) software that would allow us to TFTP upload the ASCII configuration from the ACG.

There was one problem though… the SNMP OID has yet to be documented in the Nortel SNMP MIBS. I had to run a packet trace against Nortel’s Device Manager to determine the OID that Device Manager was using to initiate the manual config upload. I found that the OID was ”
1.3.6.1.4.1.45.1.6.4.4.19.0″

I took my existing script and created a new subroutine and had everything working within about 30 minutes.

Here’s some of the code I wrote;

############################################################################
# Subroutine baystack_tftp_config_ascii
#
# Purpose: use SNMP to instruct BayStack switches to TFTP upload their
# ASCII configuration file to the central TFTP server
############################################################################
sub baystack_tftp_config_ascii {

#s5AgSysTftpServerAddress
#s5AgSysAsciiConfigFilename
#s5AgSysAsciiConfigManualUpload (NOT IN THE MIBS) USE 1.3.6.1.4.1.45.1.6.4.4.19.0
# snmpset -v2c -cprivate 10.1.1.100 1.3.6.1.4.1.45.1.6.4.4.19.0 i 4

   # Declare Local Variables
   my $setresult;

   $filename = "ascii/".$filename;

   my $sess = new SNMP::Session (  DestHost  => $snmphost,
                                   Community => $community,
                                   Version   => SNMPVER );

   my $vars = new SNMP::VarList(
                        ['s5AgSysTftpServerAddress', 0, "10.1.1.20",],
                        ['s5AgSysAsciiConfigFilename', 0, $filename,] );

   my $go = new SNMP::VarList(
                        ['.1.3.6.1.4.1.45.1.6.4.4.19', 0, 4, 'INTEGER'] );

   &check_filename($filename);

   # Set TFTP source and destination strings
   $setresult = $sess->set($vars);
   if ( $sess->{ErrorStr} ) {
      print "ERROR: {BayStack} problem setting the TFTP parameters (TFTP IP, FILENAME) for $snmphost\n";
      print "ERROR: {BayStack} sess->{ErrorStr} = $sess->{ErrorStr}\n";
   }

   # Start TFTP copy
   $setresult = $sess->set($go);
   if ( $sess->{ErrorStr} ) {
      print "ERROR: {BayStack} problem setting the TFTP action bit for $snmphost\n";
      print "ERROR: {BayStack} sess->{ErrorStr} = $sess->{ErrorStr}\n";
   }

   # Pause while the TFTP copy completes
   sleep $PAUSE;

   # Check to see if the TFTP copy completed
   $setresult = $sess->get('.1.3.6.1.4.1.45.1.6.4.4.19.0');
   if ( $sess->{ErrorStr} ) {
      print "ERROR: problem checking the TFTP result for $snmphost\n";
      print "ERROR: sess->{ErrorStr} = $sess->{ErrorStr}\n";
   }

   # If TFTP failed output error message
   if ($setresult != 1) {
        while ($setresult == 2) {
           print "DEBUG: config upload status = $setresult (waiting)\n" if (DEBUG);
           sleep $PAUSE;
           $setresult = $sess->get('.1.3.6.1.4.1.45.1.6.4.4.19.0');
        } #end while
   } #end if $test ne "success"

   # If the upload command failed let's try again
   if ($setresult == 3) {

      print "DEBUG: initial command returned $setresult\n" if (DEBUG);
      print "DEBUG: lets try the upload command again\n" if (DEBUG);

      # Let's pause here for a few seconds since the previous command failed
      sleep $PAUSE;

      # Start TFTP copy
      $setresult = $sess->set($go);
      if ( $sess->{ErrorStr} ) {
         print "ERROR: problem setting the TFTP action bit for $snmphost\n";
         print "ERROR: sess->{ErrorStr} = $sess->{ErrorStr}\n";
      }

      # Pause while the TFTP copy completes
      sleep $PAUSE;

      # Check to see if the TFTP copy completed
      $setresult = $sess->get('.1.3.6.1.4.1.45.1.6.4.4.19.0');
         if ( $sess->{ErrorStr} ) {
            print "ERROR: problem checking the TFTP result for $snmphost\n";
            print "ERROR: sess->{ErrorStr} = $sess->{ErrorStr}\n";
      }

      # If TFTP failed output error message
      if ($setresult != 1) {
         while ($setresult == 2) {
            print "DEBUG: config upload status = $setresult (waiting)\n" if (DEBUG);
            sleep $PAUSE;
            $setresult = $sess->get('.1.3.6.1.4.1.45.1.6.4.4.19.0');
         } #end while
      } #end if
   } #end if

   if ($setresult != 1) {
      print "DEBUG: $snmphost config upload *FAILED*!\n";
      print SENDMAIL "ERROR:$snmphost ($sysObjectID) config (ASCII) upload *FAILED*!
\n";
   } elsif ($setresult == 1) {
      print SENDMAIL "$snmphost ($sysObjectID) was successful (ASCII)
\n";
      print "DEBUG: $snmphost ($sysObjectID) was successful (ASCII)\n";
   } else {
      print "DEBUG: unknown error return = $setresult (ASCII)" if (DEBUG);
   } #end if

   print "DEBUG: upload config file results = $setresult (ASCII)\n" if (DEBUG);

   return 1;

} #end sub baystack_tftp_config_ascii

Cheers!
Update: Friday April 10, 2009

I’ve discovered a small issue using the MIB “s5AgSysAsciiConfigFilename”. While the MIB says the value can be between 0..128 characters long I’ve actually found that the value can’t be an longer than 30 characters. If you try to use a filename that is greater than 30 characters you’ll get an SNMP set error. I actually had quite a few switches failing to backup properly because I was prepending “ascii/” to the filename. I tested this with software v3.7.2.x and v3.7.3.x on a Ethernet Switch 470.

s5AgSysAsciiConfigFilename OBJECT-TYPE
        SYNTAX  DisplayString (SIZE (0..128))
        MAX-ACCESS      read-write
        STATUS  current
        DESCRIPTION
                "Name of the ascii configuration file that will be
             downloaded/uploaded either at boot time when the
             s5AgSysAsciiConfigAutoDownload object is set to
             useConfig(3), or when the s5AgSysAsciiConfigDownloadStatus
             object is set to startDownload(4).  When not used, the
             value is a zero length string."
        ::= { s5AgentSystem 6 }

Cheers!

]]>
https://blog.michaelfmcnamara.com/2008/10/ascii-configuration-generator-acg-for-nortel-switches/feed/ 12