Use the ADSI and ADSI_I state tables to download SDC functions to the ADSI telephone and to execute those functions. The ADSI_I state table is very similar to the ADSI one, but it allows the user to interrupt the download to make a call.
InvokeStateTable ("DIRECT", ADSI, mode, file, func, parms);
InvokeStateTable ("DIRECT", ADSI_I, mode, file, func, parms, interrupt);
When you select data mode, the state table assumes that the ADSI telephone has been put into data mode using the switch_to_data SDC command. When the telephone is in data mode, data transfer is significantly faster because the initial CAS tone/DTMF exchange is not necessary.
In voice mode, each data transmission is preceded by a CAS tone/DTMF sequence.
If you want to pass multiple parameters, you must concatenate them into one string, and separate each parameter using a 001 (X'01') delimiter. You could use the ADSI_Parameters state table to do this (see ADSI_Parameters).
If no parameters are to be passed to the ADSI function, set the parms parameter to a null string.
This parameter is available on the ADSI_I state table only.
Specify one of the following values:
The InvokeStateTable action terminates with a result that indicates whether or not the operation was successful. If it was not successful, the result shows the reason for the failure:
This example is taken from the ADSI_Banking state table. It downloads and executes the connect function from the file adsicb.sdc.
InvokeStateTable("DIRECT", ADSI, voice_mode,
"../ca/ADSI_dir/adsicb.sdc",
"connect",
parms)