Strato & Asterisk Gegenstelle hört mich nicht mehr

Michael@

Neuer User
Mitglied seit
21 Jun 2004
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Wir hatten bis vor kurzen VoIP über die LE-PBX erfolgreich mit einem Strato VoIP- Zugang am laufen.
Extern wurde ein GSM codec verwendet.
Seit ca. April 06 geht das aber nicht mehr so wie bisher.
Es klingelt zwar bei der Gegenstelle aber sobald dort abgehoben wird ist der Anruf weg.
lt. Strato Support wird nur g711;g723 und g729 unterstützt.
Wenn wir einen dieser Codec´s einstellen funktioniert es manchmal.
Wenn es nicht funktioniert hört die Gegenstelle meine Stimme nicht.

Hat jemand ähnliche probleme?
Benutzt jemand Strato mit Asterisk zusammen?
 
Hallo Michael,
das selbe problem habe ich auch bei einem Kunden.
Ich denke mal dass Strato den RTP Portbereich geändert hat.
Außerdem laufen SIP Server (Registrar) und der Server der den RTP Medienstrom aufbauen getrennt.


Daraus ergibt sich ein Problem was die Firewall angeht.

Dein Asterisk registriert sich bei Strato auf Server "strato-iphone.de" (IP 194.97.40.217)

Der RTP Datenstrom wird aber mit den Strato Server IP: 62.104.214.195 aufgebaut.

Und möglicherweise blockiert Deine Firewall ( bei mir iptables) diesen Verkehr.

Ist der Asterisk hinter einem Router oder direkt am Netzt?


Viele Grüße Sven
 
ich habe scheinbar das gleiche problem.
es handelt sich aber um einen server der nicht hinter einem router ist.
also ein vserver hat ja nicht einen "direkt steuerbaren router".
was hast du an den iptables verändert?
 
Befindet sich Asterisk nicht hinter einem Router sondern ist direkt mit dem Internet verbunden, verwende ich folgende Firewall:


Code:
# 
# einfaches Konfigurationsscript einer Firewall auf einem 
#  Stand-Alone Rechner ohne NAT 
# 
# 
# Description: Script zum  Konfigurieren einer IPTABLES Firewall 
# Autor: Sven Neukirchner  <[email protected]> 
# mit Hilfe von Newsgroups und Beispielen aus dem  Internet 
# Date 07.04.2006 
# Version: 3.0 
# Lizenz: GPL 
# 
##  Inhalt aller Chains loeschen ist nicht notwendig da das schon im Startscript  
# /etc/init.d/firewall durchgefuehrt wird 
#  
#################################################################################  
#--- Hier werden ein paar Einstellungen vorgenommen  ----------------------------#  
#################################################################################  

# meine beiden Netzwerkkarten 
EXTERN="dsl0" 
INTERN="eth0"  

# TCP Dienste die der Rechner im Internet nutzt 
TCP_OUT="21 25 53 80  110 443" 

# UDP Dienste die der Rechner im Internet nutzt 
UDP_OUT="53  5060" 

# TCP Dienste die der Rechner zur Verfuegung stellt  
TCP_IN="22" 

# UDP Dienste die der Rechner zur Verfuegung stellt  
UDP_IN="" 

# erlaubte ICMP von aussen 
ICMP_IN="8" 

# VoIP  RTP Ports 
RTP_RANGE=10000:10020  

#################################################################################  
#--- Ab hier keine Aenderungen vornehmen  ---------------------------------------#  
#################################################################################  

#------------------------------------------------------------------------#  
#---Ketten loeschen------------------------------------------------------#  
#------------------------------------------------------------------------#  

# echo " Setze Firewall zurueck..." 

# # Firewall Ketten loeschen  
# iptables -F 
# iptables -X  

#------------------------------------------------------------------------#  
#---POLICY setzen--------------------------------------------------------#  
#------------------------------------------------------------------------#  

echo " Schliesse Firewall..." 

# erst mal alles dicht machen  
iptables -P INPUT DROP 
iptables -P OUTPUT DROP 
iptables -P FORWARD  DROP  

#------------------------------------------------------------------------#  
#--- INTERNER NETZVERKEHR------------------------------------------------#  
#------------------------------------------------------------------------#  
echo " Konfiguriere Interface $INTERN..." 

# Kommunikation Auf  Loopback 
iptables -A INPUT -i lo -j ACCEPT 
iptables -A OUTPUT -o lo -j  ACCEPT 

# Kommunikation interner Netzwerkkarte 
iptables -A INPUT -i  $INTERN -j ACCEPT 
iptables -A OUTPUT -o $INTERN -j ACCEPT  

#------------------------------------------------------------------------#  
#--- VERBINDUNGEN ZUM INTERNET ------------------------------------------#  
#------------------------------------------------------------------------#  
echo " Konfiguriere Interface $EXTERN..." 


# TCP Verbindung zum  Internet 
for port_range in $TCP_OUT ; do 
iptables -A OUTPUT -o $EXTERN  -p tcp --dport $port_range -j ACCEPT 
iptables -A INPUT -i $EXTERN -p tcp  --sport $port_range -m state --state ESTABLISHED -j ACCEPT 
done 

#  UDP Verbindung zum Internet 
for port_range in $UDP_OUT ; do 
iptables -A  OUTPUT -o $EXTERN -p udp --dport $port_range -j ACCEPT 
iptables -A INPUT -i  $EXTERN -p udp --sport $port_range -m state --state ESTABLISHED -j ACCEPT  
done 

# ICMP darf raus 
iptables -A OUTPUT -o $EXTERN -p ICMP -j  ACCEPT 
iptables -A INPUT -i $EXTERN -p ICMP -m state --state ESTABLISHED -j  ACCEPT  


