cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
31729
Views
35
Helpful
7
Comments
Abdul Jaseem VP
Cisco Employee
Cisco Employee

AXL API programming is gaining its importance day by day. The Administrative XML Web Service (AXL) is an XML/SOAP based API that enables remote management of Cisco Unified Communications Manager (CUCM) using any programming languages such as Python.

Sending AXL requests to Cisco CUCM with Postman is pretty straight forward process. Postman is a tool for prototyping APIs, Google Chrome app for interacting with HTTP APIs. It presents you with a friendly GUI for constructing requests and reading responses.

Tool mainly for developers or anyone who wants an easy way for testing any web APIs (including Cisco's AXL API).

 

Tools Required

  • Postman
  • Cisco Unified Communications Manager

Step 1: Create Standard AXL API User in CUCM

You can go for either End User or Application user. Since the purpose is for some API testing, I go with Application user.

Go to User Management > User Settings > Access Control Group

1 CUCM Access Control Group.png

 

Click Add New and provide a name,2 Assign Role to Access Control Group.png

On the top right corner, Related Links > Assign Role to Access Control Group. Select Standard AXL API Users3 Standard AXL API Users.png

Go to User Management > Application User and add a new user. Make sure you assign the Access Control Group just created.4 AXL Application User.png

Now we are ready with API user and basic settings required from CUCM side.

Step 2: Setting up Postman

Download the Postman tool from above link. Provide below URL in the address bar.

https://[CUCM IP OR FQDN]:8443/axl/

On the Authorization tab, select Type as Basic Auth, enter the User name and Password that we created in Step 1.5 Postman Basic Authentication with CUCM.png

 

Step 3: Send a GET Request to CUCM AXl API

Go to ‘BODY’ tab, select ‘GET’ at the address bar and click send.6 CUCM Postman GET.png

Note: Here you are not sending any data. It is just blank body. Once you scroll down, you will be able to see below,7 Postman GET request to CUCM TEST.png

 

At this point, everything looks good. We can start sending HTTP POST requests in body.

Step 4: Send HTTP Post to Pull Phone Details

Here is the CUCM AXL API query to pull all the Phone details.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/10.5">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:getPhone>
            <name>SEP501CB00C71D5</name>
        </ns:getPhone>
    </soapenv:Body>
</soapenv:Envelope>

Paste the request in body of Postman and select Post request.8 CUCM AXL Phone Details query.png

Once you send the request, here is what you get.

9 Getting CUCM Phone Details via AXL API .png

 

For more custom AXL queries, you can refer https://developer.cisco.com/docs/axl/#!what-is-axl/what-is-administrative-xml Let me know your thoughts about this article in below comment box.

7 Comments

Do you know how to create requests using the plus sign? I can't get information of lines when using the E164 format.

RevanthSN
Level 1
Level 1

Receiving HTTP-200 success response when invoking GET operation using https://xx.xxx.xxx.x:8443/axl/. But receiving HTTP-599 when doing POST with below SOAP body. Any suggestions?

 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/10.5">
    <soapenv:Header/>
    <soapenv:Body>
        <ns:getPhone>
            <name>SEP501CB00C71D5</name>
        </ns:getPhone>
    </soapenv:Body>
</soapenv:Envelope>

Screen Shot 2020-11-04 at 1.59.35 PM.png 

Anas Hafez
Level 1
Level 1

Amazing article, do you know what is the URL to display CUCM license count and types?

Komal Tagdiwala
Cisco Employee
Cisco Employee

Just as RevanthSN posted above, I am facing the same issue - getting a success for GET request to login but HTTP 599 Timeout for the call to get phone or run any other API call.

 
 

AXL_Postman_Issue.jpg

 

Abdurrahman
Level 1
Level 1

@Komal Tagdiwala 

Changing the request body from XML to text has resolved this issue for me.

rikardkrvaric
Spotlight
Spotlight

Does anybody know any good sources for when I want to use the POST/GET info above (if it all works in Postman), but for putting it on my own webpage? For administrative purposes I guess... 

JavaScript preferred?

Brian Meade
Level 7
Level 7

For those having issues, it looks like the instructions are missing adding an HTTP Header named SOAPAction.

 

For the example posted of getPhone, the SOAPAction header should contain this:

CUCM:DB ver=10.5 getPhone

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: