[HowTo] Wählhilfe per Hardwaretaste starten <4€ ohne Firmwaremod

No, Joe ;)
Internettelefonie kommt nach der ( erfolgreichen ) Registrierung.
...welche Rufnummer befindet sich unter den "Anschlusseinstellungen" als "Ausgehende" und wer ist dessen Registrar ?

Irgendwas stimmt da nicht, eine interne Nummer sollte nicht rausgerufen werden.
 
Zuletzt bearbeitet:
Richtig, das sind interne Nummern.

deswegen wundert es mich ja, das da im ereigniss was von sipgate steht.
 
Regristrar von der **625 ist die Fritzbox und von Sipgate eben Sipagate.
Auf der** 625 liegt eine FF App.
Auf der **612 liegt ein C5.
der Sipgate Anschluss ist ein kostenfreier prepayd anschluss der nicht rausgeht, weil nichts eingezahlt ist.
Deswegen nur ankommend.

Raustelefoniert wird über ISDN
 
Zuletzt bearbeitet:
Bin ein Stückchen weiter.
ich hatte die **612 bzw. die **625 über über die Kurzwahl **707 gemacht.
da kam dieses sipgate ereignis.
ich hab nun in der software mal satt der **707 die **612 eingegeben.

und...... funzt. C5 klingelt.

juhu
 
Nochwas festgestellt:

bei einem Eintrag in der Kurzwahl mit einer Nebenstelle, z.B. **612, wird diese komische SIP Geschichte ausgeführt, warum? weiss ich nicht.
trag ich dort nen Rundruf ein, gibt es kein Problem. also **9, **50, oder **50#**625, dann funktioniert es über Kurzwahl.

an der Stelle, einen Dank an Andre....
 
Ich hab nun aus verschiedenen Code-Schnipseln mal was zusammengebaut, was auch genau so funktioniert.
Ohne WiFi Multi, die wird für den WLan-Klingeltaster nicht benötigt .

IDE 1.8.5, ESP8266 Package 2.4.1,

Code:
[code]



#include <Arduino.h>
#include <ESP8266WiFi.h>        // Include the Wi-Fi library
#include <ESP8266HTTPClient.h>
#include <tr064.h>
#define TASTER D3

//WLAN Netzwerk Name (SSID) und WLAN-Password
const char* ssid = "FRITZ!Box xxxx";
const char* password = "yyyyyyyyyyyyyyyyyy";

//Anmeldung aus dem Heimnetz mit Benutzername und Passwort
const char* fuser = "aaaaaaa";
const char* fpass = "bbbbbbbbbbb";

//IP Adresse fuer den Router:
const char* IP = "192.168.178.1";

//Port of the API of your router. This should be 49000 for all TR-064 devices.
const int PORT = 49000;

TR064 connection(PORT, IP, fuser, fpass);

void setup() {
   Serial.begin(115200);         // Start the Serial communication to send messages to the computer
  delay(10);
   Serial.println('\n');
 
  WiFi.begin(ssid, password);             // Connect to the network
   Serial.print("Connecting to ");
   Serial.print(ssid); Serial.println(" ...");

  int i = 0;
  while (WiFi.status() != WL_CONNECTED) { // Wait for the Wi-Fi to connect
    delay(1000);
    Serial.print(++i); Serial.print(' ');
  }

   Serial.println('\n');
   Serial.println("WLAN Verbindung steht!");
   Serial.print("IP address:\t");
   Serial.println(WiFi.localIP());         // Send the IP address of the ESP8266 to the computer
  delay(10000);
}
 
void loop() {
int taste = digitalRead(TASTER);
if (digitalRead(TASTER)== LOW)
{
   Serial.println();
   Serial.println("Taste gedrueckt");
  callWahlhilfe();
   Serial.println("Initialize TR-064 connection");
  delay(10000);
}
else
{
    Serial.println();
    Serial.println("Taste nicht gedrueckt");
  delay(50); 
  }
 
}

void callWahlhilfe() {
    
     connection.init();

  String params[][2] = {{"NewX_AVM-DE_PhoneNumber", "**777"}};
  String req[][2] = {{}};

  connection.action("urn:dslforum-org:service:X_VoIP:1", "X_AVM-DE_DialNumber", params, 1, req, 0);
}
[/CODE]
 
