VoiceGuide IVR Software Main Page
Jump to content

ANSWERED_ NORINGBACK on a new installation

Recommended Posts

Hello,

 

I’m in the process of installing VoiceGuide 7.6.17 and I ran into some issues with the outgoing calls.

 

The new server is Windows Server 2016  with and we are using a D41JCTLSE dialogic card.

 

I’m am using the same vg script that we are currently using with our prod setup that is running VoiceGuide 7.1.0 on an other server.

 

The calls are made from an OutDial_New.xml file.

 

Here’s the problem, after dialling, the system detects immediately that a human has answered and starts the script, even if the call has not been answered.

 

I get a ANSWERED_NORINGBACK. I tried modifying TID_RNGBK1 and TID_RNGBK2 configuration, but I always get the ANSWERED_ NORINGBACK.

 

Also, at the end of a call, the line hangs (without hanging up) executing a vbs. It stays there until I press the Hangup button in the line monitor.

 

I have compared the Config.xml and ConfigLine.xml with our production Config files and they are the same.

1227_CallEvents.txt

1227_ktTel.txt

1227_1118_vgEngine.txt

1227_ktTts.txt

1227_vgService.txt

Config.xml

ConfigLine.xml

OffreSiHumain.vgs

OffreSiRepondeur.vgs

OutDial_New.xml

vg.ini

Share this post


Link to post

The card we currently use in our production systeme is a Dialogic D/4PCI-U , I don't know if it makes a difference.

Share this post


Link to post

This system is using traditional analog telephone lines plugged into an Analog Dialogic card.

Looks like on this outgoing call the Dialogic card is not detecting any 'Ringback' tones after the call is made, and after 5 seconds it decides that as there are no ringback tones heard the call must have been answered immediately.

In these cases the "Live Person Answer" script is ran, but the Result variable $RV[OutDial_Result] is set to: "ANSWERED_NORINGBACK", and you can use this $RV to then better handle this case in the "Live Person Answer" script.

But the correct resolution is to configure the Dialogic card to correctly detect ringback tones on this line.

 

First step would be to test the telephone line used to confirm what is heard on that line when the outgoing call is made.

Looks like the destination number that is dialed does actually ring, yes?

Is the telephone line used a line straight from a Telco, or is this a PBX extension line?

Can you attach the line used to a traditional analog telephone handset and dial the number manually and just listen as to what is played on that line. Do you hear any ringback tones at all after dialing? Can you do a rough estimate of how long after dialing the number do the ringback tones begin playing?

If some ringback tones are heard can you make a recording of what is heard. To do the recording just make a script with a single 'Record' type module and use that script as the "Live Person Answer" script. Then make the outgoing call as usual and post the recording that is made. This will let us see what the ringback tone on this line sounds like.

Dialogic's default ringback detection works well for most standard ringback tones, but looks like the ringback tone played o these lines is a different enough to not be detected by the default settings. The Dialogic card setting can be changed to detect different tones once we know what are the tone frequencies and cadence are.

 

vgEngine trace shows:

111834.496  18   1   1     1 state Dialing (auto) 4503739144 |
111834.496  18   1   1     1 t     timer set   45 sec : EV_TIMEOUT_MAKECALL_NORESPONSE
111834.531  19   1   1     1 ev    ktTel_Completion (genericEv) 10000 0,Completion_MakeCall, crn=20000001, 536870913,0,0,4503739144,,<result>ok</result><crn>536870913</crn><crnx>20000001</crnx>
111835.072  22   1   1     1 ev    Dialogic 135,TDX_SETHOOK, crn=20000001, 0,0,0,DX_OFFHOOK,CALL_OUTBOUND,
111835.074  22   1   1     1 ev    Dialogic 134,TDX_CST, crn=20000001, 13717,0,0,DE_LCON,,
...
111840.700  22   1   1     1 ev    CallState TDX_CALLP_CR_CNCT, crn=20000001, iEvent=0 ,256,2,4, s1:, s2:, s3:, build_date: 2019-12-12 22:39:50.66
111840.700  22   1   1     1 ev    Dialogic 133,TDX_CALLP, crn=20000001, 9,0,0,CR_NORB,,

 

