Hi Everyone!
I’m turning a Linksys PAP2 into a toy for my toddler. I have it mostly working, but there’s an error in my understanding with dialplans and WaitExtern.
I’m trying to have:
Answer and play intro music
while true
Wait for a button press
if pressed 1: play chase.wav
else if pressed 2: play rocky.wav
else if pressed 3: play marshall.wav
else if pressed 4: play rubble.wav
else if pressed 5: play zuma.wav
else if pressed 6: play sky.wav
My dial plan is:
[from-internal]
exten => 1,1,Answer()
exten => 1,2,Playback(intro)
exten => 1,3,Goto(s,1)
exten => s,1,WaitExten(60)
exten => 1,1,Playback(chase)
exten => 1,2,Goto(s,1)
exten => 2,1,Playback(rocky)
exten => 2,2,Goto(s,1)
exten => 3,1,Playback(marshall)
exten => 3,2,Goto(s,1)
exten => 4,1,Playback(rubble)
exten => 4,2,Goto(s,1)
exten => 5,1,Playback(zuma)
exten => 5,2,Goto(s,1)
exten => 6,1,Playback(sky)
exten => 6,2,Goto(s,1)
exten => 7,1,Goto(s,1)
exten => 8,1,Goto(s,1)
exten => 9,1,Goto(s,1)
exten => 0,1,Goto(s,1)
exten => #,1,Goto(s,1)
exten => *,1,Goto(s,1)
When I press 1
, the intro plays. I thought that after WaitExten(60)
, the following exten => 1,1,Playback(chase)
would execute.
Loggs from pressing 1, then 2, then 3:
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 21.0.1 currently running on asterisk (pid = 18919)
-- Executing [1@from-internal:1] Answer("PJSIP/6001-00000000", "") in new stack
-- Executing [1@from-internal:2] Playback("PJSIP/6001-00000000", "intro") in new stack
-- <PJSIP/6001-00000000> Playing 'intro.slin' (language 'en')
-- Executing [1@from-internal:3] Goto("PJSIP/6001-00000000", "s,1") in new stack
-- Goto (from-internal,s,1)
-- Executing [s@from-internal:1] WaitExten("PJSIP/6001-00000000", "60") in new stack
-- Executing [1@from-internal:1] Answer("PJSIP/6001-00000000", "") in new stack
-- Executing [1@from-internal:2] Playback("PJSIP/6001-00000000", "intro") in new stack
-- <PJSIP/6001-00000000> Playing 'intro.slin' (language 'en')
-- Executing [1@from-internal:3] Goto("PJSIP/6001-00000000", "s,1") in new stack
-- Goto (from-internal,s,1)
-- Executing [s@from-internal:1] WaitExten("PJSIP/6001-00000000", "60") in new stack
-- Executing [2@from-internal:1] Playback("PJSIP/6001-00000000", "rocky") in new stack
-- <PJSIP/6001-00000000> Playing 'rocky.slin' (language 'en')
-- Executing [2@from-internal:2] Goto("PJSIP/6001-00000000", "s,1") in new stack
-- Goto (from-internal,s,1)
-- Executing [s@from-internal:1] WaitExten("PJSIP/6001-00000000", "60") in new stack
-- Executing [3@from-internal:1] Playback("PJSIP/6001-00000000", "marshall") in new stack
After hearing intro.wav
, how can I have 1
play chase.wav
?
Thanks for your help
Derek