Hauptmenü

Modul 96_SIP

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

Vorheriges Thema - Nächstes Thema

Wzut

Zitat von: rrr am 14 August 2018, 16:46:48
@Wzut: Konntest du übers WE schon eine neue Version bereitstellen, welche mehr loggt?

Und wäre es vielleicht auch möglich bei einem set call erweiterte SIP-Header wie z.b. einen Wunsch-Ringtone oder "answer-after=0" mitzusenden?
a. leider nein
b. kann ich dir geistig leider nicht folgen. Was soll was bewirken ?

@Spartacus , ja da hbe ich wohl die falsche Zeile kopiert :
https://cpan.metacpan.org/authors/id/S/SU/SULLR/Net-SIP-0.815.tar.gz
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Spartacus

Hallo Wzut,
sorry, aber ich bin da nicht so der Linux-Mensch. hat aber jetzt geklappt, Danke für Deine Hilfe.
Ich würde diese Anleitung ins WIKI aufnehmen, oder zumindest darauf verweisen!

Mir ist auch noch ein weiterer Punkt im Wiki aufgefallen:
Das DOIF funzt bei mir mit diesem Code nicht:
(([HaustuerStatus:state] eq "closed") and ([FhemSipClient:caller_state] eq "ringing.*")

Ich habe es in
...caller_state] =~ "ringing")
abgeändert und dann ging es!

Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

rrr

Zitat von: Wzut am 14 August 2018, 17:46:04
b. kann ich dir geistig leider nicht folgen. Was soll was bewirken ?

@Wzut: In Asterisk wäre bspw. durch "SIPAddHeader(Alert-Info: <http://127.0.0.1/Ringer2)" die Auswahl des Klingeltons Nr. 2 am anzurufenden Telefon möglich.

Es wäre klasse wenn das direkt bei einem "set call" mit dem SIP-Modul funktionieren würde...

Wzut

also laut Net:SIP Doku gibt es
sip_header: hashref of SIP headers to add
wird gefüttert mit key, value
key wäre dann wohl Alert-Info und value eine URL in der Form http://127.0.0.1/Ringer3
Ich habe keine Ahnung ob die Fritzbox damit klar kommen würde und ob es dann möglich wäre auf einem FritzPhone einen bestimmten Klingelton auszuwählen. 

wegen deinem wfp Logging, schau mal ins Modul die entsprechende Zeile ist noch auskommentiert drin
#cb_rtp_done => \&$rtp_done, #sub {Log3 $name, 5,  "$logname, wfp cb_rtp_done";}, #ACHTUNG : client legt dann nicht mehr auf !!
kannst sie ja mal übernehmen als
cb_rtp_done => sub {Log3 $name, 5,  "$logname, wfp cb_rtp_done";},
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

olili

danke für das Modul. Konnte das mit einigen, aber überschaubaren Startschwierigkeiten zum Laufen bringen.

Frage:  ist es möglich, dass fhem über 96_SIP ein anderen Anschluss (z.B. **610@fritz.box) anruft und dann auf einen DTMF-Code vom angerufenen Telefon wartet?

P.




Wzut

Könnte man garantiert machen, aber den Anwendungsfall hatten wir hier bisher nicht. Beschreib doch mal genauer was du vorhast vllt. lässt es sich ja auch anders mit Bordmitteln lösen.

BTW: @rrr, wenn du hier noch mitliest : Ich habe das mal mit dem zusätzlichen Alert-Info Header und einem Fritz DECT Fon probiert.
Ging leider nicht. Bevor ich nun Wireshark anwerfe und mich durch Telegramme wühle : Hast du die Ausstattung die mit Sicherheit die Auswahl eines Klingeltons erlaubt ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

rrr

Zitat von: Wzut am 15 August 2018, 16:42:43
wegen deinem wfp Logging, schau mal ins Modul die entsprechende Zeile ist noch auskommentiert drin
#cb_rtp_done => \&$rtp_done, #sub {Log3 $name, 5,  "$logname, wfp cb_rtp_done";}, #ACHTUNG : client legt dann nicht mehr auf !!
kannst sie ja mal übernehmen als
cb_rtp_done => sub {Log3 $name, 5,  "$logname, wfp cb_rtp_done";},

Ich hab die Zeile übernommen, und FHEM neu gestartet, aber dadurch wurde leider auch nicht mehr geloggt...



Zitat von: Wzut am 17 August 2018, 19:32:23
BTW: @rrr, wenn du hier noch mitliest : Ich habe das mal mit dem zusätzlichen Alert-Info Header und einem Fritz DECT Fon probiert.
Ging leider nicht. Bevor ich nun Wireshark anwerfe und mich durch Telegramme wühle : Hast du die Ausstattung die mit Sicherheit die Auswahl eines Klingeltons erlaubt ?

Ich habe keine Fritzbox sondern benutze Asterisk mit snom Telefonen. Ich habe auch bereits zusätzliche Header per Telnet/SSH an den Asterisk-Server gesendet, welche die snom-Telefone dann problemlos auswerten.

Wzut

