Failed to authenticate on invite to user / Asterisk-web.de

schuelsche

Neuer User
Mitglied seit
22 Dez 2004
Beiträge
46
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich knobele schon seit ein paar Tagen an der Herstellung einer Verbindung zwischen Asterisk und web.de rum. Irgendwie will es nicht klappen und ich habe mittlerweile so viele widersprüchliche Sachen gelesen, dass ich jetzt gar nicht mehr weiss, was richtig ist und was nicht... Vor mir liegt z.B. die Studienarbeit von Holger Schildt und auch die Asteriks Mini FAQ von graphics.cs.uni-sb.de.

Szenario ist das folgende:
Ich arbeite unter Linux. Wenn ich mich mit meinem normalen Client (SJPhone oder auch kphone) bei web.de anmelde, dann klappt problemlos das Raus- und Reintelefonieren. Ich sitze hinter einer IP-Cop-Router, aber besondere Einstellungen sind diesbezüglich bei der Benutzung von SJphone nicht notwendig.

Wenn ich das ganze nun über den Asterisk versuche einzurichten, bekomme ich immer die Fehlermeldung "Failed to authenticate on INVITE to '"user" <sip:[email protected]>;tag=as301d2f26' ".

Folgendermassen sieht gerade meine sip.conf aus:

Code:
[general]
port=5060
binaddr=0.0.0.0
context=incoming
allow=ulaw
allow=alaw
allow=gsm
nat=yes
register=>user:[email protected]/47

[webde]
type=friend
username=user
host=sip.web.de
fromuser=user
fromdomain=sip.web.de
nat=no
canreinvite=no

[47]
type=friend
username=47
secret=passwort
host=dynamic
qualify=yes
nat=yes

Meine extensions.conf sieht so aus:
Code:
[general]
static=yes
writeprotect=no

[local]
exten=>47,1,Dial(SIP/${EXTEN,60}
exten=>47,2,Congestion
exten=>47,102,Busy

[webde]
exten=>_8.,1,Dial(SIP/${EXTEN:1}@webde,60)
exten=>_8.,2,Congestion
exten=>_8.,102,Busy

[incoming]
include=>local
include=>webde

Nun sollte ja, wenn ich z.B. 80123 445566 wähle, das Raustelefonieren funktionieren. Tut es aber nicht, sondern es kommt besagte Fehlermeldung.

Wo liegt denn in dieser Config das Problem? Gibt es irgendwo eine einfache Konfigurationsdatei von sip und extensions, mit der man das mal testen kann? Irgenwie schnalle ich nach dem ganzen Lesen überhaupt nicht mehr, ob ich jetzt in der [general] nat auf no oder yes setzen muss oder bei [webde] oder gar bei der [47]. Oder hat es vielleicht irgendwas mit dem Allow zu tun?! Oder muss das statt [general] [global] heissen, oder ist das egal?!

Grübelgrüsse
schuelsche
 
setze unter webde

nat=yes
insecure=very

unter general fehlt:

externip= deine ext. IP (statisch od dyndns-service wenn du schon nat=yes benutzt!)

und der client [47] braucht mit Sicherheit kein nat=yes da er wie der asterisk wohl im gleichen lokalen Netz liegt (oder hast du verschiedene sub-Netze?)!
 
Hallo,

ok, habe die Tipps gleich mal ausprobiert - leider ohne Erfolg.

Aktuelle sip.conf:

Code:
[general]
port=5060
binaddr=0.0.0.0
context=incoming
allow=ulaw
allow=alaw
allow=gsm
nat=yes
externip=X.X.X.X
register=>user:[email protected]/47

[webde]
type=friend
username=user
host=sip.web.de
fromuser=user
fromdomain=sip.web.de
nat=yes
canreinvite=no
insecure=very

[47]
type=friend
username=47
secret=geheim
host=dynamic
qualify=yes

Die extensions.conf habe ich nicht verändert.

Netview schrieb:
externip= deine ext. IP (statisch od dyndns-service wenn du schon nat=yes benutzt!)

Muss denn da nat=yes rein? Ich habe das deshalb drin, weil ich doch hinter dem Router sitze und intern eine andere IP habe.
Das ganze sieht ja so aus:
Client: 10.10.10.10
Asterisk: 10.10.10.1
Router: 10.10.10.100
IP extern: X.X.X.X

und der client [47] braucht mit Sicherheit kein nat=yes da er wie der asterisk wohl im gleichen lokalen Netz liegt (oder hast du verschiedene sub-Netze?)!

Jep, er liegt im gleichen Netz. Diese Erklärung bringt zumindest etwas Licht ins Dunkel ;-)

