VoiceGuide IVR Software Main Page
Jump to content

Porttouse Row Order

Recommended Posts

Hi I'm having a question regarding the order or rows in porttouse table.

 

I have the following callque example (3 numbers in this table)

 

CallQue

ID1 Phonenumer1

ID2 Phonenumer2

ID3 Phonenumer3

 

 

Let assume that I want the campaign to be played on 3 lines, in porttouse I would have:

 

CallID Portnumber

ID1 1

ID1 2

ID1 3

ID2 1

ID2 2

ID2 3

ID3 1

ID3 2

ID3 3

 

But due to how i populate the table I have the following order in porttouse

CallID Portnumber

ID1 1

ID2 1

ID3 1

ID1 2

ID2 2

ID3 2

ID1 3

ID2 3

ID3 3

 

What is the correct one. I though there was no difference but it seems that there is when called by VG.

 

Share this post


Link to post

This is a database question, not a VoiceGuide related one. Suggest you post this question on MySQL forums. (as I understand that you are using MySQL as the DB engine)

 

The order in which a relational database such as MySQL chooses to report rows in a data set or table is not defined and can be anything it wants.

 

The order does not affect VoiceGuide operation as VoiceGuide uses the LIMIT/TOP/ORDER BY/etc clauses in it's SQL queries to have the database return only the single specific row that VoiceGuide requires.

 

If you have any questions regarding VoiceGuide operation then please post traces (.ZIPed) capturing the time during which your question arises, and indicate the specific time that you want us to look at and we can then advise why VoiceGuide acted the way that it did.

Share this post


Link to post

is it possible to have an exmaple of sql query made by VG when using mysql db and when using porttouse table .

It is difficult to point a time where the probleme occurs that's why I'm trying to understand how the porttouse table is applyed and used by VG to make sure that there is nothing wrong when uploading my rows in that table.

 

Tkx

Mh

Share this post


Link to post

You would be able to see all the actual SQL queries made by VoiceGuide if you turn on the SQL tracing on the MySQL server side. This way all the queries can be seen and the responses sent by the database can be seen.

 

What is the actual problem?

 

Why do you think there is a problem of any kind if you are even unable to determine at what time the supposed problem occurs?

 

From http://www.voiceguide.com/vghelp/source/ht...rnal_config.htm :

 

It's recommended to use the Dial List Loader application to load some calls into the database and then examine the database tables to see how the information is placed in the tables.

Share this post


Link to post

Hi Here isstrange behaviour that I have just experienced (not neccessarly linkted with porttouse question) :

 

The lines 1,2 and 9 are not dialing and the call length is about to 358.

on line 14 there is I see a script run but the call length is also at 350 (I can hang up manualy)

 

I have just stopped the machine while I was experiencing tht so the log are really on the right period.

 

I have restarted VG and seems ok. I wanted to understand what happens to fix it

 

tkx

Mh

 

0702_1708_vgEngine.zip

Share this post


Link to post

There is something strange about the way in which calls are returned from the database. This begins at the very first call retrieval.

 

Could you please set in vg.ini the vgEngine log level to be 20 and then restart system and just capture the first 2 minutes or so of system operation. Please have a similar amount of calls is in your database as during the test you have just done.

 

BTW. How many calls are in the database? Is the database on the same system as VG? How fast are the PCs/Servers that are used here?

 

 

170909.046 10 dial FindCallQueryCompleted some calls found (any lineid search), ID/GUID=111858/00000000-0000-0000-0000-000000000000, sTaskTimestamp=170906.906, diff=00:00:02.1406250

170909.062 10 dial FindCallQueryCompleted some calls found (any lineid search), ID/GUID=111858/00000000-0000-0000-0000-000000000000, sTaskTimestamp=170906.906, diff=00:00:02.1562500

 

170909.718 10 dial DbProcessQueue_Callback_DoWorkFindCall objDbDataReader_Stage2.Read() returned True

170909.718 10 dial DbProcessQueue_Callback_DoWorkFindCall objDbDataReader_Stage2.iFieldCount=18, sTaskTimestamp=170909.046, diff=00:00:00.6718750

170909.718 10 dial DbProcessQueue_Callback_DoWorkFindCall oOutCallData.iID=120533

170909.718 10 dial DbProcessQueue_Callback_DoWorkFindCall oOutCallData.guid is not used LinkField=[iD]

170909.718 10 dial DbProcessQueue_Callback_DoWorkFindCall oOutCallData.strPhoneNumber=[0474110582]

170909.718 10 dial DbProcessQueue_Callback_DoWorkFindCall oOutCallData.strPhoneNumberPrefix=[0]

