Menu

Documentación AGI-C-API

Rómulo Rodríguez

Documentación AGI-C-API

Constantes


Cabeceras de comandos

Constantes que contiene la cadena del inicio de cada comando.

Constante Valor
AGICMD_ANSWER "ANSWER"
AGICMD_ASYNCAGI "ASYNCAGI BREAK"
AGICMD_CHAN_STAT "CHANNEL STATUS"
AGICMD_CTRL_STRM "CONTROL STREAM FILE"
AGICMD_DB_DEL "DATABASE DEL"
AGICMD_DB_DELTREE "DATABASE DELTREE"
AGICMD_DB_GET "DATABASE GET"
AGICMD_DB_PUT "DATABASE PUT"
AGICMD_EXEC "EXEC"
AGICMD_GET_DATA "GET DATA"
AGICMD_GET_FULL "GET FULL VARIABLE"
AGICMD_GET_OPT "GET OPTION"
AGICMD_GET_VAR "GET VARIABLE"
AGICMD_GOSUB "GOSUB"
AGICMD_HANGUP "HANGUP"
AGICMD_NOOP "NOOP"
AGICMD_RX_CH "RECEIVE CHAR"
AGICMD_RX_TEXT "RECEIVE TEXT"
AGICMD_REC "RECORD FILE"
AGICMD_SAY_ALPHA "SAY ALPHA"
AGICMD_SAY_DATE "SAY DATE"
AGICMD_SAY_DT "SAY DATETIME"
AGICMD_SAY_DGT "SAY DIGITS"
AGICMD_SAY_NUM "SAY NUMBER"
AGICMD_SAY_PH "SAY PHONETIC"
AGICMD_SAY_TIME "SAY TIME"
AGICMD_SEND_IMG "SEND IMAGE"
AGICMD_SEND_TEXT "SEND TEXT"
AGICMD_SET_AH "SET AUTOHANGUP"
AGICMD_SET_CID "SET CALLERID"
AGICMD_SET_CONTEXT "SET CONTEXT"
AGICMD_SET_EXTEN "SET EXTENSION"
AGICMD_SET_MUSIC "SET MUSIC"
AGICMD_SET_PRI "SET PRIORITY"
AGICMD_SET_VAR "SET VARIABLE"
AGICMD_SPH_ENL "SPEECH ACTIVATE GRAMMAR"
AGICMD_SPH_CREATE "SPEECH CRETE"
AGICMD_SPH_DIS "SPEECH DESACTIVE GRAMMAR"
AGICMD_SPH_DSTR "SPEECH DESTROY"
AGICMD_SPH_LOAD "SPEECH LOAD GRAMMAR"
AGICMD_SPH_RECOGNIZE "SPEECH RECOGNIZE"
AGICMD_SPH_SET "SPEECH SET"
AGICMD_SPH_UNLOAD "SPEECH UNLOAD GRAMMAR"
AGICMD_STRM "STREAM FILE"
AGICMD_TDD_MODE "TDD MODE"
AGICMD_VERBOSE "VERBOSE"
AGICMD_WFD "WAIT FOR DIGIT"

Códigos de resultados

Código que arroga la ejecución de un comando AGI.

Constante Valor
AGIRESCOD_SUCCESS 200
AGIRESCOD_TRY 100
AGIRESCOD_INVALID 510
AGIRESCOD_NOTPERM 511
AGIRESCOD_BADSYNTAX 511

Otras Constantes

Constante Valor
BUFFLEN 1024
MAXVARLEN 20
MAXVALLEN 50
MAXCMDLEN 200

Estructuras


_AGIVAR

Estructuras para contener las variables AGI de inicio.
Es manejada como una pila.

struct _agivars
{
    char name[MAXVARLEN]; // Nombre de la variable
    char value[MAXVALLEN]; // Valor
    struct _agivars *next; // Apuntador a la siguiente variable.
};
typedef struct _agivars _AGIVAR;

_AGIRESULT

struct _agiresult 
{
    int resultCode; // Código de resultado de la ejecución de una comando.
    char result[50]; // Cadena del resultado enviado por asterisk.
    long int endpos; // Campo Offset
    char data[50]; // Datos. 
    char extraData[BUFFLEN];
    char cmd[MAXCMDLEN]; // Guarda el string completo del comando ejecutado.
};
typedef struct _agiresult  _AGIRESULT;

