Hauptmenü

Modul 96_SIP

Begonnen von Wzut, 19 Februar 2017, 19:10:09

Vorheriges Thema - Nächstes Thema

RaspiLED

Hi,
Richtig mit dem Uodate muss ein Passwort mindestens 8 Zeichen haben!
Quelle: https://avm.de/service/downloads/update-news/download/show/18492/
"Neue und verbesserte Funktionen in FRITZ!OS 6.80 [...] Sicherheit: NEU - Das Kennwort für die Anmeldung eines IP-Telefons an der FRITZ!Box muss mindestens achtstellig sein. IP-Telefone mit kürzerem Kennwort werden beim Update deaktiviert."

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Prostetnik

@raspiLED
Ich hab mich vielleicht nicht klar genug ausgedrückt: Das mit den 8 Stellen war klar. Kürzere PW kann man gar nicht mehr eingeben. Es reicht aber nicht das es 8 Zeichen hat, sondern muss ein starkes PW sein. Sonst akzeptiert die Box es bei der Eingabe, aber die Registrierung des Moduls funktioniert trotzdem nicht (Fehler 404)

Wzut

@Prostetnik, schön das es jetzt geht und danke für die Info wie man den Fehler 404 los wird,
das muß auch unbedingt mit ins Wiki
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

fiedel

Zitat von: Prostetnik am 29 März 2017, 20:54:15
@raspiLED
Ich hab mich vielleicht nicht klar genug ausgedrückt: Das mit den 8 Stellen war klar. Kürzere PW kann man gar nicht mehr eingeben. Es reicht aber nicht das es 8 Zeichen hat, sondern muss ein starkes PW sein. Sonst akzeptiert die Box es bei der Eingabe, aber die Registrierung des Moduls funktioniert trotzdem nicht (Fehler 404)

Bei mir war es so, dass ich zuerst ein starkes PW mit Buchstaben, Ziffern und Sonderzeichen vergeben hatte. Damit bekam ich keine Verbindung zur Fritzbox. Dann habe ich ein PW ohne Sonderzeichen genommen - damit ging es. Die FB sagt bei beidem "Grün"/stark.

Ansonsten bin ich völlig begeistert, was aus diesem ursprünglich "nur anklingel"- Modul geworden ist. Vielen Dank an die Entwickler und Tester! Ich nutze es bisher für eine Benachrichtigung mit Ansage.

Übrigens hat bei mir die Net:SIP Version über "apt-get inst." nicht funktioniert (Debian 7). Dann hatte ich die Inst. per CPAN (ohne m)  und auch per "wget -> entpacken -> make..." also "zu Fuß" probiert. Beide Male kam ich so zur derzeit neuesten Version, die auch prompt funktioniert hat.

Gruß
Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

plin

Nachdem sich bei mir die Werbeanrufe häufen, habe ich noch einen Wunsch:

init_media => $ua->rtp( 'recv_echo',undef,0 ),

Die Rufnummernsperre in der Fritzbox ist zwar ganz schön, es wird die Anrufer aber mehr nerven wenn sie ihr eigenes Echo hören :-)

Das wäre dann der dritte listen-Modus echo.
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

Prostetnik

@Wzut
Jupp. Muss ins Wiki. Jetzt tut alles wie es (bei mir) soll. Auch die. Ansagen per textToSpeech. Alles gut i.M.

@fieddel
Sonderzeichen allgemein können es nicht sein. Ich benutze z.B. $ und %. Die machen keine Probleme. Vielleicht macht sich irgendjemand die Mühe und findet raus was an Zeichen geht und was nicht...

Wzut

So Männer nicht das ihr denkt ich wäre hier eingeschlafen, am WE gibt es die nächste Version.
Eigentlich wollte ich am letzten WE nur mal schnell ein neues Attribut einführen um einen Listen Prozess zu beenden wenn ein aktiver Call raus soll. Beim Durchtesten ist mir aber aufgefallen das das vor einiger Zeit eingeführte Attribut sip_call_audio_delay leider nicht so funktioniert wie ich mir das ursprünglich gedacht hatte. Diese Korrektur hat mir wieder ein paar neue graue Haare eingebracht :( und euch eine neue Funktion :)

FIX
sip_call_audio_delay funktioniert nun wie es so

