ivrs: digital receptionist with keypad grid, SoundPicker, golden case
/api/ivrs CRUD: greeting and wrong-key sounds must be prompts, every
option destination must exist (an option may point at its own menu),
keys unique; delete drops the menu's own options before checking
references, inside a transaction so a refused delete keeps them. The
generator renders sp-ivr-{id} per 03 §6.9 (Background greeting,
WaitExten, keys sorted, i/t retry then give up, include sp-local-numbers
for direct dial), adds the number to sp-local-numbers, and destApp sends
ivr destinations there. Golden case ivr (incl. # and self-reference).
Web: Digital receptionist page with a 3x4 keypad grid (pick a key, then
its destination or "unused"), SoundPicker (pick, play, upload new right
in the form), DestinationPicker gains "Digital receptionist" and a shared
target source; useDescribeDestination labels unsaved keys.
e2e m6-t3: menu built in the UI, the greeting plays, keys 1/2 ring the
right phones, a wrong key plays pbx-invalid and repeats the greeting.
Task: M6-T3
This commit is contained in:
1 parent
f87d4d47dd
commit
15624f7b77
35 files changed
+1730
-16
No files matched your search
@@ -631,6 +631,9 @@ exten => t,1,Set(SP_IVR_TRIES=$[${SP_IVR_TRIES} + 1])
|
||||
```
|
||||
Known behavior to mention in the UI: with direct dial on, option `1` waits up to
|
||||
3 s (digit timeout) when internal numbers also start with 1.
|
||||
Options are sorted by key; `#` and `*` work as extension names (checked by the `ivr` golden case
|
||||
loading into Asterisk 24). An option may point at its own IVR ("press 9 to hear this again"); the
|
||||
api drops an IVR's own options before checking references on delete (M6-T3).
|
||||
|
||||
### 6.10 Time conditions (business hours)
|
||||
|
||||
|
||||
Reference in new issue
Block a user