[Gelöst] Gesprächspartner hört mich nicht

Freakhouse

Neuer User
Mitglied seit
22 Mai 2015
Beiträge
53
Punkte für Reaktionen
1
Punkte
8
Folgendes Setup: Sip-Provider --> Internet --> Router --> Asterisk

Am Router hängen auch die VoIP-Telefone. Ausgehende Gespräche funktionieren einwandfrei. Bei eingehenden Gesprächen höre ich den Anrufer einwandfrei, er hört jedoch nichts. Zu Testzwecken habe ich folgenden Wählplan für eingehende Anrufe eingerichtet:

Code:
exten=49123456789,1,Answer()
exten=49123456789,2,Playback(hello-world)
exten=49123456789,3,Dial(SIP/9001)

Und siehe da - der Anrufer hört das "Hello World". Danach wird er an mein Telefon weitergeleitet, aber er hört mich nicht. Hat jemand von euch eine Idee, wo in den Untiefen der Config-Files ich auf die Fehlersuche gehen soll. Bin noch ein blutiger Anfänger und daher noch nicht so fit.

Am Router habe ich mal testweise den Port 5060 und 10000-20000 auf den Asterisk geforwarded. Hilft aber auch nicht.

[PROBLEM GELÖST] Hier zur Lösung springen: http://www.ip-phone-forum.de/showthread.php?t=278977&p=2092496&viewfull=1#post2092496
 
Zuletzt bearbeitet:
Ich vermute eher, dass die beiden Gegenstellen sich nicht auf einen Codec einigen koennen.

Die 10000 - 20000 stehen auch in der rtp.conf so drin? Ich hatte ein aehnliches Problem mit meinen Gigasets wenn ein Anruf von einem Handy kam.

Lass den Asterisk mal besser auf der 5062 lauschen, die 5060 ist nach meinen Erfahrungen oft fuer den Router reserviert und wird dann nicht weitergeleitet.

Ansonsten muesstest du schon ein paar mehr Infos ausspucken, also was ist das fuer ein Router, wo registrieren sich die Telefone, was sind das fuer Telefone etc. ...
 
Zuletzt bearbeitet:
Hab den Asterisk-Port mal auf 5062 umgestellt, half aber auch nicht. Die RTP Ports 10000-20000 stehen so in der rtp.conf drin und sind im Router freigegeben.

Hier mal mein Sipgate-Eintrag:

Code:
[General]
context=public
allowoverlap=no
udpbindaddr=0.0.0.0
tcpenable=no
tcpbindaddr=0.0.0.0
transport=udp
srvlookup=yes
subscribecontext=default
language=de
allowexternaldomains=yes
allowguest=no
allowsubscribe=yes
allowtransfer=yes
alwaysauthreject=no
autodomain=no
callevents=no
checkmwi=10
compactheaders=no
defaultexpiry=120
dumphistory=no
externrefresh=10
g726nonstandard=no
jbenable=no
jbforce=no
jblog=no
maxcallbitrate=384
maxexpiry=3600
minexpiry=60
mohinterpret=default
notifyringing=yes
pedantic=no
progressinband=never
promiscredir=no
realm=asterisk
recordhistory=no
registerattempts=0
registertimeout=20
relaxdtmf=no
sendrpid=no
sipdebug=no
t1min=100
t38pt_udptl=no
tos_audio=none
tos_sip=none
tos_video=none
trustrpid=no
useragent=Asterisk PBX
usereqphone=no
videosupport=no
bindport=5062
disallow=all
allow=


[Trunk_sipgate]
host=sipconnect.sipgate.de
username=123456789
secret=***********
trunkname=sipconnect.sipgate.de ; GUI metadata
context=DID_trunk_sipgate
hasexten=no
hasiax=no
hassip=yes
registeriax=no
registersip=yes
trunkstyle=voip
outboundproxy=sipconnect.sipgate.de
insecure=port,invite
fromuser=123456789
authuser=123456789
disallow=all
allow=ulaw,alaw,gsm,g726
fromdomain=sipconnect.sipgate.de
nat=yes
type=peer
canreinvite=no
dtmfmode=rfc2833
 
Zuletzt bearbeitet:
Moin Freakhouse,