Funciones

Manejo de Estructuras


initAgiVars

Inicializa la lista de variables AGI

_AGIVAR *initAgiVars()

Retorno: Null


addAgiVar

Agrega un nodo a la lista de variables AGI

_AGIVAR *addAgiVar(_AGIVAR *agiVars, char *name, char *value);

Retorno: _AGIVAR * Lista modificada.
_AGIVAR agiVars: Lista en la que se desea agregar un nodo.
char
name: Nombre de la variable AGI.
char *value: Valor asignado a la valiable.


deletAgiVar

Elimina el nodo tope de la lista de variables AGI.

_AGIVAR *deletAgiVar(_AGIVAR *agiVars);

Retorno: _AGIVAR * Lista modificada.
_AGIVAR *agiVars: Lista a eliminar el tope.


cleanAgiVars

Elimina todos los nodos de una lista de variables AGI.

_AGIVAR *cleanAgiVars(_AGIVAR *agiVars);

Retorno: _AGIVAR * Lista modificada.
_AGIVAR *agiVars: Lista a limpiar.


getAgiVar

Busca el valor de una variable un una lista de variables AGI.

int getAgiVar(_AGIVAR *agiVars,char *key, char *value);

Retorno: 0 Si el nombre de la variable no se encontró. 1 El nombre de la variable no se encontró en la lista y fue asignada en "value".
_AGIVAR agiVars: Lista con las variables cargadas.
char
key: Nombre de la variable a buscar.
char *value: Variable donde se guardara el valor se la variable fue encontrada.


initAgiResult

Inicializa o vacía la estructura _AGIRESULT.

void initAgiResult(_AGIRESULT *result);

_AGIRESULT *result Estructura _AGIRESULT.

Funciones


getInitAgiVars

Lee de la entrada estándar las variables que Asterisk imprime al ejecutarse el AGI.

_AGIVAR *getInitAgiVars(_AGIVAR *initAgiVars);

Retorno: _AGIVAR * Lista modificada.
_AGIVAR *initAgiVars: Lista inicializada.


sendAgiCmd

Ejecuta un comando AGI y obtiene el resultado.

int sendAgiCmd(_AGIRESULT *result, char *cmd);

Retorno: 0 La Ejecución arrojo un código diferente a AGIRESCOD_SUCCESS. 1 Comando ejecutado y se obtuvo el resutado.


agiCmd_Answer

Ejecuta el AGICommand_answer
Coloca al canal en estado contestado si aun lo esta.

int agiCmd_Answer(_AGIRESULT *result);

Retorno: Ver sendAgiCmd.
_AGIRESULT *result: Estructura que contiene el resultado de la ejecución del comando.

Resultado del comando.
result.result: -1 fallo del canal. 0 Satisfactorio.


agiCmd_Asyncagi_Break

Ejecuta el AGICommand_asyncagi break
Interrumpe la ejecución del AGI y retorna al control de la llamada a la fuente anterior.

int agiCmd_Asyncagi_Break(_AGIRESULT *result);

Retorno: Ver sendAgiCmd.
_AGIRESULT *result: Estructura que contiene el resultado de la ejecución del comando.


agiCmd_Channel_Status

Ejecuta el AGICommand_Channel_Status
Obtiene el estado del canal "channel", Si no es especificado se toma el canal actual.

int agiCmd_Channel_Status(_AGIRESULT *result,char *channel);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
channel Nombre del canal.

Resultado del comando.
result.result:
0 - Channel is down and available.
1 - Channel is down, but reserved.
2 - Channel is off hook.
3 - Digits (or equivalent) have been dialed.
4 - Line is ringing.
5 - Remote end is ringing.
6 - Line is up.
7 - Line is busy.


agiCmd_Control_Stream_File

Ejecuta el AGICommand_Control_Stream_File
Reproduce un archivo de audio en el canal con control de reproducción.

