Hallo,
Hab grad ein Script gehackt, mit dem Telephonate über Jajah gehen sollen. Wenn es funktioniert stell ich es hier dann gerne zu Verfügung.
Das Script funktioniert so super nur hab ich wiedermal (*hirnklopf*) drauf losgehackt und dabei ein essentielles Problem übersehen.
Und zwar sieht das ganze im Dialplan so aus ("Pseudo"code)
Nur: Sobald das AGI-Script die Daten losgeschickt hat, wird recht flott zurückgerufen. So schnell kann man gar nicht auflegen und für den eingehenden Anruf ist das Telephon natürlich "besetzt".
Gibts eine Möglichkeit wie man das gut lösen kann?
Ich könnte natürlich zuerst auflegen und den AGI Aufruf erst nach dem Auflegen starten, allerdings will ich ja den Erfolg auswerten um ggf. ein Fallback ins normale Netz bieten zu können.
Gibt es nicht irgendwie die Möglichkeit, einen frisch reinkommenden Anruf mit dem noch laufenden zu "verbinden"? Dann wären alle Probleme futsch! Ob der eingehende Anruf der richtige ist, könnte man anhand der CID feststellen.
Jedem der hierzu eine kreative Lösung hat wäre ich sehr verbunden!
lg,
divB
Hab grad ein Script gehackt, mit dem Telephonate über Jajah gehen sollen. Wenn es funktioniert stell ich es hier dann gerne zu Verfügung.
Das Script funktioniert so super nur hab ich wiedermal (*hirnklopf*) drauf losgehackt und dabei ein essentielles Problem übersehen.
Und zwar sieht das ganze im Dialplan so aus ("Pseudo"code)
Code:
Answer();
JAJAH_USER=<email-addr>;
JAJAH_PASS=<password>;
JAJAH_NUMBER=<jajah-number>;
PlayTones(ring);
AGI(jajah.agi);
StopPlaytones();
if(${JAJAH_STATUS} != 0) {
Playback(own/jajah_error);
SayNumber(${JAJAH_STATUS});
// fall back to normal POTS!
}
else {
Hangup();
};
Nur: Sobald das AGI-Script die Daten losgeschickt hat, wird recht flott zurückgerufen. So schnell kann man gar nicht auflegen und für den eingehenden Anruf ist das Telephon natürlich "besetzt".
Gibts eine Möglichkeit wie man das gut lösen kann?
Ich könnte natürlich zuerst auflegen und den AGI Aufruf erst nach dem Auflegen starten, allerdings will ich ja den Erfolg auswerten um ggf. ein Fallback ins normale Netz bieten zu können.
Gibt es nicht irgendwie die Möglichkeit, einen frisch reinkommenden Anruf mit dem noch laufenden zu "verbinden"? Dann wären alle Probleme futsch! Ob der eingehende Anruf der richtige ist, könnte man anhand der CID feststellen.
Jedem der hierzu eine kreative Lösung hat wäre ich sehr verbunden!
lg,
divB
Zuletzt bearbeitet: