|
|
|
12.11.2007 15:07 |
simon@online.simonair.com |
Hi I got this error in the log:
Event Help Information Product: TERAVoice Server 2004 SP1 Free Version: 1.0.747 Event ID: -2147418113 Source: clsWave.RunFilterGraph Line: 438
-2147418113 - Unable to play/record audio
This event indicates a problem with the sound driver installation of your telephony hardware. Please see the following knowledge base articles for further information.
-- I can play the wave file when I open it using media player. Any idea why I am getting this error?
Thanks
|
 |
|
|
|
|
12.11.2007 18:04 |
TERASENS Support |
Hi,
which hardware do you use? A modem?
Please make sure that the Unimodem Half-(/Full)Duplex Wave Driver is installed correctly and you see "Modem #x Line Playback" (/Record) listed under Control Panel >> Sounds and Audio Devices >> Audio. (Don't set them as default, just make sure they are in the dropdown list.)
Best regards,
Frank Weber TERAVoice Support -------------------------- TERASENS GmbH Augustenstraße 24 80333 Munich, GERMANY -------------------------- e-mail: info@terasens.com www: www.terasens.com --------------------------
|
 |
|
|
|
|
12.11.2007 19:03 |
simon@online.simonair.com |
Yes we are using a modem. Here is the weird senario. The file that I cant play will work if i lower the bit rate to 128kbps and audio sample to 8 kHz.
Is there a way we can setup the teraserver to play wav files with bitrate over 128? Can teraserver handle mp3 files instead?
>Hi, > >which hardware do you use? A modem? > >Please make sure that the Unimodem Half-(/Full)Duplex Wave Driver >is installed correctly and you see "Modem #x Line Playback" (/Record) >listed under Control Panel >> Sounds and Audio Devices >> Audio. >(Don't set them as default, just make sure they are in the dropdown list.) > >Best regards, > >Frank Weber >TERAVoice Support >-------------------------- >TERASENS GmbH >Augustenstraße 24 >80333 Munich, GERMANY >-------------------------- >e-mail: info@terasens.com >www: www.terasens.com >-------------------------- > > |
 |
|
|
|
|
12.11.2007 20:11 |
TERASENS Support |
Hi Simon,
basically TERAVoice should be able to play any file that Windows Media Player can play (i.e. if the required codec is installed). At the moment I'm not sure why the one file does not play. TERAVoice can also play mp3 files but we have encountered crashes with the mp3 codec installed with Windows when multiple lines are used (= more than one simultaneous playback).
For a professional system we recommend using the native audio format which does not involve any conversion and results in best performance and audio quality:
Windows PCM (.wav) 8kHz - 16 Bit - mono
Best regards,
Frank Weber TERAVoice Support -------------------------- TERASENS GmbH Augustenstraße 24 80333 Munich, GERMANY -------------------------- e-mail: info@terasens.com www: www.terasens.com --------------------------
|
 |
|
|
|
|
13.11.2007 22:40 |
simon@online.simonair.com |
Thanks. After i converted the wave file using lame to an 8 kHz it works.
I have another one. Sorry for all of these but I have very limited knowledge with IVR scripting.
What i want is that the when a caller calls, the system will pickup the CALLER ID then play the wave file we have in file. If the number is not available or its not in file it will play the wave file notfound.wav.
Here is what i have so far. The problem is that when I call, it will display the default message ( teravoice anouncement ) then hangs up. Also the same with unknown numbers. Can you check the script that i have and maybe fix it for me?
--- Sub CallHandler_TimePulse()
CUSTOM_name ="\" & CallerID & ".wav" If Not CallController.IsPlaying Then If Not CallController.PlayAudioFileList(BasePath & CUSTOM_name) Then CallController.PlayAudioFileList(BasePath & "\notmember.wav") CallController.HangUp End If End If
End Sub ---
If i just do this, it works fine but it will not play the notmember.wav if the callerid wav is not present.
Sub CallHandler_TimePulse()
If IsPlayed Then Exit Sub PlayAudioFile BasePath & CUSTOM_name IsPlayed = True
End Sub
Thanks again for the help.
>Hi Simon, > >basically TERAVoice should be able to play any file that >Windows Media Player can play (i.e. if the required codec >is installed). At the moment I'm not sure why the one file >does not play. >TERAVoice can also play mp3 files but we have encountered >crashes with the mp3 codec installed with Windows when >multiple lines are used (= more than one simultaneous playback). > >For a professional system we recommend using the native audio >format which does not involve any conversion and results in best >performance and audio quality: > >Windows PCM (.wav) 8kHz - 16 Bit - mono > >Best regards, > >Frank Weber >TERAVoice Support >-------------------------- >TERASENS GmbH >Augustenstraße 24 >80333 Munich, GERMANY >-------------------------- >e-mail: info@terasens.com >www: www.terasens.com >-------------------------- > > |
 |
|
|
|
|
14.11.2007 00:18 |
TERASENS Support |
Simon,
the PlayAudioFileList method requires an array of audio files, eg.:
Dim arrFiles
Redim arrFiles(2) ' Creates an array of 3 files
arrFiles(0) = BasePath & "\1a.wav" arrFiles(1) = BasePath & "\2a.wav" arrFiles(2) = BasePath & "\3a.wav"
You may not call hangup directly after calling a playback method. Either wait until IsPlaying = False and hangup just then or hangup in the CallHandler_PlayDone() event.
All playback methods are async, so the functions return immediately not when playback is done.
Best regards,
Frank Weber TERAVoice Support -------------------------- TERASENS GmbH Augustenstraße 24 80333 Munich, GERMANY -------------------------- e-mail: info@terasens.com www: www.terasens.com --------------------------
|
 |
|
|
|
|
14.11.2007 16:19 |
simon@online.simonair.com |
Got it.
Its working now using this script: -- If IsPlayed Then Exit Sub If Not CallController.PlayAudioFile(BasePath & CUSTOM_name) Then PlayAudioFile(BasePath & "\notmember.wav")
End If IsPlayed = True -
My only problem is that notmember.wav is not played till its over. Its cut in the first sentence then hangs up. I listen to the wav file and it plays all the way to the end. Is there a way I can fix this?
Thanks again for the help
>Simon, > >the PlayAudioFileList method requires an array of audio files, eg.: > >Dim arrFiles > >Redim arrFiles(2) ' Creates an array of 3 files > >arrFiles(0) = BasePath & "\1a.wav" >arrFiles(1) = BasePath & "\2a.wav" >arrFiles(2) = BasePath & "\3a.wav" > > >You may not call hangup directly after calling a playback method. >Either wait until IsPlaying = False and hangup just then or hangup >in the CallHandler_PlayDone() event. > >All playback methods are async, so the functions return immediately >not when playback is done. > > >Best regards, > >Frank Weber >TERAVoice Support >-------------------------- >TERASENS GmbH >Augustenstraße 24 >80333 Munich, GERMANY >-------------------------- >e-mail: info@terasens.com >www: www.terasens.com >-------------------------- > > |
 |
|
|
|
|
14.11.2007 20:19 |
TERASENS Support |
Simon,
you must set
IsPlayed = True
in the CallController_PlayDone event, not during the TimePulse event, then it should work fine!
Best regards,
Frank Weber TERAVoice Support -------------------------- TERASENS GmbH Augustenstraße 24 80333 Munich, GERMANY -------------------------- e-mail: info@terasens.com www: www.terasens.com --------------------------
|
 |
|
|
|
|
20.11.2007 19:21 |
simon@online.simonair.com |
Hi Frank,
Still cutting the voice message of notmember.wav after a few seconds.
here my script. Can you check which part I am missing? Any recomendations?
-- Option Explicit
Const BasePath = "C:\voice_post\"
Dim IsPlayed Dim CUSTOM_name Dim CUSTOM_missing
Sub CallHandler_CallLogEntryEvent(EntryID, CallDate, CallerID, CallHandlerID, CallHandlerName, CallHandlerType, CallDetails, CallDetailsAddition, MessageLength, MessageFileName)
End Sub
Sub CallHandler_CallTransferResult(Succeded)
End Sub
Sub CallHandler_DigitReceived(Digit)
End Sub
Sub CallHandler_FileSaved(FileName, Length)
End Sub
Sub CallHandler_Init(objCallController)
End Sub
Sub CallHandler_OutgoingCallFailed()
End Sub
Sub CallHandler_PlayDone() IsPlayed = True
CallController.HangUp
End Sub
Sub CallHandler_ScheduledInit(objCallController, InstanceCount)
End Sub
Sub CallHandler_TimePulse()
CUSTOM_name ="\" & CallerID & ".wav"
If IsPlayed Then Exit Sub If Not CallController.PlayAudioFile(BasePath & CUSTOM_name) Then CUSTOM_missing = 1 End If If CUSTOM_missing Then PlayAudioFile(BasePath & "\notmember.wav") End If
IsPlayed = True
End Sub
Sub CallHandler_UnInit()
End Sub
--
Thanks again.
>Simon, > >you must set > >IsPlayed = True > >in the CallController_PlayDone event, not during the TimePulse event, >then it should work fine! > > >Best regards, > >Frank Weber >TERAVoice Support >-------------------------- >TERASENS GmbH >Augustenstraße 24 >80333 Munich, GERMANY >-------------------------- >e-mail: info@terasens.com >www: www.terasens.com >-------------------------- > > |
 |
|
|
|
|
20.11.2007 21:18 |
TERASENS Support |
Hi Simon,
the problem is this: When you try to play a non-existant audio-file, TERAVoice treats this as an error and disconnects. Thus you cannot use the PlayAudioFile function to check for existance. To work around this just use the FileSystemObject to check if the file exists. Please find your modified script below.
Best regards,
Frank Weber TERAVoice Support -------------------------- TERASENS GmbH Augustenstraße 24 80333 Munich, GERMANY -------------------------- e-mail: info@terasens.com www: www.terasens.com --------------------------
'***************************************************************** Option Explicit
Const BasePath = "C:\voice_post\"
Dim IsPlaying Dim CUSTOM_name Dim CUSTOM_missing
Sub CallHandler_CallLogEntryEvent(EntryID, CallDate, CallerID, CallHandlerID, CallHandlerName, CallHandlerType, CallDetails, CallDetailsAddition, MessageLength, MessageFileName)
End Sub
Sub CallHandler_CallTransferResult(Succeded)
End Sub
Sub CallHandler_DigitReceived(Digit)
End Sub
Sub CallHandler_FileSaved(FileName, Length)
End Sub
Sub CallHandler_Init(objCallController)
End Sub
Sub CallHandler_OutgoingCallFailed()
End Sub
Sub CallHandler_PlayDone()
IsPlaying = False
CallController.HangUp
End Sub
Sub CallHandler_ScheduledInit(objCallController, InstanceCount)
End Sub
Sub CallHandler_TimePulse() Dim fs
If IsPlaying Then Exit Sub
CUSTOM_name = BasePath & "\" & CallerID & ".wav"
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists(CUSTOM_name) Then CallController.PlayAudioFile CUSTOM_name Else PlayAudioFile("C:\Program Files\TERAVoice Server\Messages\ENU\help.wav") End If
IsPlaying = True
End Sub
Sub CallHandler_UnInit()
End Sub
|
 |
|
|
|
|
21.11.2007 18:22 |
simon@online.simonair.com |
Hi Frank,
still did not work but thats ok. We will deal with this once we buy the 'not free version'.
also, in the paid version, we can remove the commercial recording right? ( 'hello you are connected to a tera voice telephony server' )
Thanks again for all your help
>Hi Simon, > >the problem is this: When you try to play a non-existant audio-file, >TERAVoice >treats this as an error and disconnects. Thus you cannot use the >PlayAudioFile >function to check for existance. >To work around this just use the FileSystemObject to check if the file >exists. >Please find your modified script below. > >Best regards, > >Frank Weber >TERAVoice Support >-------------------------- >TERASENS GmbH >Augustenstraße 24 >80333 Munich, GERMANY >-------------------------- >e-mail: info@terasens.com >www: www.terasens.com >-------------------------- > > >'***************************************************************** >Option Explicit > >Const BasePath = "C:\voice_post\" > >Dim IsPlaying >Dim CUSTOM_name >Dim CUSTOM_missing > > >Sub CallHandler_CallLogEntryEvent(EntryID, CallDate, CallerID, >CallHandlerID, CallHandlerName, CallHandlerType, CallDetails, >CallDetailsAddition, MessageLength, MessageFileName) > >End Sub > >Sub CallHandler_CallTransferResult(Succeded) > >End Sub > >Sub CallHandler_DigitReceived(Digit) > >End Sub > >Sub CallHandler_FileSaved(FileName, Length) > >End Sub > >Sub CallHandler_Init(objCallController) > >End Sub > >Sub CallHandler_OutgoingCallFailed() > >End Sub > >Sub CallHandler_PlayDone() > > IsPlaying = False > > CallController.HangUp > >End Sub > >Sub CallHandler_ScheduledInit(objCallController, InstanceCount) > >End Sub > >Sub CallHandler_TimePulse() >Dim fs > > If IsPlaying Then Exit Sub > > > CUSTOM_name = BasePath & "\" & CallerID & ".wav" > > Set fs = CreateObject("Scripting.FileSystemObject") > > If fs.FileExists(CUSTOM_name) Then > CallController.PlayAudioFile CUSTOM_name > Else > PlayAudioFile("C:\Program Files\TERAVoice >Server\Messages\ENU\help.wav") > End If > > > IsPlaying = True > >End Sub > >Sub CallHandler_UnInit() > >End Sub > > |
 |
|
|
|
|
21.11.2007 21:12 |
TERASENS Support |
Hi Simon,
> still did not work but thats ok. We will deal with this once we buy the > 'not free version'.
I tried the exact script without problems. To further work on this issue we can switch to e-mail (support...terasens.com). Please provide an exact copy of the script you are using and a debug log file of TERAVoice reproducing the error.
> also, in the paid version, we can remove the commercial recording right? > ( 'hello you are connected to a tera voice telephony server' )
Yes, there is just no such message in the retail version.
Best regards,
Frank Weber TERAVoice Support -------------------------- TERASENS GmbH Augustenstraße 24 80333 Munich, GERMANY -------------------------- e-mail: info@terasens.com www: www.terasens.com --------------------------
|
 |
|