[Gelöst] Asterisk hinter einem Speedport W723V

PinkFloyd66

Neuer User
Mitglied seit
28 Okt 2007
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Erst mal schönen guten Tag,

ich habe da mal eine Frage! Ich habe auf einem Raspberry Pi die Software Asterisk(1.8.13.1) installiert.
Dieser Raspberry hat eine feste IP und ist direkt an einem Speedport W723 B, mit einem Patchkabel, verbunden.
Zuhause habe ich einen DSL 50000 Anschluß mit 3 VoIP Nummern bei der Telekom( zum telefonieren benutze ich nur eine)
Mein Ziel ist es das der Raspberry mittels einer Call Datei einen Anruf tätigt, natürlich funktioniert das nicht.

Die Fehlermeldung die ich immer bekomme sieht so aus:

Scheduling destruction of SIP dialog '[email protected]' in 32000 ms (Method: INVITE)
[Mar 30 11:37:53] WARNING[2723]: chan_sip.c:3656 retrans_pkt: Retransmission timeout reached on transmission [email protected] for seqno 102 (Critical Request) -- See https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions
Packet timed out after 32000ms with no response
[Mar 30 11:37:53] WARNING[2723]: chan_sip.c:3685 retrans_pkt: Hanging up call [email protected] - no reply to our critical packet (see https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions).
Really destroying SIP dialog '[email protected]' Method: INVITE

Die Frage lautet, kann das mit diesem Speedport W723 b funktionieren? Weil im Internet liest man das funktioniert oder auch nicht und bevor ich mich in die Thematik richtig einarbeite hätte
ich gerne gewusst ob es mit den Harwarevoraussetzung überhaupt funktioniert.

Vielen Dank im Voraus

Manfred
 
Zuletzt bearbeitet:
Ich kenne mich mit dem Speedsport nicht aus, aber hast du in der Firewall des Speedport die entsprechenden Ports freigestellt und ein Routing auf den RaspPi eingerichtet? Es sieht nämlich so aus, als käme nichts bei RaspPi an.
 
Hallo
meinst du diese Ports 5070, 5080, 30000-31000, 40000-41000

ich habe vorher eine andere Konfig ausprobiert und konnte mein Raspberry anrufen und dann hat Asterisk ein Wave-Datei abgespielt.

Ich werde es gleich mal ausprobieren

Erstmal vielen Dank

- - - Aktualisiert - - -

Hi,
ich habe die UDP Ports im Speedport auf den Raspi (Asterisk) weiter geleitet und es kommt die selbe Fehlermeldung

vielleicht kann mir jemand mal meine sip.conf anschauen.
[general]
allowguest=no
bindport = 5060
bindaddr = 0.0.0.0
qualify = no
disable = all
allow = alaw
allow = ulaw
videosupport = yes
dtmfmode = rfc2833
srvlookup = yes
localnet=192.168.2.0/255.255.255.0
directmedia = no
nat = yes

externip=einennamen.selfhost.eu
register => RUFNUMMERMITVORWAHL:DSL_PASSWORT:D[email protected]@tel.t-online.de/RUFNUMMERMITVORWAHL
[localphone]
type = friend
insecure = invite,port
nat = no
canreinvite = no
[email protected]
[email protected]
[email protected]

secret=Passwort
host=tel.t-online.de
fromdomain=tel.t-online.de
realm=tel.t-online.de
dtmfmode = rfc2833
context = incoming
disallow = all
allow = ulaw
allow = alaw
transport = udp

meine Call Datei sieht folgendermaßen aus
Channel: SIP/localphone/eineTelefonnummer
Application: Playback
Data: /var/lib/asterisk/sounds/custom/Play

das "Play" ist eine Wav Datei

RPIHome*CLI> sip show registry
Host dnsmgr Username Refresh State Reg.Time
tel.t-online.de:5060 N Telefonnummer mit Vorwahl 465 Registered Wed, 30 Mar 2016 16:20:35
1 SIP registrations.

Und Asterisk scheint sich bei T-Online doch registriert zu haben

Danke

Manfred
 
Zuletzt bearbeitet:
Vielen Dank für den Tip, ich habe da noch eine Frage welcher dieser User defaultuser, authuser, fromuser oder alle ?

Leider kann ich es morgen erst testen
 
Zunächst, wie bündelfunk schon schreibt, das Portforwarding muss zum bindport passen. Den 5060 wird der Speedport höchst wahrscheinlich für sein eigenes VoIP benutzen und damit nicht freigeben lassen, deshalb bindport auf zB. 5070 ändern und diesen auf den Pi weiterleiten. Es funktioniert bei Asterisk nicht, extern 5070 auf intern 5060 umzuleiten, wie man das bei manch anderen Diensten machen kann.
Was Du für RTP an Portforwarding brauchst kommt auf die rtp.conf an.

Um sicher zu gehen kannst Du alle drei ...user setzen, wobei fromuser jegliche vorher gesetzte CALLERID(num) überschreibt.

