Informational IVR setup

In light of the current pandemic, I am working with several schools that want to set up tele-learning for their students. The idea is to set up an IVR, where students will push through menus to their respective grade, teacher, and class, and listen to recorded lessons.

The teachers need to be able to authenticate themselves and record their lessons to be played back by the system. Ideally, the recordings should be held for one week.

I know I can code this within Asterisk, but for the purposes of saving time and making this easier for non-IT to manage this, is there a module or way to do this within the GUI of FreePBX?

Also, while on the topic, does the Asterisk PlayBack/Background module (or any other option) have any DTMF codes to speed/slow playback, or to pause/rewind/fast-forward?

Asterisk provides ControlPlayback[1] which has DTMF options to control some aspects. There is no ability to speed/slow the playback itself.


If it were me?
Use a voicemail box. Each teacher can login and record their lessons.
Point each IVR entry to the respective voicemail box and let them listen.

You might need to address max message size and stuff, but it has everything all built in.

Although IVR is kind of ancient tech to school kids. My kids are already getting their lessons via YouTube links.

1 Like

How exactly can you control playback with the VM greeting?

Unfortunately you can’t. At best you can do is repeat the message

Which is why OP will need to get their hands lil dirty and write a bit of a custom dialplan

OP asked an easy way to get the information out to their users.
The ability to rewind was a separate question to if it is possible.

How’s this:

Filename should reflect IVR heirarchy so XX year XX mo XX day XX grade XXX staffmember

    exten => _6XXXXXXXXXXX,1,Wait(2)
    exten => _6XXXXXXXXXXX,n,ControlPlayback(/var/lib/asterisk/sounds/custom/user-anouncements/${EXTEN:1},180000,1,3,0,5,5)
    exten => _6XXXXXXXXXXX,n,Wait(2)
    exten => _6XXXXXXXXXXX,n,Return

    exten => _7XXXXXXXXXXX,1,Wait(2)
    exten => _7XXXXXXXXXXX,n,Record(/var/lib/asterisk/sounds/custom/user-anouncements/${EXTEN:1}.wav)
    exten => _7XXXXXXXXXXX,n,Return

    exten => _8XXXXXXXXXXX,1,VMAuthenticate(${EXTEN:9}@default)
    exten => _8XXXXXXXXXXX,n,GoSub(custom-record-ivr,7${EXTEN:1},1)

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.