ich habe jetzt nicht die Zeit mir deine Einstellungen genauer anzuschauen, dennoch sagt mir mein Bauchgefuehl, dass du viel zu viele Parameter in deinem Setup hast.

Hast du es mal mit den Default-Werten versucht, wie Sipgate sie fuer den Asterisk vorschlaegt?

sip.conf
Code:
[general]
context=fromInternet
nat=yes
transport=udp
sipdebug=no
allowguest=no
alwaysauthreject=yes
port = 5060
bindaddr = 0.0.0.0
context = error
qualify=no
allow=alaw
allow=ulaw
allow=g729
allow=gsm
allow=slinear
srvlookup=yes

register => SIPID:[email protected]/SIPID

[sipgate_connection]
type=friend
insecure=invite
username=SIPID
fromuser=SIPID
fromdomain=sipgate.de
secret=SIPPW
host=sipgate.de
qualify=yes
canreinvite=no
dtmfmode=rfc2833
disallow=all
context = from-sipgate

extension.conf

Code:
[sipout]
exten => _X.,1,Set(CALLERID(num)=SIPID)
exten => _X.,2,Dial(SIP/${EXTEN}@sipgate-out,30,trg)
exten => _X.,3,Hangup

Gruss
 
Ich vermute eher, dass die beiden Gegenstellen sich nicht auf einen Codec einigen koennen.

Das hat mich auf die richtige Spur gebracht. Systematisches Vorgehen brachte gleich beim ersten Versuch den Erfolg. Statt
allow=ulaw,alaw,gsm,g726
habe ich lediglich
genommen. Und siehe da: nun hörte mich auch der Anrufer wunderbar :D Aber: bitte weiterlesen!

Da ich aber wissen wollte, welcher Codec genau den Fehler verursachte, habe ich einfach wieder jeden weiteren Codec angefügt und habe getestet. Und plötzlich funktionierte es mit allen Codecs.

allow=ulaw, alaw, gsm, g726

Sollte etwa ein Wunder geschehen sein? Ähh, nein! Ich Dösbattel habe usprünglich hinter den Kommata kein Leerzeichen gehabt. Das war die Ursache des Problems! Mit den entsprechenden Leerzeichen klappt nun alles wie am Schnürchen!

Vielen Dank für den Tipp mit den Codecs - auch wenn es eigentlich gar kein richtiges Codec-Problem war, sondern alleine meine eigene Schusseligkeit!!!
 
Zuletzt bearbeitet:
Freakhouse schrieb:
... auch wenn es eigentlich gar kein richtiges Codec-Problem war, sondern alleine meine eigene Schusseligkeit!!!
Irgendwo habe ich mal gelesen 'Asterisk ist ein haariges Biest'.

Scheint was dran zu sein ... :p
 
Nimm aber besser alaw an 1. Stelle. Ist in Deutschland+Europa der üblichste-
Also so:
allow=alaw, ulaw, gsm, g726
 
Nimm aber besser alaw an 1. Stelle. Ist in Deutschland+Europa der üblichste

Habe ich gemacht - und plötzlich war wieder kein Ton zu hören. Habe den (weiteren?) Fehler dann aber gleich gefunden: es mussten die gleichen Codecs natürlich auch für die VoIP-Telefone eingetragen sein. Da fehlte mir aber ALAW. Nachdem ich das ergänzt hatte, klappt es nun einwandfrei.
 
.... es mussten die gleichen Codecs natürlich auch für die VoIP-Telefone eingetragen sein. Da fehlte mir aber ALAW. Nachdem ich das ergänzt hatte, klappt es nun einwandfrei.
Wenn du verschiedene Telefone im Einsatz hast, dann schreib dir fuer jeden Typ ein sogenanntes Template in die sip.conf. Kommt dann ein Telefon dazu, brauchst du nur noch das Template einbinden und hast automatisch die richtigen Einstellungen fuer dieses Telefon.

Das sieht dann etwa so aus:

[office-phone](!)
type = friend
permit = 192.168.1.0/255.255.0.0
context = office-phones
host = dynamic
nat = force_rport,comedia
dtmfmode = auto
disallow = all
allow = alaw
;allow = ulaw
allow = g722
qualify = no

[10](office-phone)
callerid = Zentrale [10]
secret = 12345