int agiCmd_Control_Stream_File(_AGIRESULT *result,char *filename, char *scapeDigits, int skipms, char *ffchar, char *rewchr, char *pausechr);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char * filename: Nombre del archivo a reproducir.
char
scapeDigits: Dígitos que puede pasar el usuario.
int skipms: Tiempo de Omisión. Milisegundos.
char ffchar: Dígito para continuar reproducción. Defaults ""
char rewchr: Dígito para repetir reproducción. Defaults "#"
char
pausechr: Dígito para detener reproducción.

Resultado del comando.
result.result:
-1 - fallo del canal.
0 - Termino la reproducción sin ningún dígito pasado por el usuario.
48-57 Valor numérico ASCII del dígito pasado por el usuario.


agiCmd_Database_Del

Ejecuta el AGICommand_Database_Del
Elimina una entrada en la base de datos de Asterisk

int agiCmd_Database_Del(_AGIRESULT *result,char *family, char *key);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
family
char *key

Resultado del comando.
result.result: 0 fallo. 1 Satisfactorio.


agiCmd_Database_Deltree

Ejecuta el AGICommand_database deltree
Elimina una family una keytree espesifica en la base de datos de Asterisk.

int agiCmd_Database_Deltree(_AGIRESULT *result,char *family, char *keyTree);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
family
char *keyTree

Resultado del comando.
result.result: 0 fallo. 1 Satisfactorio.


agiCmd_Database_Get

Ejecuta el AGICommand_database get
Retorna una entrada en la base de datos de Asterisk.

int agiCmd_Database_Get(_AGIRESULT *result,char *family, char *key);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
family
char *key

Resultado del comando.
result.result: 0 fallo. 1 Satisfactorio.
result.data: Contiene el valor de la entrada.


agiCmd_Database_Put

Ejecuta el AGICommand_database put
Agrega o actualiza una entrada en la base de datos de Asterisk

int agiCmd_Database_Put(_AGIRESULT *result,char *family, char *key, char *value);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
family
char key
char
value

Resultado del comando.
result.result: 0 fallo. 1 Satisfactorio.
result.data: Contiene el valor de la entrada.


agiCmd_Exec

Ejecuta el AGICommand_exec
Ejecuta una aplicación con sus opciones

int agiCmd_Exec(_AGIRESULT *result,char *application, char *options);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
application: Dialplan Applications
char *options

Resultado del comando.
result.result: Lo que retorna la aplicación ó -2 Aplicación Invalida.


agiCmd_Get_Data

Ejecuta el AGICommand_exec
Reproduce un archivo y recibe tonos DTMF.

int agiCmd_Get_Data(_AGIRESULT *result,char *fileName, int timeout, int maxDigits);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
fileName: Nombre del archivo a reproducir.
int timeout: Tiempo de espera para el usuario marque todos los dígitos.
int maxDigits: Numero máximo de dígitos.

Resultado del comando.
result.result: Todos los dígitos marcados por el usuario.
result.data: "timeout" si no hay dígitos y paso el tiempo de espera.


agiCmd_Get_Full_Variable

Ejecuta el AGICommand_get full variable
Obtiene una variable el canal, Puede evaluar expresiones.

int agiCmd_Get_Full_Variable(_AGIRESULT *result,char *varName, char *chanName);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
varName: Nombre la variable.
char *chanName: Nombre del canal.

Resultado del comando.
result.result: 0 Si la variable no existe en en canal. 1 Si la variable existe y fue obtenida.
result.data: Valor de la variable.


agiCmd_Get_Option

Ejecuta el AGICommand_get option
Reproduce un archivo y recibe un solo dígito.

int agiCmd_Get_Option(_AGIRESULT *result,char *fileName,char *escapeDigits,int timeOut);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
fileName: Nombre del archivo a reproducir.
char *escapeDigits: Dígitos a detectar. Ejemplo "1290" Se detectara cuando el usuario marque 1, 2, 9 o 0.
int timeOut: Tiempo de espera para que el usuario marque el dígito.

Resultado del comando.
result.result:
-1 - fallo del canal.
0 - Termino la reproducción sin ningún dígito pasado por el usuario.
48-57 Valor numérico ASCII del dígito pasado por el usuario.


agiCmd_Get_Variable

Ejecuta el AGICommand_get variable
Obtiene una variable el canal actual.