Aber es funktioniert immernoch nicht.
Die Fehlermeldung bleibt die Gleiche und wenn ich den Ruf dann bei SJPhone abbreche, sagt Asterisk:

Code:
Dec 23 14:33:27 NOTICE[1112898480]: chan_sip.c:6589 handle_response: Failed to authenticate on INVITE to '"user" <sip:[email protected]>;tag=as096cc8c7'
  == Spawn extension (incoming, 8073638245, 1) exited non-zero on 'SIP/47-872b'
    -- Got SIP response 481 "Call Leg Does Not Exist" back from 217.72.200.89

web.de verwendet schon den normalen Usernamen zur Authentifikation? Zumindest funktioniert das bei der direkten Verbindung ohne Probleme. Sonderzeichen im Passwort habe ich auch keine... Die Adresse ist schon richtig, die in der Fehlermeldung steht (sip:[email protected])?

Ich kapiere einfach nicht, warum's direkt tut und über den Asterisk nicht...
Interne Telefonate funktionieren übrigens mit einer anderen Konfiguration problemlos, nur die Anmeldung bei web.de klappt nicht. Weder mit diesem Account noch mit einem anderen...

Ich habe auch schon probiert, was passiert, wenn ich unter [webde] "type=peer" setze (geht auch nicht) oder "context=incoming" (geht auch nicht). Ich verstehe das schon richtig: alles was unter general steht, wird auf die user ([47]) und den peer ([webde]) übertragen, sofern ich dort nicht explizit was anderes definiere?

Ratlose Grüsse,
schuelsche
 
...funzt das register ueberhaupt?
sprich, was sagt "sip show registry" bei asterisk?
 
rajo schrieb:
...funzt das register ueberhaupt?
sprich, was sagt "sip show registry" bei asterisk?

Ausgabe "sip show registry":
Code:
sip show registry
Host                            Username       Refresh State               
sip.web.de:5060                 chiligruen         105 Registered          
*CLI>

Das scheint ja zu funktionieren... zumindest schliesse ich das aus dem Registered... Oder lese ich das da falsch raus? Ich weiss nicht, was "Refresh: 105" bedeutet...

Muss ich irgendwelche bestimmten "allow"-Optionen in [general] beachten?
Oder muss ich in diesem Fall bei meinem SJPhone in der User Information was besonderes eintragen? Da steht als Name ja auch schon mein "user", insofern kanns doch daran nicht liegen?!

Oder stimmt was in meiner extensions.conf nicht? Fehlt was?

Grüsse
schuelsche
 
schuelsche schrieb:
Oder muss ich in diesem Fall bei meinem SJPhone in der User Information was besonderes eintragen? Da steht als Name ja auch schon mein "user", insofern kanns doch daran nicht liegen?!

? ... langsam ... Dein * soll sich an web.de anmelden und das sjphone am *. Dann solltest Du im sjphone auch die 47 als benutzername angeben und nicht den web.de user...

abgesehen davon sollte in der extensions.conf incoming kein include=>webde enthalten, da sonst jeder der dich per sip anruft über deinen webde account rausrufen kann (wenn es mal funktioniert ;) )

aber das register an sich ist soweit ok.
 
Muss denn da nat=yes rein? Ich habe das deshalb drin, weil ich doch hinter dem Router sitze und intern eine andere IP habe.
Das ganze sieht ja so aus:
Client: 10.10.10.10
Asterisk: 10.10.10.1
Router: 10.10.10.100
IP extern: X.X.X.X

Das Problem ist folgendes:

Dein asterisk versendet Daten mit einem SIP-Header der sinnvollerweise deine öffentliche IP-Adresse beninhalten sollte (über die lokale IP findet dich keiner - wird auch im Internet nicht geroutet, da reserviert!).
Nur wie bekommt * diese?
Du hast sicherlich schon den Begriff des stun-servers gehört, der quasi als Reflektor den VOiP(SIP)-Endgeräten auf einen Request hin die öffentliche IP zurückliefert die dann von diesen Geräten im Protokoll verwendet wird!
Jetzt gibt es allerdings die stun-Funktion beim asterisk nicht direkt, sondern diese wird durch den Parameter externip ersetzt!
Wohlgemerkt: diese Information benötigt der asterisk für das sip-protokoll
damit dein Partner dich überhaupt erreichen kann!
Nat=yes zeigt an, dass du asterisk hinter einem Router/Firewall betreibst
 