Das neue Telefon braucht also nur noch zwei Parameter, was z. B. das Risiko falsch geschriebener oder fehlender Parameter deutlich eingrenzt.
 
Zuletzt bearbeitet:
Aber auch bei dir das alaw besser vor dem ulaw, so wie in #4.
 
Aber auch bei dir das alaw besser vor dem ulaw, so wie in #4.
Danke fuer den Hinweis, habe ich beim Posten dann auch gleich gesehen und natuerlich sofort geaendert,

Und um ehrlich zu sein, das stand tatsaechlich so in meiner sip.conf so drin ... :(
 
ulaw kann komplett entfernt werden.
 
Zuletzt bearbeitet:
Fuer mich eben nicht, denn ich lebe die meiste Zeit des Jahres in einem Land, wo sie das Telefon offensichtlich gerade erst erfunden haben, wo es weder Durchwahlnummern noch ISDN und dergleichen gibt.

Deshalb steht in meiner SIP immer auch noch ulaw drin ...

Aber noch nicht in #9, bitte auch noch ändern, damit es sich andere nicht erst falsch einprägen.
Hab's geaendert, sollte zwar ohnehin nur ein Beispiel sein ist aber - zugegeben - unnoetig irritierend ...
 
Zuletzt bearbeitet von einem Moderator:
Hallo, ich muss mich mal hier anschließen, ist ja noch relativ aktuell.

Ich habe fast genau das selbe Problem, nur die eine Seite kann mit der anderen Reden, "allerdings" nur wenn ich vorher mit Playback eine Nachricht absetze. Und ich habe versucht es mit den oben empfohlenen Defaulteinstellungen zu behen, aber ohne erfolg. Bin leider noch nicht so geübt im Umgang mit Asterisk deswegen hoffe ihr könnt mir helfen.
Folgende Ausgangslage:
Asterisk läuft zusammen mit Linphone auf einem Rasberry.
Normales Telefon hängt an der Firtzbox

Mit folgende Einstellung der extension.conf habe ich keine Probleme und alles Funktioniert:
Code:
[von-pi]exten => 201,1,Verbose(1,Ruf)
exten => 201,n,Answer()
exten => 201,n,Wait(1)
;exten => 201,n,Playback(dir-welcome)
exten => 201,n,Dial(SIP/**1@ext-sip-account,20,m)

Sobald ich die Kommentierung raus nehme (also das Playback aktiviere) wird das angerufene Telefon am anrufenden Telefon (Linphone) nicht mehr gehört.

In Asterisk macht es bei verbose 6 keinen Unterschied ob das Playback aktiviert oder deaktivert ist. Das einzige was mir noch aufgefallen ist, das es mit disallow=al sagt das alle Leitungen belegt sind.

Einer eine Idee?
sip.conf
Code:
[general]
port = 5060
bindaddr = 0.0.0.0
context = von-pi


register => 621:[email protected]/621


nat=yes
transport=udp
sipdebug=no
allowguest=no
alwaysauthreject=yes
qualify=no
allow=alaw
allow=ulaw
allow=g729
allow=gsm
allow=slinear
srvlookup=yes


[ext-sip-account]
type=friend
context=von-voip-provider
username=621
fromuser=621
secret=xxxxxxxx
host=fritz.box
fromdomain=fritz.box
qualify=yes
;insecure=port,invite
insecure=invite
canreinvite=no
dtmfmode=rfc2833
;disallow=all




[100]
type=friend
secret=1234
host=dynamic

Gruß
 
Sehe ich das richtig, du hast einen Asterisk hinter der Fritz!box haengen und willst via Asterisk die 201 anrufen, also ein Telefon, das ebenfalls an der Fritzbox haengt? Wenn dem so ist, ergibt das fuer mich irgendwie keinen Sinn. Aber schreib erst mal ein wenig zu deinem Aufbau, vielleicht habe ich das ja auch falsch verstanden.

Vorab schon mal, was passiert wenn du deinen Dialplan wie folgt aenderst:

[von-pi]
exten => 201,1,Verbose(1,Ruf)
exten => 201,n,Dial(SIP/**1@ext-sip-account,20)

Und in der sip.conf setz mal ein disallow=all vor die Zeile mit dem allow=alaw

Viel Glueck!
 
Danke für die Antwort,

ja Asterisk ist mit der Fritzbox verbunden. Und an der Fritzbox hängen alle Telefone auch IP-Telefone. Nur das Software-IP-Telefon (Linphone) ist am Asterisk angemeldet. Läuft beides auf dem selben Rechner (Raspberry).
Jetzt rufe ich mit dem Software-IP-Telefon am Asterisk die 201 an und will dann mit Telefonen an der Firtz Box oder auch Telefone Außerhalb verbunden werden. Das klappt auch alles wunderbar.

Nur eben sobald ich eine Ansage dazwischen schalte werden die Telefone auf der Fritzbox Seite nicht mehr von der Asterisk Seite (Linphone) gehört. Am normalen Telefon höre ich das was am Linphone gesprochen wird.

Ich benötige Asterisk zum einen um Scripte via Tastenwahl zu starten und eben mit Ansagen Infos auszugeben.

Und in der sip.conf setz mal ein disallow=all vor die Zeile mit dem allow=alaw
Disallow funktioniert jetzt, aber das Problem besteht weiterhin.

[von-pi]
exten => 201,1,Verbose(1,Ruf)
exten => 201,n,Dial(SIP/**1@ext-sip-account,20)
Hiermit funktioniert es natürlich, aber sobald ich hier eine Ansage hinzufüge tritt wieder mein Problem auf.

Ich spiele mal noch ein wenig mit den Codecs rum aber das hatte gestern schon kein erfolg gebracht! :confused:

[EDIT] Nein leider kein Erfolg wenn ich nur ein Codec zulasse.

:/ Ich habe keine Idee was das sein kann. Wo kann ich denn noch suchen?
Asterisk 1.8.13.1~dfsg1-3+deb7u3 built by buildd @ build06.raspbian.lan on a armv7l running Linux on 2014-01-05 23:16:59 UTC
 
Zuletzt bearbeitet:
Nur eben sobald ich eine Ansage dazwischen schalte werden die Telefone auf der Fritzbox Seite nicht mehr von der Asterisk Seite (Linphone) gehört.
Habe ich das so richtig verstanden, wenn du vom Linphone aus ein Telefon anrufst, dass an der Fritzbox haengt, dann kann der Angerufene dich hoeren, aber du kannst ihn nicht hoeren?

Welche Codecs hast du im Linphone aktiviert und in welcher Reihenfolge?
 
Zuletzt bearbeitet:
Exakt.

Das war der richtige Denkanstoss. Es liegt anscheinend gar nicht an Asterisk. Habe mal eine andere Software als Linphone installiert. Damit ging es. Nur leider müsste ich bei Linphone bleiben, da das ganze sich auf Konsolenebene abspielt... :/

linphonec> codec list 0: speex (32000) enabled
1: speex (16000) enabled
2: speex (8000) enabled
3: GSM (8000) enabled
4: PCMU (8000) enabled
5: PCMA (8000) enabled
6: L16 (44100) enable
7: L16 (44100) enabled
8: G722 (8000) enabled

Ich habe mal alle Codecs aktiviert, aber leider auch ohne erfolg. Ist die Reihenfolge wichtig wie die Codecs in der Config stehen??

Jetzt wird das Thema eher Linphone betreffen und das ist wohl der falsche Ort hierfür.
Gruß

[EDIT]
Es scheint wohl ein Problem mit Linphone und der USB-Soundkarte zu sein. Ich habe testweise mal den Onboardsound-Ausgang benutzt, und siehe da, damit läuft es... :gruebel:
 
Zuletzt bearbeitet:
Ist die Reihenfolge wichtig wie die Codecs in der Config stehen??
Ja, ist wichtig. Beide Seiten, also in der Regel das Telefon des Anrufers und das Telefon des Angerufenen, muessen sich auf einen Codec einigen, den beide verstehen. Wie Asterisk das genau macht, kann ich dir auch nicht sagen aber klar ist, dass das nicht immer funktioniert. Das sind dann die Situationen, wo man zwar den Anrufenden hoeren kann, der aber den Angerufenen nicht.

Kein Ahnung welche Codecs deine Soundkarte versteht, aber fuer Telefonie versuch es mal mit PCMA an erster Stelle und achte darauf, das PCMA (alaw) auch in Asterisk freigegeben (allow=alaw) ist.
 
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.