401 Unauthorized [gelöst]

bitzner

Neuer User
Mitglied seit
22 Mrz 2007
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
Hallo,

Ich habe folgende Konstellation:

SIP-PROXY > (INTERNET) > ASTERISK > (INTERNET) > SNOM 300

Ausgehende Anrufe können auf jede beliebige Nummer geführt werden. Eingehende Anrufe werden laut Analyse auf den ASTERISK weitergeleitet, jedoch mit einer 401 unauthorized-Meldung abgewiesen.

Eingesetzt wird SuSE 10.1 und Asterisk 1.4.x

Hier meine sip.conf
Code:
[general]
bindport=5060
bindaddr=0.0.0.0
context=default
useragent=meinTEST
register=>41112345678:[email protected]:5060/41112345678

[4188112345678] ;interne Nummer (jedoch über INTERNET registriert)
type=friend
context=from-intern
secret=1234
host=dynamic
nat=yes

[41112345678] ;externe Nummer, wird beim SIP-Proxy registriert
type=friend
context=from-sipprovider
secret=PWD
host=voipgateway.org
username=41112345678
fromuser=41112345678
fromdomain=voipgateway.org
nat=yes
qualify=yes
canreinvite=no

extensions.conf
Code:
[general]
static=yes
writeprotect=yes

[default]
;leer
[from-intern]
exten=>_X.,1,Dial(SIP/${EXTEN}@41${CALLERID(num):4},20,r)

[from-sipprovider]
exten=>_41.,1,Dial(SIP/4188${EXTEN:2},20,tT)

Wo könnte der Fehler liegen? Danke für die Hilfe.
 
Zuletzt bearbeitet:
Du solltest den Titel korrigieren!

bitzner schrieb:
Eingehende Anrufe werden laut Analyse auf den ASTERISK weitergeleitet, jedoch mit einer 401 unauthorized-Meldung abgewiesen.

Glaub ich erstmal nicht, solange ich nicht ein komplettes SIP DEBUG gesehen habe ;)

Außerdem solltest Du "type=friend" bei Providerkontexten nicht verwenden, sondern "type=peer" - aber ich glaube, das hab ich hier im Forum schon oft genug erklärt.

Auch das qualify auf Providerserver sollte man weglassen - manche Provider sperren dann einfach den Port.

Probiers mal analog zu diesem Muster:

Code:
[general]
[...]
register => 491801:[email protected]/491801

[491801]
type         = peer
username     = 491801
secret       = topsecret
context      = ankommend
fromdomain   = voipgateway.org
host         = voipgateway.org
fromuser     = 491801
insecure     = port,invite
canreinvite  = no

Code:
[ankommend]
exten => _491801X.,1,mache,irgendwas
 
Dein Kontext from-sipprovider hat nur eine Nummernreihe, nämlich die 41. auf die er hört. Ich wage zu bezweifeln das Deine beim Provider registrierte Nummer (die mit 41 beginnt) korrekt erkannt wird :). Probier doch mal die komplette Nummer anzugeben
 
dann würde aber die Fehlermeldung 404 kommen und nicht 401 ;)
 
hallo,

vielen dank erstmal.

ich werde mich am samstag nochmals melden, da ich bis dahin nicht mehr an den asterisk rankom. ;)
 
@betateilchen, stimmt. So weit hatte ich nicht gedacht ;)
 
Im Context [41112345678] fehlt insecure=invite,port

Wenn Du den Parameter secret in einem Context verwendest der von Asterisk mit dem Anruf in Verbindung gebracht wird, will Asterisk das der Anrufer sich authentifiziert. Das kann dieser allerdings nicht. Also muss das mit insecure wieder ausgeschaltet werden.

Das ganze ist aber unnötig.

Wie man Provider mit Registrierung richtig definiert steht in der sip.conf:

;register => 2345:password@sip_proxy/1234
;
; Register 2345 at sip provider 'sip_proxy'. Calls from this provider
; connect to local extension 1234 in extensions.conf, default context,
; unless you configure a [sip_proxy] section below, and configure a
; context.
; Tip 1: Avoid assigning hostname to a sip.conf section like [provider.com]
; Tip 2: Use separate type=peer and type=user sections for SIP providers
; (instead of type=friend) if you have calls in both directions

[sip_proxy]
type=peer
context=hierhin
fromdomain=domain.tld
host=domain.tld
disallow=all
allow=alaw
allow=ulaw
nat=yes
canreinvite=no
dtmfmode=auto
qualify=no

Dann braucht man kein insecure.

Für ausgehende Gespräche definiert man einen eigenen unabhängigen Context.
 
hallo,

hab nun die sip.conf und extensions.conf wie folgt angepasst:

Code:
[general]
bindport=5060
bindaddr=0.0.0.0
context=default
useragent=SecureSIP
register=>41123456789:[email protected]/41123456789

Code:
[41123456789]
type=peer
username=41123456789
secret=pwd
context=from-sipprovider
fromdomain=voipgateway.org
host=voipgateway.org
fromuser=41123456789
insecure=port,invite
canreinvite=no
;nat=yes
;qualify=yes

wenn ich qualify weglasse oder auskommentiere, so kann sich die nummer NICHT beim sip-proxy anmelden! der sip debug ist dabei

Code:
<--- SIP read from 212.117.200.148:5060 --->
INVITE sip:[email protected] SIP/2.0
Record-Route: <sip:212.117.200.148;ftag=2cccef58be93fa57305c26219a8928dc;lr>
Via: SIP/2.0/UDP 212.117.200.148;branch=z9hG4bKcc9b.9f6514dc5b17cd0d0e18c4ced6902457.0
Via: SIP/2.0/UDP 212.117.200.148:5061;branch=z9hG4bK88df2cb87de68675ef693a51c5232cbc;rport=5061
Max-Forwards: 16
From: <sip:[email protected]>;tag=2cccef58be93fa57305c26219a8928dc
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 200 INVITE
Contact: Anonymous <sip:212.117.200.148:5061>
Expires: 300
User-Agent: Sippy
cisco-GUID: 4142563032-1838223836-2619064733-1741423297
h323-conf-id: 4142563032-1838223836-2619064733-1741423297
Content-Length: 376
Content-Type: application/sdp

v=0
o=Sippy 154963212 0 IN IP4 212.117.200.148
s=SIP Call
t=0 0
m=audio 16786 RTP/AVP 8 0 18 2 98 99 3 101
c=IN IP4 212.117.200.80
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:2 G726-32/8000
a=rtpmap:98 G726-24/8000
a=rtpmap:99 G726-16/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16

<------------->
--- (16 headers 16 lines) ---
Sending to 212.117.200.148 : 5060 (no NAT)
Using INVITE request as basis request - [email protected]
No user '0797111843' in SIP users list
Found peer '41123456789' for '0797111843' from 212.117.200.148:5060

<--- Reliably Transmitting (NAT) to 212.117.200.148:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 212.117.200.148;branch=z9hG4bKcc9b.9f6514dc5b17cd0d0e18c4ced6902457.0;received=212.117.200.148
Via: SIP/2.0/UDP 212.117.200.148:5061;branch=z9hG4bK88df2cb87de68675ef693a51c5232cbc;rport=5061
From: <sip:[email protected]>;tag=2cccef58be93fa57305c26219a8928dc
To: <sip:[email protected]>;tag=as68f3d880
Call-ID: [email protected]
CSeq: 200 INVITE
User-Agent: SecureSIP
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="7be5dc40"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '[email protected]' in 320 ms (Method: INVITE)

