How to record a message via Custom application
The Document describes how to record a custom message via Dialplan Custom application.
Created: May 2019
Permalink: https://wildix.atlassian.net/wiki/x/uhbOAQ
Use case
A user wants to change a standard IVR announcement from an external phone. To override restriction of not being able to dial feature code 74 as external caller - we can use configure it via Dialplan.
Dialplan configuration
For the configuration, the previously recorded audio message is used ("test" in our example):
It is the original message that was recorded via Feature Code "Shared record" 74/ message recording option in WMS -> Sounds. The idea is to replace it with the new one. When an external caller dials a DID to hit the Dialplan entry shown below, a beep sound is played and the recording starts immediately. You can also add "Play sound" application to announce that a message will be recorded after a beep sound (optional).
Add Custom application (it should match DID configuration):
- Custom application -> Record(/rw2/var/lib/callweaver/sounds/00000/test:alaw, 0,0,k)
where :
- (/rw2/var/lib/callweaver/sounds/00000/) - path to the audio message
It is the default path and is used by default. If you place your recording in another folder, the path will be different. For example, ~/00000/MusicOnHold/ folder. To verify the path, use "Play sound" application -> choose your message from Sounds menu:
- test:alaw - the message name and format
- 0 - silence: seconds of silence allowed before the recording is stopped. If missing or 0, silence detection is disabled
- 0 - maxduration: the maximum duration of the recording in seconds. If missing or 0, the maximum duration is not set
- k - option: may be "skip" option to return immediately if the line is not up, or "noanswer" to record even if the line is not up
Other available options:
- a - extends the existing recording (doesn't replace it)
- n - does not answer, but record anyway if the line not yet answered
- q - quiets (a beep sound is not played)
- s - skips recording if the line is not yet answered
- t - uses alternate "*" DTMF key instead of default "#"
- x - ignores all sent DTMF keys and keeps recording until hangup
- k - keeps recorded file upon hangup
- y - terminates the recording if *any* DTMF digit is sent
Note: the k option is used in our example and should likely be used in your case so that a person who is calling to change the announcement can simple hang up OR press "#" key to terminate the recording of the new announcement.