Skip to content

Serviceability Client

The ServiceabilityClient manages UCM services (start, stop, restart, status, deploy/undeploy) via the ControlCenter SXML API.

[!NOTE] This client requires platform/OS admin credentials, not AXL application user credentials.

Quick Example

from axltoolkit import ServiceabilityClient

svc = ServiceabilityClient(
    username="platformadmin",
    password="secret",
    server_ip="ucm-pub.example.com",
    tls_verify=True,
)

status = svc.get_service_status(["Cisco CallManager"])
svc.restart_service("Cisco CallManager")

Class Reference

axltoolkit.serviceability.ServiceabilityClient

ServiceabilityClient(username: str, password: str, server_ip: str, *, tls_verify: Union[bool, str] = True, timeout: int = 30, max_retries: int = 3)

Bases: BaseClient

Client for the Cisco UCM ControlCenter (Serviceability) SXML API.

Provides methods to query and manage UCM services (start, stop, restart, query status).

Parameters:

Name Type Description Default
username str

Platform/OS Administration user name.

required
password str

Password.

required
server_ip str

UCM server IP address or FQDN.

required
tls_verify Union[bool, str]

TLS verification setting (default True).

True
timeout int

Request timeout in seconds (default 30).

30
max_retries int

Retry count for transient failures (default 3).

3

service property

service

Direct access to the underlying zeep service proxy.

get_service_status

get_service_status(service_names: Optional[Sequence[str]] = None) -> Dict[str, Any]

Get the status of one or more UCM services.

Parameters:

Name Type Description Default
service_names Optional[Sequence[str]]

List of service names to query. If None, queries all services.

None

Returns:

Type Description
Dict[str, Any]

The raw SOAP response dict from soapGetServiceStatus.

Raises:

Type Description
ServiceabilityError

If the query fails.

Example::

status = client.get_service_status(["Cisco CallManager"])

do_service_deployment

do_service_deployment(service_name: str, deploy_action: str) -> Dict[str, Any]

Deploy (activate/deactivate) a UCM service.

Parameters:

Name Type Description Default
service_name str

The name of the service to deploy.

required
deploy_action str

"Deploy" to activate, "UnDeploy" to deactivate.

required

Returns:

Type Description
Dict[str, Any]

The raw SOAP response dict.

Raises:

Type Description
ServiceabilityError

If the deployment fails.

restart_service

restart_service(service_name: str) -> Dict[str, Any]

Restart a UCM service.

Parameters:

Name Type Description Default
service_name str

The name of the service to restart.

required

Returns:

Type Description
Dict[str, Any]

The raw SOAP response dict.

Raises:

Type Description
ServiceabilityError

If the restart fails.

start_service

start_service(service_name: str) -> Dict[str, Any]

Start a UCM service.

Parameters:

Name Type Description Default
service_name str

The name of the service to start.

required

Returns:

Type Description
Dict[str, Any]

The raw SOAP response dict.

Raises:

Type Description
ServiceabilityError

If the start fails.

stop_service

stop_service(service_name: str) -> Dict[str, Any]

Stop a UCM service.

Parameters:

Name Type Description Default
service_name str

The name of the service to stop.

required

Returns:

Type Description
Dict[str, Any]

The raw SOAP response dict.

Raises:

Type Description
ServiceabilityError

If the stop fails.

get_static_service_list

get_static_service_list() -> Dict[str, Any]

Get the static list of services available on the node.

Returns the catalog of services that can be managed via this Serviceability endpoint, including display name and whether each service is a feature service or a network service.

Returns:

Type Description
Dict[str, Any]

The raw SOAP response dict from soapGetStaticServiceList.

Dict[str, Any]

The service catalog is in the ServiceInformationResponse

Dict[str, Any]

field.

Raises:

Type Description
ServiceabilityError

If the query fails.

Example::

catalog = client.get_static_service_list()
for svc in catalog["ServiceInformationResponse"]:
    print(svc["ServiceName"], svc["IsFeature"])

get_product_information_list

get_product_information_list() -> Dict[str, Any]

Get the product information list for the UCM node.

Returns product metadata for the cluster (version, edition, product name, etc.) as reported by the ControlCenter service.

Returns:

Type Description
Dict[str, Any]

The raw SOAP response dict from getProductInformationList.

Raises:

Type Description
ServiceabilityError

If the query fails.

Example::

info = client.get_product_information_list()
for product in info["ProductInformationResponse"]:
    print(product["Name"], product["Version"])