Register for Events, happening inside CUCM?

Version 1
    This document was generated from CDN thread

    Created by: Geoffrey Carman on 25-02-2013 12:34:57 PM
    Is there any API provided, to event, upon things happening in the CUCM system?  (I.e. Short of raw DB triggers). 
     
    That is, I am working on an IDM driver, so that as user information changes in an Identity system, I push that into the CUCM system (doing the things LDAP sync does not accomplish).  Additionally we maintain phone objects that link to CUCM device profiles and lines. 

    What I would like to be able to do is register for events coming out of CUCM, so that things done in the admin UI can be detected and then synced to my identity system to keep both systems in sync.


    Is there anything like this available? 

    Subject: Re: New Message from Geoffrey Carman in AXL Developer - Administration XML
    Replied by: Sascha Monteiro on 25-02-2013 12:43:54 PM
    in cucm9 there is the getNotificationChanges in the AXL Api


    On Tue, Feb 26, 2013 at 7:35 AM, Cisco Developer Community Forums <
    cdicuser@developer.cisco.com> wrote:

    > Geoffrey Carman has created a new message in the forum "Administration XML
    > Questions": --------------------------------------------------------------
    > Is there any API provided, to event, upon things happening in the CUCM
    > system?  (I.e. Short of raw DB triggers).
    >
    > That is, I am working on an IDM driver, so that as user information
    > changes in an Identity system, I push that into the CUCM system (doing the
    > things LDAP sync does not accomplish).  Additionally we maintain phone
    > objects that link to CUCM device profiles and lines.
    >
    > What I would like to be able to do is register for events coming out of
    > CUCM, so that things done in the admin UI can be detected and then synced
    > to my identity system to keep both systems in sync.
    >
    >
    > Is there anything like this available?
    > --
    > To respond to this post, please click the following link:
    > http://developer.cisco.com/web/axl-developer/forums/-/message_boards/view_message/12358733or simply reply to this email.

    Subject: RE: Re: New Message from Geoffrey Carman in AXL Developer - Administration
    Replied by: Geoffrey Carman on 25-02-2013 01:03:22 PM
    Sascha Monteiro:
    in cucm9 there is the getNotificationChanges in the AXL Api

     
    Bummer, I am using CUCM 8.6 which explains why I do not see it in my WSDL.  Can I get the WSDL for the 9.0 build?  I would love to take a look at how this works.  Are there any good docs on how to use the getNotifictaionChanges?  

    Subject: Re: New Message from Geoffrey Carman in AXL Developer - Administration XML
    Replied by: Sascha Monteiro on 25-02-2013 04:01:54 PM
    if you install the axlsqltoolkit (from plugins) you should find the wsdl in
    there,
    also get the AXL schema reference from CDN


    On Tue, Feb 26, 2013 at 8:03 AM, Cisco Developer Community Forums <
    cdicuser@developer.cisco.com> wrote:

    > Geoffrey Carman has created a new message in the forum "Administration XML
    > Questions": --------------------------------------------------------------
    > Sascha Monteiro:
    > in cucm9 there is the getNotificationChanges in the AXL Api
    >
    >
    > Bummer, I am using CUCM 8.6 which explains why I do not see it in my
    > WSDL.  Can I get the WSDL for the 9.0 build?  I would love to take a look
    > at how this works.  Are there any good docs on how to use the
    > getNotifictaionChanges?
    > --
    > To respond to this post, please click the following link:
    > http://developer.cisco.com/web/axl-developer/forums/-/message_boards/view_message/12359297or simply reply to this email.

    Subject: RE: Re: New Message from Geoffrey Carman in AXL Developer - Administration
    Replied by: Geoffrey Carman on 25-02-2013 07:14:55 PM
    Sascha Monteiro:
    if you install the axlsqltoolkit (from plugins) you should find the wsdl in
    there, also get the AXL schema reference from CDN

     
    I am still learning my way around the CDN, and darned if I can figure out where to download this from...  A colleague passed me the 8.6 AXL tookit, so I have no idea where to get the 9.0 build from.
     

    Subject: RE: Re: New Message from Geoffrey Carman in AXL Developer - Administration
    Replied by: Geoffrey Carman on 25-02-2013 07:24:34 PM
    Michael Piskun:
    Hi Geofffrey,
    The AXL toolkit is downloaded from a running version of CallManager. To get a UCM 9 AXL Toolkit, you will need to download from a UCM 9.x instance
    You will find the download located under Application -> Plugins section of the CCMAdministration portal.

    I just want to look at the WSDL, and I do not have access to a test instance,  Just trying to get a feel for what the options for getting notifications looks like in 9.1.

    Is there any way to get it without the full CM download?

    Subject: RE: Re: New Message from Geoffrey Carman in AXL Developer - Administration
    Replied by: Michael Piskun on 25-02-2013 07:19:16 PM
    Hi Geofffrey,
    The AXL toolkit is downloaded from a running version of CallManager. To get a UCM 9 AXL Toolkit, you will need to download from a UCM 9.x instance
    You will find the download located under Application -> Plugins section of the CCMAdministration portal.
    Regards,
    Michael

    Subject: RE: Re: New Message from Geoffrey Carman in AXL Developer - Administration
    Replied by: Michael Piskun on 25-02-2013 09:13:56 PM
    Hi Geoffrey,
    I experienced the same frustration in attempting to test out various WSDL files without the CCM installs.
    I would recommend you check out for each version of CallManager, the XML Developers Guide, and for more indepth information, the XML Interface Specification. Both of these should provide you with information regarding supported functions across each version of CCM, and some syntax on how to present the data.
    Regards,
    Michael
     

    Subject: RE: Re: New Message from Geoffrey Carman in AXL Developer - Administration
    Replied by: Geoffrey Carman on 27-02-2013 11:03:09 AM
    Sascha Monteiro:
    in cucm9 there is the getNotificationChanges in the AXL Api

     
    Ok, so I have a copy of the 9.0 wsdl.  I see several API calls. 
    My guess is, "doNotificationRegister" gets you a registrationId.  I guess it is needs a username (networkID) and clientName (what is this?)
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/9.0">
       <soapenv:Header/>
       <soapenv:Body>
          <ns:doNotificationRegister sequence="?">
             <networkId>?</networkId>
             <clientName>?</clientName>
          </ns:doNotificationRegister>
       </soapenv:Body>
    </soapenv:Envelope>
     
    Then once you have the registrationId, you can make a call:
     
    doNotificationObject:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/9.0">
       <soapenv:Header/>
       <soapenv:Body>
          <ns:doNotificationObject sequence="?">
             <registrationId>?</registrationId>
             <operation>?</operation>
             <object>?</object>
          </ns:doNotificationObject>
       </soapenv:Body>
    </soapenv:Envelope>
     
    But I am not sure what the operation and object mean there.
     
    Finally, once you are registered, you ask for changes, when you want them (I guess) with getNotificationChanges
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/9.0">
       <soapenv:Header/>
       <soapenv:Body>
          <ns:getNotificationChanges sequence="?">
             <registrationId>?</registrationId>
             <!--Optional:-->
             <returnedTags>
                <objectLists>
                   <!--Zero or more repetitions:-->
                   <objectList>
                      <object>?</object>
                      <count>?</count>
                      <!--1 or more repetitions:-->
                      <changedObject>?</changedObject>
                   </objectList>
                </objectLists>
             </returnedTags>
          </ns:getNotificationChanges>
       </soapenv:Body>
    </soapenv:Envelope>
     
    I am not sure if I need to specify the <object> in returnedTags, or if my registrationId knows all objects and thus returnedTags is just listing what you want back.
     
    Once you have the list of changed objects, then it is your problem to deal with them, which is basic out of the box IDM functionality so that aspect is easy. 
     
    Is there any good documentation on how to use these API calls?  PS: The update Schema page for 9.0 does not mention any of these new API calls. 
    http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/devguide/9_1_1/axl.html#wp1258409
     
    I would love to have somewhere to go look for more info, but I am running out of options, it would seem?