Hauptmenü

Modul 96_SIP

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

Vorheriges Thema - Nächstes Thema

rrr

Ich höre, wenn ich den SIP-Client anrufe, nicht das gewünschte audio file. Merkwürdigerweise wird der Anruf aber genausolange gehalten, wie das audiofile dauert. Nehme ich ein kürzeres File ist der Anruf schneller beendet, als bei einem längeren File.

Das audio file ist aber in Ordnung, da es bei einem "set sipclient call" problemlos am anzurufenden Telefon abgespielt wird.

defmod sipclient SIP
attr sipclient audio_converter sox
attr sipclient T2S_Timeout 1
attr sipclient T2S_Device text2speech
attr sipclient sip_audiofile_wfp /opt/fhem/FHEM/sipaudio/test.alaw
attr sipclient sip_call_audio_delay 2
attr sipclient sip_elbc yes
attr sipclient sip_from sip:90@asteriskpbx.example
attr sipclient sip_listen wfp
attr sipclient sip_port 5060
attr sipclient sip_registrar asteriskpbx.example
attr sipclient sip_ringtime 1
attr sipclient sip_user 90
attr sipclient sip_waittime 2
attr sipclient verbose 5


2018.08.08 19:23:49 4: sipclient, Listen new PID : 834
2018.08.08 19:23:49 4: sipclient[834], my parent is 739
2018.08.08 19:23:49 4: sipclient[834], trying to use port 5060
2018.08.08 19:23:49 4: sipclient[834], register new expire : 2018-08-08 19:38:49
2018.08.08 19:23:49 5: sipclient[834], audio file /opt/fhem/FHEM/sipaudio/test.alaw found
2018.08.08 19:23:49 4: sipclient[834], using /opt/fhem/FHEM/sipaudio/test.alaw for audio_wfp
2018.08.08 19:23:55 5: sipclient, readingB:state Val:listen_wfp
2018.08.08 19:23:55 5: sipclient, readingB:listen_alive Val:834
2018.08.08 19:23:55 5: sipclient, readingB:expire Val:900
2018.08.08 19:24:08 5: sipclient[834], SIP_filter : "WZ" <sip:11@192.168.10.17>;tag=as6c08f0fb
2018.08.08 19:24:08 4: sipclient[834], SIP_filter: caller WZ sip:11@192.168.10.17, caller_nr 11, caller_name WZ
2018.08.08 19:24:08 4: sipclient[834], cb_create : INVITE
2018.08.08 19:24:08 5: sipclient[834], cb_invite_wfp
2018.08.08 19:24:08 4: sipclient[834], SIP_invite -> ringing 1
2018.08.08 19:24:08 5: sipclient, readingB:caller Val:WZ sip:11@192.168.10.17
2018.08.08 19:24:08 5: sipclient, readingB:caller_nr Val:11
2018.08.08 19:24:08 5: sipclient, readingB:caller_name Val:WZ
2018.08.08 19:24:08 5: sipclient, readingB:caller_time Val:0
2018.08.08 19:24:08 5: sipclient, readingB:caller_state Val:calling
2018.08.08 19:24:09 5: sipclient, readingS:caller_state Val:ringing 1
2018.08.08 19:24:09 5: sipclient[834], cb_invite_wfp action fetch
2018.08.08 19:24:09 4: sipclient[834], cb_invite_wfp fetch
2018.08.08 19:24:09 5: sipclient, readingS:caller_state Val:fetching
2018.08.08 19:24:09 5: sipclient[834], cb_est_wfp
2018.08.08 19:24:49 5: sipclient, listen process 834 found
2018.08.08 19:25:49 5: sipclient, listen process 834 found

Wzut

D.h. es betrifft nur den Listen Modus bei wfp und du verwendst die neuste Version V1.91 ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

rrr

Korrekt, es betrifft nur den Listen Modus bei wfp und ich verwende auch die Version 1.91.

Wzut

OK, ich kann am WE mal eine Version machen die bei wfp noch mehr loggt , die wird dann zwar den Nachteil haben das sie nicht automatisch auflegt nachdem das Audiofile abgespielt wurde, sollte aber zur Fehlersuche egal sein.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

rrr

Das wäre klasse, vielen Dank!

stebar_