int agiCmd_Get_Variable(_AGIRESULT *result,char *varName);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
fileName: Nombre del archivo a reproducir.
char *escapeDigits: Dígitos a detectar. Ejemplo "1290" Se detectara cuando el usuario marque 1, 2, 9 o 0.
int timeOut: Tiempo de espera para que el usuario marque el dígito.

Resultado del comando.
result.result: 0 Si la variable no existe en en canal. 1 Si la variable existe y fue obtenida.
result.data: Valor de la variable.


agiCmd_Gosub

Ejecuta el AGICommand_gosub
Se ejecuta una subrutina del plan de marado.

int agiCmd_Gosub(_AGIRESULT *result, char *context, char *extension, char *priority, char *optinals);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
context
char extension
char
priority
char *optinals - Opciones o argumentos.


agiCmd_Hangup

Ejecuta el AGICommand_hangup
Cuelga el canal.

int agiCmd_Hangup(_AGIRESULT *result,char *channel);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
channel: Nombre del canal.


agiCmd_Noop

Ejecuta el AGICommand_noop
No hace nada.

int agiCmd_Noop(_AGIRESULT *result);

Retorno: Ver sendAgiCmd.
_AGIRESULT *result: Estructura que contiene el resultado de la ejecución del comando.

Resultado del comando.


agiCmd_Receive_Char

Ejecuta el AGICommand_receive char
Recibe un carácter de un canal que lo soporte.

int agiCmd_Receive_Char(_AGIRESULT *result,int timeOut);

Retorno: Ver sendAgiCmd.
_AGIRESULT *result: Estructura que contiene el resultado de la ejecución del comando.
int timeOut: Tiempo de espera.

Resultado del comando.
result.result:
0 El canal no soporta el recepción de texto.
-1 Error en el canal.
Valor decimal del carácter.


agiCmd_Receive_Text

Ejecuta el AGICommand_receive text
Recibe una cadena de un canal que lo soporte.

int agiCmd_Receive_Text(_AGIRESULT *result,int timeOut);

Retorno: Ver sendAgiCmd.
_AGIRESULT *result: Estructura que contiene el resultado de la ejecución del comando.
int timeOut: Tiempo de espera.

Resultado del comando.
result.result: -1 error en el canal. 1 Satisfactorio.
result.data: Contiene la cadena de caracteres.


agiCmd_Record_File

Ejecuta el AGICommand_record file
Grabar a un archivo hasta que se recibe un determinado Digíto.

int agiCmd_Record_File(_AGIRESULT *result, char *fileName, char *format, char *escapeDigit, int timeOut, int silence);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
fileName: Nombre del archivo.
char format: Formato del archivo.
char
escapeDigit: Dígitos a detectar.
int timeOut: Tiempo de espera.
int silence: Tiempo máximo de silencio.

Resultado del comando.
result.result: -1 error en el canal. 1 Satisfactorio.


agiCmd_Say_Alpha

Ejecuta el AGICommand_say alpha
Dice cada carácter de un string

int agiCmd_Say_Alpha(_AGIRESULT *result, char *numer, char *escapeDigit);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
numer: String.
char *escapeDigit: Dígitos a detectar.

Resultado del comando.
result.result:
-1 - fallo del canal.
0 - Termino la reproducción sin ningún dígito pasado por el usuario.
48-57 Valor numérico ASCII del dígito pasado por el usuario.


agiCmd_Say_Date

Ejecuta el AGICommand_say date
Dice la fecha.

int agiCmd_Say_Date(_AGIRESULT *result,long int date, char *escapeDigit);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
long int date: Numero de segundos desde el UTC.
char
escapeDigit: Dígitos a detectar.

Resultado del comando.
result.result:
-1 - fallo del canal.
0 - Termino la reproducción sin ningún dígito pasado por el usuario.
48-57 Valor numérico ASCII del dígito pasado por el usuario.


agiCmd_Say_Datetime

Ejecuta el AGICommand_say datetime
Dice la fecha.

int agiCmd_Say_Datetime(_AGIRESULT *result,long int date, char *escapeDigit, char *format,char *timeZone);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
long int date: Numero de segundos desde el UTC.
char
escapeDigit: Dígitos a detectar.
char format. Formato usado en voicemail.conf. (defaults to ABdY 'digits/at' IMp)
char
timeZone. Valores de /usr/share/zoneinfo. Defaults to machine default.

