Expansion Module

Version 1
    This document was generated from CDN thread

    Created by: Ankit Joshi on 04-04-2011 03:45:16 AM
    Guys, I need some guidance with this. With CUCM 7.1 I can use "GetDeviceProfile" to retrieve UUID of AddOnModule.
     
     
                      <addOnModules>
                      <addOnModule index="1" uuid="{A05C5C51-B2AB-4F5A-C9C4-227C7C199056}">
                         <loadInformation special="false">S00105000400</loadInformation>
                         <model>7914 14-Button Line Expansion Module</model>
                      </addOnModule>
                      <addOnModule index="2" uuid="{8C7DE222-AAA2-DE57-C8E2-4FD53AF968B1}">
                         <loadInformation special="false">S00105000400</loadInformation>
                         <model>7914 14-Button Line Expansion Module</model>
                      </addOnModule>
                   </addOnModules>

    But I can't find a way to use this UUID to list all numbers attached to that particular expansion module. I thoguht of using getPhone but none of the parameters in getphone is expecting uuid(see below)
     
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/7.1">
       <soapenv:Header/>
       <soapenv:Body>
          <ns:getPhone sequence="?">
             <!--You have a CHOICE of the next 2 items at this level-->
             <phoneId>?</phoneId>
             <phoneName>?</phoneName>
          </ns:getPhone>
       </soapenv:Body>
    </soapenv:Envelope>
     
     
     I am trying to find a way to list the numbers attached to expansion module and then update it. Or do i need to run custom SQL query?
     
     
     
    Thanks
    Ankit
     

    Subject: RE: Expansion Module
    Replied by: Stefan Schallmeiner on 04-04-2011 03:59:59 AM
    Hi Ankit!

    Do you need the Lines or the BLF's on the AddOn-Module? Because the Lines you can get over the "getPhone" and then of the return object "getLines". With the BLFs (or the exact placement of the Buttons in general) it's kind of hard. The Phone-object stores the BLFs, Subscribed Services, etc. but the exact placement on the Phone is managed by the PhoneButtonTemplate. So to now if the BLF, Line, whatever is on an Expansionmodule or not you have to get the Phonetemplate to know where are those kind of buttons, and then get the Phones BLF and look at the Index-Attribute to determine where which button exactly is.

    Subject: RE: Expansion Module
    Replied by: Ankit Joshi on 04-04-2011 04:15:39 AM
    Thanks Stefan.
     
    - Do you need the Lines or the BLF's on the AddOn-Module? Yes, I need to retrieve lines on expansion module.
     
    Just to give you quick run down - I am trying to get an idea for API where all the users with expansion module can update their line appearance themselves. We are using Device Profile/EM feature, so when i use getdeviceprofile for a user I can get addonmodule uuid. But I am not sure how can I use this to obtain all the lines on expansion modules. I tried getphone but not sure how to use uuid in getphone. All getphone has is two parameters
     
             <phoneId> </phoneId>
              <phoneName>?</phoneName>
     
     
     
     

    Subject: RE: Expansion Module
    Replied by: Stefan Schallmeiner on 04-04-2011 05:40:20 AM
    Hi Ankit,

    To be honest, I've done pretty exactly the same for my company, but it hasn't been a lot of fun. I've done it in Java with the classes built over Axis1.2, but i think there should be a way over SQL too.

    First of all the things you need:

    In your case Device Profile Name or Uuid to get the DeviceProfile-Object (which can be regarded as Phone). This Object stores all Lines, Services, Speed Dials and BLFs (even those on the AddonModules).

    Following methods of the DeviceProfile-Object you gonna need:

    .getLines() --> gives you an Array of the associated Lines
    .getServices)() --> the Subscribed Services from the phone
    .getSpeeddials() --> the Speeddials
    .getBusyLampFields() --> the BLFs

    Now the major-problem is: where are these buttons exactly on the phone cause they haven't an exact index you'll have to get the Phonebutton-Template which has the method .getButtons(). And these Buttons-Array got an "Feature"-Attribute where you can determine what kind of feature is positioned on each button.

    It's really not easy, cause you'll have to somekind rebuild the set of buttons the user is actually seeing cause of the database-structure behind that all.

    kind regards

      - Stefan