2015-09-04 35 views
7

Sto usando l'asterisco con php agi normale dopo il this collegamento il problema è che il mio php agi richiede 5 secondi per eseguire. Voglio solo impostare un tono di attesa per l'utente di attendere fino al l'agi è stata elaborata. Sullo stesso link che ho trovato qualcosaImpostare il tono di attesa per l'asterisco Funzione di elaborazione agi

set music: Enable/Disable Music on hold generator, example "SET MUSIC ON default 

ma non so esattamente come utilizzare voglio dire che cosa sarebbe la sintassi esatta e dove posso metterlo.

Ho provato ad aggiungere

same => n,Set(CHANNEL(musicclass)=default) 

ma opera a forza

Qualcuno può aiutarmi? Grazie

risposta

2

Se si utilizza phpagi, hai fatto qualcosa del genere

$agi->set_music(true,"myholdclass") 
... 
$agi->set_music(false) 

http://phpagi.sourceforge.net/phpagi2/docs/phpAGI/AGI.html#methodset_music

sicuri di aver bisogno prima descrivere myholdclass in /etc/asterisk/musiconhold.conf

+0

grazie mille per la risposta, ma non sto usando php-agi Sono utilizzando l'agi semplice come indicato nella mia domanda – codegasmer

+0

ti raccomando di usare phpagi. Non ha senso fare la tua bicicletta. Se si sta utilizzando uno script personalizzato, è sufficiente inviare "SET MUSIC ON holdclass_here \ r " – arheops

+0

Ho provato a impostare la classe tramite l'asterisco ma dove eseguire 'SET MUSIC ON hold' – codegasmer

0

Hai messo un po 'di file audio nella directory di suono:

/var/lib/asterisk/mysoundFile 

quindi chiamare la funzione di riproduzione:

Playback(mysoundFile) 

Per maggiori informazioni: http://www.voip-info.org/wiki/view/Asterisk+cmd+Playback

+0

no questo non è quello che voglio io voglio il tono da riprodurre quando richiesta non è in corso l'elaborazione prima richiesta AGI – codegasmer

0

Si prega di verificare Il Comando Playtones.

exten => s, 2, Playtones (quadrante)

0

ho una soluzione più facile per il vostro problema.

Si utilizza Asterisk AGI per questo, senza la necessità di creare uno script AGI (non mi piace il mechnanism AGI.Ho inventato un framework che è più potente, più facile e flessibile e mi permette di fare cose pazzesche con Asterisk senza mai toccando il Dialplan o qualsiasi altro file di configurazione).

Per il tuo problema, procedi come segue;

  1. Creare un collegamento simbolico per il '/ bin/echo' applicazione nella directory agi da:

    ln -s /bin/echo /var/lib/asterisk/agi-bin/echo 
    
  2. da voi dialplan, avviare musica di attesa chiamando exten => s,n,AGI(echo, SET MUSIC ON)

  3. fare la tua azione ...
  4. ferma la musica in attesa da parte del telefono exten => s,n,AGI(echo, SET MUSIC OFF)
  5. trasferisci o fai altre cose ...

Questo è il modo più semplice, senza la necessità di creare pagine AGI.

saluti, Lawrence