NEW
a. Neues Attribut sip_elbc  (End Listen Befor Call ) Werte : no & yes , default : no
Mit diesem Attribut kann festgelegt werden ob ein laufender Listen Prozess beenden werden soll bevor ein Call raus geht.
Der Listen Prozess wird nach Ende des Call automatisch wieder neu gestartet. Dieses Verhalten entspricht quasi einem normalen Telefon das ja auch nicht gleichzeitig anrufen und angerufen werden kann.

b. neues Attribut sip_force_interval
Die Force Option (&) verwendete bisher fest eine Minute als Wiederholzeit.
Mit dem neuen Attribut kann eine beliebige Zeit in Sekunden vorgegeben werden.

c. Durch den Fix von  sip_call_audio_delay musste ich mich mit den Problem beschäftigen mehr als ein Audiofile abzuspielen. Dies habe ich genutzt um eine repeat (Wiederhol) Funktion für Audiofiles/Textnachrichten einzubauen.
Aufruf bei einem Call :
set <name> call 08154711 30 ./tada.alaw *3   <--- der Stern * ist das Schlüsselwort , 3 die Anzahl der Wiederholungen
D.h. das Audiofile wird also in Summe 4 mal abgespielt 1 mal  direkt plus 3 Wiederholungen.
oder set <name> call **611 20 !Hier ist dein FHEM Server *2 &
Aber ACHTUNG :
Wenn ihr diese Funktion nutzt behaltet die Gesamtdauer bzw. die Zeitüberwachung des Call im Auge. Durch die Wiederholungen läuft man relativ schnell in den Timeout wenn man die Zeit zu knapp wählt.
Viele Wiederholungen sind zwar schön, aber wenn man sich diese nicht wirklich bis ganz zu Ende anhört endet der Call auch mit einem Fehler da der Client ja seine Audioschleife nicht zu 100% erfolgreich abgearbeitet hat.
Das kann zur unschönen Überraschung werden falls der Call als Forcecall (&) gestartet wurde und man ständig durch das at wieder angerufen wird. 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

plin

>Das kann zur unschönen Überraschung werden falls der Call als Forcecall (&) gestartet wurde und man ständig durch das at wieder angerufen wird. 
Was natürlich wieder mal zu einer Idee führt: via DTMF ausschalten während der Call läuft (Ich weiß wie schlimm dieser Vorschlag ist ...)
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

Martin-72

#233
Hallo Zusammen,

ich habe ein Problem, den richtigen PORT zu finden und einzutragen.

Meine Konfiguration sieht folgendermaßen aus:

ZitatReadings
call             done     2017-03-31 12:18:26
call_state   fail         2017-03-31 12:18:26
caller          none     2017-03-31 12:17:44
caller_state waitting  2017-03-31 12:17:44
last_error   ListenRegister: cannot open port 5070 or 5080 at 192.168.188.34: Address already in use     2017-03-31 12:23:21
state           error      2017-03-31 12:23:21

Zitat
T2S_Device          myT2S
audio_converter  sox
room                    00_Alarmanlage,Keller
sip_dtmf_loop     once
sip_dtmf_send   audio
sip_dtmf_size      2
sip_elbc               no
sip_from              sip:620@fritz.box
sip_ip                  192.168.188.34
sip_listen            dtmf
sip_port              5060
sip_registrar       fritz.box
sip_ringtime        3
sip_user              620
verbose              5