Zitat von: thunder1902 am 02 Juli 2018, 12:06:15
Hallo! Ich habe das Problem, dass die Soundausgabe nicht funktioniert. Das initiieren von einem Anruf geht - wenn ich aber rangehe kommt kein Ton. Nach ein paar Sekunden wird einfach wieder aufgelegt.
Kann mir da jemand helfen?
Hier mein Device:

defmod telsip SIP
attr telsip T2S_Device mytts
attr telsip T2S_Timeout 10
attr telsip audio_converter sox
attr telsip sip_dtmf_loop once
attr telsip sip_dtmf_send audio
attr telsip sip_dtmf_size 2
attr telsip sip_elbc yes
attr telsip sip_from sip:*****2@192.168.178.2
attr telsip sip_ip ***
attr telsip sip_listen none
attr telsip sip_port 5060
attr telsip sip_registrar 192.168.178.2
attr telsip sip_ringtime 3
attr telsip sip_user t****
attr telsip verbose 5

setstate telsip initialized
setstate telsip 2018-07-02 11:02:42 call done
setstate telsip 2018-07-02 11:02:42 call_attempt 0
setstate telsip 2018-07-02 11:02:42 call_state ok
setstate telsip 2018-07-02 11:02:42 call_success 1
setstate telsip 2018-07-02 11:02:42 call_time 14
setstate telsip 2018-06-29 12:53:51 caller reject


Hier das Log:
2018.07.02 11:02:28 4: telsip, audio file cache/test.alaw found
2018.07.02 11:02:28 4: telsip, telsip|08****|30|cache/test.alaw|0
2018.07.02 11:02:28 4: telsip, call -> telsip|08****|30|cache/test.alaw|0|0
2018.07.02 11:02:28 5: telsip, call has pid 1100
2018.07.02 11:02:28 4: telsip[1100], my parent is 43
2018.07.02 11:02:28 4: telsip[1100], trying to use port 5070
2018.07.02 11:02:28 4: telsip[1100], register new expire : 2018-07-02 11:07:28
2018.07.02 11:02:28 5: telsip, readingS:state Val:calling
2018.07.02 11:02:28 4: telsip[1100], CallStart with 1 files - first file : cache/test.alaw - PCMA/8000 , repeat 0
2018.07.02 11:02:28 4: telsip[1100], calling : 08*******
2018.07.02 11:02:28 4: telsip[1100], cb_final - status : FAIL - final : 481
2018.07.02 11:02:28 5: telsip, readingS:call_state Val:calling 08*********
2018.07.02 11:02:28 5: telsip, readingS:call_state Val:ringing
2018.07.02 11:02:39 4: telsip[1100], cb_final - status : OK
2018.07.02 11:02:39 4: telsip[1100], call established
2018.07.02 11:02:39 5: telsip, readingS:call_state Val:established
2018.07.02 11:02:42 5: telsip[1100], 0. Ende des ersten Loops
2018.07.02 11:02:42 5: telsip[1100], 1. rtp_done : Net::SIP::Simple::Call=HASH(0x46f3fd0)
2018.07.02 11:02:42 5: telsip[1100], 2. fi : 0
2018.07.02 11:02:42 5: telsip[1100], 4. timeout : 0
2018.07.02 11:02:42 5: telsip[1100], 6. call_established : 1
2018.07.02 11:02:42 5: telsip[1100], call->bye
2018.07.02 11:02:42 5: telsip[1100], RTP done : Net::SIP::Simple::Call=HASH(0x46f3fd0)
2018.07.02 11:02:42 5: telsip[1100], Timeout  : 0
2018.07.02 11:02:42 5: telsip[1100], while    : 0
2018.07.02 11:02:42 5: telsip[1100], Status   : OK
2018.07.02 11:02:42 4: telsip, CALLDone -> telsip|1|ok
2018.07.02 11:02:42 5: telsip, fifo is empty
2018.07.02 11:02:42 5: telsip, no elbc


Hast du doppeltes NAT oder eine Firewall?

Spartacus

#681
Hallo,
ich habe mir heute das SIP Modul installiert, bekomme aber keine Verbindung zur Fritzbox.

Der SIP Client wird offenbar an der Fritte nicht registriert. Ich habe eine FB7412 mit OS 6,83.
Das SIP Gerät ist auf der Fritte wie folgt eingerichtet:

Benutzername: SonosPhone
Kennwort: 12345678
Registrar: 172.16.20.10

Telefonname und Benutzername sind gleich.

