Stasis Action Dispatch Mapping

Stasis Action Dispatch Mapping

To execute visual node graphs across telecommunication networks, Asterisk 2 maps abstract interface elements down into standard Asterisk REST Interface (ARI) commands. The framework converts UI layouts into real native stasis execution frames.


Dynamic API Frame Conversion Topology

The layout below illustrates how abstract workspace modules generate physical API output instructions:

graph LR
    %% Visual Model
    subgraph CanvasSource["Visual Layout Context"]
        NodePlay["Playback Shape block<br/>(File: 'welcome.wav')"]
        NodeCollect["Input Shape block<br/>(MaxDigits: 4)"]
    end

    %% Engine Dispatcher
    subgraph TranslationCore["Stasis Dispatcher Class"]
        MapPlay["POST /ari/channels/{id}/play<br/>(Inject Audio Container)"]
        MapCollect["POST /ari/channels/{id}/play<br/>(Stream prompt & await DTMF event)"]
    end

    %% Underlying Engine
    subgraph AsteriskKernel["Asterisk Channel Engine"]
        ExecMedia["res_stasis Execution Engine<br/>(Handles Physical Audio Streams)"]
    end

    %% Paths
    NodePlay ==>|"Translate Action"| MapPlay
    NodeCollect ==>|"Translate Action"| MapCollect
    MapPlay ==>|"Push Network Frame"| ExecMedia
    MapCollect ==>|"Push Network Frame"| ExecMedia

    %% Aesthetic Color Schemes
    classDef srcToken fill:#0f172a,stroke:#38bdf8,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef coreToken fill:#312e81,stroke:#ec4899,stroke-width:2px,color:#fff,rx:6px,ry:6px;
    classDef kernelToken fill:#1e293b,stroke:#a855f7,stroke-width:2px,color:#fff,rx:6px,ry:6px;

    class CanvasSource,NodePlay,NodeCollect srcToken;
    class TranslationCore,MapPlay,MapCollect coreToken;
    class AsteriskKernel,ExecMedia kernelToken;

Synthesized API Frame Output Specs

1. Interactive Sound Playback Requests

Maps user sound strings down into explicit network frame formats:

{
  "media": "sound:welcome.wav",
  "lang": "en",
  "playbackId": "play_node_01"
}

2. Dynamic Tone Staging Loops

To gather push-button digit sequences, runtime workers stream introductory prompts and register targeted listener handlers targeting inbound ChannelDtmfReceived socket payloads automatically.