wenn ich nun ein set SIP_Telefon call 0123456789 30 !Hallo Martin
eingebe, erhalte ich .... nichts. :(

Ein Blick in den Log-File zeigt:

Zitat2017.03.31 12:30:03 1: SIP_Telefon :set repeat 0
2017.03.31 12:30:03 4: SIP_Telefon, wait_for_t2s file : cache/c7ec495110830339faa63a4d89bb9cb0.mp3
2017.03.31 12:30:03 4: SIP_Telefon, new T2S file cache/c7ec495110830339faa63a4d89bb9cb0.mp3
2017.03.31 12:30:03 5: SIP_Telefon, not converted using cache/c7ec495110830339faa63a4d89bb9cb0.alaw from cache
2017.03.31 12:30:03 1: SIP_Telefon, Test : SIP_Telefon call 0123456789 30 cache/c7ec495110830339faa63a4d89bb9cb0.alaw *0
2017.03.31 12:30:03 4: SIP_Telefon, message cache/c7ec495110830339faa63a4d89bb9cb0.alaw found
2017.03.31 12:30:03 4: SIP_Telefon, call -> SIP_Telefon|0123456789|30|cache/c7ec495110830339faa63a4d89bb9cb0.alaw|0|0
2017.03.31 12:30:03 5: SIP_Telefon, call has pid 24893
2017.03.31 12:30:03 4: SIP_Telefon[24893], my parent is 24729
2017.03.31 12:30:03 2: SIP_Telefon[24893], cannot open port 5060 at 192.168.188.34: Address already in use
2017.03.31 12:30:03 4: SIP_Telefon, CALLDone -> SIP_Telefon|0|CallRegister: cannot open port 5060 or 5070 at 192.168.188.34: Address already in use
2017.03.31 12:30:03 5: SIP_Telefon, fifo is empty
2017.03.31 12:30:03 5: SIP_Telefon, no elbc
2017.03.31 12:30:07 1: DEBUG>description :Conflict: terminated by other long poll or webhook:

Könnt Ihr mir einen Hinweis geben, was ich wohl falsch mache?

Ach ja. Wenn ich die FHEM-zugewiesene Rufnummer anrufe, kommt nach 2 Freizeichen ein schreckliches Geräusch, dass ich mit einem #13 abstellen kann.

Der Log sieht wie folgt aus:
Zitat2017.03.31 12:33:52 1: DEBUG>description :Conflict: terminated by other long poll or webhook:
2017.03.31 12:33:54 5: SIP_Telefon, listen prozess 24277 found
2017.03.31 12:34:54 5: SIP_Telefon, listen prozess 24277 found
2017.03.31 12:34:57 1: DEBUG>description :Conflict: terminated by other long poll or webhook:
2017.03.31 12:35:18 5: SIP_Telefon[24277], SIP_filter : a:"Martin-72" <sip:0123456789@fritz.box>;tag=70966A5091694E7F | b:Net::SIP::Request=HASH(0x2a3a4c8)
2017.03.31 12:35:18 5: SIP_Telefon[24277], telnet : set SIP_Telefon caller Martin-72 sip:0123456789@fritz.box
exit

2017.03.31 12:35:18 4: SIP_Telefon[24277], cb_create : INVITE
2017.03.31 12:35:18 5: SIP_Telefon[24277], telnet : set SIP_Telefon caller_state ringing
exit

2017.03.31 12:35:21 5: SIP_Telefon[24277], telnet : set SIP_Telefon caller_state established
exit

2017.03.31 12:35:21 5: SIP_Telefon[24277], my parent is 11617
2017.03.31 12:35:21 4: SIP_Telefon[24277], register new expire : Fri Mar 31 12:40:21 2017
2017.03.31 12:35:21 5: SIP_Telefon[24277], telnet : set SIP_Telefon state listen_dtmf
exit

2017.03.31 12:35:21 5: SIP_Telefon[24277], telnet : set SIP_Telefon caller none
set SIP_Telefon caller_state waitting
exit

2017.03.31 12:35:34 5: SIP_Telefon[24277], SIP_bye : HASH(0x2a3a8d0)
2017.03.31 12:35:34 5: SIP_Telefon[24277], telnet : set SIP_Telefon caller none
set SIP_Telefon caller_state hangup
exit

Vielen Dank für Eure Hilfe.

Martin

Ach ja. Unmittelbar vor dem Post und den Versuchen dazu habe ich ein update gemacht. fheminfo sieht so aus:
ZitatFhem info:
  Release  : 5.8 FeatureLevel: 5.8
  OS       : linux
  Arch     : arm-linux-gnueabihf-thread-multi-64int
  Perl     : v5.14.2
  uniqueID : 664b8dd94e19251b2e031e1a44817582
  upTime   : 00:21:25

Defined modules:
  Alarm          : 1
  CUL            : 3
  CUL_HM         : 137
  DOIF           : 2
  ECMD           : 1
  ECMDDevice     : 1
  FB_CALLLIST    : 2
  FB_CALLMONITOR : 1
  FHEMWEB        : 3
  FileLog        : 3
  HMLAN          : 1
  HMinfo         : 1
  IPCAM          : 1
  IT             : 14
  PROPLANTA      : 1
  SIP            : 1
  SVG            : 2
  THRESHOLD      : 1
  TelegramBot    : 1
  Text2Speech    : 1
  Twilight       : 1
  allowed        : 5
  at             : 10
  autocreate     : 1
  dummy          : 1
  eventTypes     : 1
  monitoring     : 1
  notify         : 20
  readingsGroup  : 2
  telnet         : 1
  watchdog       : 1
  weblink        : 4

Defined models per module:
  CUL            : CUL
  CUL_HM         : ActionDetector,CCU-FHEM,HM-CC-RT-DN,HM-Dis-WM55,HM-ES-PMSw1-Pl,HM-LC-Dim1T-Pl-3,HM-LC-SW4-DR,HM-LC-SW4-WM,HM-LC-Sw1PBU-FM,HM-PB-6-WM55,HM-RC-Key4-2,HM-SEC-SCo,HM-SEC-SD-2,HM-SEC-WDS-2,HM-TC-IT-WM-W-EU,virtual_1
  IT             : itswitch

Transmitting this information during an update: yes
You can change this via the global attribute sendStatistics
FHEM auf RasPI 2B:
Raspbian GNU/Linux; VERSION="8 (jessie)"
Homematic, InterTechno, IKEA Tradfri
CUL868; CUL433; HM-LAN; Tradfri-Gateway

Wzut

Was möchtest du denn in erster Linie Anrufe absetzen oder annehmen ?
setze dir entweder das neue Attribut sip_elbc auf yes oder setze sip_listen auf none.
Speichere mit fhem save und reboote dein System.
Das hässliche Geräusch ist gewollt bis du dir etwas nettes aussuchst :)   
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Martin-72