In fhem sieht es so aus:
defmod SonosPhone SIP
attr SonosPhone history_file ./log/SonosPhone.sip
attr SonosPhone history_size 0
attr SonosPhone sip_dtmf_loop once
attr SonosPhone sip_dtmf_send audio
attr SonosPhone sip_dtmf_size 2
attr SonosPhone sip_elbc yes
attr SonosPhone sip_from sip:SonosPhone@172.16.20.10
attr SonosPhone sip_ip 172.16.30.9
attr SonosPhone sip_listen none
attr SonosPhone sip_port 5060
attr SonosPhone sip_registrar 172.16.20.10
attr SonosPhone sip_ringtime 3
attr SonosPhone sip_user SonosPhone

setstate SonosPhone initialized
setstate SonosPhone 2018-08-14 12:34:15 call 612
setstate SonosPhone 2018-08-14 12:02:57 call_attempt 0
setstate SonosPhone 2018-08-14 12:34:15 call_state invite
setstate SonosPhone 2018-08-14 12:02:57 call_success 0
setstate SonosPhone 2018-08-14 12:02:57 call_time 0
setstate SonosPhone 2018-08-14 12:18:15 caller reject
setstate SonosPhone 2018-08-14 12:02:57 last_error CallRegister: Failed with code 404
setstate SonosPhone 2018-08-14 12:36:20 listen_alive no
setstate SonosPhone 2018-08-14 12:36:20 state initialized



Ich habe weitere SIP Clients in diversen internen SubNetzen laufen aber den fhem Client kriege ich nicht ans Fliegen.

Das Einzige, was im Log steht, wenn ich intern 612 anrufen, ist:
Can't use string ("**612") as a HASH ref while "strict refs" in use at /usr/share/perl5/Net/SIP/Simple.pm line 379.

Hat jemand eine IDee, an welcher Schraube ich drehen muss?

Christian

NACHTRAG:
Habe sip_listen auf wfp gestellt und zumindest werden eingehende Anrufe erkannt. Wie kann ich aber einen Call absetzten?
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

Wzut

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

magichand

Zitat von: plin am 12 Juli 2018, 21:18:56

Als sip_ip gibst Du die Adresse Deines Containers an: 172.17.0.2


Also, das Modul läuft jetzt im Docker-Container... die Ports sind offen und erreichbar...

Leider registriert es sich immer mit der Container-IP beim Server (FreePbx)... und ist damit unerreichbar für diesen...

Kann mir bitte jemand mit einer Fritzbox sagen, mit welcher IP sich das Modul dort registriert? Die Container-IP oder Host-IP ?

Ralf

Spartacus

Moin,

@wzut
naja, ich mag ein wenig blind sein, aber ich habe den ganzen Kram vor zwei Stunden installiert. Und zwar so, wie es im wiki steht:

Für den Remote-Zugang muss das Modul Net::SIP installiert sein; auf einem Raspberry Pi oder unter Ubuntu z. B. mit dem Befehl

sudo cpan install Net::SIP
oder auch

sudo apt-get install libnet-sip-perl


Und ich habe die zweite Option gewählt. Was ist daran falsch? Was habe ich übersehen?
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

Wzut

apt-get ist ok wenn der Unterbau "neu" genug ist ( IMHO ab Jessie ),
Wheezy brachte i.d.R. eine Net::SIP Version 0.6x mit.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Spartacus

#686
Hi,
und wie kriege ich das jetzt raus, welche Version das ist?

Wenn die Version dann zu alt ist, kann ich das dann mit "sudo cpan install Net::SIP" übernudeln?
Danke Dir,
Christian

NACHTRAG:
Ich habe 7.11 und das ist Wheezy. Bleibt die Frage mit dem drübernudeln, oder wie soll ich vorgehen?
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

Wzut

Kannst du versuchen, falls cpan install schief geht hilft vllt  https://forum.fhem.de/index.php/topic,40219.msg421446.html#msg421446
da geht es zwar noch um die 0.6x Version sollte aber auch mit der aktuellen 0.815 Version so klappen, Download unter https://metacpan.org/raw/SULLR/Net-SIP-0.815/lib/Net/SIP.pm?download=1
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

rrr

@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?

Spartacus

@Wzur,
sorry, ich bin zu blöd! Ich bekomme eine Datei SIP.PM. Das passt doch nicht zu der Anleitung aus dem link zuvor, oder?
Da geht es doch um eine tar-Datei. Was ist denn die SIP.PM-Datei?

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