Zuletzt bearbeitet:
@Andre:

könnte man nicht auch auf diese Art nen SIP Call auslösen?
Also nur die Telefone klingeln lassen?
Was ich meine ist, das der NodeMCU sich als SIP Telefon einbucht.
Hintergrund ist, das bei der Wählhilfe immer das eingestellte Telefon im Display angezeigt wird.
Gut, könnte da nun "Türklingel" rein schreiben, aber gibt dann halt nur diese Anwendung.

Ich würd ja gern unsere WaMa im Keller über die "Fertig LED" anzapfen und damit nen Call auslösen.
Von der Hardware seite ist das keine Thema.
Nur, die Lösung über die Wählhilfe geht nur für eine Anwendung.
Für nen SIP Call hätte ich 4, evtl. 5 unbenutzt wenn ich das alte Smarfone rausschmeisse.
Das hätte den Vorteil, das ich dann jeweils was anderes reinschreiben kann, was dann auch im Display erscheint.

EDIT:
Was ich auch vorstellen könnte, das der Eintrag, wie das a/b Telefon 2 heisst, im Vorfeld über das protokoll geändert wird.
 
Zuletzt bearbeitet:
Ich hab nun in den Weiten des WWW's einen Sketch gefunden, der genau das macht.
Arbeitet zwar nicht mit der TR-064 Schnittstelle, aber egal.
https://www.mikrocontroller.net/topic/444994?goto=new#new

Das schöne an dem Sketch ist, das man soviele SIP Telefone einbinden kann, wie die Fritzbox zur Verfügung stellt.

Hier mal ein Ausschnitt aus dem Sketch:

Code:
const char* ssid        = "ssid";
const char* password    = "geheim";

Code:
// sip params
const char *sipip       = "192.168.8.1";
int         sipport     = 5060;
const char *sipuser     = "fbox-627";
const char *sippasswd   = "geheim";

Code:
// dial params
const char *sipdialnr   = "**777";
const char *sipdialtext = "Tuerklingel";

Code:
// network params
const char *ip          = "192.168.8.69";
const char *gw          = "192.168.8.1";
const char *mask        = "255.255.255.0";
const char *dns         = "192.168.8.1";

Hat aber insgesamt rund 400 Zeilen.

Ich muss nun noch ne Taster einbauen, damit man gezielt den SIPcall auslösen kann.

Dann hab ich genau das, was ich gesucht habe.
Eine Ereignismeldung, die auf den den Telefonen angezeigt wird.

// edit by stoney: [CODE] TAGs [/CODE] gesetzt.
Durch BBCodes wird ein Post meist flüssiger lesbar.

https://www.ip-phone-forum.de/help/bb-codes
 
Zuletzt bearbeitet von einem Moderator:
Hallo Andre,

erst einmal vielen Dank, ich suche schon etwas länger nach so einer Lösung.
Mein NodeMCU Lua Amica Module V2 ESP8266 ESP-12E ist heute gekommen, habe eigentlich alles hinbekommen wie du es beschrieben hast, allerdings klingelt das Telefon nicht.

Anmeldung per W-Lan erfolgt (sehe es zumindest mal unter Geräteübersicht) sowie unter Ereignisse sehe ich
22.07.18
15:21:35
Anmeldung einer App des Benutzers daniel von IP-Adresse 192.168.178.75.
(Diese IP: ESP-4CBB73 sollte das WLAN Modul des NodeMCU sein)

Soweit sollte alles passen, nur verstehe ich nicht wieso das angeschlossene Telefon nicht klingelt.

Telefon an Port FON 1 mit der Internen Rufnummer **1
diese habe ich auch in deinem Code in **1 abgeändert.

Hast du vielleicht eine Idee was ich falsch gemacht habe?

EDIT: Hat sich erledigt, die Wahlhilfe in der FritzBox war nicht aktiv :rolleyes:
jetzt funktioniert es, hab die Wahlhilfe auf das FON 2 gelegt Sprechanlage benannt, jetzt wenn ich den Taster drücke klingelt es und es steht da Sprechanlage.

Genau das was ich wollte, vielen DANK ;)
 
