Revin cu o intrebare pusa acum ceva timp:

Am instalat vgetty pe un Slack 9.0. Am facut diverse scriptulete care merg
dar au o singura problema. In momentul in care apelantul inchide telefonul
modemul meu extern Rockwell nu trimite nici un eveniment.

Intrebari:
1. a folosit cineva vgetty fara sa-i apara aceasta problema cu modem
extern Rockwell? daca da poate-mi spune si mie unde gresesc.
2. daca a folosit alt modem sa-mi spuna si mie ce tip.

Iata un ex. de script:

#! /usr/local/bin/vm shell

#**************************************
#       robot telefonic interactiv    *
#**************************************

# defineste functia ce primeste raspunsuri de la "voice library"

function receive
     {
     read -r INPUT <&$VOICE_INPUT;
     echo "$INPUT";
     }

# defineste functia ce trimite comenzi catre "voice library"

function send
     {
     echo $1 >&$VOICE_OUTPUT;
     kill -PIPE $VOICE_PID
     }

# verifica daca "voice library" poate comunica cu scriptul

ANSWER=`receive`

if [ "$ANSWER" != "HELLO SHELL" ]; then
    echo "$0: voice library nu raspunde" >&2
     exit 1
fi

# raspunde mesajului trimis de "voice library"


send "HELLO VOICE PROGRAM"

# Verifica daca mesajul a fost receptionat de "voice library"


ANSWER=`receive`


if [ "$ANSWER" != "READY" ]; then
     echo "$0: initializare imposibila" >&2
exit 1
fi

#activeaza evenimentele

send "ENABLE EVENTS"
ANSWER=`receive`
if [ "$ANSWER" != "READY" ]; then
     echo "$0: nu a activat evenimentele" >&2
     exit 1
fi




# Setez partenerul cu care va comunica "voice library"

send "DEVICE DIALUP_LINE"

# Verific daca a fost setat partenerul

ANSWER=`receive`


if [ "$ANSWER" != "READY" ]; then
     echo "`date` - $0: nu a putut fi setat partenerul" >&2
     exit 1
fi

# Ruleaza fisierul de intampinare


if [ -f /var/spool/voice/messages/intampinare.rmd ]; then
     send "PLAY /var/spool/voice/messages/intampinare.rmd"
fi

while true; do
ANSWER=`receive`
case $ANSWER in
      PLAYING)
         ANSWER=`receive`
         case $ANSWER in
                  READY)
                  echo "`date` - $0: ruleaza intimpinare.rmd">&2
                  send "PLAY /var/spool/voice/messages/intampinare.rmd"
                  ;;
             RECEIVED_DTMF)
                  echo "`date` - $0: a apasat o tasta DTMF"  >&2
                  send "STOP"
                  receive;
                  send "GOODBYE";
                  receive;
                  exit 0
                  ;;
             LOOP_BREAK|BUSY_TONE|BONG_TONE)
                  echo "`date` - $0: a detectat ton de ocupat"  >&2
                  send "STOP";
                  receive;
                  send "GOODBYE";
                  receive;
                  exit 0
                  ;;
         esac
esac
done



# Ne deconectam de la "voice library"
#

send "GOODBYE"

# Verificam daca "voice library" a primit mesajul

ANSWER=`receive`

if [ "$ANSWER" != "GOODBYE SHELL" ]; then
     echo "$0: nu a putut trimite GOODBYE" >&2
     exit 1
fi

exit 0




Raspunde prin e-mail lui