Using the signaling library API to manage tag strings

You can use the signaling library API to build and manipulate tag strings. These are generally used to capture information that you want to communicate between the channel process and the signaling process. It is recommended that you always use the specified subroutines, as they make managing tags very simple and enforce the syntax that the Blueworx Voice Response signaling processes will be expecting in their tag strings.

In simple terms, a tag string is a collection of names (or tag labels) that are associated with values and attributes; the names of the attributes (or attribute labels) are in turn also associated with values. Both tag and attribute labels, and also their values, are coded as strings.

When using the signaling subroutines to manage tag strings, note the following:
  • The subroutines expect the tag strings in the buffer parameter to be syntactically correct. If buffer is originally built without using the subroutines, and contains duplicate tag or attribute labels, the subroutines operate on the first instance that they find.
  • For ease of use, the subroutines do not distinguish upper case from lower case characters when searching for tag or attribute names.
  • The subroutines are not designed to validate the contents of buffer, but if they do find syntactically incorrect tag strings they return an error.
  • All string parameters passed to the subroutines should be null terminated.
  • If buffer is an empty string, all subroutines except sl_put_tag return a response of SLRC_NOT_FOUND.
  • The subroutines do not log any errors—this is the responsibility of the calling software.

For more information about tag strings, the system variables specifically designed to make use of them (within state tables), and details of the specific tags and attributes supported, refer to the Blueworx Voice Response for AIX: Application Development using State Tables information.