Project initiation

The CallWeb Robot is a fully featured interactive voice response system using all CallWeb features in conjunction with the Asterisk PBX system.

Therefore, a CallWeb Robot project initiation starts with the creation of a CallWeb CATI-like project using the project initiation checklist. Yet, a Robot project is not quite a CATI project, so here are the differences:

Concerning the .scw questionnaire file:

  • It should include the following instruction: # CATI = ivr
  • It is always unilingual.
  • It may include a # Utiliser les lignes pound instruction to specify which phone lines are available to the Robot project. This is a comma-delimited list which may include interval specifications such as "11-15".
  • The PRESTRATE question lists the available strata. The strata names also include the Asterisk context name to use with the stratum, as in this example:
    Atlantique/oplus_context_e
    The context name follows the stratum name and a slash.
  • Therefore, to use different contexts based on prepopulated language data, the language must be part of the stratum definition.
  • There must be one field for each piece of data collected via the telephone interview.
  • Since the CallWeb script defined in the .scw file will never be displayed as a questionnaire, there is little point customizing its looks.

Concerning the Asterisk context file:

  • Names of Asterisk context files must start with the string "oplus_" to be included in the Asterisk extension definitions. They must be located in the /etc/asterisk directory of the Asterisk server.
  • Place the required .wav or .vox files in the /var/lib/asterisk/sounds/custom directory, probably within a project subdirectory and /fr and /en sub-subdirectories. Change the owner and group to asterisk.
  • In the context file, when data must be stored in the CallWeb data base, include a call to the cwASTstocke.sh script which takes the following form:
    exten => fax,1,system(/usr/bin/cwASTstocke.sh ${prefixe} ${projet} ${telkey} ${interviewer} ${nlignes}) "call_result" field_name value
    • The first 5 parameters must be written as above.
    • The sixth parameter is the call disposition code which corresponds to one of the codes defined in cwcodescati.cgi.
    • The "field_name" and "value" parameters are required if a value must be stored in a CallWeb question (such as the value of the telephone keypad key depressed by the respondent). For example,
      /usr/bin/cwASTstocke.sh ${prefixe} ${projet} ${telkey} ${interviewer} ${nlignes} "complete" Q1 1
      stores a "1" in question Q1 and adds a call in the call history with call disposition "complete" (without quotes in the call history).
    • If the call disposition code is empty (i.e., ""), no call is recorded, but the data fields are updated as requested in the command; for example,
      /usr/bin/cwASTstocke.sh ${prefixe} ${projet} ${telkey} ${interviewer} ${nlignes} "" Q1 99
      stores 99 in Q1 but does not add a call to the call history.
  • The Asterisk extension file must be reloaded after a change is made to a context file. cwrobot.cgi includes a reload command.

Concerning running the Robot project:

  • Of course, no interviewer intervene in the Robot process; cwrobot.cgi acts as the call initiator.
  • cwrobot.cgi works from the CATI call queue; create it and manage it using cwsuper.cgi.
  • Bring up cwrobot.cgi, specify the strata to access and the call dispositions to reach (as interviewers do when they access a project).
  • Confirm the choice of phone lines and click Action! to start phoning.
  • Access to cases by the robot is a function of the same rules as access to cases by interviewers, i.e., cases are randomly selected among the call queue taking into consideration call-back priorities, strata selected, project active times in the day and time zones.
  • It is possible to get more than one cwrobot.cgi session running concurrently on different or the same projects.

Project initiation

The CallWeb Robot is a fully featured interactive voice response system using all CallWeb features in conjunction with the Asterisk PBX system.

Therefore, a CallWeb Robot project initiation starts with the creation of a CallWeb CATI-like project using the project initiation checklist. Yet, a Robot project is not quite a CATI project, so here are the differences:

Concerning the .scw questionnaire file:

  • It should include the following instruction: # CATI = ivr
  • It is always unilingual.
  • It may include a # Utiliser les lignes pound instruction to specify which phone lines are available to the Robot project. This is a comma-delimited list which may include interval specifications such as "11-15".
  • The PRESTRATE question lists the available strata. The strata names also include the Asterisk context name to use with the stratum, as in this example:
    Atlantique/oplus_context_e
    The context name follows the stratum name and a slash.
  • Therefore, to use different contexts based on prepopulated language data, the language must be part of the stratum definition.
  • There must be one field for each piece of data collected via the telephone interview.
  • Since the CallWeb script defined in the .scw file will never be displayed as a questionnaire, there is little point customizing its looks.

Concerning the Asterisk context file:

  • Names of Asterisk context files must start with the string "oplus_" to be included in the Asterisk extension definitions. They must be located in the /etc/asterisk directory of the Asterisk server.
  • Place the required .wav or .vox files in the /var/lib/asterisk/sounds/custom directory, probably within a project subdirectory and /fr and /en sub-subdirectories. Change the owner and group to asterisk.
  • In the context file, when data must be stored in the CallWeb data base, include a call to the cwASTstocke.sh script which takes the following form:
    exten => fax,1,system(/usr/bin/cwASTstocke.sh ${prefixe} ${projet} ${telkey} ${interviewer} ${nlignes}) "call_result" field_name value
    • The first 5 parameters must be written as above.
    • The sixth parameter is the call disposition code which corresponds to one of the codes defined in cwcodescati.cgi.
    • The "field_name" and "value" parameters are required if a value must be stored in a CallWeb question (such as the value of the telephone keypad key depressed by the respondent). For example,
      /usr/bin/cwASTstocke.sh ${prefixe} ${projet} ${telkey} ${interviewer} ${nlignes} "complete" Q1 1
      stores a "1" in question Q1 and adds a call in the call history with call disposition "complete" (without quotes in the call history).
    • If the call disposition code is empty (i.e., ""), no call is recorded, but the data fields are updated as requested in the command; for example,
      /usr/bin/cwASTstocke.sh ${prefixe} ${projet} ${telkey} ${interviewer} ${nlignes} "" Q1 99
      stores 99 in Q1 but does not add a call to the call history.
  • The Asterisk extension file must be reloaded after a change is made to a context file. cwrobot.cgi includes a reload command.

Concerning running the Robot project:

  • Of course, no interviewer intervene in the Robot process; cwrobot.cgi acts as the call initiator.
  • cwrobot.cgi works from the CATI call queue; create it and manage it using cwsuper.cgi.
  • Bring up cwrobot.cgi, specify the strata to access and the call dispositions to reach (as interviewers do when they access a project).
  • Confirm the choice of phone lines and click Action! to start phoning.
  • Access to cases by the robot is a function of the same rules as access to cases by interviewers, i.e., cases are randomly selected among the call queue taking into consideration call-back priorities, strata selected, project active times in the day and time zones.
  • It is possible to get more than one cwrobot.cgi session running concurrently on different or the same projects.