2009-03-30 3 views
0

Ich bin neu in Asterisk AGI-Programmierung. Im Versuch, eine einfache IVR zu schaffen, mit asterisk-perl, in dem ein Benutzer eine beliebige Erweiterung hier von 1 bis 4 eingeben können, ist mein Code so weit:Wie kann ich die vom Benutzer in einem Perl AGI-Skript eingegebene Erweiterung abrufen?

use Asterisk::AGI; 

$AGI = new Asterisk::AGI; 

for($i = 0 ; $i < 2 ; $i++) 
{ 
    $AGI->exec('Playback','welcome'); 

    $AGI->exec('WaitExten','5|m'); 


} 

Nun, ich möchte die Erweiterung wissen, dass der Benutzer eingegeben und nehmen etwas Handlung dementsprechend. Wie bekomme ich die vom Benutzer eingegebene Erweiterung?

Vielen Dank.

Antwort

0

Nun, da der Befehl WaitExten den Benutzer zu einer neuen Erweiterung ändert, nehme ich an, Sie können die spezielle Variable ${EXTEN} nach dem Aufruf von WaitExten lesen. Ich bin nicht vertraut mit Asterisk :: Perl, aber ich habe nur FastAGI von Java verwendet, so dass ich den genauen Befehl nicht kenne, aber es muss ein Befehl sein, um den Wert einer Variablen zu lesen.

1

Ich glaube, Sie wollen get_data verwenden, so dass Sie eine Datei spielen und dann einen bestimmten Zeitpunkt für eine bestimmte Anzahl von Stellen zB warten:

AGI- $> get_data (‚Demo-welcome‘ 15000, 5);

Siehe here

Verwandte Themen