AMDY.IO documentation
Two kinds of document live here. The API reference describes the detection service itself — the WebSocket protocol and the classification codes it returns. The install guides cover getting that service running on a specific telephony platform. If you run ViciDial or Vicibox, start with the ViciDial AMD guide instead.
API reference
AMDY AMD API Quickstart & Authentication
Get started with the AMDY answering machine detection API: generate an API key, authenticate your first call over the AMD detection WebSocket, and read the result.
- Generating an API key and the amd_live_ key format
- Authenticating your first WebSocket detection call
- Audio format and the config frame
AMD Detection WebSocket Streaming Guide
The complete WebSocket streaming protocol for AMDY.IO answering machine detection: endpoint, authentication, audio format, chunking, config frames, and the response taxonomy.
- Endpoint, authentication and 8 kHz PCM audio format
- Chunking strategy, config frames and EOF
- Response taxonomy for production integration
AMD Detection API — client guide
The protocol reference: how to register, open the WebSocket stream, send audio, and read the result. It also carries the full answering-machine classification taxonomy.
- WebSocket streaming protocol and audio buffer requirements
- Request and response shapes, status codes
- Classification codes: SCREENINGAMD, RINGINGAMD, NUMBERSAMD, VMNOTSETUPAMD, TELAMD and the rest
AMDY API reference
The public REST endpoints under /api/v1, the AMD Detection WebSocket endpoint, API-key authentication and the install command per platform. Only what is verified in source.
- POST /api/v1/ips/register, GET /api/v1/config, GET /api/v1/client-settings, GET /api/v1/ips
- WebSocket URL, audio format, config frame and EOF
- API-key format (amd_live_ + hex) and auth rules
Platform install guides
Each guide connects the answered call to the same AMDY detection backend and gives your dialplan a result to route on. Pick the one that matches your platform.
Asterisk install
For custom Asterisk dialers (not ViciDial/Vicibox). Installs the Python EAGI script and wires it into your own dialplan.
- Asterisk 13+ with EAGI, Python 3.4+
- One-command installer or step-by-step manual install
- Routing on the AMDSTATUS, AMDCAUSE and AMDSTATS channel variables
FreeSWITCH install
Uses mod_audio_fork to stream answered-call audio to the AMDY backend over WebSocket, then routes each call on the result.
- Installer run and post-install verification
- What the dialplan does on answer
- HUMAN / MACHINE / FAS result values and routing
Issabel install
Script-only install for Issabel: it places the EAGI script and Python modules without touching your dialplan, so you hook EAGI in yourself.
- Script-only installer, no dialplan changes made for you
- Hooking EAGI into your existing dialplan
- Channel variables and common problems
FreeSWITCH integration
Connect FreeSWITCH to AMDY over WebSocket using mod_audio_fork. Install, verify, and route calls on HUMAN, MACHINE, FAS, TIMEOUT, and ERROR results with the real installer and Lua driver.
- Installer options and mod_audio_fork module paths
- Health check script and channel variables
- Dialplan routing and common troubleshooting
Vicidial / ViciBox integration
How AMDY.IO plugs into Vicidial and ViciBox: the one-command installer, the extension 8370 EAGI wiring it injects into extensions.conf, and the channel variables your dialplan routes on.
- One-command installer and extension 8370 EAGI wiring
- AMDSTATUS, AMDCAUSE and AMDSTATS channel variables
- Dialplan routing on the detection result
Asterisk integration
Step-by-step install of AMDY.IO on Asterisk: EAGI streams 8 kHz answer audio to the AMDY backend over WebSocket and the dialplan routes on HUMAN / MACHINE results.
- Install command and EAGI dialplan wiring
- Channel variables for routing
- Troubleshooting common problems
Issabel integration
Connect Issabel (Asterisk-based PBX) to AMDY.IO: the WebSocket audio protocol, the generic Asterisk installer, and the channel variables for routing.
- WebSocket audio protocol and installer
- Channel variables for routing
- Which parts of the Issabel integration are verified today
Something missing? Email [email protected].