Jump to content


< Back to Forum


 

Specifying Outgoing Call Ports For Dialer And Transfer Calls


  • Please log in to reply

#1 Maciej 27 January 2015 - 11:37 PM

Hi,

 

 

We have VG server with 2 ISDN PRI trunks.

We want receive calls on 1 st trunk and transfer calls from 31 to 60 channel but we need to automatic dialer use channels from 60 up to 31

After setting parameter FreePortSearchOrder=1 VG starting call from 1 st channel. How to determine dialout (transfer module) starting lowest available channel from list in transfer module but in dialer starting highest available channel.

 

Is possible to determine several ports to use instead one portnumber in porttouse ?



#2 SupportTeam 28 January 2015 - 04:17 PM

In VG.INI, in section [VGDialer] please remove entry FreePortSearchOrder and add these entries instead:

 

FreePortSearchOrder_OutboundCampaigns = 2

FreePortSearchOrder_2ndLegOfTransferCall = 1

 

 

In Config.xml file please ensure that only ports 31 to 60 have the AllowDialout option set to 1.

 

After restarting the service you should now see that 2nd legs of trombone-transferred calls will now be made out on lowest ports from the 31-60 range, and Dialer calls will be made on highest ports from the 31-60 range

 

There is no real need to separate the ports used by the outgoing calls that are made by the Call Transfer module from the ports used by the Dialer, but the above VG.INI options let you achieve this if you like to group these types of calls separately to make monitoring of system status easier.

 

Is possible to determine several ports to use instead one portnumber in porttouse ?

 

Are you referring to porttouse table in the database? Yes. Multiple port entries can be specified - one for each port that may be used.

This can be used if you do actually need to only place call on certain channels only.

The Config.xml AllowDialout option and the FreePortSearchOrder_OutboundCampaigns setting is usually sufficient, especially when all calls will go out on same E1 anyway.

So usually the porttouse table does not need to be used at all.



#3 Maciej 13 June 2017 - 10:25 PM

Hi,

 

Can we declare ports to use?

  • OutboundCampaigns
  • 2ndLegOfTransferCall

We need to use for example ports 51-60 for OutboundCampaigns and 31-50 for 2ndLegOfTransferCall

 

or only for OutboundCampaigns list of available channels?

 

 

in callque we have 2 ways in field portnumber:

 

  • -1 - all available ports
  • declaring simple port


#4 SupportTeam 13 June 2017 - 11:50 PM

Yes. Both the calls made by Dialer (the 'Outbound Campaigns') and the outgoing calls made by the Transfer Call module can be set to be made on selected ports only.

 

The PortToUse table in database needs be enabled in order for the Dialer calls to be made on selects ports, and then ensure that the "Port Selection" entry is set when loading the calls.

Set that entry to:

 

51,52,53,54,55,56,57,58,59,60

 

If you are loading calls direct into database yourself then first load a call using the XML file of the Dialer GUI, and you can the examine what data gets loaded into the CallQue and PortToUse tables. This will show you how to load data into PortToUse (basically you need to load an entry for each port the call can go out on)

 

 

 

And the Transfer Call module has a "Which Lines to Use to Make Outbound Call" text box that should be set to:

 

31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50



#5 Maciej 14 June 2017 - 12:10 AM

Sorry, I don't understand:

 

 

The porttotuse table in database needs be enabled in order for the Dialer calls to be made on selects ports, and then ensure that the "Port Selection" entry is set when loading the calls.

Set that entry to:

 

51,52,53,54,55,56,57,58,59,60



#6 Maciej 14 June 2017 - 12:19 AM

How determine  outbound call ports for DIALER. In porttouse I can insert only -1 or one port number.

 

How to declare port range for dialer?



#7 SupportTeam 14 June 2017 - 06:02 AM

From  http://www.voiceguid...rnal_config.htm :

 

The outbound calls database uses two tables: CallQue and PortToUse

Addition of new calls into the system involves placing new entries in both tables, with possible multiple entries in the PortToUse table, 
depending on what port selections need to be specified.

The PortToUse table is used to indicate on which ports the particular call can be made. 
If a call is allowed to be made on any of the systems ports then a single entry in the PortToUse table needs to be made, 
with the PortToUse. PortNumber field assigned a value of -1. 
Otherwise if call can only be made on some of the ports then a new row needs to placed in PortToUse for each port on which the outgoing call is allowed to be made. 
The telephony ports on the VoiceGuide system are numbered from 1.

By default the PortToUse table is used when establishing which call is to be made next. 
Scheduling information is still included in the CallQue table as there is an option of turning off the PortToUse table use altogether 
if there is no need to limit the ports on which the calls can be made.

It's recommended to use the Outbound Call Loader application to load some calls into the database and then examine the database tables 
to how the information is placed in the tables. 
Read more at: http://www.voiceguide.com/vghelp/source/html/dial_vgdb_external_config.htm

 

Please load a call into the system using the XML file or the Dialer's "Outbound Call Loader" GUI, and you can the examine what data rows get placed into the CallQue

and PortToUse tables. This will show you how to load data into PortToUse (basically you need to load an entry for each port the call can go out on).



#8 SupportTeam 14 June 2017 - 06:08 AM

When using the "Outbound Call Loader" GUI to load the calls, set the "Port Selection" text box in the GUI to be:

 

51,52,53,54,55,56,57,58,59,60

 

 

or, when using the XML file approach to load the calls, use this in the <PortSelection></PortSelection> field:

 

