How to record a message via Custom application

The Document describes how to record a custom message via Dialplan Custom application.

Created: May 2019


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)
  • - 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.