Nicht blockierendes MoH

divB

Mitglied
Mitglied seit
14 Jul 2006
Beiträge
324
Punkte für Reaktionen
0
Punkte
0
Hi,

Ich programmiere ein AGI-Script, das verschiedene Daten abfragt, was etliche Sekunden dauert. Damit man nicht verwirrt ist, soll währenddessen MoH gespielt werden.

MusicOnHold()

scheint aber zu blockieren.

Gibt es keine Möglichkeit so wie bei PlayTones() MoH einfach einzuschalten und auszuschalten?
Kann mir nicht vorstellen dass das noch keiner gebracht hat, das ist doch ein Feature das man immer wieder braucht...


Danke,
divB
 
Dial mit MoH zu einem LOCAL Channel und da das Script ausführen
 
Hmm, so einfach geht das leider nicht weil die Logik im AGI Script drin ist :-(

z.B. hab ich ein AGI-Script

Code:
speak('Bitte warten');

#$AGI->exec('MusicOnHold');

my $outp = `netzwerkstatus.sh`;
my @lines = split(/\n/, $outp);

#$AGI->exec('MusicOnHold', 'none');

Das externe Script "netzwerkstatus" braucht gut & gerne 30-60 Sekunden. Und das ist ja nur ein Teil der im AGI Script drinnen ist, da gibts ein paar solche Passagen.

Irgendwie versteh ich des net ganz: Mir fallt nix ein für das eine MusicOnHold() Applikation gut sein soll die für ewig rennt (so wie das jetzt der Fall ist) aber hunderttausend Möglichkeiten für die MusicOnHold nichtblockierend sein soll. Irgendwie würd das ja auch der Hausverstand erwarten. :-(
 
Juhuu, Juhuuu, Solution Found!!!

Jetzt war ich grad dabei mir des selbst dazu zu programmieren, auch wenn ichs nicht für möglich gehalten hab und was seh ich da in der res_musiconhold.c?

StartMusicOnHold() und StopMusicOnHold()

Funktionen, die mir bis jetzt noch nicht untergekommen sind!

Juhuuuu, funktioniert echt perfekt so :-)
 
Kostenlos!

Statistik des Forums

Themen
248,899
Beiträge
2,304,463
Mitglieder
378,596
Neuestes Mitglied
Pappnase333