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.