VoiceGuide IVR Software Main Page
Jump to content

Detecting Busy On Pri Isdn Dialogic D/600

Recommended Posts

Making transfer call tests I see two problems with busy status detection.

First: when target phone station terminating (ending) call VG ending connection after few seconds not immediately.

Second: when target phone station is busy VG ending connection but should forward to next element of script.

 

How I should setup elements in VG or DIALOGIC CARD to detecting busy status of target phone station?

 

It look like analog card reactions (analog detecting busy signal) not digital (D channel).

I have no experience with Dialogic cards i work with Eicon Diva pri cards and with Telebutler software where i have no this kind of problems.

I want to migrate with my Systems to VG but is necessary to solve some problems.

Share this post


Link to post

Can you please post VoiceGuide traces which capture the call.

We can then see what is happening on your system and advise resolution.

Share this post


Link to post

I want to join two TOPICS:

"Detecting Busy On Pri Isdn Dialogic D/600" and "Announced Call No Demand".

 

Attachment includes logs of two connections.

1st connection - transfered to number 566453826 with announcement (in transfer module active was "Dialout and Conference - Monitored" option and no "Announced" checked)

 

2nd connection - target phone number was busy and VG hangup connection

Paths in transfer module look:

on {answer} goto [Turn Off Silence Detection call]

on {success} goto [Turn Off Silence Detection call]

on {BUSY} goto [connecting result = 1]

on {fail} goto [connecting result = 3]

on {timeout 20} goto [connecting result = 2]

 

I expected that connection will forwarded to next element of script - {BUSY} or {fail} way.

sisti logs.zip

Share this post


Link to post

1st Connection:

 

Can you please try specifying

 

none

 

in the "announce message" field and see if this resolves the announce message playing bug that looks like you are encountering.

 

 

2nd Connection.

 

The fail path was taken. The trace is showing the module "connecting result = 3" was ran after the outgoing call got did not result in destination number ringing.

 

 

115844.156 6 2 1 outgoing leg disconencted, take fail path {OTHER_LEG_Disconnected}

115844.156 6 2 1 t timer clear (force=False)

115844.156 6 2 1 RunModule start Database Query, [connecting result = 3], iModuleIdx=57, previous: vgm=78, vgs=1

115844.156 6 2 1 state [connecting result = 3] DB Query

Share this post


Link to post

OK i found that VG trying to connect and detect that target line is busy but still I can't breaking script to go forward.

 

VG writing data in "connecting result - ..." module, next to "offset + 1" and in log file i see that VG should to play "komunikaty\50003.wav" file but it doesn't working.

 

 

173104.328 6 2 1 PrepareAndPlayWavAndTts start iModuleIdx=70, iPlayFileIdx=1, bMakeTtsFile=True, sSoundFileIs=

173104.328 6 2 1 PrepareAndPlayWavAndTTS sPlayFile=komunikaty\50003.wav

173104.328 6 2 1 state [we are connecting_35] Playing wav (komunikaty\50003.wav)

 

Call is terminated but should to use next module: "telefon" and go to "Transfer Call 8" and try to connect with next phone number.

post-4030-12948504309_thumb.jpg

0112_1730_vgEngine.zip

Share this post


Link to post

When 2nd leg of call is disconnected your script is in module [we are connecting_35]

That module does not have the path OTHER_LEG_Disconnected specified, so the system hangs up orignal leg of the 'dial and conference' call.

 

You should add path

 

on {OTHER_LEG_Disconnected} goto [telefon]

 

in module [we are connecting_35]

 

 

 

173104.156 6 2 1 qScr run evScriptEvent sCode=[OTHER_LEG_Dialing] iActionID=0, crn=0[16|0|16|0|0][|||||]

173104.156 6 2 1 scriptevent OTHER_LEG_Dialing 16|0|16 ||

173104.171 6 2 1 LsXfer_7_dc_WaitOutcomeOutgoingCall_InLeg : [OTHER_LEG_Dialing], 0(EV_UNKNOWN_0),16,0,16,,,), xferType=32, leg2=88

173104.171 6 2 1 x7_dc_in before XFER_ANN_ACCEPTED test. sCode=OTHER_LEG_Dialing

173104.171 6 2 1 path {OTHER_LEG_Dialing} found (at offset 349)

 

173104.328 6 2 1 state [we are connecting_35] Playing wav (komunikaty\50003.wav)

 

173106.093 6 2 1 scriptevent OTHER_LEG_Disconnected 16384|0|64 ||

