wieder ne Anfängerfrage :(

Hallo Gemeinde,

ich hab jetzt einige Zeit gestern und heute das Forum durchforstet und bin anscheinend immer um die richtigen Beiträge herumgeflogen :frowning:

Ich habe eine DeTeWe Open Com Plus TK Anlage mit USB.
Diese habe ich heute auf dem Rechner installiert, auf dem IPSymcon läuft.

Generell hätte ich gerne erstmal einfach nur die Möglichkeit, mir eingehende Anrufe mit Zeit und Datumsstempel mitzuloggen und in einem Fenster anzuzeigen.

Allerdings bin ich noch nicht mal im Ansatz so weit.

Wie fange ich denn an ? Wie bekomme ich die Capischnittstelle hin ?

Hat IPSymcon alles an bord, oder ist es richtig, das ich mich irgendwie mit der CAPI von der DeTeWe verbinden muß ?

Ich habe nach der installation der DeTeWe schonmal ein kleines Fenster in der Taskleiste, was meine beiden ISDN Leitungen anzeigt.

Ich habe in IPSymcon ein „ISDN Modul“ installiert und meine MSN eingetragen. Wie würde es denn im Prinzip weitergehen ?

Muß ich noch variablen anlegen ?
Ist das „ISDN Modul“ automatisch jetzt mit der capi schnittstelle verbunden, oder muß ich da noch etwas einstellen ?

Vielen Dank für die Hilfe

Lieben Gruß
Sascha

na ihr macht mir mut ^^

Hallo.

Ich weiss nicht wie es bei Deiner Anlage ist aber ich habe eine 131 und da gibt es mehr oder weniger nur kommerzielle Lösungen für „wenig“ Geld die die Anlage direkt auslesen.

Da meine Gelddruckerei derzeit außer Betrieb ist habe ich eine Fritz!Card mit ins Boot genommen die am internen S0 alle ankommenden Rufe signalisisert bekommt aber nur auf einer FAX-MSN abheben darf. Mit der im Forum hier zu findenden Anrufauswertung (ISDN-Modul, Klicktel usw.) war der Rest dann auch für mich als damaligen Anfänger relativ einfach zu lösen.

Grüsse.

Danke Kronos,

bei mir ist es so, das ich bereits auf einem kleinen tool der Anlage (auf PC installiert) schon die nummern angezeigt bekomme…ich würde in meinem jugendlichen Leichtsinn nun behaupten, das es schon bis zu dem PC auf dem IPSymcon läuft, funktioniert.

Nun ist mir das nur noch nicht klar, wie ich es in IPSymcon testen kann.
Das ISDN Modul aus IPS kommt ja ohne irgendwelchen Variablen.

Mir fehlt quasi erstmal eine Mölichkeit um IPS zu testen, ob IPS von ankommenden Anrufen „weiß“.

LG
Sascha

Hallo.

Hast Du eine ISDN-Karte im IPS-Rechner? Wenn nicht scheidet der Weg ja sowieso aus.
Wie kommt denn die DeTeWe-Software an Ihre Informationen? USB? Seriell? LAN?

Grüsse.

USB … :smiley:

Gruß
Bruno

:cool: Nicht gesehen. War so dunkel hier.

Also laut Datenblatt stellt die eine CAPI zur Verfügung, sollte also mittels des ISDN-Moduls von IPS nutzbar sein.
Grab mal hier http://www.ip-symcon.de/forum/f39/anleitung-isdn-11510/#post95585 ein wenig. Damit habe ich das bei mir zum laufen gebracht.

Juhuuu :slight_smile:

Diesmal war es wohl einfacher, als ich dachte…

Einfach ISDN Module einfügen, und es findet anscheinend meine „Capi“ von ganz alleine :slight_smile:

Jetzt habe ich mal ein Testscript geschrieben (wohl mehr geklaut) um das zu testen.

Ein Schalter im WF…bei Stellung „An“ soll mein Handy angerufen werden.
(Das klappt wunderbar)

Bei Schalterstellung „Aus“ soll aufgelegt werden.
(Das klappt leider nicht)

Hier mal das Script :

<?
if($IPS_SENDER == "WebFront") // wenn Sender ist Webfornt
{
   SetValue($IPS_VARIABLE, $IPS_VALUE); // Variable in Webfront umschalten

	if($IPS_VALUE)
 	{ // wenn TRUE

	 $id = ISDN_Connect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/,"0170xxxxxx");
  		
 	}

	else

	{ // wenn FALSE

    $id = ISDN_Connect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/,"0170xxxxxx");
    ISDN_Disconnect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/, $id);
    
 	}




}
?>

Vielen Dank für die Hilfe

ohne Gewähr; ich habe keine ISDN Karte im IPS …

Der FALSE Zweig macht meines Erachtens, der ich noch nie ISDN unter IPS genutzt habe nicht so viel Sinn. Im TRUE Zweig erstellt Du den CALL hällst ihn aufrecht und beendest Das Script.

Wenn bis Du wieder drückst kommst Du in den FALSE Zweig und versucht wieder einen CALL zu erstellen (also einen zweiten) und legst aber sofort wieder auf. Du hast nicht geschrieben was, was im FALSE Falle passiert? Gar nichts?

Merke Dir mal die CALL ID, die Du erstellt und versucht diese dann wiederzuverwenden. Ansonsten schreib einfach mal einen sleep() Befehl rein, der 5s wartet und dann den CALL im TRUE Zweig beendet, während Du noch die ID vom erstellen des CALLS hast.