Zitat von: Wzut am 31 März 2017, 12:52:00
Was möchtest du denn in erster Linie Anrufe absetzen oder annehmen ?
setze dir entweder das neue Attribut sip_elbc auf yes oder setze sip_listen auf none.
Speichere mit fhem save und reboote dein System.

Hallo Wzut,
danke für Deine Bemühungen. Eigentlich werde ich beides wollen. Jetzt starte ich mit dem angerufen werden. :)

Also habe ich sip_elbc auf yes gesetzt und sip_listen auf dtmf gelassen...

Leider finde ich in specific help und in der commandref nicht wirklich ausführliche Hinweise was die Abkürzungen jeweils bedeuten... ;(


Ergebnis ist: kein Anruf und folgendes Log:
Zitat2017.03.31 14:14:35 1: SIP_Telefon :set repeat 0
2017.03.31 14:14:35 4: SIP_Telefon, wait_for_t2s file : cache/71ce4185214eb43202358604a63cdcab.mp3
2017.03.31 14:14:35 4: SIP_Telefon, new T2S file cache/71ce4185214eb43202358604a63cdcab.mp3
2017.03.31 14:14:35 5: SIP_Telefon, not converted using cache/71ce4185214eb43202358604a63cdcab.alaw from cache
2017.03.31 14:14:35 1: SIP_Telefon, Test : SIP_Telefon call 0123456789 30 cache/71ce4185214eb43202358604a63cdcab.alaw *0
2017.03.31 14:14:35 4: SIP_Telefon, message cache/71ce4185214eb43202358604a63cdcab.alaw found
2017.03.31 14:14:35 4: SIP_Telefon, call -> SIP_Telefon|023456789|30|cache/71ce4185214eb43202358604a63cdcab.alaw|0|0
2017.03.31 14:14:35 5: SIP_Telefon, call has pid 26000
2017.03.31 14:14:35 4: SIP_Telefon[26000], my parent is 25986
2017.03.31 14:14:35 2: SIP_Telefon[26000], cannot open port 5060 at 192.168.188.34: Address already in use
2017.03.31 14:14:35 4: SIP_Telefon, CALLDone -> SIP_Telefon|0|CallRegister: cannot open port 5060 or 5070 at 192.168.188.34: Address already in use
2017.03.31 14:14:35 5: SIP_Telefon, fifo is empty
2017.03.31 14:14:35 5: SIP_Telefon, no elbc



Zitat von: Wzut am 31 März 2017, 12:52:00Das hässliche Geräusch ist gewollt bis du dir etwas nettes aussuchst :)

Davon ging ich auch. Da es aber vielfach "try and error" ist bei mir, habe ich mir angewöhnt einzelne Schritte zu gehen und nicht gleich mit den Profis zum Marathon aufzubrechen... ;)

Martin

PS: um Hinweisen zu entgehen. Die zu wählende Rufnummer ist nicht die 0123456789. Aber ich habe die in diesem Format angegeben...
FHEM auf RasPI 2B:
Raspbian GNU/Linux; VERSION="8 (jessie)"
Homematic, InterTechno, IKEA Tradfri
CUL868; CUL433; HM-LAN; Tradfri-Gateway

Wzut