hier schreibst du bitte mal was sinnvolles dahinter z.B. webde

register=>user:p[email protected]/webde

in der extensions.conf:

[incoming]
exten=>webde,1,Dial(SIP/${EXTEN,60}
exten=>webde,2,Congestion
exten=>webde,102,Busy

[default]

include => incoming

...




es kann sein, dass man webde durch die userid ersetzen muss damits dann klingelt (ausprobieren!)
 
rajo schrieb:
? ... langsam ... Dein * soll sich an web.de anmelden und das sjphone am *. Dann solltest Du im sjphone auch die 47 als benutzername angeben und nicht den web.de user...

Klar, ich habe das auch nur auf die Userinformationen bezogen, die man wohl frei angeben kann. Als Anmeldename habe ich natürlich die 47 um mich am * anzumelden.

rajo schrieb:
abgesehen davon sollte in der extensions.conf incoming kein include=>webde enthalten, da sonst jeder der dich per sip anruft über deinen webde account rausrufen kann (wenn es mal funktioniert ;) )

Danke, das werde ich dann auch ändern. Aber erst mal sollte es ja funktionieren ;-)

Netview schrieb:
Nat=yes zeigt an, dass du asterisk hinter einem Router/Firewall betreibst

Ok, danke für die Erklärung. Soweit ist nun alles klar. Das ist ja auch in der sip.conf so eingetragen.

Funktionieren tut es trotzdem nicht.

Aber ich habe jetzt einen anderen Verdacht, weiss aber nicht so recht, ob das wirklich der Grund ist.
Ich habe gerade versucht auf dem Server, auf dem der Asterisk läuft (und der aktuell auch noch sicherheitshalber eine grafische Oberfläche hat ;-) ), über SJphone direkt über web.de rauszutelefonieren bzw. habe mich auf meiner web.de-Nummer angerufen. Und da konnte ich dann bei SJphone nach dem Abheben nur ein übles Rauschen vernehmen...
Mein Verdacht ist nun, dass die fehlende Authentifzierung vielleicht irgendwie damit zusammenhängt, dass die Soundkarte einen Schaden hat... Ist vielleicht jetzt ne blöde Frage, weil ich davon ausgegangen bin, dass der * lediglich die IP-Pakete hin- und herverschiebt: kann das an der Soundkarte auf dem * liegen, dass es nicht funktioniert? Wird deren Funktionalität bei der Anmeldung für ein Telefonat gecheckt?

Prinzipiell funktioniert die Soundkarte schon - ich kann Töne auf dem Server abspielen und höre diese, ich kann auch Webradio hören. Aber eben beim Anruf ging halt überhaupt nix. Mittlerweile habe ich mich auch bei sipgate registriert und habe dort über sjphone auf dem * einen Testanruf auf die Nummer 10000 gestartet und konnte da auch überhaupt nix ausser Rauschen hören.

Kann es also daran liegen?

Grüsse
schuelsche
 
Netview schrieb:
hier schreibst du bitte mal was sinnvolles dahinter z.B. webde
register=>user:p[email protected]/webde

in der extensions.conf:
[incoming]
exten=>webde,1,Dial(SIP/${EXTEN,60}
exten=>webde,2,Congestion
exten=>webde,102,Busy
[default]
include => incoming

Wenn ich überall die 47 mit webde ersetze, dann funktioniert überhaupt nix mehr, was wohl daran liegt, dass meine Verbindungsdaten ja auch unter [webde] laufen... Aber ich habe das entsprechend angepasst, es funktioniert aber auch nicht.

Vielleicht habe ich mich mit "context=incoming" falsch ausgedrückt - bei mir funktioniert schon das Raustelefonieren nicht. Von eingehenden Anrufen träume ich ja noch gar nicht ;-) Man kann daher theoretisch "context=incoming" besser durch "context=outgoing" oder so ersetzen bzw. in der extensions.conf einen Eintrag [outgoing] anlegen, wo halt bislang [webde] steht...

