VoIP: Zusammenspiel von Handler und anderen Skripts

Hallo,

wie löst man denn am geschicktesten das Zusammenspiel von VoIP-Handler-Skript und anderen Skripts, die die VoIP-Instanz nutzen?

Wenn ich z.B. aus einem beliebigen Skript einen Call aufbaue und anschließend auf Events reagieren will, wie z.B. Sound abgespielt oder Taste gedrückt, wie kriege ich die Info wieder ins ursprüngliche Skript? Die Events bekomme ich ja nur über das Abarbeitungsskript und müsste dann aber wieder auf das Ursprungsskript verweisen, dass ich aber im Handler erst mal nicht kenne.

Speichert man sich da am besten irgendwo die CallID und die ID des rufaufbauenden Scripts ab und ruft dann bei den Events wieder das Skript aus dem Handler auf? Irgendwie stehe ich da gerade ein wenig auf dem Schlauch, was die geschickteste Lösung ist. :confused:

Ich will ja auch nicht für jede Aufgabe / jedes Skript eine eigene VoIP-Instanz erstellen.

Ach und etwas off-topic:
Kann man eigentlich die eingehenden Audiosignale irgendwie in einer Datei mitschneiden? Quasi wie ein IPS-Anrufbeantworter?

Gruß
Slummi

Spannende Frage

Eine Aufnahmemöglichkeit ist aktuell nicht vorgesehen.

Da du in der Connection beliebige Daten speichern kannst, würde ich also die „ToDo’s“ dort hin speichern und den Rest das Ereignis Skript machen lassen. Das normale Skript startet nur den Anruf.

paresy

Ah an VoIP_SetData() habe ich irgendwie gar nicht gedacht. Das ist dann natürlich recht einfach zu handeln, wenn ich zu jeder Verbindung beliebig Daten speichern und wieder abrufen kann.

Perfekt, Danke!

Gruß
Slummi

Ich habe schon einige Tests mit VoIP gemacht, aber was VoIP_SetData bedeuten soll, konnte ich bis jetzt nicht ergünden.
Hat jemand ein Beispiel, was das praktisch macht?

So wie ich das verstehe, kann man mit SetData() und GetData() beliebige, individuelle Daten zu einer dedizierten Verbindung speichern.
Also Daten, die sich genau auf diese Verbindung beziehen und die ich in irgendeiner Form weiterverarbeiten und daher fest mit dieser Verbindung verknüpfen will.
So kann man, wie paresy schon schrieb, z.B. eine Verbindung in einem Skript aufbauen und weitere Schritte in einem anderen Script, wie dem Handler abarbeiten und die notwendigen Informationen entsprechend in Data ablegen und darüber austauschen.

Gruß
Slummi