Ich fang mal mit der Doku an : https://wiki.fhem.de/wiki/SIP-Client hat einen sehr guten Stand.
Da steht noch nicht was elbc bedeutet da diese Funktion erst seite heute verfügbar ist, ich habe sie aber zwei Postings vor deinem ersten angekündigt und versucht zu erklären.
Ich lese aus deinen Logs das ein Listen Prozess gestartet werden konnte, ein Call jedoch nicht, da weder der primäre noch der sekundäre Port frei ist . D.h. der sekundäre wurde vermutlich durch den laufenden Listen Prozess belegt, sollte aber dem Call zur Verfügung stehen wenn sip_elbc auf yes ist. Noch besser für die ersten Test wäre allerdings du setzt sip_listen erst einmal auf none und nicht auf dtmf ! Und bitte reboote dein System, ein fhem shutdown restart alleine reicht nicht, denn bei dir scheinen einige Zombies im System zu sein die die Ports noch blockieren. Vor dem reboot kannst ja mal auf der shell mit "ps x | grep fhem"  nachschauen wieviele das aktuell sind.



Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Prostetnik

Kurze Rückmeldung: Gerade mal mit der neuen version probiert. Audiodelay geht jetzt, die Wiederholung bei t2s aber leider nicht.

Wzut

Zitat von: Prostetnik am 31 März 2017, 15:03:00
die Wiederholung bei t2s aber leider nicht.
Log mit verbose 5 ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Prostetnik

Sorry:
2017.03.31 16:25:44 4: sip, msg will be repeat 3 times
2017.03.31 16:25:44 1: sip :set repeat 3
2017.03.31 16:25:44 4: sip, wait_for_t2s file : cache/23d0bcad6eafd75ed9f2c664c60d1fa1.mp3
2017.03.31 16:25:44 4: sip, new T2S file cache/23d0bcad6eafd75ed9f2c664c60d1fa1.mp3
2017.03.31 16:25:44 5: sip, not converted using cache/23d0bcad6eafd75ed9f2c664c60d1fa1.alaw from cache
2017.03.31 16:25:44 1: sip, Test : sip call **614 30 cache/23d0bcad6eafd75ed9f2c664c60d1fa1.alaw *3
2017.03.31 16:25:44 4: sip, message cache/23d0bcad6eafd75ed9f2c664c60d1fa1.alaw found
2017.03.31 16:25:44 4: sip, call -> sip|**614|30|cache/23d0bcad6eafd75ed9f2c664c60d1fa1.alaw|0|0
2017.03.31 16:25:44 5: sip, call has pid 12146
2017.03.31 16:25:44 4: sip[12146], my parent is 4056
2017.03.31 16:25:45 4: sip[12146], register new expire : Fri Mar 31 16:30:45 2017
2017.03.31 16:25:45 5: sip[12146], telnet : set sip state calling exit
2017.03.31 16:25:45 4: sip[12146], CallStart with 2 files - first file : CODE(0x2abe870) - PCMA/8000 , repeat 0
2017.03.31 16:25:45 4: sip[12146], calling : **614
2017.03.31 16:25:45 5: sip[12146], telnet : set sip call_state calling **614 exit
2017.03.31 16:25:45 4: sip[12146], cb_final - status : FAIL - final : 481
2017.03.31 16:25:45 5: sip[12146], telnet : set sip call_state ringing exit
2017.03.31 16:25:48 4: sip[12146], cb_final - status : OK
2017.03.31 16:25:48 4: sip[12146], call established
2017.03.31 16:25:48 5: sip[12146], telnet : set sip call_state established exit
2017.03.31 16:25:49 5: sip[12146], 0. Ende des ersten Loops
2017.03.31 16:25:49 5: sip[12146], 1. rtp_done : Net::SIP::Simple::Call=HASH(0x4c04520)
2017.03.31 16:25:49 5: sip[12146], 2. fi : 0
2017.03.31 16:25:49 5: sip[12146], 3. timeout : 0
2017.03.31 16:25:49 4: sip[12146], next file : cache/23d0bcad6eafd75ed9f2c664c60d1fa1.alaw
2017.03.31 16:25:49 4: sip[12146], cb_final - status : OK
2017.03.31 16:25:50 5: sip[12146], RTP done : Net::SIP::Simple::Call=HASH(0x4c04520)
2017.03.31 16:25:50 5: sip[12146], Timeout  : 0
2017.03.31 16:25:50 4: sip, CALLDone -> sip|1|ok
2017.03.31 16:25:50 5: sip, fifo is empty
2017.03.31 16:25:50 5: sip, no elbc