Weitere Fehler in der sip.conf:
externip unterstützt keine DNS Namen, entweder gibst Du dort Deine WAN IP Adresse an, oder verwendest externhost zusammen mit externrefresh.
Mit disable = all meinst Du wohl disallow = all.
canreinvite gibt es nicht mehr, heißt jetzt directmedia wie Du das im [general] auch hast.
type=friend in Kombination mit insecure ist gefährlich. type=peer reicht vollkommen.

Pack Deine Configs und Logs bitte in [noparse]
Code:
...
[/noparse] Blöcke.
 
Vielen Dank für die Antworten, obwohl ich alle Vorschläge umgesetzt habe funktioniert es nicht
falls jemand Lust hat, es würde mich freuen, wenn einer über Konfig schauen kann
Hier meine Einstellungen


Die Call Datei
Code:
Data:  /var/lib/asterisk/sounds/custom/play
Channel: SIP/localphone/"anzurufende Nummer"
Application: Playback
Data:  /var/lib/asterisk/sounds/custom/Play

Die Sip.conf
Code:
[General]
 allowguest=no
 bindport = 5070
 bindaddr = 0.0.0.0
 qualify = no
 disallow = all
 allow = alaw
 allow = ulaw
 videosupport = yes
 dtmfmode = rfc2833
 srvlookup = yes
 localnet=192.168.2.0/255.255.255.0
 directmedia = no
 nat = yes
externhost = namen.selfhost.eu
externfresh = 120
register => Telefonnumer:Passwort:[email protected]@tel.t-online.de/Telefonnumer
 [localphone]
 type = peer
 insecure = invite,port
 nat = no
 [EMAIL="[email protected]"][email protected][/EMAIL]
[EMAIL="[email protected]"][email protected][/EMAIL]
[EMAIL="[email protected]"][email protected][/EMAIL]

 secret=Passwort vom Kundencenter
 host=tel.t-online.de
 fromdomain=tel.t-online.de
 realm=tel.t-online.de
 dtmfmode = rfc2833
 context = incoming
 disallow = all
 allow = ulaw
 allow = alaw
 transport = udp

Im Speedport habe ich folgende UDP Ports weitergeleitet, an den Raspi, 5070,10000-65000. ( Ich weiß dass das offen ist aber der Raspi steht in einer DMZ)
Damit keine Verwirrung entsteht, zu Hause habe ich ein DSL Router Speedport W723V B und davor noch eine PFSense FW, der Raspi ist direkt mit dem Speedport verbunden.

In der rtp.conf habe ich folgende Werte geändert
rtpstart=10000
rtpend=65000

das Debug Log bringt mir das

Code:
Retransmitting #6 (no NAT) to 217.0.21.38:5060:
INVITE sip:anzurufende [EMAIL="[email protected]"][email protected][/EMAIL] SIP/2.0
Via: SIP/2.0/UDP meine WAN IP:5070;branch=z9hG4bK776ef305
Max-Forwards: 70
From: "asterisk" <sip:[email protected]@tel.t-online.de>;tag=as01f59073
To: <sip:anzurufende [EMAIL="[email protected]"][email protected][/EMAIL]>
Contact: <sip:[email protected]@meine WAN IP:5070>
Call-ID: 13579[EMAIL="[email protected]"][email protected][/EMAIL]
CSeq: 102 INVITE
User-Agent: Asterisk PBX 1.8.13.1~dfsg1-3+deb7u3
Date: Thu, 31 Mar 2016 09:37:07 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 274
v=0
o=root 1982391785 1982391785 IN IP4 meine WAN IP
s=Asterisk PBX 1.8.13.1~dfsg1-3+deb7u3
c=IN IP4 meine WAN IP
t=0 0
m=audio 37062 RTP/AVP 0 8 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv
---
Scheduling destruction of SIP dialog 13579[EMAIL="[email protected]"][email protected][/EMAIL]in 32000 ms (Method: INVITE)
[Mar 31 11:37:39] WARNING[2352]: chan_sip.c:3656 retrans_pkt: Retransmission timeout reached on transmission 13579[EMAIL="[email protected]"][email protected][/EMAIL] for seqno 102 (Critical Request) -- See [URL]https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions[/URL]
Packet timed out after 32000ms with no response
[Mar 31 11:37:39] WARNING[2352]: chan_sip.c:3685 retrans_pkt: Hanging up call 13579[EMAIL="[email protected]"][email protected][/EMAIL] - no reply to our critical packet (see [URL]https://wiki.asterisk.org/wiki/display/AST/SIP+Retransmissions[/URL]).
Really destroying SIP dialog 13579[EMAIL="[email protected]"][email protected][/EMAIL]' Method: INVITE

Dank an alle die sich das hier an tuen :)
 
Zuletzt bearbeitet:
Dadurch dass du unvollständig zensiert hast, kann man sehen, dass du auch die Anschlusskennung im Authname hast, das ist falsch. Außerdem benutzt du nicht deine Telefonnummer als "Benutzername".
 
