300-835 · Question #39
Drag and drop the code snippets from the bottom onto the blanks in the script to create an AXl SOAP request that updates the CallForwardAll number for a given DN so that the helpdesk executes…
AXL SOAP Request: Updating CallForwardAll for a DN > Note: The code snippet options appear to be missing from your question ({}). I'll explain the concept fully based on the question context so you can apply the reasoning regardless. --- Overall Goal AXL (Administrative XML…
Question
Explanation
AXL SOAP Request: Updating CallForwardAll for a DN
Note: The code snippet options appear to be missing from your question (
{}). I'll explain the concept fully based on the question context so you can apply the reasoning regardless.
Overall Goal
AXL (Administrative XML Layer) is Cisco Unified Communications Manager's (CUCM) SOAP-based API. It allows administrators and helpdesk staff to programmatically make configuration changes - like updating call forwarding - without navigating the CUCM web GUI. This is the correct approach because:
- It's faster for repetitive tasks (e.g., forwarding a user's calls while they're out sick)
- It's scriptable and consistent, reducing human error
- It uses authenticated HTTPS SOAP calls, so it's secure
Key Concept: CallForwardAll Lives on the Line (DN), Not the Phone
This is the most critical conceptual point. CallForwardAll is a line-level setting, not a device-level setting. Therefore, the correct AXL operation is:
updateLine
Not updatePhone, updateUser, or any device operation. If you use the wrong object, the API call will succeed but change nothing relevant - or return an error.
Structure of the AXL SOAP Request
A correct request follows this layered structure:
1. SOAP Envelope Declaration
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns="http://www.cisco.com/AXL/API/14.0">
Why: Every SOAP request requires this envelope to identify the XML namespaces. The AXL namespace version must match your CUCM version. Using the wrong version causes a schema mismatch error.
2. Empty SOAP Header
<soapenv:Header/>
Why: AXL authentication is passed via HTTP Basic Auth headers (not SOAP headers), so this element is present but empty. Omitting it entirely can cause parser errors in strict SOAP implementations.
3. SOAP Body with updateLine
<soapenv:Body>
<ns:updateLine>
Why: updateLine is the AXL method that modifies a Directory Number (DN). This is what targets the specific extension.
4. Identify the Target DN
<pattern>1001</pattern>
<routePartitionName>Internal_PT</routePartitionName>
Why: A DN is uniquely identified by its pattern + partition combination. Providing only the pattern is ambiguous if the same number exists in multiple partitions - the request will fail or target the wrong line.
5. The callForwardAll Element
<callForwardAll>
<forwardToVoiceMail>false</forwardToVoiceMail>
<callingSearchSpaceName>Internal_CSS</callingSearchSpaceName>
<destination>2000</destination>
</callForwardAll>
Why each sub-element matters:
| Element | Purpose | If omitted/wrong |
|---|---|---|
forwardToVoiceMail | Must be false to use a number instead of voicemail | If true, destination is ignored |
callingSearchSpaceName | The CSS used to route the forwarded call | Wrong CSS = call fails to reach destination |
destination | The number to forward calls to | Missing = no forwarding target set |
6. Close all tags properly
</callForwardAll>
</ns:updateLine>
</soapenv:Body>
</soapenv:Envelope>
Why: Malformed XML causes immediate SOAP parse failures. Order of closing tags must mirror the opening tags exactly.
What Goes Wrong if Steps Are Skipped
| Mistake | Consequence |
|---|---|
Using updatePhone instead of updateLine | API error or wrong object modified |
Missing routePartitionName | Ambiguous DN lookup → error |
Setting forwardToVoiceMail to true | destination ignored, calls go to VM instead |
| Wrong AXL namespace version | Schema validation failure |
| Wrong CSS | Forwarded calls fail to route |
Memory Tip
"Lines forward, phones ring."
CallForwardAllis a line feature → useupdateLine.
A phone is just hardware; the DN (line) is what has call behavior.
Think of it like this: you're not forwarding the desk, you're forwarding the phone number - and phone numbers are lines in CUCM.
Since your options field was empty ({}), if you can share the actual code snippets from the exam, I can tell you exactly which ones go in which blanks and why.
Topics
Community Discussion
No community discussion yet for this question.