Sagt’ mal,
kann ich mit dem VoIP Modul eigentlich auch irgenwie die Anrufernummer ausfindig machen, auch ohne das Gespräch selber mit IPS anzunehmen?
Ich kann ja mit array VoIP_GetConnection (integer $InstanzID, integer $VerbindungsID)
die Verbindungsdaten auslesen, allerdings fehlt mir hier ja dann immer die VerbindungsID?
Wenn ich diese weiss, kann ich die Nummer ja abfragen, aber wie bekomme ich während des klingelns diese ID um VoIP_GetConnection auszulösen?
Da ich hier auch auf der Suche war, habe ich das gleich mal versucht. Ich bekomme da jedoch nicht die Anrufnummer. Als Ausgabe kommt da ein Counter, bei jeder Verbindung wird die Ausgabe von $_IPS[‚CONNECTION‘] um 1 hochgezählt. Mache ich da etwas falsch?
@paresy Ich habe hier doch noch eine Frage. Ich möchte anhand des Anrufes und der identifizierten Rufnummer, verschiedene Aktionen ausführen. Da es auch um eine angebundene Türstation geht, soll die Stadion weiter klingeln. Das bekomme ich einfach nicht hin. Wenn ich die Unterscheidung auf Basis „Annehmen (Aus Liste)“ mache, werden nicht hinterlegte Rufnummern abgelehnt (Teilnehmer erhält Besetzton). Bei „Annehmen (Alle)“ nimmt das Script immer entgegen und der Teilnehmer hört sofort keinen Rufton mehr. Bei Standardaktion „Kein(e)“ klingelt es zwar wie gewünscht weiter, das Abarbeitungsskript wird aber auch nicht ausgeführt.
Ja, da habe ich aber auch nur die Möglichkeit die Rufnummerauswertung zu machen, wenn die Instanz auf „Keine(e)“ steht. Mit dieser Einstellung kann ich aber die zweite Aufgabe nicht erfüllen…
kommenden Nummer „10“ nehme Ruf nicht an (es klingelt weiter) und initiiere eine Durchsage „es steht jemand an der Tür“
kommende Nummer „11“ nehme an und arbeite das o.g. Script ab und reagiere auf die DTMF Eingabe
switch($_IPS["EVENT"]) {
case "Incoming":
if (GetValue($ips_log)) IPS_LogMessage("VOIP", "Ein eingehender Anruf");
VOIP_SetData($id_voip, $_IPS["CONNECTION"], json_encode([
"Number" => $_IPS["DATA"],
"Vote" => 0
]));
if($nummer_erkannt == $nummer_klingeln) {
echo "Wir lassen es weiter klingeln und es passiert nichts";
}
if($nummer_erkannt == $nummer_annehmen) {
echo "Jetzt nehmen wir den Ruf an";
VoIP_AcceptCall($id_voip, $nummer_erkannt);
}
break;
VoIP_AcceptCall($id_voip, $nummer_erkannt) hier nehme ich bei $nummer_ermittelte Rufnummer. Oder mein VerbindungsID (das zweite Parameter) etwas anderes?