Resultado del comando.
result.result:
-1 - fallo del canal.
0 - Termino la reproducción sin ningún dígito pasado por el usuario.
48-57 Valor numérico ASCII del dígito pasado por el usuario.


agiCmd_Say_Digits

Ejecuta el AGICommand_say digits
Dice los dígitos en un string.

int agiCmd_Say_Digits(_AGIRESULT *result,char *number, char *escapeDigit);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
number. String con los dígitos.
char *escapeDigit: Dígitos a detectar.

Resultado del comando.
result.result:
-1 - fallo del canal.
0 - Termino la reproducción sin ningún dígito pasado por el usuario.
48-57 Valor numérico ASCII del dígito pasado por el usuario.


agiCmd_Say_Number

Ejecuta el AGICommand_say number
Dice el numero en el string.

int agiCmd_Say_Number(_AGIRESULT *result,char *number, char *escapeDigit, char *gender);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
number
char escapeDigit: Dígitos a detectar.
char
gender

Resultado del comando.
result.result:
-1 - fallo del canal.
0 - Termino la reproducción sin ningún dígito pasado por el usuario.
48-57 Valor numérico ASCII del dígito pasado por el usuario.


agiCmd_Say_Phonetic

Ejecuta el AGICommand_say phonetic
Dice cada carácter de un string PHONETIC.

int agiCmd_Say_Phonetic(_AGIRESULT *result, char *string, char *escapeDigit);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
string
char *escapeDigit: Dígitos a detectar.

Resultado del comando.
result.result:
-1 - fallo del canal.
0 - Termino la reproducción sin ningún dígito pasado por el usuario.
48-57 Valor numérico ASCII del dígito pasado por el usuario.


agiCmd_Say_Time

Ejecuta el AGICommand_say time
Dice la hora.

int agiCmd_Say_Time(_AGIRESULT *result, long int time, char *escapeDigit);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
long int date: Numero de segundos desde el UTC.
char
escapeDigit: Dígitos a detectar.

Resultado del comando.
result.result:
-1 - fallo del canal.
0 - Termino la reproducción sin ningún dígito pasado por el usuario.
48-57 Valor numérico ASCII del dígito pasado por el usuario.


agiCmd_Send_Image

Ejecuta el AGICommand_send image
Envía una imagen a través de canales que lo soporten.

int agiCmd_Send_Image(_AGIRESULT *result, char *image);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
image: Nombre de imagen

Resultado del comando.
result.result: 0 Si la imagen fue enviada, o el canal no soporta el envío de imágenes. -1 error en el canal.


agiCmd_Send_Text

Ejecuta el AGICommand_send text
Envía un texto a través de canales que lo soporten.

int agiCmd_Send_Text(_AGIRESULT *result, char *text);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
text: texto a enviar.

Resultado del comando.
result.result: 0 Si la imagen fue enviada, o el canal no soporta el envío de imágenes. -1 error en el canal.


agiCmd_Set_Autohangup

Ejecuta el AGICommand_set autohangup
Coloca un tiempo para que el canal se cuelgue automáticamente.

int agiCmd_Set_Autohangup(_AGIRESULT *result, int time);

Retorno: Ver sendAgiCmd.
_AGIRESULT *result: Estructura que contiene el resultado de la ejecución del comando.
int time: Segundos. Si se coloca 0 se deshabilita la función de Autohangup


agiCmd_Set_Callerid

Ejecuta el AGICommand_set callerid
Cambiar el CALLERID del canal actual.

int agiCmd_Set_Callerid(_AGIRESULT *result, char *number);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
number: Nuevo CALLERID


agiCmd_Set_Extension

Ejecuta el AGICommand_set extension
Cambia la extensión actual del canal.

int agiCmd_Set_Extension (_AGIRESULT *result, char *extension);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
extension: Nueva extensión.


agiCmd_Set_Context

Ejecuta el AGICommand_set context
Cambia el contexto actual del canal.

int agiCmd_Set_Context(_AGIRESULT *result, char *context);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
context:Nueva extensión


agiCmd_Set_Music

Ejecuta el AGICommand_set music
Habilita o deshabilita la musica en espera sobre el canal.