173106.093 6 2 1 LsPlayMsg EV_UNKNOWN_0,OTHER_LEG_Disconnected

173106.093 6 2 1 path {OTHER_LEG_Disconnected} not found

173106.093 6 2 1 hanging up 1st leg of call (other leg cause)

Share this post


Link to post

I want to reach simple functionality but i can't.

Simply dial first number, when "busy" or "noanswer" get second number and call, when second number is "busy" or "noanswer" get third number and try to connnect.

When it's impossible then play for example "all are busy, call later" from TTS.

 

Can You send me working sample of this functionality?

 

I'm looking for solution like child in fog.

It's main problem witch stopped me to migrate to VG.

Share this post


Link to post
call was terminated without playing state [we are connecting_35] Playing wav (komunikaty\50003.wav)

 

It looks like the script is setup to move on to another module as soon as the number for the conference is being dialed. This takes VoiceGuide script out of the call transfer module and once that is done the various events that are generated during the trombone transfer are no longer automatically handled. The various events then need to be manually handled and acted upoin in whatever modules are being ran.

 

 

I want to reach simple functionality but i can't.

If you want a have simple functionality then its best not let the script stay in the call transfer module and let the call transfer module manage the transfer. Right now looks like the script is designed to do some database interaction and playing of sound files immediately when dialing of the 2nd number has started.

Would recommend that you just let the script stay in the transfer module, and just have two paths:

on {success} goto [Turn Off Silence Detection call]

on {fail} goto [connecting result = 3]

Which will be taken when the call transfer cannot be completed.

Share this post


Link to post
Where can I to setup "noanswer" time parameter?

Use a timeout path. It looks like this path is defined already in the script:

 

on {timeout 20} goto [connecting result = 2]

Share this post


Link to post

Can You analyzing this script and logs?

First connection was successfully but i was transfered witch announcing (should be only monitored)

Second connection was redirected to first phonenumber (was busy) and then terminated without any real try to connect with second phonenumber.

 

Can You help me in this example? please fully working script.

 

Is anybody who can help me online?

 

 

Maciej

+48502131658

test sisti.zip

Share this post


Link to post

Hi,

 

Maybe someone have an experience in this kind of problems (maybe in Europe) and can help me online?

I speak german, english.

Is anybody in Europe who using VoiceGuide successfully and can share his/her experience?

Or can share working script (part of script) with multiple try to connect (looking first available consultant).

 

 

Maciej Zasadzki

e-mail: maciej.zasadzki@invoso.com

mobile: +48502131658

skype: maciej_zasadzki

Share this post


Link to post

Please update your system to this version:

[old link removed]

to update just run the new install over the top of your current installation. No need to uninstall anything.

Please post trace capturing the 2 call scenarios as before.


Also, it looks like you would like to record the conferenced call after it is connected. To do this yo will need to use Record_2Lines_Start
please see \Scripts\2 Line Rec\2LineRec.vgs in VG's directory, and:
http://www.voiceguide.com/vghelp/source/html/com_record_2lines_start.htm

Share this post


Link to post

Hello,

 

thanks it solved problem with busy detection.

Now is only noanswer status to correct.

 

0117_0953_vgEngine.zip - This log showing connection where 5233602096 was busy (reaction OK) and 523602095 no answered and don't go to third phone number.

 

I used timeout (20) for an "noanswer" mode but VG terminating call without forwarding to "set 3 telefon".

 

I don't know where is parameter for "noanswer" mode in VG. Only "timeout" is right way in this case?

sisti log.zip

0117_0953_vgEngine.zip

test.zip

Share this post


Link to post

We should have a version with a fix for this available in a couple of hours.

 

 

from 0953_vgEngine:

 

 

095421.993 6 2 1 state [Transfer Call 27_23] Monitored Dial and Connect to 523602095

095423.337 18 7 3 state Dialing 523602095... Ringing...

095441.993 4 2 1 timer EV_TIMEOUT_GOTOMODULE

095441.993 6 2 1 state [set 3 telefon] Evaluate [509914957]

095441.993 6 2 1 FindNextVgmTitleInPathList: next module title is=[Transfer Call 27_22]

095441.993 6 2 1 t timer set 0,4 sec : EV_TIMEOUT_READYTOBEGINTRANSFER

 

 

095441.993 6 7 3 qScr run evScriptEvent sCode=[OTHER_LEG_EV_TIMEOUT] iActionID=0, crn=0[0|0|0|0|0][|||||]

095441.993 6 7 3 scriptevent OTHER_LEG_EV_TIMEOUT 0|0|0 ||

