Sternchen: Warten Sie nicht, bis das AGI -Skript (BASH) fertig ist, bevor Sie im Dialplan fortfahren

StackOverflow https://stackoverflow.com/questions/19840520

  •  29-07-2022
  •  | 
  •  

Frage

Ich habe einen Sternchen -Dialplan, der ein Bash -Skript ausführt, das dem Callerid mit einer Datenbank entspricht, um den Anrufer zu Geolocalocate (durch Übereinstimmung mit Land- und Gebietscodes). Da die Datenbank ziemlich groß ist (global), dauert sie bis zu 15 Sekunden.

Ich muss dieses Skript unmittelbar nach der Beantwortung des Anrufs ausführen (falls der Benutzer vor dem Ruf abhängt), möchte jedoch nicht, dass der Benutzer auf die Skriptausführung wartet. Die Rückgabewerte sollten idealerweise am Ende des Dialplanes kurz vor dem Aufhang verarbeitet werden.

Q1: Ich habe gefunden http://www.voip-info.org/wiki/view/asterisk+agi#forkandContinuedialplan Das befasst sich mit meinem Problem in Bezug auf Perl -Skripte. Wie kann ich das gleiche in Bash erreichen? Ich weiß, dass ich jedes Bash -Skript an den Hintergrund senden kann, indem ich am Ende ein "&" hinzugefügt wird, aber ich bin nicht ahnungslos, wie das im Dialplan / bei Verwendung von AGI -Skripten das mache.

F2: Wie kann ich die Werte verarbeiten, auch wenn der Benutzer vor / der Dialplan "Beurteiltes ungleich Null" aufgehängt hat?

Danke für Ihre Hilfe!

War es hilfreich?

Lösung

Verwenden Sie die Fastagi -Schnittstelle. Oder feuern Sie mit AMI -Hörer unterwegs.

AGI ist nicht so konzipiert, dass es so funktioniert, wie Sie möchten, daher wird es nicht funktionieren.

Natürlich können Sie NoHUp -Befehl verwenden, um das unsterbliche Bash -Skript zu erhalten, aber so ist es nicht so.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top