Back to page
Stasis Action Dispatch Mapping
Raw Markdown & AI/RAG Chunks
Raw Markdown Source
2260 chars
# 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:
```mermaid
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:
```json
{
"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.
AI Chunks (RAG)
3 chunks
Chunk #1
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. ---
Chunk #2
Dynamic API Frame Conversion Topology
## Dynamic API Frame Conversion Topology
The layout below illustrates how abstract workspace modules generate physical API output instructions:
```mermaid
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;
```
---
Chunk #3
Synthesized API Frame Output Specs
## Synthesized API Frame Output Specs
### 1. Interactive Sound Playback Requests
Maps user sound strings down into explicit network frame formats:
```json
{
"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.