int agiCmd_Set_Music(_AGIRESULT *result, int boolean, char *classs);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
int boolean: 1- Activar, 2- Desactivar.
char
classs: Calss de la musica en espera. NULL -> Default.


agiCmd_Set_Priority

Ejecuta el AGICommand_set priority
Cambia el la prioridad acutal de la extensión en el canal actual.

int agiCmd_Set_Priority(_AGIRESULT *result, char *priority);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
priority: Nueva prioridad de extensión.


agiCmd_Set_Variable

Ejecuta el AGICommand_set variable
Crea o modifica una variable del canal actual.

int agiCmd_Set_Variable(_AGIRESULT *result, char *varName, char *value);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
varName: Nombre de la variable.
char *value: Valor asignado.


agiCmd_Stream_File

Ejecuta el AGICommand_stream file
Reproduce un archivo de audio en el canal.

int agiCmd_Stream_File(_AGIRESULT *result, char *fileName, char *escapeDigit, char *offset);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
fileName: Nombre del archivo de audio.
char escapeDigit: Dígitos a detectar.
char
offset

Resultado del comando.
result.result:
-1 - fallo del canal.
0 - Termino la reproducción sin ningún dígito pasado por el usuario.
48-57 Valor numérico ASCII del dígito pasado por el usuario.


agiCmd_Tdd_Mode

Ejecuta el AGICommand_tdd mode

int agiCmd_Tdd_Mode(_AGIRESULT *result, int boolean);

Retorno: Ver sendAgiCmd.
_AGIRESULT *result: Estructura que contiene el resultado de la ejecución del comando.
int boolean


agiCmd_Verbose

Ejecuta el AGICommand_verbose
envía un mensaje a la consola de Asterisk vía verbose message system.

int agiCmd_Verbose(_AGIRESULT *result, char *message, int level);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
message: mensaje
int level: Niveles 1-4.


agiCmd_Wait_For_Digit

Ejecuta el AGICommand_wait for digit
Obtiene un dígito presionado por el usuario.

int agiCmd_Wait_For_Digit(_AGIRESULT *result, int timeOut);

Retorno: Ver sendAgiCmd.
_AGIRESULT *result: Estructura que contiene el resultado de la ejecución del comando.

Resultado del comando.
result.result:
-1 - fallo del canal.
0 - Termino la reproducción sin ningún dígito pasado por el usuario.
48-57 Valor numérico ASCII del dígito pasado por el usuario.


agiCmd_Speech_Activate

Ejecuta el AGICommand_speech activate grammar

 int agiCmd_Speech_Activate(_AGIRESULT *result, char *grammarName);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
grammarName


agiCmd_Speech_Create

Ejecuta el AGICommand_speech create

int agiCmd_Speech_Create(_AGIRESULT *result, char *engine);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
engine


agiCmd_Speech_Deactivate

Ejecuta el AGICommand_speech deactivate grammar

int agiCmd_Speech_Deactivate(_AGIRESULT *result, char *grammarName);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
grammarName


agiCmd_Speech_Destroy

Ejecuta el AGICommand_speech destroy

int agiCmd_Speech_Destroy(_AGIRESULT *result);

Retorno: Ver sendAgiCmd.
_AGIRESULT *result: Estructura que contiene el resultado de la ejecución del comando.


agiCmd_Speech_Load

Ejecuta el AGICommand_speech load grammar

int agiCmd_Speech_Load(_AGIRESULT *result, char *grammarName, char *path);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
grammarName
char *path


agiCmd_Speech_Recognize

Ejecuta el AGICommand_speech recognize

 int agiCmd_Speech_Recognize(_AGIRESULT *result, char *prompt, int timeOut, char *offSet);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
prompt
int timeOut
char *offSet


agiCmd_Speech_Set

Ejecuta el AGICommand_speech set

int agiCmd_Speech_Set(_AGIRESULT *result, char *name, char *value);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
name
char *value


agiCmd_Speech_Unload

Ejecuta el AGICommand_speech unload grammar

int agiCmd_Speech_Unload(_AGIRESULT *result, char *grammarName);

Retorno: Ver sendAgiCmd.
_AGIRESULT result: Estructura que contiene el resultado de la ejecución del comando.
char
grammarName


Related

Wiki: Español

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.