095441.993 6 7 3 LsXfer_7_dc_WaitOutcomeOutgoingCall_OutLeg : 9002,[OTHER_LEG_EV_TIMEOUT],0,0,0,,,

095441.993 6 7 3 LsXfer_7_dc_WaitOutcomeOutgoingCall_OutLeg leg1 end call event sCode=OTHER_LEG_EV_TIMEOUT

095441.993 6 7 3 HangupCall, source=LsXfer_7_dc_WaitOutcomeOutgoingCall_OutLeg remote, WorkModeScript=Running_Dialing, yLineStateAppPov=[Alerting], lPlayId=0, lRecId=0

095441.993 6 7 3 ScriptWorkingMode set Stopping, (called from HangupCall)

095441.993 6 7 3 ls set Disconnect_Pending (scriptstate=LS_ENDINGCALL)

095441.993 6 7 3 state Hanging up... [LsXfer_7_dc_WaitOutcomeOutgoingCall_OutLeg remote]

095441.993 6 7 3 rv add [Hangup Source]{LsXfer_7_dc_WaitOutcomeOutgoingCall_OutLeg remote}

095441.993 6 7 3 GoOnHoook_IssueDropCall start (hCall_crn=2800020, yLineStateAppPov=Disconnect_Pending)

095441.993 6 7 3 WriteToLogFiles_CurrScriptOnly begin

095441.993 6 7 3 WriteToLogFiles_CurrScriptOnly : LineState.iVgsIdx<=0

095441.993 6 7 3 RvSaveToLogFiles_CurrAndStack iScriptCallStack_LastUsed_Idx=0

095441.993 6 7 3 t timer set 10 sec : EV_TIMEOUT_WAITFORIDLEAFTERDropCall

095441.993 6 7 3 qTel add cmd_DropCall [0,0,0,0,0][||||]

095441.993 6 7 3 GoOnHoook_IssueDropCall end

095441.993 7 7 3 qTel run cmd_DropCall

095442.040 18 7 3 ev CallState GCEV_DROPCALL, crn=2800020, iEvent=2 ,1,0,32,,,]. vgEngine v7.2.4033.33861 (2011-01-16 18:48:41.82)

095442.040 18 7 3 qScr add evCallState 2 GCEV_DROPCALL

095442.040 6 7 3 qScr run evCallState sCode=[GCEV_DROPCALL] iActionID=0, crn=2800020[1|0|32|0|0][|||||]

095442.040 6 7 3 LineEvCallState crn=2800020 event=2|GCEV_DROPCALL iCallState=1calldirection=0 gcCallState=32 [||]

095442.040 6 7 3 LineEvCallState eLineStateThisEvent=Idle_NotYetReleased

095442.040 6 7 3 LineEvCallState ScriptState=LS_ENDINGCALL

095442.040 6 7 3 ls set Idle_NotYetReleased (scriptstate=LS_ENDINGCALL)

095442.040 6 7 3 yLineStateAppPov: Idle_NotYetReleased crn=2800020,ev=2,GCEV_DROPCALL,0, sParam1=

095442.040 6 2 1 qScr add evScriptEvent 0 OTHER_LEG_Idle_NotYetReleased

095442.040 6 7 3 LineEvCallState LINECALLSTATE_IDLE begin

095442.040 6 7 3 t timer clear (force=True)

095442.040 6 7 3 CallData.dateCallStartTime=2011-01-17 09:54:21

095442.040 6 7 3 rv add [CallHangupTime]{2011-01-17 09:54:42}

095442.040 6 7 3 WriteCDRlogs: begin (campaign=, CallData.iLineId=7)

095442.040 6 7 3 writing CDR logs

095442.040 6 7 3 cdr.sDisposition=NOANSWER

095442.040 6 7 3 NOTE strDialoutTelNbr=523602095, strCallerIdNbr=

095442.040 6 7 3 vg.ini/Log/CDR_LastData_SaveRv=0 - RVs XML will NOT be saved in LastApplicationData CDR field.

095442.040 6 7 3 rv replace start [$RV[CDR_amaflags]]

095442.040 6 rv dbg rv_retrieve did not find [CDR_amaflags] ( 43 44 52 5f 61 6d 61 66 6c 61 67 73)

095442.040 6 7 3 rv replace end []

095442.040 6 7 3 rv replace start [$RV[CDR_user]]

095442.040 6 rv dbg rv_retrieve did not find [CDR_user] ( 43 44 52 5f 75 73 65 72)

095442.040 6 7 3 rv replace end []

095442.040 6 7 3 rv replace start [$RV[CDR_usr]]