<--- SIP read from 212.117.200.148:5060 --->
ACK sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 212.117.200.148;branch=z9hG4bKcc9b.9f6514dc5b17cd0d0e18c4ced6902457.0
From: <sip:[email protected]>;tag=2cccef58be93fa57305c26219a8928dc
Call-ID: [email protected]
To: <sip:[email protected]>;tag=as68f3d880
CSeq: 200 ACK
User-Agent: Sip EXpress router (0.9.6 (i386/freebsd))
Content-Length: 0


<------------->
--- (8 headers 0 lines) ---
Really destroying SIP dialog '[email protected]' Method: ACK

<--- SIP read from 212.117.200.148:5060 --->

<------------->
--- (0 headers 0 lines) Nat keepalive ---


wenn ich diese jedoch einkommentiere, registriert sich das der asterisk und ich erhalte die 401-nachricht (sip debug)
Code:
<--- SIP read from 212.117.200.148:5060 --->
INVITE sip:[email protected] SIP/2.0
Record-Route: <sip:212.117.200.148;ftag=7a9d3a125c189389d06ab6314a945b4f;lr>
Via: SIP/2.0/UDP 212.117.200.148;branch=z9hG4bK1b9b.eedc560f4578468a1a619cf3c83d075a.0
Via: SIP/2.0/UDP 212.117.200.148:5061;branch=z9hG4bK23e734f2e28c4a54a5874bb18be9dfe0;rport=5061
Max-Forwards: 16
From: <sip:[email protected]>;tag=7a9d3a125c189389d06ab6314a945b4f
To: <sip:[email protected]>
Call-ID: [email protected]
CSeq: 200 INVITE
Contact: Anonymous <sip:212.117.200.148:5061>
Expires: 300
User-Agent: Sippy
cisco-GUID: 2957588766-1838158300-2611659165-1741423297
h323-conf-id: 2957588766-1838158300-2611659165-1741423297
Content-Length: 376
Content-Type: application/sdp

v=0
o=Sippy 140642700 0 IN IP4 212.117.200.148
s=SIP Call
t=0 0
m=audio 16698 RTP/AVP 8 0 18 2 98 99 3 101
c=IN IP4 212.117.200.80
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:2 G726-32/8000
a=rtpmap:98 G726-24/8000
a=rtpmap:99 G726-16/8000
a=rtpmap:3 GSM/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16

<------------->
--- (16 headers 16 lines) ---
Sending to 212.117.200.148 : 5060 (no NAT)
Using INVITE request as basis request - [email protected]
No user '0792948501' in SIP users list
Found peer '41325108091' for '0792948501' from 212.117.200.148:5060

<--- Reliably Transmitting (NAT) to 212.117.200.148:5060 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 212.117.200.148;branch=z9hG4bK1b9b.eedc560f4578468a1a619cf3c83d075a.0;received=212.117.200.148
Via: SIP/2.0/UDP 212.117.200.148:5061;branch=z9hG4bK23e734f2e28c4a54a5874bb18be9dfe0;rport=5061
From: <sip:[email protected]>;tag=7a9d3a125c189389d06ab6314a945b4f
To: <sip:[email protected]>;tag=as192736e6
Call-ID: [email protected]
CSeq: 200 INVITE
User-Agent: SecureSIP
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="4e4fb670"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '[email protected]' in 320 ms (Method: INVITE)

<--- SIP read from 212.117.200.148:5060 --->
ACK sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP 212.117.200.148;branch=z9hG4bK1b9b.eedc560f4578468a1a619cf3c83d075a.0
From: <sip:[email protected]>;tag=7a9d3a125c189389d06ab6314a945b4f
Call-ID: [email protected]
To: <sip:[email protected]>;tag=as192736e6
CSeq: 200 ACK
User-Agent: Sip EXpress router (0.9.6 (i386/freebsd))
Content-Length: 0


<------------->
--- (8 headers 0 lines) ---
Really destroying SIP dialog '[email protected]' Method: ACK

<--- SIP read from 212.117.200.148:5060 --->

<------------->
--- (0 headers 0 lines) Nat keepalive ---

