Guest Guest Report post Posted 10/30/2003 06:16 AM Okay got all my scripts working but the problem I have now is that when VG dials it doesn't always detect a human answer. I would say 2 of 10 dials it will detect a human when each time it is a human answering. The funny thing is I have tried calling different mobiles, lan lines etc and only one mobile always works. My mobile sometimes and the same with lan lines. Using Dialogic D/4PCI with 5.1.1 Voice Guide 5.1 Beta3 This how I test. Use this sample XML file <OutDialEntry> <PhoneNumber>555111</PhoneNumber> <OnAnswer>C:\Program Files\VoiceGuide\system\voice\VmSendSuccess.wav</OnAnswer> <OnAnswerMachine>C:\Program Files\VoiceGuide\system\voice\SoundFileNotFound.wav</OnAnswerMachine> <AnswerTimeout>20</AnswerTimeout> <CallRetries>1</CallRetries> <RetryDelay>1</RetryDelay> </OutDialEntry> When it calls I answer with "hello" Any ideas on how I can make this more reliable Logfile when VG thinks human has not answered when actually it was 165010.15 0 Loading from C:\Program Files\VoiceGuide\data\OutDial_New.xml 165010.15 0 dial callque insert tel:555111 scr:C:\Program Files\VoiceGuide\system\voice\VmSendSuccess.wav time:310301650 esc:none 165010.15 0 Loaded 1 entries. 165010.17 0 dial callque update id=70 next call time 0310301652 165010.17 0 dial callque DB update returned 165010.17 5 dial found entry: tel[555111] ann[NONE] vgs[C:\Program Files\VoiceGuide\system\voice\VmSendSuccess.wav] am[C:\Program Files\VoiceGuide\system\voice\SoundFileNotFound.wav] 165010.17 5 Calling MakeCallEx(555111) 165010.18 5 Dialing: 555111 165010.18 5 MakeCall => 65762 165010.18 5 TapiCbTrigSet 65762 7002 165010.93 5 tapi Reply (LineEvReply) ok 65762 0 165010.93 5 TapiCbTrigClear 165010.93 5 linedevstate 2048 0 0 165010.93 5 callstate DIALTONE 65796 0 0 165010.93 5 callstate DIALING 65796 0 0 165010.95 5 callstate PROCEEDING 65796 0 0 165010.95 5 callinfo CALLEDID 165010.95 5 callinfo REASON 165010.96 5 Lev_CallerID [0000,] 165010.96 5 callinfo ORIGIN 165019.50 5 callstate DISCONNECTED 65796,16,0 165019.50 5 LsWaitAfterDialingOut EV_REMOTEPARTY_DISCONNECT 165019.51 0 dial callque delete id=70 165019.53 5 AM - wait for end of welcome message... 165019.53 5 dial awaiting end of answering machine message (lvl:10 for 20) 165019.62 5 RecSoundStart file[C:\Program Files\VoiceGuide\data\RecAm_5.wav] ok 165022.71 5 LsDialoutRecAnswerMachineWelcMsg EV_SILENCE_DETECTED 165023.73 5 RecSoundStop ok 165023.79 5 LsDialoutRecAnswerMachineWelcMsg EV_REC_FINISHED 165023.81 5 Play Answer Machine message [C:\Program Files\VoiceGuide\system\voice\SoundFileNotFound.wav] 165023.84 5 PlaySoundStart ok [C:\Program Files\VoiceGuide\system\voice\SoundFileNotFound.wav] 165026.98 5 wb(1932800) 165028.03 5 Play End line[5] (id=19328) 165028.04 5 LsDialoutPlayOnAnswerMachine EV_PLAY_FINISHED 165028.04 5 Hanging up call... [LsDialoutPlayOnAnswerMachine 2 ] 165028.04 5 RecSoundStop ok 165028.06 5 PlaySoundStop ok 165028.06 5 Waiting for a call... 165028.12 5 fnHangupCall end 165028.14 5 linedevstate 2048 0 0 165028.15 5 callstate IDLE 65796 0 0 165028.15 5 WorkingMode@Idle= 165028.15 5 LineState(iLineId).iVgsIdx = 0 165028.17 5 tapi Reply (LineEvReply) ok 65625 0 165029.21 5 LsAwaitingCalls EV_TIMEOUT_TIMETOREINITLINE 165029.21 5 ReinitTelephony due to IDLE start 165029.21 5 tapic lineDeallocateCall(MainCall:65796) 0 165029.40 5 lineOpen(5) => 0 165029.40 5 Waiting for a call... 165029.40 5 lineOpen(5)LineHandle=65745 Logfile when VG thinks human has answered 170315.61 0 sys cleanup Start 170315.61 0 sys cleanup End 170320.79 0 Loading from C:\Program Files\VoiceGuide\data\OutDial_New.xml 170320.79 0 dial callque insert tel:555111 scr:C:\Program Files\VoiceGuide\system\voice\VmSendSuccess.wav time:310301703 esc:none 170320.81 0 Loaded 1 entries. 170320.81 0 dial callque update id=78 next call time 0310301705 170320.81 0 dial callque DB update returned 170320.81 5 dial found entry: tel[555111] ann[NONE] vgs[C:\Program Files\VoiceGuide\system\voice\VmSendSuccess.wav] am[C:\Program Files\VoiceGuide\system\voice\SoundFileNotFound.wav] 170320.82 5 Calling MakeCallEx(555111) 170320.82 5 Dialing: 555111 170320.82 5 MakeCall => 65933 170320.82 5 TapiCbTrigSet 65933 7002 170321.57 5 tapi Reply (LineEvReply) ok 65933 0 170321.57 5 TapiCbTrigClear 170321.57 5 linedevstate 2048 0 0 170321.57 5 callstate DIALTONE 65865 0 0 170321.57 5 callstate DIALING 65865 0 0 170321.59 5 callstate PROCEEDING 65865 0 0 170321.59 5 callinfo CALLEDID 170321.59 5 callinfo REASON 170321.61 5 Lev_CallerID [0000,] 170321.61 5 callinfo ORIGIN 170332.09 5 callstate CONNECTED 65865,1,0 170332.11 5 WorkingModeTAPI@Connected= 170332.11 5 WorkingModeScript@Connected= 170332.18 0 dial callque delete id=78 170332.21 5 Live person answered, playing C:\Program Files\VoiceGuide\system\voice\VmSendSuccess.wav 170332.26 5 PlaySoundStart ok [C:\Program Files\VoiceGuide\system\voice\VmSendSuccess.wav] 170333.76 5 wb(80773400) 170334.81 5 Play End line[5] (id=807734) 170334.81 5 LsDialoutPlayHumanMsg EV_PLAY_FINISHED 170334.82 5 Hanging up call... [dial live answer: outgoing sound file completed.] 170334.82 5 RecSoundStop ok 170334.82 5 PlaySoundStop ok 170334.84 5 Waiting for a call... 170334.89 5 fnHangupCall end 170334.92 5 linedevstate 2048 0 0 170334.92 5 callstate IDLE 65865 0 0 170334.93 5 WorkingMode@Idle= 170334.93 5 LineState(iLineId).iVgsIdx = 0 170334.93 5 tapi Reply (LineEvReply) ok 65712 0 170336.04 5 LsAwaitingCalls EV_TIMEOUT_TIMETOREINITLINE 170336.04 5 ReinitTelephony due to IDLE start 170336.06 5 tapic lineDeallocateCall(MainCall:65865) 0 170336.26 5 lineOpen(5) => 0 170336.26 5 Waiting for a call... 170336.28 5 lineOpen(5)LineHandle=65968 Share this post Link to post
Guest Guest Report post Posted 10/30/2003 06:23 AM Forgot to mention that this is Euro version of the Dialogic card in Australia and the location properties for the card has ben set to Australia. Share this post Link to post
SupportTeam Report post Posted 10/30/2003 06:59 AM it doesn't always detect a human answer. I would expect pretty good detection reliability on land lines - some mobile connections are sometimes so poor that Dialogic thinks that an answering machine has answered the call... it just depends on the mobile network... on good quality lines the detection reliability is very high... There is no way to alter any levels etc to change the way in which the Dialogic card detects Answering Machines vs Human answer... it's all hard wired into the Dialogic card. Share this post Link to post
Guest Guest Report post Posted 10/30/2003 08:52 AM Did some further testing. The lan lines used where cordless phones. When switched to hard wired phones detection improved 90% Okay I think I found out why mobiles are not working correctly. In VG I believe the detection of answering machines is done by analysing the noise level on the line. When continoues sound is heard it assumes a AM has answered it. Most people answer the phone with "hello" and AM's "You have reached bill and ted.." The reason my mobile was not working is I had the radio on next to me. Since mobiles have a very receptive mic it was picking up background noise. Turned off the radio and now works every time or close enough when answered with hello. Is there anyway I can change the detection level in VG so that background noise is ignored. Is there a setting in vg.ini I can change Cheers, Michael Share this post Link to post
SupportTeam Report post Posted 10/30/2003 10:24 PM Background radio noise (when loud enough) has been known to confuse the Human / Answering Machine detection process... Is there anyway I can change the detection level in VG so that background noise is ignored. Is there a setting in vg.ini I can change There is no way to alter any levels etc to change the way in which the Dialogic card detects Answering Machines vs Human answer... it's all hard wired into the Dialogic card. Share this post Link to post
Guest Guest Report post Posted 10/30/2003 11:35 PM I found this is my travels. It is a snippet from a Dialogic engineer My experience with predictive dialers led to this conclusion: with Dialogic`s PAMD (Positive Answering Machine Detection) enabled, you do get very good answering machine detection. (About as good as you can get, considering the vagaries involved) However, you can fine tune the results by disabling PAMD and using "cadence detection". With cadence detection, you basically enable "positive voice detection" (which merely determines that the line was answered by a human voice) and then time the salutation (greeting). Most everyone answers their phone with "Hello......" - about 500msec of noise followed by at least 500 msec of silence, whereas most answering machines are answered with "Hi, this Tom and Mary.........." - basically continuous noise for several seconds. Crude, but surprisingly effective. Both methods are supported by Dialogic`s API on a call-by-call basis. This was the info that led to my previous post. I'm probaly going in circles with my posts since you have already mentioned that there is no way since the functions are hard wired into the Dialogic card. But you never know there is always hope.. Yes I know it is slim Share this post Link to post
SupportTeam Report post Posted 10/31/2003 12:21 AM The quoted text in previous post suggests turning off Answering Machine detection altogether... and then basing the decision of whether an Answering Machine answered the call based solely on how long speech can be heard after call is answered... In our experience this approach overall does not work as well as Dialogic's PAMD (Positive Answering Machine Detection) system. The suggested approach would result in incorrect AM detections if there was loud background noise (of any type, not just radio), if the line quality was poor and you could hear static on the line, and it would also fail if a call was answered with a: "Welcome to Acme Enterprises, this is Melissa speaking, how can I help you today?".. VoiceGuide just enables PAMD on all outgoing calls when Dialogic cards are used. Share this post Link to post