Cisco Expressway · Arazzo Workflow

Cisco Expressway Onboard Neighbor Zone Routing

Version 1.0.0

Create a neighbor zone and a search rule that routes matching calls to it.

1 workflow 1 source API 1 provider
View Spec View on GitHub CollaborationFirewall TraversalH.323Session Border ControllerSIPUnified CommunicationsVideo ConferencingArazzoWorkflows

Provider

cisco-expressway

Workflows

onboard-neighbor-zone-routing
Create a neighbor zone then a search rule that targets it, and confirm.
Creates a neighbor zone to a peer system, creates a search rule that forwards matching aliases to that zone, and lists search rules to confirm the new rule is present.
3 steps inputs: aliasPatternString, aliasPatternType, host, password, peerAddress, priority, ruleName, username, zoneName outputs: ruleName, searchRules, zoneName
1
createNeighborZone
createNeighborZone
Create a neighbor zone that connects the local Expressway to the specified peer system address.
2
createRouteRule
createSearchRule
Create a search rule that forwards aliases matching the supplied pattern to the neighbor zone created in the previous step.
3
confirmSearchRules
listSearchRules
List all search rules and confirm the new routing rule is present in the returned array.

Source API Descriptions

Arazzo Workflow Specification

cisco-expressway-onboard-neighbor-zone-routing-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Cisco Expressway Onboard Neighbor Zone Routing
  summary: Create a neighbor zone and a search rule that routes matching calls to it.
  description: >-
    Connects the Expressway to a peer system (such as a Unified CM cluster or
    another Expressway) by creating a neighbor zone, then creating a search rule
    whose target zone is that neighbor so matching aliases are routed to the new
    peer, and finally listing all search rules to confirm the rule is in place.
    Every step spells out its request inline so the flow can be read and executed
    without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: configurationApi
  url: ../openapi/cisco-expressway-configuration-api-openapi.yml
  type: openapi
workflows:
- workflowId: onboard-neighbor-zone-routing
  summary: Create a neighbor zone then a search rule that targets it, and confirm.
  description: >-
    Creates a neighbor zone to a peer system, creates a search rule that forwards
    matching aliases to that zone, and lists search rules to confirm the new rule
    is present.
  inputs:
    type: object
    required:
    - host
    - username
    - password
    - zoneName
    - peerAddress
    - ruleName
    - aliasPatternType
    - aliasPatternString
    properties:
      host:
        type: string
        description: FQDN or IP address of the Expressway node (server variable host).
      username:
        type: string
        description: Expressway administrator username for HTTP Basic auth.
      password:
        type: string
        description: Expressway administrator password for HTTP Basic auth.
      zoneName:
        type: string
        description: Name for the neighbor zone to create.
      peerAddress:
        type: string
        description: IP address or FQDN of the peer system for the neighbor zone.
      ruleName:
        type: string
        description: Name for the search rule to create.
      aliasPatternType:
        type: string
        description: Pattern match type for the rule (Prefix, Suffix, Regex, or Exact).
      aliasPatternString:
        type: string
        description: Pattern matched against the destination alias.
      priority:
        type: integer
        description: Search rule priority; lower numbers are evaluated first.
  steps:
  - stepId: createNeighborZone
    description: >-
      Create a neighbor zone that connects the local Expressway to the specified
      peer system address.
    operationId: createNeighborZone
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.username:$inputs.password
    requestBody:
      contentType: application/json
      payload:
        Name: $inputs.zoneName
        PeerAddresses:
        - $inputs.peerAddress
        LookUpPeersBy: Address
        ZoneProfile: Cisco Unified Communications Manager
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      zoneName: $response.body#/Name
  - stepId: createRouteRule
    description: >-
      Create a search rule that forwards aliases matching the supplied pattern to
      the neighbor zone created in the previous step.
    operationId: createSearchRule
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.username:$inputs.password
    requestBody:
      contentType: application/json
      payload:
        Name: $inputs.ruleName
        Priority: $inputs.priority
        AliasPatternType: $inputs.aliasPatternType
        AliasPatternString: $inputs.aliasPatternString
        TargetZone: $steps.createNeighborZone.outputs.zoneName
        Protocol: Any
        Mode: 'On'
        State: Enabled
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      ruleName: $response.body#/Name
  - stepId: confirmSearchRules
    description: >-
      List all search rules and confirm the new routing rule is present in the
      returned array.
    operationId: listSearchRules
    parameters:
    - name: Authorization
      in: header
      value: Basic $inputs.username:$inputs.password
    successCriteria:
    - condition: $statusCode == 200
    - context: $response.body
      condition: $[?(@.Name == '$inputs.ruleName')]
      type: jsonpath
    outputs:
      searchRules: $response.body
  outputs:
    zoneName: $steps.createNeighborZone.outputs.zoneName
    ruleName: $steps.createRouteRule.outputs.ruleName
    searchRules: $steps.confirmSearchRules.outputs.searchRules