The ACCOutbound COM object is included with all versions of Active Call Center and facilitates a variety of outbound dialing applications on one line at a time. For simulataneous multi-line dialing applications, please refer to the section on the Power Dialer COM object.
The Active Call Center Outbound Dialing COM object provides thread-safe outbound dialing to features to virtually any application. It's robust design has been tested and deployed in mission-critical applications, including over a dozen units in production use with the United States Navy. Despite its apparent reliability, we ask that you please refer to the License Agreement for limitations and specific exclusions on high-risk activities.
The COM object is used primarily in two types of situations:
The architecture of the Outbound Dialing COM object allows it to be instantiated simultaneously from many applications or many times from the same application without wasting a lot of extra memory. The unique design of the Outbound Dialing COM object minimizes the chances of crashing the application that calls it: in the unlikely event the dialer object does encounter an error, that error is most likely to leave the rest of the system applications intact. Call requests that are pushed to the COM object are executed sequentially with efficient resource use. These key design features make the Active Call Center Outbound Dialing COM object an ideal tool for adding dialing capabilities to virtually any system.
The text below discusses technical details of the COM object, followed by an example showing how to use the COM object. If the technical details get confusing, look at the example - it should clarify use of the COM object quickly.
Properties and Methods of the COM Object
The COM object for outbound dialing is instantiated using the class name "ACCOutbound.CallMaker". The CallMaker object has the properties listed below, all of which must be set before attempting to make calls:
This property stores the exact name of the Call Tree to use for the outbound call. Include full path qualifiers in the file name.
This property contains the name of the Call History file to which call data will be written. Under the default Active Call Center installation the CallLog property should be set to "C:\Program Files\Active Call Center\Phone Call Log.mdb".
Some applications may have special data collection needs; the CallLog property is provided for these applications so that they may write to a different Call History. Make new Call History files by copying the "Blank Phone Call Log.mdb" file in the Active Call Center program folder.
The AppPath property should be set to the name of the default file path used by the Call Tree. This path will most likely be "C:\Program Files\Active Call Center". Notice no trailing backslash is applied to the path name.
The LineID is a numeric property that should be set to the number of the line to use for outbound dialing. The line number should match the line number of the device reported by using the modem test (Tools ... Test Modems from the menu bar).
The PassValue property can store a text value that is delivered to the Call Tree. This allows the outbound call to be customized to the number(s) being dialed. The value stored in the PassValue property is retrieved in the Call Tree by using the PassedValue variable. The PassValue property is only designed to hold plain text - do not include special characters.
This property stores the numbers to dial. Separate the numbers with carriage return/line-feed combinations (Visual Basic programmers: use vbCrLf).
Set this property to True to display the Outbound Dialer window. Set the property to False to hide the window.
Set this property to True to automatically terminate the ACCOutbound application when outbound calls are finished. By default the application stays open to allow multiple calls without requiring time to reload.
The ACCOutbound.CallMaker object has two methods:
The MakeCalls method initiates outbound dialing based on the value of the properties (which should be set before calling MakeCalls). MakeCalls will return immediately after being called: outbound dialing happens "in the background." The function returns a True/False value indicating whether or not the call request was accepted by the ACCOutbound object.
IMPORTANT NOTE: When use the MakeCalls function to make multiple batches of calls, you must either wait until the first batch of calls has finished before starting the next batch OR create a new ACCOutbound object for the next request. A single instance of the object can only process a single batch of calls at a time. Check the return value of the MakeCalls function to make sure your call requests were accepted.
This method returns a true/false value that indicates whether or not the CallMaker object is still processing outbound calls. If the application requires waiting for the outbound call to complete before continuing, call this method on regular intervals to check the completion status. Visual Basic programmers can examine the sample code below for usage of this method:
...
' Assume that all properties have been set.
' Start outbound dialing.
MyCallMaker.MakeCalls
' Check for completion status
Do While MyCallMaker.IsCallingOut = True
' Set Start Time
StartTime = Now()
' Wait for 15 seconds
Do While Now() < StartTime + 15# / (3600# * 24#)
' DoEvents prevents lockups!
DoEvents
Loop
Loop
' Program continues...
Note: VBScript does not support the DoEvents statement, so the above code is valid in Visual Basic and Visual Basic for Applications only.
Example Using the COM Object
Refer to the Inbound Call Initiates Outbound Call example Call Tree for a full example that shows how outbound calls can be started from inbound calls.
In addition, the sample code below shows how to initiate an outbound call using the COM object. This code could be used in an Active Call Center macro, an Excel or other VBA macro, Visual Basic, and VBScript. Note: line breaks may not be correct depending on the media being viewed.
' Declare a variable for the CallMaker object.
Dim MyCallMaker
' Create an outbound call maker.
Set MyCallMaker = _
CreateObject("ACCOutbound.CallMaker")
' Set the call tree to use for these outbound calls.
MyCallMaker.CallTree = _
"C:\Program Files\Active Call Center\Examples\Database Example.acc"
' Set the log file to use for saving data.
MyCallMaker.CallLog = _
"C:\Program Files\Active Call Center\Phone Call Log.mdb"
' Set the default application path:
' note that there is no trailing backslash.
MyCallMaker.AppPath = _
"C:\Program Files\Active Call Center"
' Set the numbers to dial.
' Here there are two numbers,
' separated by a carriage return/line feed.
MyCallMaker.NumbersToCall = "18005551212" + _
vbCrLf + "5551212"
' Set the line to use for outbound dialing.
MyCallMaker.LineID = 1
' This is a string that will be sent
' on to the outbound call and can be
' retrieved later.
MyCallMaker.PassValue = "2+2 = 4."' Initiate the outbound calls.
' If called from an inbound call, the outbound
' calls won't start until the inbound call ends.
MyCallMaker.MakeCalls