Darum ja meine Frage, such mal im Modul die Sub SIP_CallStart
sub SIP_CALLStart($)
{
  my ($arg) = @_;


dann ein paar Zeilen runterscrollen und nach my $ph_ok = 0; fügst du den zusätzlichen Header ein
my %header;
$header{'Alert-Info'} = '<http://127.0.0.1/Ringer2>';

oder wie halt dein zusätzlicher Header eben aussehen soll, laut div Anleitungen will Asterisk das als Pseudo Url , Cisco Telephone nur den Namen der Sound Datei
aber das wirst du am besten wissen. Damit der zusätzliche Header bei einem ausgehenden Ruf auch gesendet wird must du weiter im Quelltext runterscrollen bis der Abschnitt $call = $ua->invite( $nr, kommt. Darunter eine neue Zeile einfügen
sip_header => \%header,
dann weiter runter nach ein paar Zeilen kommt nochmal $call = $ua->invite($nr,
auch hier wieder die sip_header => \%header, Zeile einfügen und speichern. Nach einem reload 96_SIP mach einen Versuch mit einem Anruf.
Sollte es nicht klappen muß Wireshark ran und ggf. muß man bei Steffen Ullrich mal anfragen wie genau man den zusätzlichen Header einbauen muß.

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

Kilitom

Hat schon mal jemand erfolgreich über einen externen SIP-Server "angerufen" (z.B. sipgate.de)? Ich versuch das grad - leider erfolglos ... :(

Kilitom

Ich bekommen im log immer eine der folgenden Fehlermeldungen:
- Can't use string ("favicon") as a HASH ref while "strict refs" in use at /usr/local/share/perl/5.20.2/Net/SIP/Dispatcher.pm line 1108.
- Can't use string ("fhemicon.png") as a HASH ref while "strict refs" in use at /usr/local/share/perl/5.20.2/Net/SIP/Dispatcher.pm line 1108.

Wzut

und wieder einer ?  Eine Seite zurück ab meinem Posting #482 ... und gleiche die Frage : welche Version von Net::SIP ist installiert ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

rrr

Zitat von: Wzut am 18 August 2018, 08:09:43
Darum ja meine Frage, such mal im Modul die Sub SIP_CallStart
sub SIP_CALLStart($)
{
  my ($arg) = @_;


dann ein paar Zeilen runterscrollen und nach my $ph_ok = 0; fügst du den zusätzlichen Header ein
my %header;
$header{'Alert-Info'} = '<http://127.0.0.1/Ringer2>';

oder wie halt dein zusätzlicher Header eben aussehen soll, laut div Anleitungen will Asterisk das als Pseudo Url , Cisco Telephone nur den Namen der Sound Datei
aber das wirst du am besten wissen. Damit der zusätzliche Header bei einem ausgehenden Ruf auch gesendet wird must du weiter im Quelltext runterscrollen bis der Abschnitt $call = $ua->invite( $nr, kommt. Darunter eine neue Zeile einfügen
sip_header => \%header,
dann weiter runter nach ein paar Zeilen kommt nochmal $call = $ua->invite($nr,
auch hier wieder die sip_header => \%header, Zeile einfügen und speichern. Nach einem reload 96_SIP mach einen Versuch mit einem Anruf.
Sollte es nicht klappen muß Wireshark ran und ggf. muß man bei Steffen Ullrich mal anfragen wie genau man den zusätzlichen Header einbauen muß.

Leider funktioniert es damit nicht. Das Telefon bleibt beim Standard-Ringtone...

Weißt Du schon, warum das Logging nicht mehr Einträge produziert, wenn ich cb_rtp_done => sub {Log3 $name, 5,  "$logname, wfp cb_rtp_done";}, einkommentiere?

Wzut

Zitat von: rrr am 19 August 2018, 17:50:02
Leider funktioniert es damit nicht. Das Telefon bleibt beim Standard-Ringtone...
Weißt Du schon, warum das Logging nicht mehr Einträge produziert,
a. das hatte ich befürchtet :( , d.h. nun muß Wireshark ran um zu sehen ob der zusätzliche Header überhaupt im Telegramm auftaucht.
Wenn ja , kann nur ein Fehler in der Syntax sein. Wenn nein muß wohl Steffen Ullrich angefragt werden.

b. da sieht dann aus als ob der ganze RTP Teil bei dir gar nicht erst durchlaufen wird, kein Ton und auch keine Log Ausgabe dazu. Sorry hier bin ich dann mit meinem Latein auch am Ende. Hörst du denn etwas wenn du kein sip_audiofile_wfp angibst ? Und welche Hardware verwendest du mit welchem OS und welcher Version von Net::SIP ? 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

rrr

Wenn kein sip_audiofile_wfp Attribut gesetzt ist, ist auch nichts zu hören. Der Anruf wird dann kurz nach Annahme beendet. Merkwürdig ist ja, dass je nach Länge des Audio-Files auch die Haltezeit des Anrufs variiert.

FHEM läuft auf Debian 9.4 (Raspberry 3 B). Net::SIP Version der Distri (libnet-sip-perl) ist 0.808

fstefan1960

Hallo,

ist denn auch die Nutzung eines SIP-Anbieters möglich, z.B. SIPGATE? Oder geht das Ganz nur mit der FritzBox? Falls es mit SIPGATE geht: Wie muss man denn dann die Zugangsdaten eintragen?

Vielen Dank
Frank
FHEM auf PC: CUL868, CUL 443, HM_LAN, JeeLink
FHEM auf Raspi: CUL868
div. LaCrosse Temp/Hum-Sensoren, HM-Heizkörperventile, Schaltaktoren, etc.