#------------------------------------------------------------------------#  
#--- VERBINDUNGEN VOM INTERNET ------------------------------------------#  
#------------------------------------------------------------------------#  

# TCP Verbindung vom Internet 
for port_range in $TCP_IN ; do  
iptables -A INPUT -i $EXTERN -p tcp --dport $port_range -j ACCEPT  
iptables -A OUTPUT -o $EXTERN -p tcp --sport $port_range -m state --state  ESTABLISHED -j ACCEPT 
done 

# UDP Verbindung vom Internet 
for  port_range in $UDP_IN ; do 
iptables -A INPUT -i $EXTERN -p udp --dport  $port_range -j ACCEPT 
iptables -A OUTPUT -o $EXTERN -p udp --sport  $port_range -m state --state ESTABLISHED -j ACCEPT 
done 

# ICMP com  Internet 
for icmp_type in $ICMP_IN ; do 
iptables -A INPUT -i $EXTERN -p  icmp --icmp-type $icmp_type -j ACCEPT 
iptables -A OUTPUT -o $EXTERN -p icmp  --icmp-type $icmp_type -m state --state ESTABLISHED -j ACCEPT 
done  

#------------------------------------------------------------------------#  
#--- RTP Stream -------------- ------------------------------------------#  
#------------------------------------------------------------------------#  
# ---VoIP RTP 
for port_range in $RTP_RANGE ; do 
iptables -A OUTPUT  -o $EXTERN -p udp --sport $port_range -j ACCEPT 
iptables -A INPUT -i $EXTERN  -p udp --dport $port_range -j ACCEPT 
done 


##################  ENDE FIREWALL ########################################

Im Notfall mußt Du dden RTP Range anpassen.

Viele Grüße
Sven
 
Hallo,
ich habe noch festgestellt, daß die Strato Server nicht in der Lage sind zu erkennen, ob sich ein Asterisk Server als Client hinter einem NAT Gerät befindet.

Deshalb muß am Asterisk im default Kontext der sip.conf folgende Einstellung vorgenommen werden:

externip=[externe IP des NAT Gerätes]

Wenn man die Option externip verwendet, muß man aber auch die Option:

localnet=[lokales Netz]


verwenden.
Sonst kann Asterisk nicht unterscheiden ob es sich beim Rufaufbau zu einem Partner um einen internen oder externen handelt.

Durch externip=... wird statt die eigentliche IP adresse des Asterisk Servers, die öffentliche IP des NAT gerätes verwendet.

Bei mir siet das ganze so aus:

externip=195.4.x.x
localnet=192.168.200.0/255.255.255.0



Viele Grüße
Sven
 
Vergeblich versuche ich Asterisk mit Strato zu verbienden aber es klappt leide nicht...
Kann mir jemand weiter helfen?
 
meine Einstellung

Danke @ all (speziell konabi) für die Beiträge.
Ich habe es nicht mehr weiter verfolgt
ich Poste nur mal zur Info meine Einstellung.
ciao

[Strato]
secret=**Passwort
username=**mein username
fromuser=**mein user name
fromdomain=strato-iphone.de
qualify=yes
type=friend
context=pbx_incoming_Strato
host=strato-iphone.de
nat=yes
canreinvite=no
promiscredir=yes
insecure=very
;incominglimit=1
;restrictcid=yes
dtmfmode=info
disallow=all
allow=gsm

[194.97.40.217]
secret=** Passwort
username=** mein username
fromuser=** mein username
fromdomain=strato-iphone.de
qualify=yes
type=friend
context=pbx_incoming_Strato
host=strato-iphone.de
nat=yes
canreinvite=no
promiscredir=yes
insecure=very
;incominglimit=1
;restrictcid=yes
dtmfmode=info
disallow=all
allow=gsm
 
@dragan.m

ist Dein Asterisk hinter einem NAT Gateway oder direkt mit dem Internet verbunden?

Wie sieht Deine sip.conf und extensions.conf aus?

Sven
 
Hallo,

ich bring den Thread mal wieder nach oben ;)
Wir tätigen unsere ausgehenden Gespräche auch über eine Strato-Tel-Flat.

Bis letzter Woche hatte ich den Asterisk an einer externen IP und alles funktionierte wunderbar. Nun hab ich ihn hinter einen LANCOM 1811 NAT Router gestellt. Dieser hat Starto DSL und ne statische IP. Port 5060 UDP natte ich auf den asterisk, der nun bei mir im LAN steht.

Wenn ich nun jemanden anrufe, dann hoert er mich wunderbar...jedoch hoere ich ihn nicht?!

ich habe nun folgende sip.conf

im general bereich habe ich:
Code:
externip=194.97.x.x
localnet=192.168.100.0/255.255.255.0
hinzugefügt.

dann sieht meine Anmedlung in der sip.conf so aus...

Code:
[strato-out]
secret=****
username=username
fromuser=username
authuser=username
fromdomain=strato-iphone.de
qualify=yes
type=friend
context=default
host=strato-iphone.de
nat=yes
canreinvite=no
promiscredir=yes
insecure=very

[194.97.40.217]
secret=****
username=username
fromuser=username
authuser=username
fromdomain=strato-iphone.de
qualify=yes
type=friend
context=default
host=strato-iphone.de
nat=yes
canreinvite=no
promiscredir=yes
insecure=very

Meine extensions.conf sieht so aus:
Code:
exten => _0XXXXXX.,1,Dial(SIP/${EXTEN}@strato-out,60,Ttr)

Es lief ja alles als der asterisk direkt an einer vdsl leitung mit öffentlicher ip hing.

Vielleicht hat ja jemand ne Idee.

PS: über dus.net rufen wir handynummern an...das funktioniert...
 
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.