Use the ADSI_HEX state table to download SDC functions to the ADSI telephone and to execute those functions.
This state table is similar to the ADSI and ADSI_I state tables, but the parameter string it sends to the ADSI telephone is a hexadecimal representation of binary characters. You might want to use this state table to download a function that contains a special character, such as the currency symbol for a U.K. pound (£).
InvokeStateTable ("DIRECT", ADSI_HEX, 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 ADSI 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.
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, the result shows the reason:
In this example, the ADSI_HEX state table downloads the function named show from the file puthex.sdc. The hexdata parameter contains the hexadecimal representation of the binary data.
AssignData(hexdata, "ASSIGN", "243132332c209c9d9e9f2E")
InvokeStateTable("DIRECT", ADSI_HEX, voice_mode,
"puthex.sdc",
"show",
hexdata,
0 )