Grüsse
schuelsche
 
schuelsche schrieb:
Mein Verdacht ist nun, dass die fehlende Authentifzierung vielleicht irgendwie damit zusammenhängt, dass die Soundkarte einen Schaden hat... Ist vielleicht jetzt ne blöde Frage, weil ich davon ausgegangen bin, dass der * lediglich die IP-Pakete hin- und herverschiebt: kann das an der Soundkarte auf dem * liegen, dass es nicht funktioniert? Wird deren Funktionalität bei der Anmeldung für ein Telefonat gecheckt?
Asterisk braucht keine Soundkarte. Und auch keine Soundtreiber o.ä. Audiobearbeitung geschieht in Asterisk selbst.

AFAIK sollte übrigens statt webde wirklich die web.de-Rufnummer dort stehen.

irgendwie seh ich augenblicklich auch keine komplette Fehlkonfiguration oder so. Sieht eigentlich mehr oder weniger genau so aus wie in diesen threads: http://www.ip-phone-forum.de/forum/viewtopic.php?t=4767&highlight= und http://www.ip-phone-forum.de/forum/viewtopic.php?t=7013&highlight=
 
Hast du denn die ports 5060 (udp) sowie gemäss der rtp.conf (default: 10000-20000 (udp)) an den asterisk geforwarded - nur mal so als Frage???
 
Hi, hab ein ähnliches Problem mit Sipgate, wenn ich sip show registry eingebe bekomme ich folgende Meldung

Host Username Refresh State
217.10.79.9:5060 555xxxx 120 Registered

Wenn ich aber ein Gespräch führen will
-- Executing SetCallerID("SIP/60-a038", "555xxxx") in new stack
-- Executing Dial("SIP/60-a038", "SIP/[email protected]|30|trg") in new stack
-- Called [email protected]
-- Got SIP response 404 "Not Found" back from 217.10.79.9
-- SIP/sipgate.de-8344 is circuit-busy
== Everyone is busy at this time
-- Executing Hangup("SIP/60-a038", "") in new stack
== Spawn extension (isdn, 910000, 3) exited non-zero on 'SIP/60-a038'

9 ist die Nummer das ich über Sipgate rauskomme und 10000 ist doch die Testansage. Ich komm werder raus, noch rein.
Die Ports 5060 und 5000-5010 hab ich im Firewall freigeschalten, und in der rtp.conf angepasst.

sip.conf

[general]
register => 555xxxx:p[email protected]/SIPMSN
[sipgate]
type=friend
username=555xxxx
secret=xxx
host=sipgate.de
fromuser=555xxxx
fromdomain=sipgate.de
nat=yes
insecure=very
qualify=1200
context=sip
canreinvite=yes

extensions.conf

exten => _9.,1,SetCallerId,555xxxx
exten => _9.,2,Dial(SIP/$EXTEN}@sipgate.de,30,trg)
exten => _9.,3,Hangup

vielleicht kannst ja mal ein blick drauf werfen, ich schau ob ich im Formum noch was dazu finde, such schon ein paar Stunden.
schönen Tag noch. gruß Robert
 
sip.conf:

es fehlt unter [general]

maxexpirey=3600
defaultexpirey=120


register => 555xxxx:p[email protected]/SIPMSN
sollte sein:
register => 555xxxx:p[email protected]/555xxxx

qualify=1200
canreinvite=yes

sollte sein:

qualify=no
canreinvite=no
context=default

extensions.conf:

sollte sein:

[outgoing]
exten => _9.,1,Dial(SIP/$EXTEN:1}@sipgate,30,,)
exten => _9.,2,Congestion
exten => _9.,3,Busy
exten => _9.,4,Hangup

[incoming]
exten => 555xxxx,1,Dial(Capi/@37:40,60) z.B. isdn-karte MSN=37 wählt Sammelrufnummer 40

[default]

include => incoming
include => outgoing
...



PS: Ich hoffe dies sind nicht deine richtigen account-Daten:

username=
secret=

Dies ist ein öffentliches Forum und ich würde zumindest das passwort jetzt schleunigst ändern!!!
 
