[Gelöst] Kein Ton vom angerufenen (Asterisk 11.6 / 1und1)

lsup

Neuer User
Mitglied seit
17 Jul 2012
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Hallo Zusammen,

ich habe ein Problem mit meinem Asterisk (Version 11.6.0) und ausgeheneden Anrufen über 1und1. Eingehende Anrufe funktionieren komplett Problemlos, bei ausgehenden kann ich den angerufenen nicht hören (dieser hört jedoch mich). In meinem Setup sitzt der Asterisk im lokalen Netz hinter einer Firewall.

Meine sip.conf sieht folgendermaßen aus:
Code:
[general]
bindport = 5060
bindaddr = 0.0.0.0
srvlookup=yes
externhost=[dyndnsdomain]
externrefresh=600
localnet=192.168.1.0/255.255.255.0
language=de
allowguest=yes
register => [extnummer]:[pass]@sip.1und1.de/[extnummer]

[2001]
type=friend
secret=
host=dynamic
context=trusted-phones
mailbox=2001@default
call-limit=2
qualify=yes

[1und1]
type=friend
context=incoming
username=[extnummer]
fromuser=[extnummer]
secret=[pass]
host=sip.1und1.de
fromdomain=1und1.de
qualify=yes
insecure=port,invite

Eine sache dir mir aufgefallen ist, ist das bei ausgehenden anrufen die Zeile "setting RTP source address to 192.168.1.3:7078" im log erscheint wobei die 192.168.1.3 meine Fritzbox ist an der die Phones hängen. Diese erscheint nicht bei eingehenden anrufen. Ebenso habe ich anrufe durchgeführt mit eingeschaltetem RTP debug und dort escheinen beim ausgehenden anruf beispielhaft die folgenden Zeilen:

Code:
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050169, ts 063736, len 000160)
Got  RTP packet from    192.168.1.3:7078 (type 00, seq 000267, ts 064080, len 000240)
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050170, ts 063896, len 000160)
Got  RTP packet from    192.168.1.3:7078 (type 00, seq 000268, ts 064320, len 000240)
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050171, ts 064056, len 000160)
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050172, ts 064216, len 000160)
Got  RTP packet from    192.168.1.3:7078 (type 00, seq 000269, ts 064560, len 000240)
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050173, ts 064376, len 000160)
Got  RTP packet from    192.168.1.3:7078 (type 00, seq 000270, ts 064800, len 000240)
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050174, ts 064536, len 000160)
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050175, ts 064696, len 000160)
Got  RTP packet from    192.168.1.3:7078 (type 00, seq 000271, ts 065040, len 000240)
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050176, ts 064856, len 000160)
Got  RTP packet from    192.168.1.3:7078 (type 00, seq 000272, ts 065280, len 000240)
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050177, ts 065016, len 000160)
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050178, ts 065176, len 000160)
Got  RTP packet from    192.168.1.3:7078 (type 00, seq 000273, ts 065520, len 000240)
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050179, ts 065336, len 000160)
Got  RTP packet from    192.168.1.3:7078 (type 00, seq 000274, ts 065760, len 000240)
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050180, ts 065496, len 000160)
Sent RTP packet to      88.79.152.245:17880 (type 08, seq 050181, ts 065656, len 000160)

Bei eingehenden anrufen jedoch erscheinen garkeine RTP Pakete:

Code:
-- Executing [[extnum]@default:1] Set("SIP/arcor.de-00000004", "CALLERID(num)=[anrufer]") in new stack
    -- Executing [[extnum]@default:2] Set("SIP/arcor.de-00000004", "CIDNU=[anrufer]") in new stack
    -- Executing [[extnum]@default:3] Set("SIP/arcor.de-00000004", "CALLERID(num)=[anrufer]") in new stack
    -- Executing [[extnum]@default:4] Dial("SIP/arcor.de-00000004", "SIP/2001") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/2001
    -- SIP/2001-00000005 answered SIP/arcor.de-00000004
    -- Remotely bridging SIP/arcor.de-00000004 and SIP/2001-00000005

Sieht evtl. jemand von euch den Fehler?
 
Zuletzt bearbeitet:
Hallo,

1und1 ist nur über etwas kompliziertere Wege in Asterisk einzubinden, aber es funktioniert auf jeden Fall.

Bitte wirf mal die Forensuche an. Ich hatte selbst vor kurzem einige fragen hier dazu gestellt.

LG
 
Also ich würde leichtsinniger Weise sagen, es fehlt eine nat Einstellung und evtl. directmedia=no bzw. directrtpsetup=no, und type sollte peer sein.
 
1und1 brauchte doch noch extra Einträge in der SIP.conf soweit ich das vor einigen Monaten eingerichtet habe....
 
Du meinst wegen der load balancer? Das betrifft nur ankommende Anrufe, hat nichts mit RTP zu tun und ist hier nicht notwendig, weil mit allowguest gearbeitet wird.
 
Hallo,

entschuldigt meine späte Antwort! Noch zusätzlich als info die ich leider im ersten Post vergessen hatte ist, dass es mit dem Setup bereits einmal lief, ich jetzt jedocha von Asterisk 11.0 auf 11.6 gewechselt bin und seitdem diese Probleme auftreten.

rentier-s: mit nat habe ich bereits etwas herum gespielt, das hat leider auch nichts geändert. Ebenfalls in kombination mit den beiden von dir genannten Einträgen hat sich leider auch nichts geändert. Die sip.conf sah dann wie folgt aus:

Code:
[general]
bindport = 5060
bindaddr = 0.0.0.0
srvlookup=yes
externhost={{extdomain}}
externrefresh=600
localnet=192.168.1.0/255.255.255.0
directmedia=no
directrtpsetup=no
nat=force_rport,comedia
language=de
allowguest=yes
register => {{extnum}}:{{pass}}@sip.1und1.de/{{extnum}}

...

[1und1]
type=peer
context=incoming
username={{extnum}}
fromuser={{extnum}}
secret={{pass}}
host=sip.1und1.de
fromdomain=1und1.de
qualify=yes
insecure=port,invite

Bzw. der komplizierten einrichtung: Ich hatte zunächst auch ein Setup in dem ich die ganzen sipbalance Server eingetragen hatte, dies hat jedoch immer Probleme gemacht. Ich bin nun dazu gewechselt mit allowguest zu arbeiten in kombination mit meiner Firewall, die nur Anfragen von 1und1 Server zulässt um das System abzusichern.

Habt ihr evtl. noch andere ideen was das Problem in meinem Setup sein könnte?
 
Moin

Ja eine Idee hätt ich.
Da es sich ja ums RTP Protokoll handelt, würd ich die Reihe der auszuhandelnden Codecs bestimmen wollen.
Zuerst die kompatibelsten und dann den ganzen Rest...

sip.conf - [general]
Code:
disallow = all
allow = alaw
allow = ulaw
allow = gsm
allow = g726
allow = g722
allow = g729
allow=t140
textsupport=yes
dtmfmode = RFC2833
 
Hallo koyaanisqatsi,

die Änderungen helfen leider auch nicht weiter!
 
Wenn du nur alaw und ulaw nimmst und lässt, sollte dies zumindest nicht die Fehlerquelle sein.
Dann kann woanders gesucht werden...
 
Habe ich gerade mal versucht, auch nur mit alaw und ulaw funktioniert das ganze nicht!
 
Hat noch jemand vorschläge was ich versuchen könnte?

Ich habe gerade einmal das gleiche Szenario mit einem Softphone versucht und dabei festgestellt, dass genau das gleiche Problem auftritt. Es liegt also nicht an der FritzBox dem FritzFon. Mich wundert immernoch die Meldung "setting RTP source address", was sagt dies genau aus?
 
Hallo,

die Firewall muss die RTP-Ports zum Asterisk-Server weiterleiten.
 
Hi,

the ports get forwareded properly, i rechecked it in firewall live log.
 
Hi,

stimmen die RTP-Ports der rtp.conf mit denen deiner FW auch nach deinem Update überein? Ist sichergestellt, dass externhost="dyndnsdomain" richtig aufgelöst wird?


VG R.
 
Ich habe die dns auflösung gerade nochmal gechecked, das passt. Ebenso wird im FW live-log die SIP connection aufgeführt, es wird nichts gedroped!

Code:
18:11:09 	SIP call 	UDP 	{local_asterisk_ip}:5008 → {extern_connect_ip}:12724 len=200 	ttl=63 	tos=0x00 	srcmac=0:c:29:xx:xx:xx 	dstmac=0:c:29:xx:xx:xx

ein eingehendes gespräch sieht entsprechend so aus:

Code:
18:15:16 	NAT rule #6 	UDP 	{extern_server_1}:5060 →  {my_extern_ip}:5060 len=1368 	ttl=58 	tos=0x00
18:15:27 	SIP call 	UDP {local_asterisk_ip}:5004 → {extern_server_2}:24550 len=200 	ttl=63 	tos=0x00 	srcmac=0:c:29:xx:xx:xx 	dstmac=0:c:29:xx:xx:xx
18:15:32 	SIP call 	UDP 	{local_asterisk_ip}:5005 → {extern_server_2}:24551 len=92 	ttl=63 	tos=0x00 	srcmac=0:c:29:xx:xx:xx 	dstmac=0:c:29:xx:xx:xx

Ich sehe soweit keine Probleme...
 
Aber der lokale Port würde mir schon zu denken geben.
 
Welchen meinst du nun genau? 5008? Weshalb?
 
Es sieht nicht so aus, als ob deine FW / NAT Regeln arbeiten wie gewünscht. Erkläre doch mal den Aufbau deines Netzes, bzw. wie dein Asterisk angebunden ist und welche Maßnahmen du ergriffen hast, um SIP und RTP-Range an Asterisk weiterzuleiten.
 
Hallo rmh,

sorry für meine späte Antwort, ich hatte viel um die Ohren. Mein Netzwerk ist aus der logischen sicht recht einfach aufgebaut. Der Asterisk hängt direkt an meiner Firewall (Sophos UTM) die wiederum die Internetverbindung per PPOE herstellt. Über eine NAT Rule werden alle Requests auf Port 5060 auf den lokalen Asterisk Server weitergeleitet, unter der Bedinungen, dass diese von einem 1&1 Server kommen.

Den redirekt der RTP Ports wiederum regelt ein Feature der Firewall selbst (Diese hat VOIP Support und kennt hier ebenfalls wieder die 1und1 Server und den lokalen Asterisk). Ich würde prinzipiell erstmal fehler mit der Firewall ausschließen, da das Setup so mit der älteren Asterisk funktion funktioniert hat.
 
Und mal ohne Firewall probiert?
Warum steht in dem Log 5004,5005 wenn SIP auf 5060 eingestellt ist?

Benötigst du überhaupt Registrierungen von Telefonen ausserhalb des LANs? Ansonsten mal nat=no ohne SIP Port Forwarding probieren.

Die Ports in rtp.conf sind die selben wie in der Firewall eingestellt?

Und mal sip set debug on damit man mehr sieht.
 
Kostenlos!

Statistik des Forums

Themen
248,885
Beiträge
2,303,946
Mitglieder
378,563
Neuestes Mitglied
Daniel_913