Asterisk Configuration Reference

April 21, 2026 ยท View on GitHub

Role In Scenario

Asterisk is the pbx1 back-end PBX. Kamailio forwards SIP signaling to it over loopback TCP, while media is handled through the host network and coordinated with rtpengine.

  • terminates the authenticated user endpoint 1000
  • provides voicemail at 1100
  • provides an echo service at 1200 and a call-generator target at 1300 (used for RTP bleed demos)
  • writes voicemail into the shared volume later exposed by Nginx
  • extension 2000 is not an Asterisk endpoint; Kamailio handles it as a helper-backed digest-leak target

Key Files

FilePurpose
build/asterisk/config/pjsip.confendpoint, auth, and transport definitions
build/asterisk/config/extensions.confdialplan logic for 1000, 1100, 1200, and 1300
build/asterisk/config/voicemail.confvoicemail behavior and mailbox definitions
build/asterisk/config/rtp.confRTP port range and media behavior
build/asterisk/config/manager.confAMI access and related controls
build/asterisk/run.shruntime setup and config templating

Intentionally Vulnerable Behavior

  • 1000 uses intentionally weak credentials (1500)
  • voicemail files are shared into a web-exposed path
  • SRTP is not enforced
  • RTP handling is permissive enough for injection, bleed, and flood exercises
  • 1100, 1200, and 1300 are dialplan targets, not separate authenticated PJSIP endpoints

Verification

Use the testing profile for repeatable checks:

./scripts/compose.sh --scenario pbx1 run --rm testing dvrtc-checks register --host 127.0.0.1
./scripts/compose.sh --scenario pbx1 run --rm testing dvrtc-checks bad-auth --host 127.0.0.1
./scripts/compose.sh --scenario pbx1 run --rm testing dvrtc-checks voicemail --host 127.0.0.1
./scripts/compose.sh --scenario pbx1 logs asterisk