Share this post


Link to post

The ringback tone detection setup and performance of the D/4PCIUF and D/41JCT are the same.

Share this post


Link to post
Quote

I tried modifying TID_RNGBK1 and TID_RNGBK2 configuration,

Did you try modifying the tone definitions by editing the settings in VoiceGuide's ConfigLine.xml file, or did you perhaps use the Dialogic's "TSF File" approach?

 

Provided traces show that the default Ringback tone definitions were used on the call.

The ktTel trace shows:

200 111824.264 13164               tone loaded from ConfigLine idx=11 TID_RNGBK1:254 438:138 0:0 130:105 400:200 1
201 111824.264 13164               tone loaded from ConfigLine idx=12 TID_RNGBK2:256 438:138 438:138 130:105 400:200 1

Which match the values set in the default settings in ConfigLine.xml installed on analog systems:

<Tone Name="Call Progress Tone TID_RNGBK1">
<Notes>Ringback 1 Default Setting</Notes>
<ID>TID_RNGBK1</ID>
<Freq1>438</Freq1>
<Freq1Dev>138</Freq1Dev>
<Freq2>0</Freq2>
<Freq2Dev>0</Freq2Dev>
<On>130</On>
<OnDev>105</OnDev>
<Off>400</Off>
<OffDev>200</OffDev>
<Count>1</Count>
</Tone>

<Tone Name="Call Progress Tone TID_RNGBK2">
<Notes>Ringback 2 Default Setting</Notes>
<ID>TID_RNGBK2</ID>
<Freq1>438</Freq1>
<Freq1Dev>138</Freq1Dev>
<Freq2>438</Freq2>
<Freq2Dev>138</Freq2Dev>
<On>130</On>
<OnDev>105</OnDev>
<Off>400</Off>
<OffDev>200</OffDev>
<Count>1</Count>
</Tone>

