Topic: Recording Voice Prompts From Outside [Comments: 1]
dozment

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)

moshe

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