VoiceGuide IVR Software Main Page
Jump to content

dialout termination timestamp

Recommended Posts

Hi, I need add feature to dialout (callque table) to ignore (stop) dialout when stoptime is over.


config like this not working


<OutDialQue_SqlSuffix>AND server=xx and stoptime < now()  LIMIT 1</OutDialQue_SqlSuffix>



because VG shows in logs:

   w Npgsql.NpgsqlState.<ProcessBackendResponses_Ver_3>d__a.MoveNext()
   w Npgsql.ForwardsOnlyDataReader.GetNextResponseObject()
   w Npgsql.ForwardsOnlyDataReader.GetNextRowDescription()
   w Npgsql.ForwardsOnlyDataReader.NextResult()
   w Npgsql.ForwardsOnlyDataReader..ctor(IEnumerable`1 dataEnumeration, CommandBehavior behavior, NpgsqlCommand command, NotificationThreadBlock threadBlock, Boolean synchOnReadError)
   w Npgsql.NpgsqlCommand.GetReader(CommandBehavior cb)
   w Npgsql.NpgsqlCommand.ExecuteReader(CommandBehavior cb)
   w Npgsql.NpgsqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   w System.Data.Common.DbCommand.ExecuteReader(CommandBehavior behavior)
   w ktlib.vgDb.vgDb_ProviderInvariant.DbProcessQueue_DoQueuedWork_FindCall(Object sender, ProcessingQueueEventArgs`1 args)
145618.412  22                     dial  ex Stage1_AnyPort.ExecuteReader complete, returning without any data.
145619.420  22               ERROR  dial  ex Stage1_AnyPort.ExecuteReader returned error: The Connection is Other
145619.420  22               ERROR v7.6.15 - 7.6.7242.39777 (2019-10-30 22:05:52.65) DoWorkFindCall Stage1_AnyPort.ExecuteReader : ERROR: 42601: syntax error at or near "now"

not recognizing now()...

how to solve problem to set dialout action with deadline?

Share this post

Link to post

Looks like this system was set up yo use PostgreSQL as the backend database.

Is "now()" a valid expression to be passed in the SQL queries issued to PostgreSQL?

The actual SQL command issued to your database will be visible in vgEngine trace if the logging level is set to 20 in the VG.INI config file (and VoiceGuide service restarted). Suggest you take that SQL query and issue is to PostgreSQL yourself directly. You will then be able to experiment and see how the <OutDialQue_SqlSuffix> can be modified to give you the results you require. (eg. should it be "stoptime > now()" type expression instead) ?

Another approach may be to just delete the calls from database using an external process when the current time exceeds the stoptime value.

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