095442.040 6 rv dbg rv_retrieve did not find [CDR_usr] ( 43 44 52 5f 75 73 72)

095442.040 6 7 3 rv replace end []

095442.040 6 7 3 $RV[CDR_amaflags]=[], $RV[CDR_user]=[]

095442.040 6 7 3 CDR (out) : "","523602095","","","","","","","","'2011-01-17 09:54:21'","'0001-01-01 00:00:00'","'2011-01-17 09:54:42'",20,0,"NOANSWER","","" => C:\Program Files\VoiceGuide7\cdr\CDR_20110117_out.txt , C:\Program Files\VoiceGuide7\cdr\CDR_20110117_out_NOANSWER.txt

095442.040 6 7 3 no script running on this line. AfterHangup script will not be ran.

095442.056 6 7 3 AllScritpsCompleted_Cleanup start crn=2800020

095442.056 6 7 3 ScriptWorkingMode set Idle_WaitingForNextCall, (called from AllScritpsCompleted_Cleanup)

095442.056 6 7 3 logs not written as LogEntryWritten=1

095442.056 6 7 3 LineState_Reinit_AndReleaseCall: crn=2800020

095442.056 6 7 3 LineState_Reinit_CleanLineState : begin

095442.056 6 7 3 ls set Null_InGuardTimeAfterEndOfCall (scriptstate=LS_ENDINGCALL)

095442.056 6 7 3 ScriptWorkingMode set Idle_WaitingForNextCall, (called from LineState_Reinit_CleanLineState)

095442.056 6 7 3 linestate reinit iConferenceOtherLegLid=2

095442.056 6 7 3 ConferenceOtherLegLid_ClearBoth 7 2 (2nd was already cleared), caller:LineState_Reinit_CleanLineState

095442.056 6 7 3 LineState_Reinit_CleanLineState: not calling HangupCall on other line (7) explicitly. Suitable event should have been sent to that line already.

095442.056 6 7 3 strThisCallIsInboundOrOutbound clear. (LineState_Reinit_CleanLineState)

095442.056 6 7 3 qTel add cmd_ReleaseCall [0,0,0,0,0][||||]

095442.056 7 7 3 qTel run cmd_ReleaseCall

095442.056 6 7 3 t timer set 3 sec : EV_TIMEOUT_AFTERIDLE_ALLOWOUT

095442.056 6 7 3 state Waiting for a call...

095442.056 6 7 3 ScriptWorkingMode set Idle_WaitingForNextCall, (called from LineState_Reinit_AndReleaseCall)

 

095442.056 6 2 1 qScr run evScriptEvent sCode=[OTHER_LEG_Idle_NotYetReleased] iActionID=0, crn=0[1|0|32|0|0][|||||]

095442.056 6 2 1 scriptevent OTHER_LEG_Idle_NotYetReleased 1|0|32 ||

095442.056 6 2 1 LsXfer_1_Start : 0(EV_UNKNOWN_0),OTHER_LEG_Idle_NotYetReleased,1,0,32,,,

095442.056 6 2 1 path {OTHER_LEG_Idle_NotYetReleased} not found

095442.056 6 2 1 hanging up 1st leg of call (other leg cause)

095442.056 6 2 1 HangupCall, source=LsDefaultHandlers OTHER_LEG_endcall, WorkModeScript=Running_Normal, yLineStateAppPov=[Connected], lPlayId=495671, lRecId=0

095442.056 6 2 1 moduleTitle=[Transfer Call 27_22]

095442.056 6 2 1 ScriptWorkingMode set Stopping, (called from HangupCall)

095442.056 6 2 1 ls set Disconnect_Pending (scriptstate=LS_ENDINGCALL)

095442.056 6 2 1 state Hanging up... [LsDefaultHandlers OTHER_LEG_endcall]

 

 

 

Share this post


Link to post

Please update your system to this version:

[old link removed]

to update just run the new install over the top of your current installation. No need to uninstall anything.

Please post trace capturing the 2 call scenarios as before.

Share this post


Link to post

It's working better but why as "noanswer" i have to use "timeout"?

Now I can translate our scripts from other platform to VG.

Share this post


Link to post
It's working better but why as "noanswer" i have to use "timeout"?

For 'NOANSWER' cases a timeout value would have to be specified somewhere as well. (wait for telco/pbx 'Disconnect due to noanswer' event is usually too long for most users).

Its also common to have required max answer timeout different in different transfer modules, so a timeout path is used to let script designer indicate max wait time for call to be answered.

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
×