ups, so ein mist, hab ich wohl ganz übersehen, bei sipgate kann ich die ja garnicht ändern, kann nur das für den Login ändern und nicht das SIP Passwort, dass kann ich nur anzeigen, könntest du die Daten auch entfernen, hab ne Email an Sipgate geschrieben, ob die das ändern können, ich konnte jetzt doch ein gespräch nach ausen führen, und zwar wenn ich die nummer 91010001 gewähl habe, komisch, ich teste mal deine Einträge
 
Editiere zumindest deinen Eintrag hier schleunigst (button: edit)!!!
 
was soll ich den noch editieren, der Benutzername und das Passwort is ja weg, passt ja jetzt oder?

Hi, danke für die schnelle bearbeitung, so rausrufen geht jetzt. einfach nur die 9 und dann die 10001 für die Testansage. Wähle ich aber die 910000, die erste Testansage
Faild to authenticate on INVITE to &acute;"555xxxx" ...
Reinrufen geht auch noch nicht, kein Anschluß unter dieser Nummer, Im Sipgate zeigt er den Telefonstatus auch als Offline an.
Ich schau mal ob ich das noch hinbekomme. Danke erstmal
mfg Robert
Juhu, habs geschaft ich kann angerufen werden. freu!
eine Frage noch:

statt das ich auf Isdn wähle gehe ich auf SIP
exten => 555xxxx,1,Dial(Capi/@37:40,60) z.B. isdn-karte MSN=37 wählt Sammelrufnummer 40

mein Eintrag ist
exten => 555xxxx,1,Dial(SIP/MSNSIPTELEFON,20,tr)
exten => 555xxxx,2 Hangup

kann ich den den eintrag drinlassen und noch zusätzlich die ISDN Anlage mitklingel lassen? ich probiers einfach mal aus.
 
Re: Failed to authenticate on invite to user / Asterisk-web.

schuelsche schrieb:
Wo liegt denn in dieser Config das Problem?

Verwendest du deinen Account doppelt, bzw hast du einen 2. sipgate-Account auf deinem SJphone laufen?
Dann schalt das mal ab, bzw benutze zumindest einen anderen Port für das SJ.

Ich hatte derartige Merkwürdigkeiten, die ich aber nichtsauber reproduzieren kann.
 
Dino75195 schrieb:
Juhu, habs geschaft ich kann angerufen werden. freu!
eine Frage noch:

statt das ich auf Isdn wähle gehe ich auf SIP
exten => 555xxxx,1,Dial(Capi/@37:40,60) z.B. isdn-karte MSN=37 wählt Sammelrufnummer 40

mein Eintrag ist
exten => 555xxxx,1,Dial(SIP/MSNSIPTELEFON,20,tr)
exten => 555xxxx,2 Hangup

kann ich den den eintrag drinlassen und noch zusätzlich die ISDN Anlage mitklingel lassen? ich probiers einfach mal aus.

Ja - sieht dann so aus z.B.:

exten => sipsnip,1,Dial(SIP/bt101&SIP/spafxo&SIP/spafxs&SIP/zyxel&Capi/@37:40,60)

Gerufen wird hier bei eingehenden Gesprächen über sipsnip: ein P2000W, ein spa-3000 (beide ports), ein bt101 und die Euracom 182 per ISDN
 
Hi, also jetzt geht der Sipgate Account, ich kann rausrufen, und ich kann reinrufen. Also das Problem ist weg. Jetzt möchte ich nur, das
wenn ich übers Internet angerufen werde nicht nur das Telefon an meinem PC (X-Lite) klingel, sondern auch die Telefone an der Telefonanlage. ich such mir grad Beispiele von extensions.conf, hab bis jetzt aber nocht nichts gefunden.

Habs mal so probiert
exten => 555xxxx,1,Dial(SIP/60,20,tr)
exten => 555xxxx,2 Hangup

exten => 555xxxx,1,Dial(Capi/@33:11,60)

Aber da ruft er nur das X-Lite an. hast du ne Idee?
gruß Robert

ich probiers gleich mal aus. danke erstmal

exten => sipsnip,1,Dial(SIP/bt101&SIP/spafxo&SIP/spafxs&SIP/zyxel&Capi/@37:40,60)

muß das nicht so heißen:
exten => 555xxxx,1,Dial(SIP/60,20,tr)&(Capi/@33:11,60)
naja auf jendenfall funzt es nicht, ich schau mal ob ich ne Lösunge finde.
 
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.