[geloest] Telekom VOIP "Ich höre den Gesprächspartner nicht"
Verfasst: Mi 13. Nov 2019, 17:22
Hallo Ihr Lieben,
ich bin seit mehreren Wochen an ein Problem dran das ich nicht gelöst bekomme. Ich besitze ein VOIP Anschluss der Telekom und betreibe ein Asterisk Server. Ich habe auf mein Smartphone ein ZoiPer VOIP SIP Client am laufen der sich am Asterisk Server anmeldet.
Wenn ich jetzt ein Telefonat nach draußen führen möchte dann wird die Verbindung aufgebaut jedoch kann ich mein Gesprächspartner nicht hören. Aber er hört mich. Das gleiche Problem besteht wenn ich von draußen angerufen werde. Ich höre mein Gesprächspartner nicht aber er mich.
So wie es aussieht scheint es Probleme mit dem RTP Datenfluss zu geben. Wahrscheinlich ein NAT Problem. Bevor ich Euch mitteile was ich bis jetzt unternommen habe möchte ich Euch meine Netztopologie erläutern:
Die SIP Server der Telekom stehen im Netzsegment 217.0.0.0/13.
Ich besitze keine feste IP-Adresse. Diese wird aber auf mein Speedport SMART per Dynamisches DNS regelmäßig aktualisiert.
Intern besitzt mein Speedport SMART (VDSL-Modem) die IP-Adresse 192.168.0.1. Dieser baut die Verbindung zum Provider auf.
Mein zentraler Router ist ein OpenWRT Router, Verion 18.06 und hat die WAN IP-Adresse 192.168.0.2. Ist also direkt mit dem Speedport SMART verbunden.
Mein Asterisk Server steht in der DMZ und hat die IP-Adresse 192.168.140.20.
Mein ZoiPer VOIP SIP Client hat die IP-Adresse 192.168.30.129.
Die Netze sind durch VLAN's getrennt. Meine Netztopologie sieht wie folgt aus: Ich füge Euch mal meine Asterisk Konfigurationsdateien bei.
pjsip.conf
extensions.conf
rtp.conf
Auf meinen OpenWRT Router habe ich für SIP folgende Kernelmodule geladen:
Folgende iptables Regeln habe ich aktiviert:
Meine conntrack Ausgabe auf dem OpenWRT Router sagt folgendes aus:
Die Firewall auf dem Router ist bei allen Zonen auf (Eingang / Ausgang / Weiterleiten) auf zulassen gestellt. Bei der Zone WAN auf (Eingang /
Ausgang) auf zulassen gestellt und bei Weiterleiten auf zurückweisen gestellt.
Folgende Weiterleitungen habe ich in der Firewall aktiv:
Ich würde mich sehr freuen wenn Ihr mir noch weitere Tipp's geben könntet was ich noch bei der Fehleranalyse berücksichtigen kann?
Lieben Gruß von Stefan
ich bin seit mehreren Wochen an ein Problem dran das ich nicht gelöst bekomme. Ich besitze ein VOIP Anschluss der Telekom und betreibe ein Asterisk Server. Ich habe auf mein Smartphone ein ZoiPer VOIP SIP Client am laufen der sich am Asterisk Server anmeldet.
Wenn ich jetzt ein Telefonat nach draußen führen möchte dann wird die Verbindung aufgebaut jedoch kann ich mein Gesprächspartner nicht hören. Aber er hört mich. Das gleiche Problem besteht wenn ich von draußen angerufen werde. Ich höre mein Gesprächspartner nicht aber er mich.
So wie es aussieht scheint es Probleme mit dem RTP Datenfluss zu geben. Wahrscheinlich ein NAT Problem. Bevor ich Euch mitteile was ich bis jetzt unternommen habe möchte ich Euch meine Netztopologie erläutern:
Die SIP Server der Telekom stehen im Netzsegment 217.0.0.0/13.
Ich besitze keine feste IP-Adresse. Diese wird aber auf mein Speedport SMART per Dynamisches DNS regelmäßig aktualisiert.
Intern besitzt mein Speedport SMART (VDSL-Modem) die IP-Adresse 192.168.0.1. Dieser baut die Verbindung zum Provider auf.
Mein zentraler Router ist ein OpenWRT Router, Verion 18.06 und hat die WAN IP-Adresse 192.168.0.2. Ist also direkt mit dem Speedport SMART verbunden.
Mein Asterisk Server steht in der DMZ und hat die IP-Adresse 192.168.140.20.
Mein ZoiPer VOIP SIP Client hat die IP-Adresse 192.168.30.129.
Die Netze sind durch VLAN's getrennt. Meine Netztopologie sieht wie folgt aus: Ich füge Euch mal meine Asterisk Konfigurationsdateien bei.
pjsip.conf
Code: Alles auswählen
root@dsme01:~# cat /etc/asterisk/pjsip.conf
;=========== General settings ===========
[global]
type=global
user_agent=Asterisk PBX
endpoint_identifier_order=ip,username
default_from_user=0abcd900856
[transport-tcp-nat]
type=transport
protocol=tcp
bind=192.168.140.20:5070
local_net=192.168.0.0/16
external_media_address=example.com
external_signaling_address=example.com
external_signaling_port=5070
[transport-udp-nat]
type=transport
protocol=udp
bind=192.168.140.20:5070
local_net=192.168.0.0/16
external_media_address=example.com
external_signaling_address=example.com
external_signaling_port=5070
[telekom_0abcd900855]
type=registration
transport=transport-udp-nat
outbound_auth=telekom_0abcd900855_auth
outbound_proxy = sip:+49abcd900855@tel.t-online.de\;lr
server_uri=sip:tel.t-online.de:5070
client_uri=sip:+49abcd900855@tel.t-online.de:5070
contact_user=0abcd900855
retry_interval=60
forbidden_retry_interval=10
expiration=480
auth_rejection_permanent=false
[telekom_0abcd900856]
type=registration
transport=transport-udp-nat
outbound_auth=telekom_0abcd900856_auth
outbound_proxy = sip:+49abcd900856@tel.t-online.de\;lr
server_uri=sip:tel.t-online.de:5070
client_uri=sip:+49abcd900856@tel.t-online.de:5070
contact_user=0abcd900856
retry_interval=60
forbidden_retry_interval=10
expiration=480
auth_rejection_permanent=false
[telekom_0abcd900855_auth]
type=auth
auth_type=userpass
password=
username=anonymous@t-online.de
realm=tel.t-online.de
[telekom_0abcd900856_auth]
type=auth
auth_type=userpass
password=
username=anonymous@t-online.de
realm=tel.t-online.de
[telekom_0abcd900855_out]
type=endpoint
transport=transport-udp-nat
context=unspecified
disallow=all
allow=g722
allow=alaw
outbound_auth=telekom_0abcd900855_auth
outbound_proxy = sip:+49abcd900855@tel.t-online.de\;lr
aors=telekom_0abcd900855_out
callerid=0abcd900855
from_user=0abcd900855
from_domain=tel.t-online.de
timers=yes
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes
direct_media=no
[telekom_0abcd900856_out]
type=endpoint
transport=transport-udp-nat
context=unspecified
disallow=all
allow=g722
allow=alaw
outbound_auth=telekom_0abcd900856_auth
outbound_proxy = sip:+49abcd900856@tel.t-online.de\;lr
aors=telekom_0abcd900856_out
callerid=0abcd900856
from_user=0abcd900856
from_domain=tel.t-online.de
timers=yes
rtp_symmetric=yes
force_rport=yes
rewrite_contact=yes
direct_media=no
[telekom_0abcd900855_out]
type=aor
contact=sip:+49abcd900855@tel.t-online.de
[telekom_0abcd900856_out]
type=aor
contact=sip:+49abcd900856@tel.t-online.de
[telekom_0abcd900856_in]
type=endpoint
transport=transport-udp-nat
context=telekom_0abcd900856_in
disallow=all
allow=g722
allow=alaw
outbound_auth=telekom_0abcd900856_auth
direct_media=no
[telekom_0abcd900856_in]
type=identify
endpoint=telekom_0abcd900856_in
match=217.0.0.0/13
[sgsthme01]
type=endpoint
transport=transport-udp-nat
context=internalsip
disallow=all
allow=g722
allow=alaw
auth=auth-sgsthme01
aors=sgsthme01
[auth-sgsthme01]
type=auth
auth_type=userpass
username=sgsthme01
password=#########
realm=sgsthme01realm
[sgsthme01]
type=aor
max_contacts=1
remove_existing=true
[sgsthme01]
type=identify
endpoint=sgsthme01
match=192.168.30.129
match=192.168.190.65
[ipmanme01]
type=endpoint
transport=transport-udp-nat
context=internalsip
disallow=all
allow=g722
allow=alaw
auth=auth-ipmanme01
aors=ipmanme01
[auth-ipmanme01]
type=auth
auth_type=userpass
username=ipmanme01
password=#########
realm=ipmanme01realm
[ipmanme01]
type=aor
max_contacts=1
remove_existing=true
[ipmanme01]
type=identify
endpoint=ipmanme01
match=192.168.30.132
;=========== ACL's ===========
[acl]
type=acl
deny=0.0.0.0/0.0.0.0
permit=217.0.0.0/13
permit=192.168.0.0/16
Code: Alles auswählen
root@dsme01:~# cat /etc/asterisk/extensions.conf
[general]
static=yes
writeprotect=yes
autofallthrough=yes
extenpatternmatchnew=no
clearglobalvars=no
userscontext=unspecified
[unspecified]
exten => _X.,1,Answer()
same => n,Verbose(D E F A U L T ==> ${CALLERID(num)} kam um ${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)} in UNSPECIFIED an, als es versuchte die Nummer ${EXTEN} anzurufen.)
same => n,Playback(No_permissions)
same => n,Hangup()
[internalsip]
; direkt einzelne User anwaehlen
exten => sgsthme01,1,Dial(PJSIP/sgsthme01)
exten => ipmanme01,1,Dial(PJSIP/ipmanme01)
;Mailboxabfrage von intern ohne PIN
exten => mailboxname,1,VoiceMailMain(mailboxname@VoiceMailContext,s)
exten => 5201,1,VoiceMailMain(5201@VoiceMail1,s)
;National, mit +49 gewaehlt
exten => _+49ZXX!.,1,Dial(PJSIP/telekom_0abcd900856_out/sip:0${EXTEN:3}@tel.t-online.de,60)
exten => _+49ZXX!.,n,Hangup()
;International
exten => _+X.,1,NoOp(Blocked: ${EXTEN})
same => n,Playback(sorry-cant-let-you-do-that)
same => n,Hangup()
exten => _00X.,1,NoOp(Blocked: ${EXTEN})
same => n,Playback(sorry-cant-let-you-do-that)
same => n,Hangup()
;National, mit 0 vorneweg
exten => _0Z.,1,Dial(PJSIP/telekom_0abcd900856_out/sip:${EXTEN}@tel.t-online.de,60)
exten => _0Z.,n,Hangup()
;Ortsnetz
exten => _Z.,1,Dial(PJSIP/telekom_0abcd900856_out/sip:${EXTEN}@tel.t-online.de,60)
exten => _Z.,n,Hangup()
;Notrufe gehen immer
exten => 110,1,Dial(PJSIP/telekom_0abcd900856_out/sip:110@tel.t-online.de,60)
exten => 110,n,Hangup()
exten => 112,1,Dial(PJSIP/telekom_0abcd900856_out/sip:112@tel.t-online.de,60)
exten => 112,n,Hangup()
; ********* Kostenpflichtige Sondernummern ***********
exten => _0137Z.,1,NoOp(Blocked: ${EXTEN}) ;Servicenummern für TeleVoting
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _0138Z.,1,NoOp(Blocked: ${EXTEN})
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _0180Z.,1,NoOp(Blocked: ${EXTEN}) ;Servicenummern für Service-Dienste
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _0181Z.,1,NoOp(Blocked: ${EXTEN}) ;Zugang zu VPN, Kunden-Hotline
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _0182Z.,1,NoOp(Blocked: ${EXTEN})
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _0183Z.,1,NoOp(Blocked: ${EXTEN})
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _0184Z.,1,NoOp(Blocked: ${EXTEN})
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _0185Z.,1,NoOp(Blocked: ${EXTEN})
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _0186Z.,1,NoOp(Blocked: ${EXTEN})
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _0187Z.,1,NoOp(Blocked: ${EXTEN})
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _0188Z.,1,NoOp(Blocked: ${EXTEN})
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _032Z.,1,NoOp(Blocked: ${EXTEN}) ;Vorwahl für Internettelefonie-Nutzer
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _0700Z.,1,NoOp(Blocked: ${EXTEN}) ;persönliche Rufnummer 0700
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _09001Z.,1,NoOp(Blocked: ${EXTEN}) ;Premiumdienste Information
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _09003Z.,1,NoOp(Blocked: ${EXTEN}) ;Premiumdienste Unterhaltung
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _09005Z.,1,NoOp(Blocked: ${EXTEN}) ;Premiumdienste Sonstiges, Erotik
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => _09009Z.,1,NoOp(Blocked: ${EXTEN}) ;Dialer
same => n,Playback(sorry-cant-let-you-do-that3)
same => n,Hangup()
exten => 0abcd900856,1,Dial(PJSIP/sgsthme01,30)
exten => 0abcd900856,n,VoiceMail(mailboxname@mailboxcontext)
exten => 0abcd900856,n,Hangup()
[telekom_0abcd900856_in]
exten => 0abcd900856,1,Dial(PJSIP/sgsthme01,30)
same => n,Playback(Ansagetext)
same => n,VoiceMail(mailboxname@mailboxcontext)
same => n,Hangup()
Code: Alles auswählen
root@dsme01:~# cat /etc/asterisk/rtp.conf
[general]
rtpstart=30000
rtpend=30099
rtpchecksums=yes
Code: Alles auswählen
root@rome01:~# lsmod | grep sip
nf_conntrack 73728 37 nf_nat_pptp,nf_conntrack_pptp,nf_conntrack_netlink,nf_conntrack_ipv6,ipt_MASQUERADE,xt_state,xt_nat,xt_helper,xt_conntrack,xt_connmark,xt_connlimit,xt_connbytes,xt_REDIRECT,xt_CT,nf_nat_tftp,nf_nat_snmp_basic,nf_nat_sip,nf_nat_masquerade_ipv4,nf_nat_irc,nf_conntrack_ipv4,nf_nat_ipv4,nf_nat_h323,nf_nat_ftp,nf_nat_amanda,nf_nat,nf_flow_table,nf_conntrack_tftp,nf_conntrack_snmp,nf_conntrack_sip,nf_conntrack_rtcache,nf_conntrack_proto_gre,nf_conntrack_irc,nf_conntrack_h323,nf_conntrack_ftp,nf_conntrack_broadcast,nf_conntrack_amanda,act_connmark
nf_conntrack_sip 28672 21 nf_nat_sip
nf_nat 24576 12 nf_nat_pptp,xt_nat,nf_nat_tftp,nf_nat_sip,nf_nat_redirect,nf_nat_proto_gre,nf_nat_masquerade_ipv4,nf_nat_irc,nf_nat_ipv4,nf_nat_h323,nf_nat_ftp,nf_nat_amanda
nf_nat_sip 20480 0
Code: Alles auswählen
iptables -t raw -A OUTPUT -p udp -m udp --sport 5070 -j CT --helper sip
iptables -t raw -A PREROUTING -p udp -m udp --dport 5070 -j CT --helper sip
Code: Alles auswählen
root@rome01:~# conntrack -L | grep -E '5070|sip'
udp 17 3320 src=192.168.140.20 dst=217.0.28.161 sport=5070 dport=5060 packets=95 bytes=66706 src=217.0.28.161 dst=192.168.0.2 sport=5060 dport=5070 packets=96 bytes=72735 [ASSURED] mark=0 helper=sip use=1
udp 17 122 src=192.168.30.129 dst=192.168.140.20 sport=42027 dport=5070 packets=374 bytes=222649 src=192.168.140.20 dst=192.168.30.129 sport=5070 dport=42027 packets=219 bytes=124912 [ASSURED] mark=0 use=1
conntrack v1.4.4 (conntrack-tools): 210 flow entries have been shown.
Ausgang) auf zulassen gestellt und bei Weiterleiten auf zurückweisen gestellt.
Folgende Weiterleitungen habe ich in der Firewall aktiv:
Code: Alles auswählen
IPv4-UDP
Von IP range 217.0.0.0/13 in wan
Über beliebige Router-IP an port 5070
IP 192.168.140.20, port 5070 in voip
IPv4-UDP
Von IP range 217.0.0.0/13 in wan
Über IP 192.168.0.2 an ports 30000-30099
IP 192.168.140.20, ports 30000-30099 in voip
Lieben Gruß von Stefan