(and are also listed here: https://www.voiceguide.com/vghelp/source/html/confTones.htm )

Share this post


Link to post

 

On ‎2019‎-‎12‎-‎30 at 6:42 PM, SupportTeam said:

Looks like the destination number that is dialed does actually ring, yes?

Yes

On ‎2019‎-‎12‎-‎30 at 6:42 PM, SupportTeam said:

Is the telephone line used a line straight from a Telco, or is this a PBX extension line?

PBX entension line

On ‎2019‎-‎12‎-‎30 at 6:42 PM, SupportTeam said:

Can you attach the line used to a traditional analog telephone handset and dial the number manually and just listen as to what is played on that line. Do you hear any ringback tones at all after dialing? Can you do a rough estimate of how long after dialing the number do the ringback tones begin playing?

We did a test with an analog telephone, I confirm that we hear un ringback tone, it starts around 1 second after dialing.

On ‎2019‎-‎12‎-‎30 at 6:42 PM, SupportTeam said:

If some ringback tones are heard can you make a recording of what is heard. To do the recording just make a script with a single 'Record' type module and use that script as the "Live Person Answer" script. Then make the outgoing call as usual and post the recording that is made. This will let us see what the ringback tone on this line sounds like.

I have try this test, I only get a small piece of the ringback tone because Voiceguide detects a silence and hang up right away (around 15 seconds after the dialing starts). I have tried to put a 30 seconds timeout detection in the recoding module before going to hangup module, but it keeps hanging up after 15 seconds. I have attached the recording and the script. 

0103_0000_vgEngine.txt

0103_1302_vgEngine.txt

0103_CallEvents.txt

0103_ktTel.txt

0103_vgService.txt

OffreSiHumain3.vgs

TEST.wav

Share this post


Link to post

Right now the tones from ConfigLine.xml are not being loaded as there looks to be a XML syntax problem in that file.

vgEngine trace shows "The 'Notes' start tag on line 122 position 2 does not match the end tag of 'Tones'. Line 334, position 3." :

130246.522  18                     load Distinct Ring definitions start [C:\Program Files (x86)\VoiceGuide\conf\ConfigLine.xml]
130246.527  22   1   1       ev    CallState TDX_SETHOOK_DX_ONHOOK, crn=0, iEvent=0 ,1,0,32, s1:, s2:, s3:, build_date: 2019-12-12 22:39:50.66
130246.527  22   1   1             q_scr +     evCallState 0 TDX_SETHOOK_DX_ONHOOK
130246.528  18               ERROR v7.6.17 - 7.6.7285.40796 (2019-12-12 22:39:50.66) DistinctRingDefinitions_xmlDoc_ConfigLine.Load : The 'Notes' start tag on line 122 position 2 does not match the end tag of 'Tones'. Line 334, position 3.

and the ktTel trace shows:

204 130246.609  9564   1   1 ERROR xml   parse error at line 334:mismatched tag

So right now we cannot see what the Ringback tone detection configuration is.

Please check the ConfigLine.xml file and ensure that it is in correct syntax. The settings to use for the Ringback tone are below:

 

 

Traces for the captured calls show that the "No Ringback" return is still made by Dialogic about 12 seconds after the number is dialed:

130405.160  18   1   1     1       dial  making call LineState settings: tel[94503739144,,,,2112] live[C:\Program Files (x86)\VoiceGuide\Scripts\CEZinc\OffreSiHumain3.vgs] am[C:\Program Files (x86)\VoiceGuide\Scripts\CEZinc\OffreSiRepondeur.vgs] fax[] noAnswer[C:\Program Files (x86)\VoiceGuide\Scripts\CEZinc\sOnNotConnected.vbs] retriesEnd[] OnHangup[] rv[[ClientID]{80572}[ClientName]{Jocelyn Robineault}[FileName]{test_overopp_54595_80572_1}[Test]{True}[JobDescription]{Nous avons besoin dun Opérateur Fours De Grillage le 30 Novembre à 15 heures}[OutDial_RetriesLeft]{0}[OutDial_CampaignName]{}[OutDial_ID]{48}[OutDial_GUID]{6f103c42-f17f-42c2-9b57-f1f9d273ccaa}] options=[]
130405.160  18   1   1     1 state Dialing (auto) 94503739144,,,,2112 |
130405.198  19   1   1     1 ev    ktTel_Completion (genericEv) 10000 0,Completion_MakeCall, crn=20000001, 536870913,0,0,94503739144,,,,2112,,<result>ok</result>
130405.736  22   1   1     1 ev    Dialogic 135,TDX_SETHOOK, crn=20000001, 0,0,0,DX_OFFHOOK,CALL_OUTBOUND,
130405.738  22   1   1     1 ev    Dialogic 134,TDX_CST, crn=20000001, 65535,0,0,DE_LCON,,
130417.360  22   1   1     1 ev    CallState TDX_CALLP_CR_CNCT, crn=20000001, iEvent=0 ,256,2,4, s1:, s2:, s3:, build_date: 2019-12-12 22:39:50.66
130417.361  22   1   1     1 ev    Dialogic 133,TDX_CALLP, crn=20000001, 9,0,0,CR_NORB,,
130417.603  18   1   1     1 state [Record 2] Recording C:\Program Files (x86)\VoiceGuide\Scripts\CEZinc\TEST.wav | 
130420.478  22   1   1     1 ev    Silence
130420.478  22   1   1     1 ev    Dialogic 130,TDX_RECORD, crn=20000001, 0,0,0,TM_MAXSIL,,
130420.500  22   1   1     1 ev    RecEnd 1478678833 


334 130405.179  9564   1   1 fn    LineMakeCall(iLineId=1, iCallRequestId=0 (ignored), strNumberToCall=[94503739144,,,,2112], callprog=DX_PAMDOPTEN, timeout=35, params:0,0,cidtosend=[],opt=[<DX_CAP><ca_cnosig>400</ca_cnosig><ca_pamd_failtime>200</ca_pamd_failtime></DX_CAP>])
359 130405.737 20120               CleanDialString [94503739144,,,,2112]=>[94503739144,,,,2112]
360 130405.737 20120   1   1       dx_dial (1,[94503739144,,,,2112], call progress ON) call
362 130405.738 20120   1   1 ev    TDX_CST (CST Event Received)
365 130417.357 20120   1   1 ev    TDX_CALLP (Call Progress Completed)
368 130417.360 20120   1   1 r     CallState(1, 20000001, 0, TDX_CALLP_CR_CNCT, 256, 2, 4, , , )
369 130417.361 20120   1   1 r     Dialogic  TDX_CALLP 133 (9 0 0 CR_NORB  )
371 130417.613  9564   1   1 fn    RecordFileStart(iLineId=1, iActionID=1478678833, sFileName=C:\Program Files (x86)\VoiceGuide\Scripts\CEZinc\TEST.wav, iPlayBeep=0, sXMLOptions=)
372 130417.617  9564   1   1       RecStart(hLine=1, strSoundFile=C:\Program Files (x86)\VoiceGuide\Scripts\CEZinc\TEST.wav, lRecId=1478678833 iPlayBeepBeforeRec=0, keys-notused sXMLOptions=)
379 130417.630  9564   1   1       rec silence detection enabled in TPT. len=10
385 130420.471 20120   1   1 ev    TDX_RECORD (Record Completed)
388 130420.477 20120   1   1 r     Silence
389 130420.478 20120   1   1 r     Dialogic  TDX_RECORD 130 (0 0 0 TM_MAXSIL  )

 

so the script that does the recording only starts 12 seconds after the dialing completes.

The recording right now stops is when silence is heard, so it ends when there is silence between ringback tones, but we can see that the ringback tone consists of two frequencies: 440Hz and 480Hz, and looks like it lasts for about 1.8 seconds, with a silence of 1 second or more in between.

Based on that would recommend setting the ringback tone definition (TID_RNGBK1) to:

<Tone Name="Call Progress Tone TID_RNGBK1">
<Notes>Ringback 1 Default Setting</Notes>
<ID>TID_RNGBK1</ID>
<Freq1>440</Freq1>
<Freq1Dev>80</Freq1Dev>
<Freq2>480</Freq2>
<Freq2Dev>80</Freq2Dev>
<On>200</On>
<OnDev>100</OnDev>
<Off>200</Off>
<OffDev>150</OffDev>
<Count>1</Count>
</Tone>

image.thumb.png.31506f9cd666bb273035cb567a4d38aa.png

 

 

 

Share this post


Link to post

To have the script start and hence for the recording to commence immediately after the dialing completes you will need to set the "Answering Machine" script to:

disable

and for the recording to not stop because of silence between the ringbacks you will need to set the VG.INI setting SilenceDetectLength (in section [PlayRecordConfig]) to larger value. eg: 30, like this:

[PlayRecordConfig]
SilenceDetectLength=30

VoiceGuide service will need to be restarted to read in the new VG.INI settings.

If you still have issues with ringback detection after updating the ConfigLine.xml with TID_RNGBK1 values advised in previous post please use the settings advised here to create a recording that starts immediately after the number is dialed.

 

Share this post


Link to post

The second ringback detector (TID_RNGBK2) can be set to:

<Tone Name="Call Progress Tone TID_RNGBK2">
<Notes></Notes>
<ID>TID_RNGBK2</ID>
<Freq1>440</Freq1>
<Freq1Dev>100</Freq1Dev>
<Freq2>0</Freq2>
<Freq2Dev>0</Freq2Dev>
<On>250</On>
<OnDev>150</OnDev>
<Off>400</Off>
<OffDev>350</OffDev>
<Count>1</Count>
</Tone>

 

Share this post


Link to post

Once we have a full recording of the ringback tone that captures the full length of the tones and the silences in between we can adjust the TID_RNGBK1 and TID_RNGBK2 settings to more precisely match what we want the Dialogic card to detect.

Sp if you do make a long recording that captures multiple ringback cycles please post it here and we can then advise how to set ConfigLine.xml to better detect them (and detect their absence).

 

Share this post


Link to post

I corrected the ConfigLine.xml  and configured the TID_RNGBK1 and TID_RNGBK2 as mentionned.

I modified the value of SilenceDetectLength to 60 in the vg.ini file and restarted the service. (30 wasn't enough)

I have disabled the Answering Machine.

I have attached the recording and logs of the test.

 

I have tried with my normal outdial file and still got an ANSWERED_NORINGBACK and the call did not hang up at the end.  (second call in the logs, same number)

ConfigLine.xml

Config.xml

0106_vgService.txt

0106_ktTts.txt

0106_ktTel.txt

0106_CallEvents.txt

0106_1558_vgEngine.txt

TEST.wav

vg.ini

Share this post


Link to post

The ringback cadence is:

ON: 2 seconds

OFF: 4 seconds.

and ringback tone consists of two frequencies: 440Hz and 480Hz.

 

This is a pretty standard ringback and the default ringback settings that were originally used should have detected this ringback tone, so not sure why they did not...

 

Please set TID_RNGBK1 to:

<Tone Name="Call Progress Tone TID_RNGBK1">
<Notes>Ringback 1 Default Setting</Notes>
<ID>TID_RNGBK1</ID>
<Freq1>440</Freq1>
<Freq1Dev>80</Freq1Dev>
<Freq2>480</Freq2>
<Freq2Dev>80</Freq2Dev>
<On>200</On>
<OnDev>100</OnDev>
<Off>400</Off>
<OffDev>100</OffDev>
<Count>1</Count>
</Tone>

and TID_RNGBK2 to:

<Tone Name="Call Progress Tone TID_RNGBK2">
<Notes></Notes>
<ID>TID_RNGBK2</ID>
<Freq1>440</Freq1>
<Freq1Dev>100</Freq1Dev>
<Freq2>0</Freq2>
<Freq2Dev>0</Freq2Dev>
<On>200</On>
<OnDev>100</OnDev>
<Off>400</Off>
<OffDev>100</OffDev>
<Count>1</Count>
</Tone>

and post traces as before.

These new settings better match the actual ringbacks, but as mentioned before, this ringback is within the envelope set by the original ringback definitions...

Is this a new card that is still under warranty? If these new settings do not work then we can start looking at Dialogic level logs.

 

Also, the reason why the 2nd call did not hang up by itself is because the disconnect tone was not detected.

Given the ringback on these lines is pretty standard we would expect for disconnect tone to be fairly standard as well, and detected using the default TID_DISCONNECT disconnect tone definition setting.

We would need a recording of the disconnect tone to confirm what settings should be used for the TID_DISCONNECT entry.  Please use a Record module to start recording an then just hangup and post the disconnect tone that is recorded.

The scripts can be also set to just hangup upon timeout, so inability to detect disconnect tone can be worked around, but if both the ringback an disconnect tone detections are not working then there may be something is wrong with tone detection on this card...

 

Share this post


Link to post

Can we please try two more tests. One when this setting is used for TID_RNGBK1:

<Tone Name="Call Progress Tone TID_RNGBK1">
<Notes>Ringback 1 Default Setting</Notes>
<ID>TID_RNGBK1</ID>
<Freq1>440</Freq1>
<Freq1Dev>80</Freq1Dev>
<Freq2>0</Freq2>
<Freq2Dev>0</Freq2Dev>
<On>200</On>
<OnDev>50</OnDev>
<Off>400</Off>
<OffDev>50</OffDev>
<Count>1</Count>
</Tone>

 

and the second test when this setting is used for TID_RNGBK1:

<Tone Name="Call Progress Tone TID_RNGBK1">
<Notes>Ringback 1 Default Setting</Notes>
<ID>TID_RNGBK1</ID>
<Freq1>440</Freq1>
<Freq1Dev>20</Freq1Dev>
<Freq2>480</Freq2>
<Freq2Dev>20</Freq2Dev>
<On>200</On>
<OnDev>50</OnDev>
<Off>400</Off>
<OffDev>50</OffDev>
<Count>1</Count>
</Tone>

 

The Dialogic log files are in "C:\Program Files (x86)\Dialogic\log\" directory. But as Dialogic drivers did not return errors when setting the tones then it is unlikely that any errors would be shown in the Dialogic logs.

If you can post a recording of the Disconnect tone then we can confirm what settings should be used for the TID_DISCONNECT / DISCONNECT_USER_1 entries and see if the Dialogic card can detect that tone.

Share this post


Link to post

Lets reset this system and do better Dialogic tracing and use newest version of VoiceGuide. Can you please do the following:

  1. Stop VoiceGuide Service.
  2. Stop Dialogic Service.
  3. Uninstall VoiceGuide. Remove all VoiceGuide directory if anything remains.
  4. Put attached RtfConfigWin.xml file in C:\ProgramData\Dialogic\cfg directory,. overwriting existing file there. (note: C:\ProgramData\ may be a 'hiodden' directory, you may need to make it 'visible' first).
  5. Start Dialogic Service.
  6. Download and install the latest VoiceGuide: v7.6.20 from our website. Do not make any changes to Configs etc. after installation. Just leave it as it is after the installation.
  7. Make outgoing call (use the VoiceGuide Outbound Call Loader)
  8. Post traces: VoiceGuide's ktTel, and the Dialogic's 'RTF' logs from "C:\Program Files (x86)\Dialogic\log\" directory.

Please .ZIP up all file into one .ZIP file before posting them

 

RtfConfigWin.xml

Share this post


Link to post

ok do you suggest actually to go back to version 7.6.6?

I have same issue exactly the same.

I'd rather not spend so much time like this person

Share this post


Link to post

The advice in previous post was to fully uninstall and install latest version (v7.6.20). This is to fully clear all the settings and start with a clean slate and provide full traces from this 'clean new' install.

The RtfConfigWin.xml file will enable higher level of Dialogic's logging, so would be good idea to install that file as well, and then restart Dialogic drivers to load the RtfConfigWin.xml settings.

 

Share this post


Link to post

That looks better.

Traces show 3 calls were made out from the system.

On the first call after 13 seconds the Dialogic card reported detecting an Answering Machine. The sound on the line after the answering machine was detected was then saved in file: C:\Program Files (x86)\VoiceGuide\temp\rec_am_1_1.wav_1_101846_813.wav

398 101833.866 14072   1   1 fn    LineMakeCall(iLineId=1, iCallRequestId=0 (ignored), strNumberToCall=[94503739144,,,2165], callprog=DX_PAMDOPTEN, timeout=60, params:0,0,cidtosend=[],opt=[])
444 101846.733  9848   1   1       TDX_CALLP CR_CNCT CON_PAMD ( connection due to Positive Answering Machine Detection)
455 101846.816 14072   1   1       open save file (hli->strRecFnameToRecInto=C:\Program Files (x86)\VoiceGuide\temp\rec_am_1_1.wav_1_101846_813.wav) => fd=5 ok no_dxuio

 

The second call was made while call on 1st channel was still active, so the outgoing calls was attempted on line 2. Looks like currently there is no telephone line attached to line 2 so that call could not be made:

463 101904.214 14072   2   2 fn    LineMakeCall(iLineId=2, iCallRequestId=0 (ignored), strNumberToCall=[94503739144,,,2165], callprog=DX_PAMDOPTEN, timeout=60, params:0,0,cidtosend=[],opt=[])
501 101904.863  9848   2   2 ALERT RLS_LCSENSE - loop current not present. Working phone line not attached.

 

On 3rd call after 14 seconds the Dialogic card advised that the call was answered by a live person, but looks like no script was set to be ran upon live person answer, so the call was hung up:

567 101948.488 14072   1   1 fn    LineMakeCall(iLineId=1, iCallRequestId=0 (ignored), strNumberToCall=[94503739144,,,2165], callprog=DX_PAMDOPTEN, timeout=60, params:0,0,cidtosend=[],opt=[])
613 102002.617  9848   1   1       TDX_CALLP CR_CNCT CON_PVD (connection due to Positive Voice Detection)
617 102003.638 14072   1   1 fn    DropCall(sLineId=1, sXMLOptions=[], crn=20000003)

 

If you can post the vgEngine trace file from that time then we can confirm whether it was the lack of 'live Answer' script that resulted in call hangup, or whether it was some other cause.

Also, if you can post the C:\Program Files (x86)\VoiceGuide\temp\rec_am_1_1.wav_1_101846_813.wav we can then hear what sounds on the line caused the Dialogic card to report that an answering machine answered the call. Looks like that sound persisted as the recording went on for 40 seconds...

 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×