ISDN-Probleme

Hallo,

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?

Ich wünsche einen schönen Abend.

Christoph

Hallo,

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?

Ich wünsche einen schönen Tag.

Christoph.

Hallo,

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 wünsche einen schönen Tag.

Christop

… von welchem " Anrufbeantworter" redest Du :confused:

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"));
   }
}

Device.ISDN.rar (40.2 KB)

Hallo,

ich spreche von diesem Skript.

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.

Ich wünsche einen schönen Tag.

Christoph.

… also bei Deiner „Fritzcard“ kann ich Dir leider nicht helfen.
Aber hier noch ein Skript zum Erkennen von „Connected“:


// 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]


if ($content_2[0] == "CallingNumber"){
   echo $content_2[1];
   SetValueString("Calling_Number", $content_2[1]);
}


if ($content_2[0] == "Connected"){

	// hier der Code bei "Connected"

}

MST

Stimmt die MSN auf der IPS lauschen soll? Von welcher MSN kommt der Anruf?

paresy

Hallo Steiner,

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.

Ich wünsche einen schönen Abend.

Christoph.

Hallo Christoph,

ist die Fritzcard das einzigste Geraet am BUS, welches den Anruf signalisiert und annehmen soll?

Gruss Torro

Hallo,

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.

Ich wünsche einen schönen Abend.

Christoph.

Hallo Christoph,

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

und anschließend wird wieder bei „:“ zerlegt (siehe unten: http://www.ipsymcon.de/wiki/index.php/ISDN_over_CAPI)

MST

Beispiel:


"zweite Status Variable"
[08:53:21] = '1;CallingNumber:**41'
[08:53:21] = '1;CalledNumber:49'
[08:53:21] = '1;Accepted'
[08:53:31] = '1;Connected'
[08:53:39] = '1;Disconnected'


"Status Variable Deprecated, Concats with CRLF"
[08:53:21] = 'CallingNumber:**41
'
[08:53:21] = 'CallingNumber:**41
CalledNumber:49
'
[08:53:21] = 'CallingNumber:**41
CalledNumber:49
Accepted
'
[08:53:31] = 'CallingNumber:**41
CalledNumber:49
Accepted
Connected
'
[08:53:39] = 'CallingNumber:**41
CalledNumber:49
Accepted
Connected
Disconnected
'

Hallo Steiner,

besteht nicht die Gefahr, dass Informationen in der zweiten Statusvariable überschrieben werden, bevor sie ausgelesen wurden?

Mir ist noch nicht so ganz klar, welchen Vorteil die neue Statusvariable hat.

Ich wünsche einen schönen Abend.

Chistoph

ü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.

MST

Hallo Steiner,

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.

Ich wünsche einen schönen Tag.

Christoph.

… richtig: onChange > $IPS_VALUE und IP-Symcon sorgt dafür, dass alles gut wird :wink:

MST