Retransmissions sind ein eindeutiges Zeichen, dass etwas mit dem Netzwerk nicht stimmt. Entweder die Pakete von Asterisk gehen gar nicht raus gehen (eher unwahrscheinlich), oder die Antwortpakete kommen nicht bis zum Asterisk durch. Eine der vorgelagerten Firewalls/NATs/... blockiert. Laut dem Log scheint externhost jetzt zu funktionieren, das heißt an der Asterisk Config liegt das erst mal nicht, gleichwohl musst Du die Daten noch korrigieren.

[noparse]register => Telefonnummer:Kennwort:[email protected]@tel.t-online.de/Telefonnummer

defaultuser = [email protected]
authuser = [email protected]
fromuser = Telefonnummer oder leer lassen und mit CALLERID(num) setzen[/noparse]
 
Hallo

Ich möchte mich hier bei allen bedanken die mir geholfen haben.

Da ich es in einigen Foren immer Schade finde, dass wenn jemand eineLösung gefunden hat, (wahrscheinlich durch das Forum) nicht seine Lösungpräsentiert.
Aus diesem Grund versuche ich es hier mal

Meine Systemvoraussetzung sind folgende:
1 Speedport W723V B
1 Raspberry Pi mit feter IP und direkt mit dem Speedportverbunden
1 dynamische DNS

Ziel ist es auf dem Raspi ein Programm laufen zu lassen daseiner bestimmten Aktion ein Anruf tätigt.
Dazu verschiebe ich eine Datei mit der Dateiendung „call“ nach „/var/spool/asterisk/outgoing/“
Die Anruf.call

Channel: SIP/localphone/die anzurufende Telefonnummer mitVorwahl
Application: Playback
Data: /var/lib/asterisk/sounds/custom/play

Wobei in dem Pfad “/var/lib/asterisk/sounds/custom/”eine Datei mit dem Namen “play.wav” liegt
(Dateinamenerweiterung wird da nur weggelassen)

Die rtp.conf
In dieser Datei habe ich die 2 Einträge angepasst
rtpstart=30000
rtpend=31000

und in der Speedport habe ich unter „Konfiguration“ -> „Netzwerk“-> „NAT & Portregeln“ eine Portregel hinzugefügt
Unter Beteichnung einen Namen vergegen
Art der Regel auf Port Witerleitung
Gültig für Gerät den Raspberry ausgewählt
Und unter UDP Portbereiche folgendes eingetragen 5070,30000-31000.

Den Port 5070 auch in der sip.conf eingetragen

Die sip.conf
Code:
[COLOR=#3e3e3e][FONT=Tahoma][general][/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma]allowguest=no[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] bindport = 5070[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] bindaddr = 0.0.0.0[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] qualify = no[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] disallow = all[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] allow = alaw[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] allow = ulaw[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] videosupport = yes[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] dtmfmode = rfc2833[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] srvlookup = yes[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] localnet = 192.168.2.0/255.255.255.0[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] directmedia = no[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] nat = yes[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] externhost = einName.selfhost.eu[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] externfresh = 120 [/FONT][/COLOR]

[COLOR=#3e3e3e][FONT=Tahoma]register => Tel-Nummer:Kennwort:[email protected]/Tel-Nummer[/FONT][/COLOR]

[COLOR=#3e3e3e][FONT=Tahoma][localphone][/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] type = peer[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] insecure = invite,port[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] nat = force_rport,comedia[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] defaultuser = [email protected][/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] authuser = [email protected][/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] fromuser = [/FONT][/COLOR][COLOR=#3e3e3e][FONT=Tahoma]Tel-Nummer[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] secret = [/FONT][/COLOR][COLOR=#3e3e3e][FONT=Tahoma]Kennwort[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] host = tel.t-online.de[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] fromdomain = tel.t-online.de[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] realm = tel.t-online.de[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] dtmfmode = rfc2833[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] context = incoming[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] disallow = all[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma]allow= ulaw[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] allow = alaw[/FONT][/COLOR]
[COLOR=#3e3e3e][FONT=Tahoma] transport = udp[/FONT][/COLOR]


register => Tel-Nummer:Kennwort:[email protected]/Tel-Nummer
Tel-Numer = Telefonnummer des Anschlusses den man benutzt
Kennwort = Das ist das Kennwort für das Kundencenter
T-OnlineNummer = Mit der Nr. und das Kennwort kann man sich im Kundencenter anmelden



Ich habe für mein Vorhaben keine „exentensions.conf“ nötiggehabt.


Der Stand ist das ich eine Datei Namens anruf.call nach „/var/spool/asterisk/outgoing/“verschiebe und der Raspi mich, aufmeinem Smartphone, anruft.


Danke und jetzt mache ich weiter

Manfred
 
Zuletzt bearbeitet:

Statistik des Forums

Themen
246,046
Beiträge
2,244,991
Mitglieder
373,451
Neuestes Mitglied
Ayzham
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.