Monday, May 8, 2017

Upgrade F5 BIG-IP

I ran into quite a few issues upgrading our F5 BIG-IP's a little bit ago from 12.x code to 13.0. I would like to share what I learned during this experience in hopes to help out others. The F5 documentation is written well, but some of it is not explained in a way that makes sense as to why you would do it in that order, which is where my upgrade troubles began.

Tools you will need:
            - WinSCP
            - SSH Software (ie. Putty)

NOTE: If you have two F5 BIG-IP devices, I highly recommend doing this on your secondary device that is in Standby mode. While you run through the update you will be taking the device out of commission when you install the software as well as when it reboots.

Edit: You don't need to re-license with every upgrade. If you check F5's site for license activation prior to upgrade, there is a license check list that you can use. This one seems to be updated quite regularly for BIG-IP: https://support.f5.com/csp/article/K7727

First start by checking the version you are running. Open an SSH session to your F5 and run: 'tmsh show sys hardware'. This command will show you the version you are currently on as well as the Registration Key for your system. You will need this later.

  • Go to the F5 website (https://downloads.f5.com). Find your F5 Product and the version you want to upgrade to. 
  • Download and save the latest hotfix or version that you want.
  • Before you upgrade you need to relicense your registration key.
  • From the CLI, run: grep ‘Service check date’ bigip.license (This will give you the date your F5 was licensed.) Copy this key.
  • Run tmsh show sys license (This will display your registration key along with what you are licensed for)
  • Open an SSH session to your VCMP host.
  • With the Registration Key you got earlier, run this command:  get_dossier -b ABCDE-ABCDE-ABCDE-ABCDE-ABCDEFG
  • Copy the product dossier
  • Go to https://activate.f5.com and click on ‘Activate F5 product registration key’.
  • Paste the dossier in the empty box, then click Next.
  • Accept the terms. On the next page will be the new license with the updated date.
  • Save the new license to a file named ‘bigip.license’
  • Easiest way to do this is to:
    • Start WinSCP
    • SSH to the VCMP host
    • Navigate to /config/ and find bigip.license
    • You should download this license file as a backup just in case
    • Drop the new file in there and overwrite the old one
    • Back in your SSH session run: reloadlic
  • Back on the SSH console of the VCMP host, run: 'service check date’ bigip.license
  • The date should reflect today’s date, confirming that the F5 has been relicensed.
  • You can now login to the F5 web interface and upload the hotfix or latest version.
  • Make a backup of the config by going to System > Archives > Click Create Button 
    • Enter a File Name
    • Click the Finished button
  • At this point you want to take the device offline
    • Go to Device Management > Devices
    • Scroll to the bottom of the page and click the button Force Offline
  • Now, upload the latest image by going to System > Software Management > Image List
    • Click the Import button
    • Click Choose File and navigate to where you downloaded the latest image
    • Click the Import button
    • Wait for it to import the file
  • Once the file is imported and you have a snapshot of the system, it is time to upgrade.
  • Back on the Software Management > Image List page, click the check box next to the image you want to upgrade to, then click the Install button.
  • A Pop-up will appear asking you to select a location. Partition 2 is for a new releases. Partition 3 is for Hot Fixes (per F5 support). 
    • Select 2 for a new build image (If this option is not available, go to the next available)
    • Click the Install button
  • You can watch the upgrade progress from the Installed Images field within the Image List page. 
  • Once the install is finished, you need to reboot the system into the new partition.
    • From the web GUI:
      • System > Software Management > Boot Locations
      • Click on the boot location of the new install software image
      • Click the drop-down next to Install Configuration and select Yes
      • Click the drop-down next to Source Volume and select a partition of the Hard Drive to install to
      • Click the Activate button
    • From the CLI:
      • Type switchboot
      • A list of image slots with their boot images will display. Use the arrow key to select the boot slot for startup and hit Enter
  • Once the F5 is back up, log in and you should be good to go.

Tuesday, January 3, 2017

Changes, Challenges and a New Year

Another year has come and gone. I finally accomplished my one sought after certification that I lusted after for so long, the CCNA. Like many others, I spent many days and nights studying, but it wasn't until meeting a fellow Network Engineer who was going for his CCIE and had an amazing study schedule did I truly understand what it meant to actually spend time studying.

I was "studying" for my CCNA for three years. I failed my first three attempts at my CCENT because I was too cocky, and had no schedule or plan. It wasn't until I lined out what areas I was weak in, spending the time on getting that nailed down, then moving on that I was able to truly benefit from all my studying. Creating a schedule and sticking to it was the best thing I ever did for myself and my study habits. If only I could have learned that back in High School.

After I finally got that lovely certification, I took a couple of months off from studying. Bad decision. It was rough getting back into the groove of studying. I have become complacent with where I am with my time and it is tough to get back into that studying mindset. Like most people, I'm making a New Year's resolution. I will begin the New Year with studying! How many times does that work though? None. I just need to go back to creating another schedule and sticking to it.

Towards the end of last year my role at work was shifted from "Wireless" to "Data Center." As much as I was beginning to enjoy Wireless, I felt like Data Center was where I needed to be. The Data Center team handles the virtual infrastructure. Needless to say, I needed to start studying up on my VMWare. Wow, was that something. I quickly started building a lab at home (well, broke it more so than built it). That's how you're supposed to learn, right? By doing?

Today, I was told that I am now being moved back to the Network side of the house. That will make the fourth role change in two years since I moved up to become a Network Engineer: Telecom, Wireless, Data Center, and now Network. I love the network side of the house, but I was starting to enjoy the virtual side. I will keep my lab going strong!

With the changing of my roles so often I think that it is safe to say that there is a need for Engineers out there that have the ability to pick up more than one role, and be well versed in it. Not only with each shift in a new job, but also within each changing moment in the day. You never know when those desktop days may come in handy! I find myself doing other roles during the day because of my past lives. It is always good to have more than that one skill to rely on.

Through all of the role changes and challenges through my past certification experience, I plan to move forward and create new certification goals for this year. My first one will be the VMWare VCP-NV. I know that I am no longer on the Data Center team, but I believe that is a good skill to have with everything moving to virtual infrastructure. After that, I plan on moving on with my Cisco certifications and going for the CCNP Route. Route is not my strong suit, but I feel like this will be the better option for my career.

So, on to a New Year, with more certifications and more learning for all!

Tuesday, March 29, 2016

Cisco SIP IP Phone On Avaya Session Manager

Cisco SIP IP Phone to Avaya

What you are about to read took me several weeks to compile the code together, so several of the file structures are missing due to what was needed in my environment. This may not work for what you are looking for, but this will hopefully get you up and running with a working Cisco SIP IP Phone connected to Avaya.

First things first, things you will need:

·         TFTPD32 – I used this for the ease of use, you can use whatever you are comfortable with for TFTP.
·         Any text editor to edit the code – I prefer Notepad++
·         You will need the IP of the SIP server domain so that the phone can register to the Avaya Session Manager. Once you have that, go to www.cisco.com and download the latest SIP firmware (ie. 7942 –firmware I used was 9.4(2)SR1). Unzip the file and place them into the root directory of the TFTP path (ie. C:\TFTP)
·         DHCP Server – You will need to have the option setup for the Cisco phones to pick up the files and TFTP path. The option for a Windows server will be option 150, you can give it any name and description. When you set it up, be sure to point the IP to the IP of your TFTP server.
·         Since I don’t like coming across sites that have linked files that may have been removed, I have the base code that I have built out for the 7942 below.

Before you can start to make changes to the config file, you need to start by creating your SIP extension in your Avaya System Manager. I am going to assume that you have already built the SIP trunk to Avaya Call Manager as well as everything that goes along with that. If you are here just for setting up the Cisco phone you can go ahead and scroll down, don’t worry, you won’t hurt my feelings. I may go over setting that up in a future post, but this post is just focused on getting a Cisco IP converted to SIP and setup on Avaya PBX. The Avaya version we have is 6.3, so your options may not be the same. Let’s get started…

Setting Up Avaya SIP Endpoint In Avaya Session Manager
  1.  Login to and on the left side under Users click on User Management
  2.  Next, click on Mange Users
  3.  On the User Management screen click on the New button to add a user
  4. Then, you will need to fill out the information for the phone. This will include:
    1. Last Name
    2.  First Name
    3.  Login Name which will be the extension followed by the SIP server (XXXXX@sip.mydomain.org)
    4.  Password to (This one needs to be letters and numbers)
    5. Localized Display Name - (This will be the display name for outbound calling)
    6.  Endpoint Display Name - (This will be the display name for outbound calling)
    7. Commit & Continue button at the top right or bottom left of the page.  
  5. Once that is saved, click on the Communication Profile tab at the top of the page.
  6. You will need to make the following changes on this page:
    1. Communication Profile Password – 123456 (This can be any string of digits, six minimum)
    2. Under Communication Address click the New button.
      1. Type will be Avaya SIP
      2. Fully Quallified Address will be the Extension Number @ click the dropdown to your SIP domain name.
    3. Check the box for Session Manager Profile
      1. SIP Registration:
        1. Click the dropdown for Primary Session Manager and choose your primary one
        2.  If you have a secondary, you can fill this out too
        3.  ***Max. Simultaneous Devices – This dropdown is used to have a SIP device used on more than one device. One thing I learned with this, this one is a lifesaver when you move an entire office over to SIP and the receptionist needs to also answer the CEOs phone. Use this dropdown and change the CEOs phone line to Max of 2, and add the second line to her phone and you have just made both of them happy J
        4. Application Sequences – Choose your SIP Origination and Termination links that you created the Session Manager to accept calls on behalf of the user 
    4. Call Routing Settings – Choose the Home Location so that 911 calls will be routed properly
    5. Check the box for CM Endpoint Profile
      1. Select the appropriate Avaya Call Manager you want this extension to ride on
      2. The Profile Type will be Endpoint
      3. The Extension will be a new, unused one. If you are porting a number over, you must remove it from Avaya before you can add it here.
      4.  The Template will be 9630SIP.
      5. The Security Code will be any six digits
      6. Port, you can leave blank since the system will configure it for you.
      7. Voice Mail Number is where you will enter the extension of your voice mail system should you have one.
    6. Click the Commit & Continue button
    7. Scroll to the CM Endpoint Profile section and click the Endpoint Editor button next to the extension.
    8. Enter the SIP trunk number that these phones will be riding over.
    9. Click on the Feature Options tab at the top
    10. Make changes to:
      1. MWI Server User Type – change this to: sip-adjunct (This will allow the red light to show up on the Cisco phone when there is a voicemail to the extension)
    11. Click on the Site Data tab at the top
    12. Make changes to: ( You can use this to locate the phone for better ease in the future
      1. Floor
      2. Building
    13. Now, click the Done button at the top right or bottom right of the page.
    14. Then, click the Commit button at the top right or bottom right of the page to commit the changes made.

Changes to the XML Configuration File

Now that we have the SIP extension done for the phone, let’s make the changes to the config file for the phone. Again, since I don’t like coming across sites that have linked files that may have been removed, I have the base code that I have built out for the 7942 below. Copy the below config, paste it into your flavor of text editor and make the changes as you follow along. I have made notes next to the important spots to be changed using the < !-- --> annotation:

 <device>  
      <deviceProtocol>SIP</deviceProtocol> <!--Set the device to SIP-->  
      <devicePool>  
           <dateTimeSetting>  
                <dateTemplate>M/D/YA</dateTemplate>  
                <timeZone>Central Standard/Daylight Time</timeZone> <!--Time Zone-->  
                <ntps>  
                     <ntp priority="0">  
                          <name>192.168.10.100</name> <!--NTP Server IP Address-->  
                          <ntpMode>Unicast</ntpMode>  
                     </ntp>  
                </ntps>  
           </dateTimeSetting>  
           <callManagerGroup>  
                <members>  
                     <member priority="0">  
                          <callManager>  
                               <ports>  
                                    <ethernetPhonePort>2000</ethernetPhonePort>  
                                    <sipPort>5060</sipPort>  
                               </ports>  
                               <processNodeName>192.168.0.1</processNodeName> <!--SIP Server IP Address-->  
                          </callManager>  
                     </member>  
                </members>  
           </callManagerGroup>  
      </devicePool>  
      <sipProfile>  
           <sipProxies>  
                <registerWithProxy>true</registerWithProxy>   
           </sipProxies>  
           <sipCallFeatures>  
                <cnfJoinEnabled>true</cnfJoinEnabled>   
                <localCfwdEnable>true</localCfwdEnable>   
                <callForwardURI>service-uri-cfwdall</callForwardURI>   
                <callPickupURI>service-uri-pickup</callPickupURI>  
                <callPickupGroupURI>service-uri-gpickup</callPickupGroupURI>  
                <callHoldRingback>2</callHoldRingback>  
                <semiAttendedTransfer>true</semiAttendedTransfer>  
                <anonymousCallBlock>2</anonymousCallBlock>  
                <callerIdBlocking>0</callerIdBlocking>  
                <dndControl>2</dndControl>  
                <remoteCcEnable>true</remoteCcEnable>  
           </sipCallFeatures>  
           <sipStack>  
                <sipInviteRetx>6</sipInviteRetx>  
                <sipRetx>6</sipRetx>  
                <timerInviteExpires>180</timerInviteExpires>  
                <timerRegisterExpires>3600</timerRegisterExpires>  
                <timerRegisterDelta>5</timerRegisterDelta>  
                <timerKeepAliveExpires>120</timerKeepAliveExpires>  
                <timerSubscribeExpires>120</timerSubscribeExpires>  
                <timerSubscribeDelta>5</timerSubscribeDelta>  
                <timerT1>500</timerT1>  
                <timerT2>4000</timerT2>  
                <maxRedirects>70</maxRedirects>  
                <remotePartyID>false</remotePartyID>   
           </sipStack>  
           <sipLines>  
                <line button="1">   
                     <featureID>9</featureID>   
                     <featureLabel>XXXXX XXXXX</featureLabel> <!--Name To Be Displayed on the phone-->  
                     <proxy>USECALLMANAGER</proxy>   
                     <processNodeName>XXX.XXX.XXX.XXX</processNodeName> <!--SIP Server IP Address-->  
                     <port>5060</port>   
                     <name>XXXXX</name> <!--Extension-->  
                     <displayName>XXXXX</displayName> <!--Extension-->  
                     <autoAnswer>  
                          <autoAnswerEnabled>2</autoAnswerEnabled>   
                     </autoAnswer>  
                     <callWaiting>0</callWaiting>   
                     <authName>XXXXX</authName> <!--Extension-->  
                     <authPassword>XXXXXX</authPassword> <!--Communication Profile Password-->  
                     <sharedLine>false</sharedLine>  
                     <messageWaitingLampPolicy>1</messageWaitingLampPolicy>  
                     <messagesNumber>XXXXX</messagesNumber> <!--Voicemail Extension-->  
                     <ringSettingActive>5</ringSettingActive>  
                     <forwardCallInfoDisplay>  
                          <callerName>true</callerName>  
                          <callerNumber>true</callerNumber>  
                          <redirectedNumber>true</redirectedNumber>  
                          <dialedNumber>true</dialedNumber>  
                     </forwardCallInfoDisplay>  
                </line>  
           </sipLines>  
           <enableVad>true</enableVad>  
           <preferredCodec>g711alaw</preferredCodec>   
           <softKeyFile>softkeyDefault_kpml.xml</softKeyFile>   
           <dialTemplate>dialplan.xml</dialTemplate>   
           <kpml>1</kpml>  
           <phoneLabel>XXX-XXX-XXXX</phoneLabel> <!--Full Extension to be displayed on the top of the display-->  
           <stutterMsgWaiting>2</stutterMsgWaiting>  
           <disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>  
           <dscpForAudio>184</dscpForAudio>  
           <dscpVideo>136</dscpVideo>  
      </sipProfile>  
      <commonProfile>  
           <phonePassword>cisco</phonePassword>   
           <backgroundImageAccess>true</backgroundImageAccess>   
           <callLogBlfEnabled>2</callLogBlfEnabled>  
      </commonProfile>  
      <loadInformation>SIP42.9-4-2SR1-1S</loadInformation> <!--Firmware version that the phone looks for at boot. This one is for the 7942-->  
      <vendorConfig>  
           <disableSpeaker>false</disableSpeaker>   
           <disableSpeakerAndHeadset>false</disableSpeakerAndHeadset>  
           <ehookEnable>1</ehookEnable> <!--Allows Headset To Be Used-->  
           <videoCapability>1</videoCapability>  
           <webAccess>0</webAccess>  
      </vendorConfig>  
      <versionStamp>1143565489-a3cbf294-7526-4c29-8791-c4fce4ce4c37</versionStamp>  
      <userLocale>  
           <name>English_United_States</name>  
           <langCode>en</langCode>  
      </userLocale>  
      <networkLocale>United_States</networkLocale>  
      <networkLocaleInfo>  
           <name>United_States</name>  
      </networkLocaleInfo>  
      <authenticationURL></authenticationURL>  
      <directoryURL></directoryURL>  
      <servicesURL></servicesURL>  
      <dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>  
      <dscpForCm2Dvce>96</dscpForCm2Dvce>  
      <transportLayerProtocol>4</transportLayerProtocol>   
 </device>  

I’m going to break this part into sections and only touch on the areas that you will need to make the changes to.

Leave the Device Protocol as SIP since this is the protocol that we want the phone to pick up.

Let’s look in the Device Pool field first. Make the changes to the Date Template if the Month/Day/Year format does not fit your preference. The Time Zone field is where you will go to the template above and pick out the proper zone code for your area, otherwise the screen will revert to UTC. In the NTP field is where you will add an NTP IP address should you have an internal NTP server. If you don’t, there are several that are online that you can point these to. You don’t need to make changes to the next one, but it’s good to know what it is for. The < ethernetPhonePort > allows the Ethernet port on the back of the phone to pass data traffic, so that a PC can be plugged in if needed. The < sipPort > is the port that your SIP traffic will be passing over. The IP address of your Avaya Session Manager’s SIP trunk will go in the <
processNodeName > section. The < timeZone > filed is where you will need to enter the Time Zone Code exactly as it is written. Do not change any of the formatting (do not use an underscore for a space and do not change the caps where they are) as the time will revert to UTC. A few of the Time Zone Codes are:

  • Eastern Standard/Daylight Time
  • Central Standard/Daylight Time
  • Mountain Standard/Daylight Time
  • Pacific Standard/Daylight Time 

 <devicePool>  
      <dateTimeSetting>  
           <dateTemplate>M/D/YA</dateTemplate> <!--Format the Month/Day/Year-->  
           <timeZone>Central Standard/Daylight Time</timeZone> <!--Format to your Time Zone-->  
           <ntps>  
                <ntp priority="0">  
                     <name>192.168.1.254</name> <!--NTP Server IP Address-->  
                     <ntpMode>Unicast</ntpMode>  
                </ntp>  
           </ntps>  
      </dateTimeSetting>  
      <callManagerGroup>  
           <members>  
                <member priority="0">  
                     <callManager>  
                          <ports>  
                               <ethernetPhonePort>2000</ethernetPhonePort> <!--Allows the ethernet port on the back of the phone to be used to pass data.-->  
                               <sipPort>5060</sipPort> <!--Port to be used-->  
                          </ports>  
                          <processNodeName>192.168.1.10</processNodeName> <!--SIP Server IP Address-->  
                     </callManager>  
                </member>  
           </members>  
      </callManagerGroup>  
 </devicePool>  

Next, we will look at the SIP profile section. I’m going to break this into three sections, since this is a pretty big section. The configuration is the first major part that you need to change. The < featureLabel > will be the Name that will be displayed on the phone next to the button that will ring. The < processNodeName > is the same as before, it is the IP address of your Avaya Session Manager’s SIP trunk. This will be the same as before, as well, just named a little differently, it is the port that your SIP traffic will be passing over. The field is where an underlying extension field from what I can find on the web, I couldn’t find that this field is where it actually registered. I left it as five digits since every time I searched on the web I only found four digits in this field and wasn’t sure if our five-digit dialing would work, it does. The < authName > is the where the extension actually registers with the extension, this field should be the same as the field. The < authPassword > is the Communication Profile Password that was setup when you created the extension. This was the one that had to be a minimum of six digits. The < messagesNumber > field is where you would enter the voicemail extension to assign it to the Messages button on the Cisco phone. You can leave this blank if you don’t have voicemail or if you don’t want users to use this feature.

 <line button="1">   
      <featureID>9</featureID>   
      <featureLabel>MyPhone Label</featureLabel> <!--Name To Be Displayed on the phone-->  
      <proxy>USECALLMANAGER</proxy>   
      <processNodeName>192.168.1.10</processNodeName> <!--SIP Server IP Address-->  
      <port>5060</port> <!--Port to be used-->  
      <name>51234</name> <!--Extension-->  
      <displayName>51234</displayName> <!--Extension-->  
      <autoAnswer>  
           <autoAnswerEnabled>2</autoAnswerEnabled>   
      </autoAnswer>  
      <callWaiting>0</callWaiting>   
      <authName>51234</authName> <!--Extension-->  
      <authPassword>123456</authPassword> <!--Communication Profile Password-->  
      <sharedLine>false</sharedLine>  
      <messageWaitingLampPolicy>1</messageWaitingLampPolicy>  
      <messagesNumber>55555</messagesNumber> <!--Voicemail Extension-->  
      <ringSettingActive>5</ringSettingActive>  
      <forwardCallInfoDisplay>  
           <callerName>true</callerName>  
           <callerNumber>true</callerNumber>  
           <redirectedNumber>true</redirectedNumber>  
           <dialedNumber>true</dialedNumber>  
      </forwardCallInfoDisplay>  
 </line>  

Still within the < sipProfile > field, if you want to add a secondary line or have incorporated Cisco 7962 or 7975 IP Phone into the mix, you can add multiple lines. Copy the entire < line button=”1” > to the < /line > and paste it right after the < /line >. Change the button= to the button number that it will be. If it is a 7942 you only have two button’s so the next one would be < line button=”1” >. If you are making the changes to a 7965 it has six buttons, so you can have up to six buttons.

 <line button="2">  
     …  
     …  
 </line>  
 <line button="3">  
     …  
     …  
 </line>  

Staying within the < sipProfile > field still, the next field is going to be the < softKeyFile >. You can leave the default file that comes with the firmware from Cisco within your TFTP structure. This file is the layout of how the soft keys on the phone appear. I have noticed that Call Forwarding, Call Park and placing callers on Hold are an issue with moving users over to SIP on Cisco IP Phones. My only resolution to the Call Forwarding and Call Park is with the Feature Access Codes within Avaya. Placing callers on hold however, I have not been able to fix and Avaya documentation and support have confirmed, to me, that this does not work with the Cicso SIP IP phones. I just remarked out (< !-- -- >) the Park, Call Forwarding and Call Hold portions within this file so end users would move over the Feature Access Codes.

<softKeyFile>softkeyDefault_kpml.xml</softKeyFile> <!--Softkey file that it will for at bootup, no need to change the default-->  

Still within the < sipProfile >, the < dialTemplate > is a major one that you will need to make changes to according to your Avaya dial plan. In this XML file, you will need to add the dial patterns to call out, Feature Access Codes, internal dialing for each location if you have multiple, etc. This one was a little daunting. But, with a little searching on the web and our dial plan within Avaya I was able to accomplish this. Here is a snippet including some of the FAC templates. I couldn’t find an easier way to add it other than each one individually unfortunately.

 <DIALTEMPLATE>  
           <TEMPLATE MATCH="0" TIMEOUT="0"/> <!-- Operator -->  
           <TEMPLATE MATCH="9,......." Timeout="0" User="Phone"/> <!-- Local numbers -->  
           <TEMPLATE MATCH="9,1.........." Timeout="0" User="Phone"/> <!-- Long Distance -->  
           <TEMPLATE MATCH="\*1" TIMEOUT="0" User="Phone"/> <!-- Feature Access Code Forward Extension -->  
           <TEMPLATE MATCH="\#1" TIMEOUT="0" User="Phone"/> <!-- Feature Access Code to UnForward Extension -->  
 </DIALTEMPLATE>  

The next section is going to be < commonProfile >. The < phonePassword > will be the desk phone password that you, as the administer, will use to login and there will be more options. The default is “cisco” so there is really no reason to change this unless you see a reason to. The field after it will be the < backgroundImageAccess >. This just allows the phone to access custom background images. During some frustrating times while working on these phones, I took a break and worked on pushing this out just to get a kick, along with custom ringtones. I will work on another blog post in the future on getting this working.

 <commonProfile>  
      <phonePassword>cisco</phonePassword> <!--Phone password to get in administratively on the desk phone-->  
      <backgroundImageAccess>true</backgroundImageAccess> <!--Allows you to push out background images to the phone-->  
      <callLogBlfEnabled>2</callLogBlfEnabled>  
 </commonProfile>  

The next field will be the < loadInformation >. This one is important since this is where you tell the firmware for it to look for when the phone boots. You need to make sure that this one is typed in there correctly, otherwise it will not load the correct firmware and WILL NOT convert to a SIP phone. Type the firmware that you have downloaded for the phone, minus the extension of the file type between the < loadInformation > HERE < /loadInformation > so the phone know to look for that filename.

 <loadInformation>SIP42.9-4-2SR1-1S</loadInformation> <!--Firmware version that the phone looks for at boot.-->  

The last field will tell the phone what language you want the menus to be in. These next fields will be a pain to find the right files, when I can remember the proper way to find them I will update this document, but for now these next few fields are for changing the languages of the menus from what I have found. Under the < userLocale >, the English_United_States will be a folder name within your TFTP path on your TFTP server so the phone can access this. The < langCode > is the language that will be chosen, so I have set it to be English with the ‘en’. The < networkLocale > is a folder that comes with the firmware that has default tones and fonts within it.

 <userLocale>  
      <name>English_United_States</name> <!--Language folder that the phone will look to load from-->  
      <langCode>en</langCode> <!--Language that the phone will boot up in-->  
 </userLocale>   
      <networkLocale>United_States</networkLocale>  

Once you have all of these changes made, be sure to save this file with the prefix of SEP followed by the ENTIRE MAC address of your phone minus the dashes or dots with the extension of .cnf.xml. (Example SEP0000AAAAEEEE.cnf.xml) Save this file in the root of you TFTP server along with your firmware and we will move on to the TFTP Section.

TFTP

Now that we have the firmware downloaded and placed in the TFTP path, SIP extension setup on Avaya, the config file created and saved, we are ready to move on. If you are wondering what your TFTP folder should look like, it should basically look like this image:


This folder has the firmware and your XML config file in. Make sure that your TFTP application is pointing to this folder and that you have everything in your DHCP server setup properly. You can go ahead and plug the phone in.

When you power the phone on you will see the Cisco logo splash screen. In the bottom left you will notice a box. If it has a checkmark in it, it is has all of the correct information to boot to the network. If you see an X in this box, don’t fret, it should  reboot once more. When it does, this may mean that it found new firmware so it will go to another screen.


Once it is on the screen for downloading the firmware, you will get percentages for the download of each file which is nice. Once it is finished downloading, it will reboot once more. When it comes back up, you will see the typical Cisco IP Phone screen and at the bottom you will see that it is Registering. Next to the line appearance you will see an X on the phone next to the label name, once the phone is registered and is talking SIP on the network, this will go away.

 

Once everything is good and the phone has registered, the phone will look just as it was connected with Cisco Call Manger, but it is actually running SIP with Avaya on the backend J


Have fun!

Issues observed during this:
·         The phone wouldn’t register – Make sure that the Communication profile password is in the < authPassword > field. This is where the phone will register with Avaya Session Manager.
·         Placing Users on Hold Does NOT Work – Yep. I fought this one for a while. I have been told by several Avaya engineers that it does not work with the Cisco IP phones. It even says so on their white paper that walks you through this process.
·         Call Forwarding Does NOT Work – Yep. Fought this one as well. Send the users the Avaya Feature Access codes and make sure to put this in the dialplan.xml.
·         Call Pick Up  Does NOT Work – Yep. Again, fought this one for a while. Send the users the Avaya Feature Access codes and make sure to put this in the dialplan.xml
·         Dial Plan 911 Call Routing – MAKE SURE TO PUT 911 CALL ROUTING IN THE dialplan.xml FILE. You do NOT want to be held liable for a call not going through because of this.

I am no pro with this, this was just my experience and my living walkthrough of this documentation to pass along to others that may use this, so don’t use this walkthrough and my observations of what everything is literally. I notated what I found from experience.

Monday, February 29, 2016

Hi

Well, look at me, I think I started a blog. Let's see how long I can keep at this. I plan for this blog to be a giving blog. I have been taking from so many over the years to piece together projects that I feel that it is time to give back and hope that someone out there will hit upon a key word in this blog and get that warm and fuzzy feeling that they have finally found what they are looking for.

It may take me a few days to get the first post up here, but one of my greatest accomplishments was converting Cisco IP Phones to SIP and getting them connected to Avaya Communication Manager. So, that one will be my first post, just need to convert it from a how-to guide to an instructional walk-through.

Any who, enjoy the blankness for a while and come back to visit!