170909.718 10 dial DbProcessQueue_Callback_DoWorkFindCall oOutCallData.datetimeActivation=[02/07/2009 16:56:51]

170909.718 10 dial live=C:\Program Files\VoiceGuide\Scripts\coriolis.vgs, am=C:\Program Files\VoiceGuide\Scripts\MV_coriolis.vgs, fax=, onNotAnswer=, onRetriesExhausted=

170909.718 10 dial iRetriesDelay_Seconds=10800

 

170910.015 10 dial callque update id/guid=120533/00000000-0000-0000-0000-000000000000 nextActivateTime=02/07/2009 20:09:09, retriesLeft=0, iRelatedPortNumber=1 : completed ok

170910.015 10 dial FindCallQueryCompleted a call was found. Port= 1, sTaskTimestamp=170909.046, diff=00:00:00.9687500

170910.015 10 1 dial StartOutgoingCall start tel[0474110582] live[C:\Program Files\VoiceGuide\Scripts\coriolis.vgs] am[C:\Program Files\VoiceGuide\Scripts\MV_coriolis.vgs] fax[] onNotAnswered[] onRetriesEnd[] rv[[CampaignName]{2009-07-02 13:06:24}[clientid]{1001}[clientlogin]{coriolis}[Nom]{BRUN STEPHANE}[prenom]{}[Adresse]{19 RUE FERNAND LEGER}[Zip]{38150}[Ville]{ROUSSILLON}] CampaignName[2009-07-02 13:06:24] options[] ID=120533

170910.015 10 1 ls set Dialing

170910.015 10 1 dial making call LineState settings: tel[00474110582] live[C:\Program Files\VoiceGuide\Scripts\coriolis.vgs] am[C:\Program Files\VoiceGuide\Scripts\MV_coriolis.vgs] fax[] noAnswer[] retriesEnd[] OnHangup[] rv[] options=[]

170910.031 10 1 answering machine detection enabled. sCallProgressOption = [DX_PAMDOPTEN]

170910.031 10 1 rv clear all

170910.031 10 1 rv add [CampaignName]{2009-07-02 13:06:24}

170910.031 10 1 rv add [clientid]{1001}

170910.031 10 1 rv add [clientlogin]{coriolis}

170910.031 10 1 rv add [Nom]{BRUN STEPHANE}

170910.031 10 1 rv add [prenom]{}

170910.031 10 1 rv add [Adresse]{19 RUE FERNAND LEGER}

170910.031 10 1 rv add [Zip]{38150}

170910.031 10 1 rv add [Ville]{ROUSSILLON}

170910.031 10 1 rv add [OutDial_RetriesLeft]{1}

170910.031 10 1 state Dialing 00474110582

170910.031 10 1 t timer set 30 sec : EV_TIMEOUT_MAKECALL_NORESPONSE

170910.031 10 1 ls set Dialing

170910.031 10 1 rvns add [OutDial_Result]{NOTCONTACTED}

170910.031 10 1 rvns add [OutDial_Result]{NOANSWER}

170910.031 10 1 ktTel_MakeCall_Enqueue([00474110582],DX_PAMDOPTEN, 30,0,0,,) call

170910.031 10 1 qTel add cmd_MakeCall [0,0,30,0,0][||00474110582|DX_PAMDOPTEN|]

170910.031 7 1 qTel run cmd_MakeCall

 

170910.046 10 dial DbProcessQueue_Callback_DoWorkFindCall objDbDataReader_Stage2.Read() returned True

170910.046 10 dial DbProcessQueue_Callback_DoWorkFindCall objDbDataReader_Stage2.iFieldCount=18, sTaskTimestamp=170909.062, diff=00:00:00.9843750

170910.046 10 dial DbProcessQueue_Callback_DoWorkFindCall oOutCallData.iID=120536

170910.046 10 dial DbProcessQueue_Callback_DoWorkFindCall oOutCallData.guid is not used LinkField=[iD]

170910.046 10 dial DbProcessQueue_Callback_DoWorkFindCall oOutCallData.strPhoneNumber=[0474860601]

170910.046 10 dial DbProcessQueue_Callback_DoWorkFindCall oOutCallData.strPhoneNumberPrefix=[0]

170910.046 10 dial DbProcessQueue_Callback_DoWorkFindCall oOutCallData.datetimeActivation=[02/07/2009 16:57:19]

170910.046 10 dial live=C:\Program Files\VoiceGuide\Scripts\coriolis.vgs, am=C:\Program Files\VoiceGuide\Scripts\MV_coriolis.vgs, fax=, onNotAnswer=, onRetriesExhausted=

170910.046 10 dial iRetriesDelay_Seconds=10800

 

