ich wollte mal den Anrufbeantworter ausproblieren. Leider nimmt meine Fritzcard nicht ab, wenn ein Anruf reinkommt. Ich weiss leider auch nicht so genau, was ich bei der ISDN-Configuration eingeben muss.
Die Statusvariable funktioniert. Ich bekomme angezeigt, wer anruft und zu welcher Nr. der Anruf geht.
Bei MSNIncoming und „Only accept Calls from the foll. Numbers“ habe ich ebenfalls eine Null eingetragen. Wofür ist Accept Delay?
Um zu prüfen, ob überhaupt etwas geht, habe ich dann mal von der IPS einen Anruf getätig. Klappte super nur die Stimme war langsamer als aufgenommen und merkwürdig gestörrt.
Muss ich eine bestimmte KHz-Zahl einhalten, oder welche Ursache kann das haben?
hat niemand eine Idee, warum es bei mir nicht funktioniert? Inzwischen habe ich den Rechner schon mehrfach gestartet, aber es bleibt alles beim Alten. Der Anrufbeantworter will nicht drangehen.
Mit welcher Samplingrate habt Ihr die Ansagen aufgenommen? Mono, oder Stereo?
Gibt es eine Anleitung zum ISDN-Modul, in der genau beschrieben wird, welche Werte wo eingestellt werden müssen?
Ich würde gerne Rufnummer A anrufen, die dann immer abnehmen soll. Was muss ich wo einstellen?
mit der Ansage klappt es jetzt. Ich habe mal eine Ansage mit dem Befehl:
TTS_GenerateFile(18809, „Dies ist eine Ansagetext….“, „C:/Programme/IP-SYMCON/AB/ansagen/904846-2.wav“, 6);
erzeugt und diese dann abspielen lassen. Das klappt super, wahr also wahrscheinlich doch die Samplingrate, die Probleme gemacht hat.
Trotzdem habe ich weiterhin das Problem, dass der Anrufbeantworter einfach nicht abheben möchte.
Ich habe jetzt in "Only accept Calls from the following Numbers:
0
12345678
49
stehen. Dabei ist 12345678 die Rufnummer, von der ich anrufe. Auch wenn hier nur 0, oder 49 steht gehts nicht.
Im Debugfenster sieht auch alles ganz ok aus:
Info: CONNECT_IND(642)
Ankommend von: 12345678
Ankommend fuer: 909090
CIPInt: 16
CIPVal: telephony
Info: >> Timer 1 started
Info ALERT_CONF(385)
Info: INFO_IND(2178)
Info: DISCONNECT_IND(1154)
Getrennt
Was bedeutet Timer 1 started? Ich habe keinen Timer eingestellt. Leider gibt es keinen Info: CONNECTED!
Ich habe ein neues „ISDN-Modul“ (bald im Update) - vielleicht hilft Dir das weiter.
MST
PS: Wer ruft hier wen an?: Schni, schna, schappi mit explode
// Trigger: Variable in: "Status Variable" nicht: "Status Variable Deprecated, Concats with CRLF"
$status = $IPS_VALUE;
$content_1 = explode(";",$status); // ISDN Line und Status
$content_2 = explode(":",$content_1[1]); // MSN Nummer > [1]
// wer ruft an?
if ($content_2[0] == "CallingNumber"){
SetValueString("Calling_Number", $content_2[1]);
}
// wer wird gerufen?
if ($content_2[0] == "CalledNumber"){
SetValueString("Called_Number", $content_2[1]);
// wenn ein Anruf von der Nummer 17012345678 (Null ggf. weglassen TK-Anlagen abhängig)
// und für die MSN (hier Nebenstelle 45) bestimmt ist, dann tu dies oder jenes
if ((GetValueString("Calling_Number") == "17012345678") and ($content_2[1] = "45")){
include(IPS_GetScriptFile("Ein_anderes_Skript_starten"));
}
}
Das Skript ist aber im Moment erstmal nicht so wichtig. Mein größtes Problem ist, dass meine Fritzcard nicht automatisch abhebt, wenn es klingelt. Der Anrufbeantworter von Fritz und auch das Prg. Phoner funktionieren problemlos.
danke für das Skript, ich habe aber das Problem, dass es keine Verbindung gibt. Die Nummer die angerufen wird und die Nummer die anruft kann ich auslesen. Die Statusvariable nimmt aber nicht den Wert Connected an.
Wenn ich dann auflege, bekomme ich den Wert Disconnected, aber es wird nie verbunden. Ich werde mal das neue ISDN-Modul ausprobiieren, vielleicht klappts ja damit.
Hallo Parsey,
ob die MSN stimmt weiss ich nicht. Lt WIKI soll ich 0 eintragen, dann wird jeder Anruf angenommen. Ich habe es mit 0, mit 49 und mit der korrekten MSN probliert, aber es will einfach nicht funktionieren.
jetzt endlich klappts. Ich weiss zwar nicht genau warum, aber jetzt werden die Anrufe auch angenommen. Ich vermute, dass ich die MSN falsch angegeben hatte. Zum Testen hatte ich die Nummer benutzt, die ich sonst nie verwende. Wahrscheinlich hatte ich hie zwei Zahlen verdreht. Ich hatte gerade nochmals eine falsche MSN ausprobíert, damit lief dann der AB wieder genau wie zuvor.
2-Steiner,
wofür ist denn die zweite Statusvariable gedacht? Wie ich gesehen habe, steht dort immer der letzte Statuswert.
Wenn das ISDN-Modul noch weiterentwickelt wird, dann würde ich mir eine Möglichkeit wünschen einen Anruf anzunehmen. Der Grund ist folgender. Das AB-Script wartet auf den Statuswert Connected, bevor die Ansage abgespielt wird. Dass ein Anruf eingeht, merkt das Script aber sofort. Ich würde gerne sofort die ankommende Nummer mit denen vergleichen, von denen ich keine Anrufe erhaten möchte. Wird eine solche Nr. gefunden, möchte ich abheben und sofort wieder auflegen. Zur Zeit mache ich das mit dem Programm Phoner. Ist einfach klasse, kein Versicherungsvertreter kommt mehr durch.
Die Rufannahme wäre auch für den AB interessant. Anrufe mit unterdrückter Rufnummer würde ich gerne sofort zum AB durchschalten.
Sehr nützlich wäre es auch, wenn ich direkt über die Soundkarte telefonieren könnte.
Läßt sich der Delaywert per Programm ändern? Ich habe bisher nur die Möglichkeit gefunden, die Wartezeit bis zur Rufannahme über die ISDN-Modul-Konfiguration einzustellen.
die „Rufannahme“ per Skript haben wir auf unsere ToDo-Liste geschrieben.
Die zweite Staus Variable (von uns empfohlen) wird bei neunen Werten überschrieben.
Dies erfordert: $status = $IPS_VALUE;
Dadurch stehen die exakt Daten in „$status“ zu dem Zeitpunkt des Triggers.
z.B ‚1;CalledNumber:04504715165‘ - wobei die „1“ für die ISDN Linie / Kanal steht.
Die kann man einfach zerlegen: $content_1 = explode(";",$status);
wobei:
[0] vor dem „;“ also 1 für die Linie
[1] nach dem "; also CalledNumber:04504715165
überschrieben werden, bevor sie ausgelesen wurden?
> nein dafür sorgt: $status = $IPS_VALUE;
Vorteil > nach dem „Verarbeiten“ muss die „Status Variable Deprecated, Concats with CRLF“ gelöscht werden (da sie nicht überschrieben wird).
Dies bewirkt ein erneutes Triggern der Skriptes, dass wiederum abgefangen werden muss, um Endlosschleifen zu verhindern.
den Vorteil habe ich jetzt verstanden. Ich habe aber noch eine Verständnisfrage: $IPS_VALUE sorgt dafür, dass ich den Inhalt der neuen Statusvariable zum Zeitpunkt des Triggers erfahre.
Ich gehe mal davon aus, dass ich dann aber in dem Modul auch eine Variable angeben muss und diese dann z. B. per onChange mit dem zugehörigen Skript verknüpfe.
Die alte Statusvariable (Status Variable Deprecated, Concats with CRLF) brauche ich dann ja nicht mehr. Das Feld für die Variable kann ich dann ja einfach frei lassen.