Topic: Recording Voice Prompts From Outside [Comments: 1]
Sun, 01/23/2011 - 14:27 | Recording Voice Prompts From Outside
We have a number of customers on our MTE system who do not have phones. We receive their calls on an IVR and route calls to them on cell phones. We've always had problems getting prompts recorded for those calls since Thirdlane's Voice Recording feature wants to do the recording from an attached SIP phone.
We needed a way to do the records from an external phone. I wrote this script last night to solve the problem. The user calls into the system and accesses the script from a feature code. The script prompts the user to record a message and press #. Then, it gives the option of listening to the recording, re-recording it, or accepting it and hanging up.
Once the recording is complete the user can go to Thirdlane/Media Files/Voice Recordings to listen to the recording. These recording can be used in IVRs and queues. I chose to set it up so that the file name is like "external-YYYYMMDD-HHMMSS". I have been known to rename the recording before using it
There are several prompts that I had to record to do this.
- env-start-recording - "Start recording after the beep. When done press #"
- env-listen-to-message - "Press 1 to listen to your message."
- env-re-record-message- "Press 2 to re-record your message."
- env-accept-hangup - "Press 3 to accept your message and hangup."
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Set(GLOBAL(FILENAME)="ogm/${TENANT}/external-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
exten => s,n(record),NoOp("************Recording Filename: ${FILENAME}")
exten => s,n,Playback(env-start-recording)
exten => s,n,Record(${FILENAME}.wav)
exten => s,n,Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=15)
exten => s,n(menu),NoOp(********Menu)
exten => s,n,Playback(env-listen-to-message)
exten => s,n,Playback(env-re-record-message)
exten => s,n,Playback(env-accept-hangup)
exten => s,n,Read(menuOption||1)
exten => s,n,Gotoif($[${menuOption}=1]?listen)
exten => s,n,Gotoif($[${menuOption}=2]?record)
exten => s,n,Gotoif($[${menuOption}=3]?accept)
exten => s,n(accept),Playback(env-goodbye)
exten => s,n,Hangup()
exten => s,n(listen),NoOp("************Pressed 1")
exten => s,n,Playback(${FILENAME})
exten => s,n,Wait(2)
exten => s,n,Goto(menu)





Thu, 04/19/2012 - 18:01 | MTE AND STE code for rereord
following is a script that works great in MTE and ST
exten => s,1,Wait(1)exten => s,n,Answer
exten => s,n,Set(FILENAME=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
exten => s,n,Set(FORMAT=wav)
exten => s,n(record),Playback(tl/start-recording)
exten => s,n,Playback(tl/beep)
exten => s,n,GotoIf($["${tenant}" = ""]?nodir)
exten => s,n,Record(ogm/${tenant}/${FILENAME}.${FORMAT})
exten => s,n,Goto(done)
exten => s,n(nodir),Record(ogm/${FILENAME}.${FORMAT})
exten => s,n(done),Playback(tl/done-recording)
exten = s,n(menu),read(OptionSelected,vm-review,1)
exten = s,n,gotoif($["${OptionSelected}"="1"]?Accept)
exten = s,n,gotoif($["${OptionSelected}"="2"]?Review)
exten = s,n,gotoif($["${OptionSelected}"="3"]?ReRecord)
exten = s,n,playback(option-is-invalid)
exten => s,n,Goto(menu)
exten = s,n(Accept),playback(auth-thankyou&vm-goodbye)
exten = s,n,hangup
exten = s,n(Review),Wait(1)
exten = s,n,GotoIf($["${tenant}" = ""]?nodir)
exten => s,n,playback(ogm/${tenant}/${FILENAME})
exten = s,n,wait(1)
exten => s,n,Goto(menu)
exten => s,n(nodir),playback(ogm/${FILENAME})
exten = s,n,wait(1)
exten => s,n,Goto(menu)
exten = s,n(ReRecord),Goto(record)
exten => t,1,Hangup
try and enjoy
Moshe