asterisk: add *832 test-entry dialplan for VDAY workflow AATs

Lets live SIP AATs (ext 901–904, from-internal context) dial *832 to
exercise the Victory Day workflow + Fun Menu + AsteriskGameHandler path
without routing through Twilio. Mnemonic: *832 = V-D-A (8-3-2) from the
V-D-A-Y keypad pattern.

Maps to Stasis(flowercore-pbx,inbound-pstn,+15074618329) — same call-
type classification as a real Twilio-inbound call to the VDAY DID, so
InboundPstnHandler routes to the seeded VDAY workflow identically.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Andrew Stoltz
2026-04-17 15:51:49 -05:00
parent 62e342cfb2
commit 0c67fa5356

View File

@@ -96,9 +96,9 @@ data:
allow=ulaw allow=ulaw
allow=alaw allow=alaw
direct_media=no direct_media=no
; Yealink provisioning sends RFC2833/RFC4733 DTMF (payload 101). ; Yealink provisioning sends RFC2833/RFC4733 DTMF (payload 101).
; Keep the PBX template aligned so physical desk phones emit ARI DTMF events. ; Keep the PBX template aligned so physical desk phones emit ARI DTMF events.
dtmf_mode=rfc4733 dtmf_mode=rfc4733
rtp_symmetric=yes rtp_symmetric=yes
force_rport=yes force_rport=yes
rewrite_contact=yes rewrite_contact=yes
@@ -157,11 +157,11 @@ data:
remove_existing=yes remove_existing=yes
qualify_frequency=60 qualify_frequency=60
; Extension 103 - Office 3 ; Extension 103 - Office 3
[103](phone-template) [103](phone-template)
auth=auth103 auth=auth103
aors=103 aors=103
callerid="Office 3" <103> callerid="Office 3" <103>
[auth103] [auth103]
type=auth type=auth
@@ -169,90 +169,90 @@ data:
username=103 username=103
password=bluejay-ext-103 password=bluejay-ext-103
[103] [103]
type=aor type=aor
max_contacts=1 max_contacts=1
remove_existing=yes remove_existing=yes
qualify_frequency=60 qualify_frequency=60
; Test endpoints 901-904 for softphone proof ; Test endpoints 901-904 for softphone proof
[test-endpoint](!) [test-endpoint](!)
type=endpoint type=endpoint
context=from-internal context=from-internal
transport=transport-udp transport=transport-udp
disallow=all disallow=all
allow=ulaw allow=ulaw
allow=alaw allow=alaw
direct_media=no direct_media=no
rtp_symmetric=yes rtp_symmetric=yes
force_rport=yes force_rport=yes
rewrite_contact=yes rewrite_contact=yes
[901](test-endpoint) [901](test-endpoint)
auth=auth901 auth=auth901
aors=901 aors=901
callerid="Proof Caller" <901> callerid="Proof Caller" <901>
[auth901] [auth901]
type=auth type=auth
auth_type=userpass auth_type=userpass
username=901 username=901
password=test-sip-secret-901 password=test-sip-secret-901
[901] [901]
type=aor type=aor
max_contacts=1 max_contacts=1
remove_existing=yes remove_existing=yes
[902](test-endpoint) [902](test-endpoint)
auth=auth902 auth=auth902
aors=902 aors=902
callerid="Proof Callee" <902> callerid="Proof Callee" <902>
[auth902] [auth902]
type=auth type=auth
auth_type=userpass auth_type=userpass
username=902 username=902
password=test-sip-secret-901 password=test-sip-secret-901
[902] [902]
type=aor type=aor
max_contacts=1 max_contacts=1
remove_existing=yes remove_existing=yes
[903](test-endpoint) [903](test-endpoint)
auth=auth903 auth=auth903
aors=903 aors=903
callerid="Proof Endpoint 3" <903> callerid="Proof Endpoint 3" <903>
[auth903] [auth903]
type=auth type=auth
auth_type=userpass auth_type=userpass
username=903 username=903
password=test-sip-secret-901 password=test-sip-secret-901
[903] [903]
type=aor type=aor
max_contacts=1 max_contacts=1
remove_existing=yes remove_existing=yes
[904](test-endpoint) [904](test-endpoint)
auth=auth904 auth=auth904
aors=904 aors=904
callerid="Proof Endpoint 4" <904> callerid="Proof Endpoint 4" <904>
[auth904] [auth904]
type=auth type=auth
auth_type=userpass auth_type=userpass
username=904 username=904
password=test-sip-secret-901 password=test-sip-secret-901
[904] [904]
type=aor type=aor
max_contacts=1 max_contacts=1
remove_existing=yes remove_existing=yes
extensions.conf: | extensions.conf: |
[general] [general]
static=yes static=yes
writeprotect=no writeprotect=no
@@ -270,37 +270,37 @@ data:
same => n,Hangup() same => n,Hangup()
[from-internal] [from-internal]
; Internal extension-to-extension dialing ; Internal extension-to-extension dialing
exten => _1XX,1,Dial(PJSIP/${EXTEN},30) exten => _1XX,1,Dial(PJSIP/${EXTEN},30)
same => n,Hangup() same => n,Hangup()
; Softphone proof endpoints and utility extensions ; Softphone proof endpoints and utility extensions
exten => _9XX,1,NoOp(Proof call to ${EXTEN}) exten => _9XX,1,NoOp(Proof call to ${EXTEN})
same => n,Dial(PJSIP/${EXTEN},30) same => n,Dial(PJSIP/${EXTEN},30)
same => n,Hangup() same => n,Hangup()
exten => 999,1,Answer() exten => 999,1,Answer()
same => n,Playback(demo-echotest) same => n,Playback(demo-echotest)
same => n,Echo() same => n,Echo()
same => n,Hangup() same => n,Hangup()
exten => 998,1,Answer() exten => 998,1,Answer()
same => n,Milliwatt() same => n,Milliwatt()
same => n,Hangup() same => n,Hangup()
exten => 997,1,Answer() exten => 997,1,Answer()
same => n,Wait(0.5) same => n,Wait(0.5)
same => n,Playback(hello-world) same => n,Playback(hello-world)
same => n,Wait(1) same => n,Wait(1)
same => n,Hangup() same => n,Hangup()
exten => 996,1,Answer() exten => 996,1,Answer()
same => n,Wait(0.5) same => n,Wait(0.5)
same => n,Read(DIGITS,,4,,,5) same => n,Read(DIGITS,,4,,,5)
same => n,SayDigits(${DIGITS}) same => n,SayDigits(${DIGITS})
same => n,Hangup() same => n,Hangup()
; Outbound via Twilio SIP trunk (11-digit US) ; Outbound via Twilio SIP trunk (11-digit US)
exten => _1NXXNXXXXXX,1,Set(CALLERID(num)=+13202332529) exten => _1NXXNXXXXXX,1,Set(CALLERID(num)=+13202332529)
same => n,Dial(PJSIP/+${EXTEN}@twilio-trunk,60) same => n,Dial(PJSIP/+${EXTEN}@twilio-trunk,60)
same => n,Hangup() same => n,Hangup()
@@ -314,6 +314,13 @@ data:
exten => *100,1,Stasis(flowercore-pbx,internal,ivr) exten => *100,1,Stasis(flowercore-pbx,internal,ivr)
same => n,Hangup() same => n,Hangup()
; Test-only entry into the Victory Day workflow (DID +15074618329).
; Used by live SIP AATs to exercise the VDAY Fun Menu + AsteriskGameHandler
; path without dialing in over Twilio. Mnemonic: *832 = "V-D-A" (8-3-2).
exten => *832,1,NoOp(Test entry: Victory Day workflow via AAT)
same => n,Stasis(flowercore-pbx,inbound-pstn,+15074618329)
same => n,Hangup()
; Star codes routed to FlowerCore Stasis app for handling ; Star codes routed to FlowerCore Stasis app for handling
exten => *0,1,Stasis(flowercore-pbx,starcode,*0) exten => *0,1,Stasis(flowercore-pbx,starcode,*0)
same => n,Hangup() same => n,Hangup()