Misch mich auch kurz ein:
das ISDN_Connect im False ist falsch, denn Du hast ja schon einen Connect im True gemacht. Mach´s mal mit ISDN_GetActiveConnections; damit kriegst Du die ID der aktiven Verbindung. Danach ein ISDN_Disconnect.
Dann sollte es klappen. So mach ich´s bei meinem AB auch.

Danke für die Hilfe soweit.

Ich hab das testscript jetzt mal soweit umgebaut…leider immer noch keinen Erfolg. Die Verbindung wird nicht unterbrochen. Unabhängig davon, ob ich den Anruf annehme, oder nicht.

Script sieht wie folge aus : (da ich PhP Anfänger bin, ist die wahrscheinlichkeit, das der Fehler 70cm vor dem Bildschirm sitzt bei nahezu 100%)

<?
if($IPS_SENDER == "WebFront") // wenn Sender ist Webfornt
{
   SetValue($IPS_VARIABLE, $IPS_VALUE); // Variable in Webfront umschalten

   $idaktive = ISDN_GetActiveConnections(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/);

	if($IPS_VALUE)
 	{ // wenn TRUE

	ISDN_Connect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/,"0170xxxxxx");
	
 	}

	else
	
	{
	
	ISDN_Disconnect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/, $idaktive);
	}


}
?>

Danke fürs helfen :slight_smile:

Dieser klägliche Versuch hat auch nichts gebracht :frowning:

<?
if($IPS_SENDER == "WebFront") // wenn Sender ist Webfornt
{
   SetValue($IPS_VARIABLE, $IPS_VALUE); // Variable in Webfront umschalten

   

	if($IPS_VALUE)
 	{ // wenn TRUE

	ISDN_Connect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/,"01703139162");
	
 	}



	else
	
	{
	$idaktive = ISDN_GetActiveConnections(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/);
	IPS_Sleep (300);
	ISDN_Disconnect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/, $idaktive);
	}


}
?>

wieder ohne Gewähr da ich immer noch kein ISDN im IPS habe, aber wahrscheinlich hilft es trotzdem weiter:

$idaktive = ISDN_GetActiveConnections(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/);

Ich glaube, dass ISDN_GetActiveConnections Dir (wie man an der Plural Forum des Befehls sieht) nicht die Connection gibt, die Du momentan suchst, sondern alle Connections, die momentan geben könnte. Also eine Auflistung aller möglichen Connections, aus der Du Dir deine raussuchen musst.

zeigt so etwas ähnliches:

print ("Abfrage aktive Verbindungen
"); 
   $connections=ISDN_GetActiveConnections($isdn_id); 
   print_r($connections); 
   foreach ($connections as $con) 
     { 
     $callinfo = ISDN_GetConnectionInfo($isdn_id, $con); 
     print ("Info über Verbindung Nr: $con 
"); 
      print_r ($callinfo); 
    } 

Wenn Du immer nur ein Telefonat offen hast, kannst Du einfach die erste gefundene ID aus dem ISDN_GetActiveConnections Array nutzen.

Ansonsten musst Du mit irgendetwas wie zum Beispiel der MSN vergleichen.

Im Beispiel also

$meineID = $callinfo[InstanceID]

Gruß,

ernie


if($IPS_SENDER == "WebFront") // wenn Sender ist Webfornt 
{ 
   SetValue($IPS_VARIABLE, $IPS_VALUE); // Variable in Webfront umschalten 

    if($IPS_VALUE) 
     { // wenn TRUE 

     $id = ISDN_Connect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/,"01703139162"); 
     SetValue(12345, $id); 
     } 
    else      
    { 
    ISDN_Disconnect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/, GetValue($id)); 
     }
}

Das könnte klappen :slight_smile:

paresy

Nöö…hat nicht geklappt…auch mein nächster test bringt immer eine fehlermeldung…

<?
if($IPS_SENDER == "WebFront") // wenn Sender ist Webfornt
{
   SetValue($IPS_VARIABLE, $IPS_VALUE); // Variable in Webfront umschalten

   

	if($IPS_VALUE)
 	{ // wenn TRUE
   $id = ISDN_Connect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/,"0170xxxxxx");
	SetValue(37893 /*[Mein Haus\ISDN\Call ID]*/, $id);

	
 	}



	else
	
	{
	ISDN_Disconnect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/, GetValue(37893 /*[Mein Haus\ISDN\Call ID]*/,$id));
   }


}
?>

Wir bleiben dran, oder ? :slight_smile:

So ist die fehlermeldung weg…er legt aber nicht auf (disconnect)

<?
if($IPS_SENDER == "WebFront") // wenn Sender ist Webfornt
{
   SetValue($IPS_VARIABLE, $IPS_VALUE); // Variable in Webfront umschalten

   

	if($IPS_VALUE)
 	{ // wenn TRUE
   $id = ISDN_Connect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/,"0170xxxxxxx");
	SetValue(37893 /*[Mein Haus\ISDN\Call ID]*/, $id);

	
 	}



	else
	
	{
	ISDN_Disconnect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/, GetValue(37893 /*[Mein Haus\ISDN\Call ID]*/));
   }


}
?>

versucht mal folgendes Script.

Du nimmst das Telefonat an und wartest 10s. Dann solltest das Gespäch vom Script wieder aufgelegt werden.

<? 
if($IPS_SENDER == "WebFront") // wenn Sender ist Webfornt 
{ 
   SetValue($IPS_VARIABLE, $IPS_VALUE); // Variable in Webfront umschalten 

    if($IPS_VALUE) 
     { // wenn TRUE 
   $id = ISDN_Connect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/,"0170xxxxxxx"); 
    sleep(10)
    ISDN_Disconnect(40276 /*[Mein Haus\ISDN\ISDN Zuhause]*/, $id)); 

     
     } 



} 
?>