170910.171 10 dial callque update id/guid=120536/00000000-0000-0000-0000-000000000000 nextActivateTime=02/07/2009 20:09:10, retriesLeft=0, iRelatedPortNumber=1 : completed ok

170910.171 10 dial FindCallQueryCompleted a call was found. Port= 1, sTaskTimestamp=170909.062, diff=00:00:01.1093750

 

170910.171 10 1 dial StartOutgoingCall start tel[0474860601] live[C:\Program Files\VoiceGuide\Scripts\coriolis.vgs] am[C:\Program Files\VoiceGuide\Scripts\MV_coriolis.vgs] fax[] onNotAnswered[] onRetriesEnd[] rv[[CampaignName]{2009-07-02 13:06:24}[clientid]{1001}[clientlogin]{coriolis}[Nom]{BRUNEL ROGER}[prenom]{}[Adresse]{RUE JEAN MOULIN}[Zip]{38150}[Ville]{ROUSSILLON}] CampaignName[2009-07-02 13:06:24] options[] ID=120536

170910.171 10 1 ls set Dialing

170910.171 10 1 dial making call LineState settings: tel[00474860601] live[C:\Program Files\VoiceGuide\Scripts\coriolis.vgs] am[C:\Program Files\VoiceGuide\Scripts\MV_coriolis.vgs] fax[] noAnswer[] retriesEnd[] OnHangup[] rv[[CampaignName]{2009-07-02 13:06:24}[clientid]{1001}[clientlogin]{coriolis}[Nom]{BRUN STEPHANE}[prenom]{}[Adresse]{19 RUE FERNAND LEGER}[Zip]{38150}[Ville]{ROUSSILLON}[OutDial_RetriesLeft]{1}] options=[]

170910.171 10 1 answering machine detection enabled. sCallProgressOption = [DX_PAMDOPTEN]

170910.171 10 1 rv clear all

170910.171 10 1 rv add [CampaignName]{2009-07-02 13:06:24}

170910.171 10 1 rv add [clientid]{1001}

170910.171 10 1 rv add [clientlogin]{coriolis}

170910.171 10 1 rv add [Nom]{BRUNEL ROGER}

170910.171 10 1 rv add [prenom]{}

170910.171 10 1 rv add [Adresse]{RUE JEAN MOULIN}

170910.171 10 1 rv add [Zip]{38150}

170910.171 10 1 rv add [Ville]{ROUSSILLON}

170910.171 10 1 rv add [OutDial_RetriesLeft]{1}

170910.171 10 1 state Dialing 00474860601

170910.171 10 1 t timer set 30 sec : EV_TIMEOUT_MAKECALL_NORESPONSE

170910.171 10 1 ls set Dialing

170910.171 10 1 rvns add [OutDial_Result]{NOTCONTACTED}

170910.171 10 1 rvns add [OutDial_Result]{NOANSWER}

170910.171 10 1 ktTel_MakeCall_Enqueue([00474860601],DX_PAMDOPTEN, 30,0,0,,) call

170910.171 10 1 qTel add cmd_MakeCall [0,0,30,0,0][||00474860601|DX_PAMDOPTEN|]

Share this post


Link to post
There is something strange about the way in which calls are returned from the database. This begins at the very first call retrieval.

>> you understand better my fist post :-)

 

 

 

Could you please set in vg.ini the vgEngine log level to be 20 and then restart system and just capture the first 2 minutes or so of system operation. Please have a similar amount of calls is in your database as during the test you have just done.

 

>> this is done see attachements

 

BTW. How many calls are in the database? Is the database on the same system as VG? How fast are the PCs/Servers that are used here?

>> in the callQue table I have about 13000 entries but only 3000 with a ActivateTime whitch allows to be dialed.

>> I'm running VG and Mysql on the same server

>> pc is a intel pentium dual CPU, 2.40Ghz, 3Go RAM

>> I have experienced that since I have changed the order in which I store entries in porttouse table ( have explained in the first post)

 

Thank you

 

0703_1241_vgEngine.zip

Share this post


Link to post

Can you please tell us more about the system setup. Is this just a normal install of Windows with just Windows +Dialogic+VoiceGuide+MySQL or is there something else running on this system?

 

The trace shows some strange behavior.

 

Could you update the VoiceGuide to the latest version available from our WWW to see if this behavior still exists when the latest release version is used?

 

 

124200.359 4 0 dial timerStartDueDials_Tick entry

124200.359 21 0 dial timerStartDueDials_Tick entry

124200.359 4 0 dial DbProcessQueue_QueueForWork call from timerStartDueDials_Tick entry

124200.359 21 0 dial DbProcessQueue_QueueForWork call from timerStartDueDials_Tick entry

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
×