Visual AppFlow Node Automation

Visual AppFlow Node Automation

To lower barriers for telephony feature creation, Asterisk 2 configures an intuitive visual canvas. Users construct complex routing scripts by connecting graphical UI layout blocks directly into compiled Stasis execution arrays.


Graphical Script Translation Pipeline

The layout below illustrates how client design files compile down into operational REST switching instructions:

graph TD
    %% Source File
    subgraph ClientEditor["WebAuthor Canvas"]
        UiFlow["Drag-and-Drop Node Graph<br/>(Client Layout JSON Payload)"]
    end

    %% Compiler
    subgraph CompilerEngine["C# Translation Tier"]
        ParserWorker["AppFlowCompiler.cs<br/>(Verifies Edge Linkages)"]
    end

    %% Relational Staging
    subgraph DatabaseTier["Persistent Workspace Store"]
        DbConfig[("AppFlowConfigs DB Table<br/>(Stores Node Graph Arrays)")]
    end

    %% Execution Target
    subgraph AutomationTarget["PBX Execution Context"]
        StasisRun["res_stasis Channel Worker<br/>(Evaluates Node Logic States)"]
    end

    %% Paths
    UiFlow ==>|"Submit Node Canvas"| ParserWorker
    ParserWorker ==>|"Save Verified Topology"| DbConfig
    DbConfig ==>|"Load Pre-Parsed Flow"| StasisRun

    %% Curated Style Systems
    classDef editorToken fill:#0f172a,stroke:#38bdf8,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef compToken fill:#1e293b,stroke:#a855f7,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef dbToken fill:#312e81,stroke:#ec4899,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef targetToken fill:#065f46,stroke:#10b981,stroke-width:2px,color:#fff,rx:6px,ry:6px;

    class ClientEditor,UiFlow editorToken;
    class CompilerEngine,ParserWorker compToken;
    class DatabaseTier,DbConfig dbToken;
    class AutomationTarget,StasisRun targetToken;

AppFlow direct properties

1. Structural Node Directives

Every UI module encapsulates clear procedural behaviors:

  • PlaybackNode: Streams uncompressed audio files.
  • InputNode: Collects numerical multi-digit strings.
  • SwitchNode: Evaluates session attributes using Boolean checks.

2. Live Runtime Interception

When connected callers enter custom AppFlow segments, runtime adapters query cached database scripts directly, running matching C# instruction actions instantaneously.