ausgehende anrufe hingegen funktionieren...
 
Du solltest nicht Zusammenhänge herstellen, wo es keine gibt ;)

Das qualify= hat absolut nichts mit dem register=> zu tun, da für eine funktionierende Registrierung am Providerserver überhaupt kein providerbezogener Context in der sip.conf vorhanden sein muß.

Außerdem scheinst Du nochwas wichtiges durcheinanderzubringen:

wenn ich qualify weglasse oder auskommentiere, so kann sich die nummer NICHT beim sip-proxy anmelden! der sip debug ist dabei

Das ist doch schon ein Widerspruch in sich selbst. Wenn Deine Nummer nicht an irgendeinem Server angemeldet wäre, woher sollte dann der Server wissen, wohin er SIP traffic schicken soll? Was ich damit sagen will - wäre Deine Nummer nicht registriert, würdest Du auf Deinem Asterisk überhaupt kein SIP DEBUG machen können, weil überhaupt nix ankommt.

Was sagt denn eigentlich die Ausgabe der sip registry Deines Asterisk?

Dringender, gutgemeinter TIPP:

Beschäftige dich umgehend mit den simpelsten Asterisk Grundlagen, um zu verstehen, wie sowas überhaupt funktioniert.

Und nochwas: Ich hatte Dich weiter oben schon gebeten, den Thread-Titel zu ändern, zumindest aber zu korrigieren! Denn 401 - Authorized ist einfach nur unsinnig, da die zugehörige SIP Meldung UNAUTHORIZED heißt.
 
hallo,

würd ich ja gerne, aber dazu bleibt mir keine zeit. wir wollten nur einen kurzen test damit machen.

sip show registry gibt mir folgendes zurück:
voipgateway.org:5060 41123456789 580 Registered Sat, 29 Sep 2007 11:35:41

die nummer ist also registriert und damit kann ich auch ausgehend telefonieren. eingehend gehts aber nicht.
 
bitzner schrieb:
die nummer ist also registriert und damit kann ich auch ausgehend telefonieren. eingehend gehts aber nicht.

mit einer Registrierung kann man nicht ausgehend telefonieren, es sei denn man würfelt die Contexte eingehend und ausgehend zusammen oder durcheinander
Dann sollte man aber wissen was man tut.

Falls Du hinter NAT sitzt fehlt noch
externip=
localnet=
NAT=yes

Du solltest Dir einfach mal die sip.conf anschauen, da steht wie man es richtig macht.
 
bitzner schrieb:
die nummer ist also registriert und damit kann ich auch ausgehend telefonieren.

:lach: für ausgehende Anrufe ist bei den allermeisten Providern überhaupt keine vorherige Registrierung notwendig.

Bitte höre auf, hier solche unsinnigen und falschen Behauptungen und Zusammenhänge, die nur aus Unwissenheit und Vermutung resultieren, aufzustellen.

Nochmal:

betateilchen schrieb:
Dringender, gutgemeinter TIPP:
Beschäftige dich umgehend mit den simpelsten Asterisk Grundlagen, um zu verstehen, wie sowas überhaupt funktioniert.

Ich würde auch zur zusätzlichen Aneignung von SIP Grundlagenwissen raten. Dann wirst Du irgendwann selbst beurteilen können, was Du hier für einen Murks postest.

Wenn Du keine Zeit hast, Dich damit zu beschäftigen, solltest Du nicht einfach irgendwas testen wollen.

@Thomas nach dem Schaubild im ersten Beitrag steht der Asterisk direkt im Internet. NAT Problematik sollte damit ausscheiden.

es sei denn, daß selbst das aufgezeigte Schema selbst schon nicht stimmt...
 
hab das problem gelöst,

mit den angaben aus dem 2. post und einem restart hats gefunzt. danke für die hilfe.
 
Kostenlos!

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
248,439
Beiträge
2,291,512
Mitglieder
377,856
Neuestes Mitglied
Thowy