51,52,53,54,55,56,57,58,59,60

 

then look in PortToUse table to see what was loaded there,

 

(make sure VoiceGuide service is not running at the time, so that you can see what rows were inserted before the VoiceGuide reads in that data from those tables and deletes it).

 

Basically you need to load an entry for each port the call can go out on.

 

ie: you need to insert 10 rows into PortToUse, one for each port that the outgoing call is allowed to use.

 

Insertion of these multiple rows into PortToUse and CallQue must happen all at once, as part of a single 'transaction'.



#9 Maciej 14 June 2017 - 04:31 PM

Outbound Call Dialer not adding tasks to database even in dialer section is database (postgresql) declared.

 

<Dialer>
<OutDialQue_ADODB_Provider>Npgsql</OutDialQue_ADODB_Provider>
<OutDialQue_Database>vgDb</OutDialQue_Database>
<OutDialQue_ConnectString>Server=ip; User Id=id;Password=pass;Database=db;</OutDialQue_ConnectString>
<OutDialQue_SqlPrefix>SELECT</OutDialQue_SqlPrefix>
<OutDialQue_SqlSuffix>AND server=43 LIMIT 1</OutDialQue_SqlSuffix>
<OutDialQue_PortToUse_LinkField></OutDialQue_PortToUse_LinkField>
</Dialer>
 

 

Can You describe what is <OutDialQue_PortToUse_LinkField></OutDialQue_PortToUse_LinkField> section?

 

Server connecting to database and dialing properly added records from callque/porttouse tables.



#10 Maciej 14 June 2017 - 04:33 PM

<OutDialQue_PortToUse_LinkField> description found in help file.



#11 SupportTeam 14 June 2017 - 06:17 PM

<OutDialQue_PortToUse_LinkField> description found in help file.

 

OK, so at this stage are there any outstanding issues, or are you able to now make calls OK on the intended port ranges?



#12 Maciej 14 June 2017 - 10:03 PM

I found multiple records in porttouse with same guid and activatetime

 

how to recognize data from port to use.

 

I know,

  • callid and callguid connect to callque,
  • portnumber including declared ports and strange -1 for record with callid NULL
  • priority 1 for records with declared port numer and priority 10 for portnumber -1

 

How working VG in this case?

 

VG calling only on declared ports what happen when all ports are unavailable?

Are we sure VG calling only on declared ports ignoring value -1 in portnumber for same callguid?

 

 

How working VG when porttouse has multiple records with same callguid?



#13 SupportTeam 14 June 2017 - 11:58 PM

VG calling only on declared ports what happen when all ports are unavailable?

 

If ports are not available then calls are not made. VoiceGuide will wait until one of the specified ports is available and then make the call.

 

How working VG when porttouse has multiple records with same callguid?

 

All records with same callguid (or callid if the ID is the link field) are deleted once call is completed.

 

PortToUse should have as many entries as there are ports over which that call can be made, or just one entry with "-1" in the portnumber column if any port can be used.

 

VoiceGuide looks for what calls can be made on specific port once that port becomes available.

Depending on database used you should be be able to trace SQL commands issued by VoiceGuide  - this is probably best way to see what is happening and how VoiceGuide interacts with the database.

 

 

Please provide full vgEngine traces if you would like us to comment about any specific calls. Please .ZIP up the traces before posting them.



#14 SupportTeam 15 June 2017 - 08:29 AM

priority 1 for records with declared port numer and priority 10 for portnumber -1

 

Looks like you are placing rows into the PortToUse table directly.

 

If the outgoing calls are to be made using a specified set of port numbers then there should not be a "use any channels" entry (made by specifying "-1" in the portnumber column) for that call as well.

 

Either the set of rows itemizing the ports should be created, or a "use any channels" row should be created. Never both at the same time.

 

 

Can you describe in more detail what you are trying to achieve with this approach to loading the calls?

 

Looking at your attached .XLS file it seems as if you would like to have system to place the call on ports 21,22,23,24,25 but if neither of these are available then use any port.

 

Is this what you are trying to achieve? Or something else?

 

The way the entries were loaded into the PortToUse table will not result in system first looking if this call can be made on 21,22,23,24,25, and then falling back onto making the call on any port.

 

 

 

Also, if you want to use priorities on outgoing calls then please read this from http://www.voiceguid...rnal_config.htm :

 

Call Prioritization

Priority ordering is specified by using the ORDER BY clause when selecting calls from the database. This clause is specified in the OutDialQue_SqlSuffix setting in the <Dialer> section of the Config.xml file:

<OutDialQue_SqlSuffix>ORDER BY Priority ASC</OutDialQue_SqlSuffix>

If you have a large number of calls loaded then ordering the retrieved calls by Priority can degrade call data retrieval speed. If you are seeing excessive call retrieval times from the database then removing this clause would speed up call retrieval.

If priority is being enabled and a large number of calls are being loaded then we'd recommend using a sever class database like SQL Server or MySql etc.



#15 Maciej 16 June 2017 - 05:43 PM

Hi,

 

For tests I used Telephone Number Loader which add records like shown in attached xml file.



#16 SupportTeam 16 June 2017 - 05:54 PM

Please.ZIP up the vgDialListLoad trace that captures this insert, and the vgEngine trace that captures how those calls were then made.

 

Best if entire vgEnigine trace is posted, this will let us see how the database was initialized.

 

Please .ZIP up traces before posting.