Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Getting Started

Add asterisk-rs to your project:

[dependencies]
asterisk-rs = "0.8"

Or pick individual protocols:

[dependencies]
asterisk-rs = { version = "0.8", default-features = false, features = ["ami"] }

Or use crates directly:

[dependencies]
asterisk-rs-ami = "0.8"

Protocols

ProtocolPortTransportCrate
AMI5038TCPasterisk-rs-ami
AGI4573TCP (FastAGI)asterisk-rs-agi
ARI8088HTTP + WebSocketasterisk-rs-ari

Domain Types

Common Asterisk constants are available as typed enums in asterisk_rs_core::types: hangup causes, channel states, device states, dial statuses, and more. See Domain Types for the full list.

Requirements

  • Rust 1.86 or newer
  • tokio runtime
  • a C/C++ compiler for the default non-FIPS AWS-LC-backed Rustls provider; CMake, Go, and bindgen are not required for this configuration
  • A running Asterisk instance for integration

This workspace does not expose or test AWS-LC FIPS mode. A downstream FIPS configuration requires CMake and Go, and may also require bindgen plus libclang on targets without pre-generated FIPS bindings; treat that as an unsupported integration until it has its own target-specific CI proof.