Zuletzt bearbeitet:
Ich ergänze mal die gestesten Code-Schnipsel um das Abschalten des Gast-WLANs. Wichtig bei der WLAN-Schalterei ist, ob die Box 5 GHz hat oder nicht. Meine hat es nicht, daher WLANConfiguration:2 sonst WLANConfiguration:3 .

AVM schrieb:
If the device additionally supports a second physical Access Point e.g. FRITZ!Box 7390
support 2.4 GHz and 5 GHz, one more service is listed (service #2).
If the device supports a logical Access Point for guests, one more service is listed (service
#2 or #3).

Gastzugang einschalten:
Code:
connection.init();
String params[][2] = {{"NewEnable", "1"}};
String req[][2] = {{}};
connection.action("urn:dslforum-org:service:WLANConfiguration:2","SetEnable", params, 1, req, 0);

Gastzugang ausschalten
Code:
connection.init();
String params[][2] = {{"NewEnable", "0"}};
String req[][2] = {{}};
connection.action("urn:dslforum-org:service:WLANConfiguration:2","SetEnable", params, 1, req, 0);

Beste Grüße
 
Bei mir hat es lange nicht funktioniert weil ich bei der Wählhilfe eine falsche Einstellung hatte ( Wählhilfe eingestellt auf das Telefon, das klingeln sollte - dabei ist die Wählhilfe der Absender ).

Das andere Problem war daß die TR64-SOAP-Library komplett streikt, wenn die Serial nicht auf 115200 Baud initialisiert wurde. Was ich nicht verstehe da in der Library alles so aussieht als ob Serial optional wäre.

Ich war schon fast dabei daß Projekt zu knicken und stattdessen einfach ein altes DECT-Mobilteil mit Kurzwahl-Knopf umzufunktionieren (Knopf am Telefon auslösen und damit Rundruf machen, keine eigene Software mehr) aber jetzt hat es ja doch noch geklappt.

Meine Klingel ist so richtig alt die spielt keine Melodie sondern ganz klassisch mechanisch - Hammer - Gong. Diesen Umstand habe ich mir zunutze gemacht und auf Optokopplung verzichtet. Der Gong brät also dem Arduino eine über und der Arduino funkt das der Fritzbox weiter und irgendwann klingelt es dann überall im Haus. Softwaretechnisch ändert sich dadurch nix.

Für die Ideengebung, Arduinosketches und sonstigen Erfahrungen hier im Forum möchte ich euch ganz herzlich Danken!
 
Guten Tag.
Hat einer das schon erfolgreich nachbauen können?
Ich möchte bei einem Klingeltaster ein Schließerkontakt abgreifen und somit der Fritzbox sagen sie soll das Fritzfon klingel lassen und von einer IP Kamera das Bild anzeigen lassen.
Was für ein NodeMCU braucht man da genau?
Ich habe mir zwar ein bei Aliexpress bestellt aber das ist schon lange her und er kommt nicht.
Vielleicht war es auch der falsche und bevor ich jetzt noch mal bestelle wollte ich mal nachfragen.
 
[Edit Novize: Überflüssiges Fullquote des Beitrags direkt darüber gelöscht - siehe Forumsregeln]

Ich schließe mich mal der Frage an.
Wurde für den Code im 1. Beitrag der Wemos D1 verwendet? Muss es der originale sein? Es gibt ja inzwischen viele Nachbauten.
Wenn ich einen einfachen Taster habe, brauche ich ja nichts weiter an Hardware?
 
Zuletzt bearbeitet von einem Moderator:
[Edit Novize: Überflüssiges Fullquote des Beitrags direkt darüber gelöscht - siehe Forumsregeln]

Ich schließe mich mal der Frage an.
Wurde für den Code im 1. Beitrag der Wemos D1 verwendet? Muss es der originale sein? Es gibt ja inzwischen viele Nachbauten.
Wenn ich einen einfachen Taster habe, brauche ich ja nichts weiter an Hardware?
Ich habe mir zwei bestellt aber mit welchen muss ich was machen.
2020-10-25 17_07_59-My AliExpress _ Manage Orders.jpg ++ 20201025_165635.jpg ++ 20201025_165654.jpg

Bilder gemäß Boardregeln geschrumpft by stoney
 
Zuletzt bearbeitet von einem Moderator:
Wichtig ist das es ein esp8266 mit mehr als 1MB ist, da es noch keiner versucht hat auf einen 1mb zu flashen ... Der Rest ist doch egal gibt ja hunderte Modelle ...
 
Wichtig ist das es ein esp8266 mit mehr als 1MB ist, da es noch keiner versucht hat auf einen 1mb zu flashen ... Der Rest ist doch egal gibt ja hunderte Modelle ...
Ich wollte nur wissen, ob ich sonst noch etwas benötige.
Es existieren im Internet einige vergleichbare Anleitungen, bei denen man noch einen Optokoppler, Widerstände usw. benötigt.
Ich gehe aber davon aus, dass diese Anleitungen für normale Klingelanlagen mit Spannung usw. ausgelegt sind.
In meinem Fall besteht die Klingel aus einem reinen Taster, welcher bisher an einer Agfeo Telefonanlage angeschlossen. Die Telefonanlage soll außer Betrieb genommen werden.
 
Es reicht aus, wenn keine anderen Potentiale an dem Schließertaster anliegen, den programierten Eingang des Wemos auf Masse zu schalten. Zu beachten ist die Leitungslänge und die Leitungsart, möglichst geschirmt und verdrillt, um keine Fehlauslösung zu haben. Mann arbeitet mit max. 3,3Volt Gleichspannung.
 
Moin, auch wenn es ein altes Thema ist. Leider funktioniert bei mir die Klingel nicht.
Ich arbeite mit einem WeMos D1 Mini.
Die Anmeldung am Netzwerk mit Auslöser funtioniert bereits.

Allerdings wird der Sammelruf über **9 nicht ausgelöst und ich sehe auch in den Ergebnissen in der FritzBox keine Einträge.

Vielen Dank für euer Hilfe.

Folgendes Script nutze ich:


include <Arduino.h>
#include <ESP8266WiFi.h> // Include the Wi-Fi library
#include <ESP8266HTTPClient.h>
#include <tr064.h>
#define TASTER D3
//WLAN Netzwerk Name (SSID) und WLAN-Password
const char* ssid = "Home";
const char* password = "XYZ";
//Anmeldung aus dem Heimnetz mit Benutzername und Passwort
const char* fuser = "Benutzer";
const char* fpass = "XYZ";
//IP Adresse fuer den Router:
const char* IP = "192.168.0.100";
//Port of the API of your router. This should be 49000 for all TR-064 devices.
const int PORT = 49000;
TR064 connection(PORT, IP, fuser, fpass);
void setup() {
Serial.begin(115200); // Start the Serial communication to send messages to the computer
delay(10);
Serial.println('\n');

WiFi.begin(ssid, password); // Connect to the network
Serial.print("Connecting to ");
Serial.print(ssid); Serial.println(" ...");
int i = 0;
while (WiFi.status() != WL_CONNECTED) { // Wait for the Wi-Fi to connect
delay(1000);
Serial.print(++i); Serial.print(' ');
}
Serial.println('\n');
Serial.println("WLAN Verbindung steht!");
Serial.print("IP address:\t");
Serial.println(WiFi.localIP()); // Send the IP address of the ESP8266 to the computer
delay(10000);
}

void loop() {
int taste = digitalRead(TASTER);
if (digitalRead(TASTER)== LOW)
{
Serial.println();
Serial.println("Taste gedrueckt");
callWahlhilfe();
Serial.println("Initialize TR-064 connection");
delay(10000);
}
else
{
Serial.println();
Serial.println("Taste nicht gedrueckt");
delay(50);
}

}
void callWahlhilfe() {

connection.init();
String params[][2] = {{"NewX_AVM-DE_PhoneNumber", "**9"}};
String req[][2] = {{}};
connection.action("urn:dslforum-org:service:X_VoIP:1", "X_AVM-DE_DialNumber", params, 1, req, 0);
}
 
Ich arbeite mit einem WeMos D1 Mini.
Die Anmeldung am Netzwerk mit Auslöser funtioniert bereits.

Allerdings wird der Sammelruf über **9 nicht ausgelöst und ich sehe auch in den Ergebnissen in der FritzBox keine Einträge.
Lese dich mal hier ein. Das nutze ich und ist ohne die TR-064 Funktion.
 

Statistik des Forums

Themen
244,696
Beiträge
2,216,704
Mitglieder
371,316
Neuestes Mitglied
realbluethunder
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.