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

rajo schrieb:
Asterisk braucht keine Soundkarte. Und auch keine Soundtreiber o.ä. Audiobearbeitung geschieht in Asterisk selbst.

Jep, hätte ich auch von selber draufkommen können, weil die Telefonie ja intern funktioniert ;-)

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

Wo? In der sip.conf statt [webde] die Rufnummer [user]?? Ich denke eigentlich, dass [webde] doch nur ein Platzhalter ist, der dann nachher in der extensions.conf zugeordnet wird?!

Netview schrieb:
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???

Also, das Netzwerk sieht so aus:
Client: 10.10.10.10 (sjphone od. kphone)
Asterisk: 10.10.10.1
IPCop: 10.10.10.100 (fungiert als Routerfirewall)
IP extern: X.X.X.X

Der Asterisk hat eine Netzwerkkarte (keine ISDN-Karte!!) und ist nur über das Netzwerk mit der Aussenwelt verbunden.

Nach dem, was Du sagst, muss ich auf dem IPCop irgendwas einstellen - wobei ich nicht ganz verstehe, warum ich das im Fall des Asterisk machen muss und wenn ich direkt mit SJphone über web.de telefoniere, brauche ich nichts aufmachen...

Das jetzt jetzt also, dass ich eine Portweiterleitung von Port 5060 auf den Asterisk-Server machen soll und die Ports 10000-20000 ebenfalls auf den * weiterleiten muss?

Grüsse
schuelsche
 
@Dino75195:

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

Dieses bedeutet:
Falls ein Anruf von sipsnip reinkommt sollen klingeln: das lokale bt101, spafxo, spafxs, zyxel und die Tk-Anlage per capi angewählt - sipsnip verweist auf den register-Eintrag in der sip.conf und die Einträge bt101 etc. auf die lokalen clients!

sip.conf

[general]
...
register => user:p[email protected]/sipsnip


[bt101]
type=friend
username=bt101
secret=geheim
host=dynamic
canreinvite=on
context=default
disallow=all
allow=ulaw
allow=alaw
allow=ilbc
;allow=gsm
allow=g729
qualify=no
nat=no
dtmfmode=rfc2833

Jetzt alles klar?
 
Hallo,

also, nachdem ich das ganze jetzt zuhause auch getestet habe und dort das gleiche Problem habe (Authentication failed), kanns am dazwischenliegenden IPCOP eigentlich nicht liegen, weil ich zuhause über einen "normalen" Router ins Netz gehe.

Komisch ist ja wie gesagt auch, dass man direkt über web.de und sipgate telefonieren kann, dass der Asterisk sich auch dort registriert, dass ich aber über ein Clienttelefon nicht telefonieren kann.

Daher frage ich mich: liegt es vielleicht an den Einstellungen des Client-Telefons?

Kann mir mal bitte jemand die Einstellungen eines beliebigen Softphones posten (ich habe hier SJPhone, Xlite, kphone), damit ich das mal überprüfen kann?

Grüsse
schuelsche
 
Also,

wir haben das ganze mal über nikotel getestet mit der von Niktel angegebenen Konfiguration für Asterisk:

sip.conf
Code:
[general]
externip=X.X.X:X
register=>user:[email protected]

;nikoteleinstellungen
[NikotelAccount]
secret=passwort
username=user
fromuser=user
type=friend
context=incoming
host=calamar0.nikotel.com
canreinvite=yes
nat=1

;einstellungen für lokalen Softphone-User
[asteriskaccount]
type=friend
secret=geheim
dtmfmode=rfc2833
host=dynamic
context=default
canreinvite=no
mailbox=asteriskaccount

extensions.conf
Code:
[default]
exten=>_8.,1,Dial(SIP/${EXTEN-1}@NikotelAccount,60,Ttr)

[incoming]
exten=>NikotelAccount,1,Dial(SIP/asteriskaccount,60,Ttm)

Und damit hat eine Verbindung geklappt. Ohne Veränderungen am IPCOP und dem Routing. Zumindest kann man mal raustelefonieren und prinzipiell funktioniert das also.

ABER:
mit web.de und sipgate klappt das ganze immernoch nicht :-( Auch dann nicht, wenn ich die gleichen Nikoteleinstellungen nehme (also nur die Zugangsdaten unter [general] registry und [NikotelAccount] ändere).

Sowohl mit web.de als auch mit sipgate.de wird mir unter "sip show registry" immer angezeigt, dass der State Registered ist, dass sich also der Asterisk an sipgate oder web angemeldet hat.

Wenn ich dann aber versuche mit meinem Softphone SJphone eine Verbindung herzustellen, bekomme ich immer die Meldung:

Code:
Jan 12 11:08:56 WARNING[1114999728]: pbx.c:922 pbx_substitute_variables_temp: The use of 'EXTEN-foo' has been deprecated in favor of 'EXTEN:foo'
    -- Executing Dial("SIP/asteriskaccount-ecc7", "SIP/073238245@NikotelAccount|60|Ttr") in new stack
    -- Called 012345678@NikotelAccount
    -- Got SIP response 500 "Server internal failure" back from 217.72.200.89
    -- SIP/NikotelAccount-9fb2 is circuit-busy
  == Everyone is busy/congested at this time
Jan 12 11:09:13 NOTICE[1114999728]: rtp.c:429 ast_rtp_read: RTP: Received packet with bad UDP checksum
Jan 12 11:09:13 WARNING[1114999728]: pbx.c:1924 ast_pbx_run: Timeout, but no rule 't' in context 'default'

"NikotelAccount" steht hier jetzt für den web.de Account. Ich habe nur die Zugangsdaten unter registry und [NikotelAccount] geändert, sonst nichts. Asterisk hat sich auch bei web.de angemeldet.

Wenn ich die Zugangsdaten entsprechend für sipgate ändere, dann bekomme ich folgende Meldung:

Code:
Jan 12 11:15:35 WARNING[1114999728]: pbx.c:922 pbx_substitute_variables_temp: The use of 'EXTEN-foo' has been deprecated in favor of 'EXTEN:foo'
    -- Executing Dial("SIP/asteriskaccount-a2a5", "SIP/10000@NikotelAccount|60|Ttr") in new stack
    -- Called 10000@NikotelAccount
Jan 12 11:15:37 NOTICE[1112898480]: chan_sip.c:6589 handle_response: Failed to authenticate on INVITE to '"user" <sip:[email protected]>;tag=as145290b3'
    -- Nobody picked up in 60000 ms
    -- Got SIP response 481 "Call Leg Does Not Exist" back from 217.10.79.9


Ich versteh's nicht.
Auch mit der sipgate-Anleitung komme ich nicht klar bzw. es funktioniert damit nicht.

sip.conf
Code:
[general]
port = 5060
bindaddr = 0.0.0.0
context = sip-out
qualify=no
disable=all
allow=alaw
allow=alaw
allow=ulaw
allow=g729
allow=gsm
allow=slinear
srvlookup=yes
canreinvite=yes
language=de

register => SIPID:[email protected]/SIPID

extensions.conf
Code:
[sipout]
exten => _X.,1,SetCallerId,SIPID
exten => _X.,2,Dial(SIP/${EXTEN}@sipgate.de,30,trg)
exten => _X.,3,Hangup


Kann mir bitte mal jemand eine funktionierende web.de- oder sipgate-Konfiguration posten (bitte sip.conf und extensions.conf mit einem Beispielclient), bei der der Asterisk hinter einem Router sitzt (also NAT) und folgendes möglich ist:

Client --> Asterisk --> Router --> web.de --> Angerufener

Client, Asterisk und Router sitzen im gleichen Netz (10.10.10.0)

Grüsse
schuelsche
 
Bei mir sieht die sip.conf in etwa so aus:

Code:
[general]
register => acct:[email protected]/acct
nat=yes
canreinvite=no
tos=0x18
insecure=very
nat=yes
dtmfmode=info
maxexpirey=3600		
defaultexpirey=600 
port=5060
bindaddr=0.0.0.0
externip=domain
localnet=10.10.10.0/255.255.255.0
srvlookup=yes
context=...
disallow=all
allow=ulaw
allow=alaw
allow=ilbc
allow=gsm
;allow=g729
  

[sipgate]
type=friend
username=acct
secret=passw
host=sipgate.de
fromuser=acct
fromdomain=sipgate.de
canreinvite=no
qualify=no
disallow=all
allow=ulaw
allow=alaw
allow=ilbc
allow=gsm
;allow=g729
insecure=very
nat=yes
dtmfmode=info
tos=0x18
 
Ich hab ähnliche Probleme, mit sipgate.de klappts, mit sipphone.com klappts nicht. In sip.conf registrieren beide auf ähnliche weise.
register => 5551253:p[email protected]/5551253
register => 17476677205:p[email protected]/17476677205

sip show registry zeigt beide als registered an.
proxy01.sipphone.com:5060 17476677205 145 Registered
sipgate.de:5060 5551253 145 Registered
Eingehende Anrufe klappen bei beiden, aber ich kann bei sipphone nicht raus, da bekomm ich die folgenden Fehler
-- Executing Dial("SIP/2002-2b59", "SIP/[email protected]|60|r") in new stack
-- Called [email protected]
Jan 12 22:27:57 NOTICE[20664]: chan_sip.c:6714 handle_response: Failed to authenticate on INVITE to '"Peter Sutter" <sip:[email protected]>;tag=as21f55630'
Username und passwort stimmen aber. Bei sipgate ist der Trick dass der Benutzername (/5551253) nach dem register stehen muss, sonst zeigt sipgate das Telephone als offline. Ich nehme an, dass das gleiche für sipphone.com gilt. Aber offensichtlich täusche ich mich, sipphone.com zeigt mich als offline an auch wenn ich den Benutzernamen beim register hinten anfüge. Warum aber zeigt sipphone auf der Web page off-line an wenn show sip registry mich als registered anzeigt?
 
Das dürft dein problem sein: 192.168.1.252 hier sollte deine öffentliche IP stehen unter der dich dein provider erreichen kann!

Hast du nat=yes unter general und bei den provider-Definitionen?
externip= gesetzt?
 
Nachdem ich in lezter Zeit auch Probleme mit sipphone hatte, habe ich mal ein wenig geforscht, was sich geändert hat.

Um Probleme mit * auszuschliessen habe ich erstmal mit X-Lite probiert. Da auch das mit den alten Einstellungen nicht ging, habe ich auf der Webseite die Settings nachgesehen. Die einzige Abweichung war, das Realm bzw. fromdomain jetzt auch proxy01.sipphone.com sein muss. Damit ging es dann sowohl mit X-Lite, wie auch mit *

@netview: bei mir übrigens mit nat = no im peer ;)
 
@rollo:
"bei mir übrigens mit nat = no im peer"

Das trifft mich jetzt aber hart und lässt mich grübeln!

Ich hatte da mal unter voip-info.org eine Tabelle gefunden, wonach * hinter einem Router im lokalen Netz und provider ausserhalb nur mit nat=yes gehen soll!

Ich habe daher alle Anbieter mit nat=yes und die lokalen clients mit nat=no definiert und es läuft auch alles korrekt wie es soll!

Wie gesagt, irgendwo fehlt mir da im Moment der logische Schluss!
 
Netview schrieb:
Das dürft dein problem sein: 192.168.1.252 hier sollte deine öffentliche IP stehen unter der dich dein provider erreichen kann!

Hast du nat=yes unter general und bei den provider-Definitionen?
externip= gesetzt?

Der Asterisk Server steht in der DMZ und alles was von Aussen kommt get in die DMZ. Solange der Asterisk Server über die externe IP Adresse von Aussen erreichbar ist, und die externe IP Adresse bei sipgate und sipphone bekannt ist, sollte NAT doch in diesem Fall gar nicht benützt werden. Die internen IP Adressen der angeschlossenen Telefone brauchen doch von Aussen nicht erreichbar sein, es recht doch wenn Asterisk diese kennt?

[email protected] referenziert in der Tat die Adresse vom Asterisk Server in der DMZ, [email protected] ist ja das angeschlossene und registrierte Telefon.

Warum steht denn da bei Verbindungen zu Sipphone die interne IP Adresse von Asterisk? Bei Sipgate klappt die Verbindung ja, warum nicht bei Sipphone? Die beiden sind ja, mit Ausnahme der Benutzerdaten, identisch definiert.

Der Unterschied scheint mit der Registrierung zu tun zu haben, die sipgate web page zeigt mich on-line, die von sipphone off-line.

Na, ich hab mal für beide nat=yes gesetzt.

Frage, was soll denn bei nat für die angeschlossenen Telefone stehen?

Hier die Fehlermeldung die ich jetzt bekomme
Code:
Jan 13 09:49:50 NOTICE[24013]: chan_sip.c:6714 handle_response: Failed to authenticate on INVITE to '"Peter Sutter" <sip:[email protected]>;tag=as2aabd078'
  == Spawn extension (local, 020, 1) exited non-zero on 'SIP/2002-0e20'
    -- Got SIP response 480 "You are not who you say you are. Request Denied." back from 198.65.166.131

Mein sip.conf
Code:
[general]
port = 5060        ; Port to bind to (SIP is 5060)
bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine)
context = mainmenu ; Send SIP callers that we don't know about here
srvlookup = yes    ; Enable DNS SRV lookups on outbound calls 
dtmfmode=rfc2833
disallow=all
allow=ilbc
;allow=gsm
allow=ulaw
allow=alaw
canreinvite=no
nat=yes
; force sip clients to re-authenticate within 3 minutes 
; to keep ports open on firewalls
maxexpirey=180
defaultexpirey=160

externip=203.34.16.228
register => 17476677205:[email protected]/17476677205
register => 5551253:[email protected]/5551253

[sipgate.de]
type=friend
host=sipgate.de
context=from-sipgate-de
username=5551253
secret=password
fromuser=5551253
nat=yes
fromdomain=sipgate.de
insecure=very
dtmfmode=rfc2833
disallow=all
allow=ilbc
allow=gsm
allow=ulaw
allow=alaw
canreinvite=no

[sipphone.com]
type=friend
context=from-sipphone.com
host=proxy01.sipphone.com
username=17476677205
secret=password
nat=yes
insecure=very
dtmfmode=info
fromuser=17476677205
fromdomain=sipphone.com
qualify=no
 
Also, nachdem es jetzt bei uns funktioniert (mit nikotel und web.de) hier mal meine Konfigurationsdateien:

sip.conf
========
Code:
[general]
port=5060
binaddr=0.0.0.0
;externip=X.X.X.X ; (oder Adresse, bspw. user.dynalias.org)
srvlookup=yes
nat=yes
localnet=0.0.0.0
context=default
disallow=all
allow=gsm
allow=alaw
allow=ulaw 
tos=0x18
dtmfmode=info
insecure=very
register=>USER1:[email protected]/45 ; Zugang user1
register=>USER2:[email protected]/47 ; Zugang user2

[webde-user1]
type=friend
secret=PASSWORT1
username=USER1
host=sip.web.de
fromuser=USER1
fromdomain=sip.web.de
nat=no
;context=default ; kann auskommentiert werden, da schon in der [general] context=default steht
canreinvite=no
insecure=very

[webde-user2]
type=friend
secret=PASSWORT2
username=USER2
host=sip.web.de
fromuser=USER2
fromdomain=sip.web.de
nat=no
canreinvite=no
;context=default ; kann auskommentiert werden, da schon in der [general] context=default steht
insecure=very

[45]
type=friend
username=45
secret=PASSWORT ; nur Clientzugang für Softphone am *
host=dynamic
qualify=yes
context=webde-user1
nat=yes

[47]
type=friend
username=47
secret=PASSWORT ; nur Clientzugang für Softphone am *
host=dynamic
qualify=yes
context=webde-user2
nat=yes



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

[default]
include=>45
include=>47

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

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

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


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

Normalerweise sollte in der sip.conf unter [general] der Paramter "externip=X.X.X.X" nicht auskommentiert sein, bei uns funktioniert es aber so.

Da der Asterisk hinter einem Router steht, der NAT macht, muss in [general] in der sip.conf "nat=yes" stehen. Da der VoIP-Server von web.de direkt im Netz steht, muss hier in der sip.conf unter [webde-user1] "nat=no" stehen.
Eigentlich bin ich davon ausgegangen, dass auch bei den einzelnen Clients [45] und [47] "nat=no" stehen müsste, da diese sich ja im gleichen Subnetz befinden wie der Asterisk, aber bei uns funktioniert es mit "nat=yes". "nat=yes" heisst aber ja offensichtlich nur, dass NAT sein kann, aber nicht muss.

Wichtig ist auf alle Fälle, dass in der sip.conf für den Kontext zum Wählen der Verbindung ([webde-user1] und [webde-user2]) auch nochmal die Zugangsdaten für den VoIP-Server bei web.de angegeben werden, und zwar Username und Passwort, da sonst das Rauswählen fehlschlägt (Authentication failed).

Diese Konfiguration hat zur Folge, dass der User webde-user2 mit der internen Telefonnummer 47 nur über die Vorwahl "8" mit seinem Account bei web.de verbunden wird und so raustelefonieren kann. Er kann nicht mit der Vorwahl "0" über den Zugang des Users webde-user1 hinaustelefonieren, weil das in seinem Kontext nicht vorgesehen ist. Wenn man aber einfach in der sip.conf unter [47] einen weiteren Parameter "context=webde-user1" einträgt, ist dies möglich. Die Kontexte werden offensichtlich nacheinander abgearbeitet und beziehen sich dann auf die in der extensions.conf definierten Kontexte.

Eingehende Anrufe auf die web.de-Telefonnummer des Users webde-user2 werden nur auf das Softphone des webde-user2 geleitet mit der Rufnummer 47.

Grüsse
schuelsche
 
@suterp:

"Frage, was soll denn bei nat für die angeschlossenen Telefone stehen?"

Bei Geräten im lokalen Netz nat=no.

Externip benötigst du da dieser IP-Bereich '192.168.n.n' im Internet nicht gerouted wird (reserviert für lokale Netze). Dein Provider wird dich ganz einfach nicht erreichen können.

Nachdem du die Änderungen gemacht hast wurde der * neu gestartet?

zum Thema 'nat=yes/no' nochmals die Tabelle zu finden unter voip-info.org:

1. Asterisk as a SIP client behind nat, connecting to outside SIP Proxies
2. Asterisk as a SIP client behind nat, connecting to inside SIP proxies
3. Asterisk as a SIP server behind nat, clients on the outside connecting to Asterisk
4. Asterisk as a SIP server behind nat, clients on the inside connecting to Asterisk
5. Asterisk as a SIP client outside nat, connecting to outside SIP proxies
6. Asterisk as a SIP client outside nat, connecting to inside SIP proxies
7. Asterisk as a SIP server outside nat, clients on the outside connecting to Asterisk
8. Asterisk as a SIP server outside nat, clients on the inside connecting to Asterisk

#1 works with a NAT-supporting proxy as SIP Express router as the outside proxy. (Get an account at IPtel.org and try!). Fails with Free World Dialup.
#2 Works- no NAT in between
#3 Works with port forwarding and some header mangling magic
#4 Works - no NAT in between
#5 is no problem. No NAT in the middle
#6 is a problem if no port forwarding is done, similar to 3 above.
#7 is no problem. No NAT in the middle
#8 is solved with nat=yes and qualify=xxx in sip.conf for the client in most cases. Some clients (X-lite) assist themselves by using STUN and sending UDP keep-alive packets. Qualify sends keep-alive packets from Asterisk to the client on the inside.
 
schuelsche schrieb:
Da der Asterisk hinter einem Router steht, der NAT macht, muss in [general] in der sip.conf "nat=yes" stehen. Da der VoIP-Server von web.de direkt im Netz steht, muss hier in der sip.conf unter [webde-user1] "nat=no" stehen.

Das ist auch mein Verständnis und funktioniert bei mir auch so.

schuelsche schrieb:
Eigentlich bin ich davon ausgegangen, dass auch bei den einzelnen Clients [45] und [47] "nat=no" stehen müsste, da diese sich ja im gleichen Subnetz befinden wie der Asterisk, aber bei uns funktioniert es mit "nat=yes". "nat=yes" heisst aber ja offensichtlich nur, dass NAT sein kann, aber nicht muss.

Das ist allerdings merkwürdig. Allerdings sollte ein nat=yes nicht schädlich sein, verursacht evtl. ein wenig mehr Rechenarbeit.


jo
 
@rollo

"Da der VoIP-Server von web.de direkt im Netz steht, muss hier in der sip.conf unter [webde-user1] "nat=no" stehen.
Das ist auch mein Verständnis und funktioniert bei mir auch so."

Hilf mir doch bitte mal in diesem Punkt auf die Sprünge!
Aus der Sicht von asterisk (im LAN) kann er den peer doch nur über nat erreichen (so war bisher immer mein Verständnis). Das der SIP-Server eines Anbieters direkt im Netz hängt streite ich ja gar nicht ab - aber sollte nich alles aus Sicht des * betrachtet werden (Sicht LAN->WAN via router)?
Bei lokalen Geräten im gleichen Subnetz ist 'nat=no' ja vom Verständnis her klar - nat=yes
geht jetzt also auch? Also irgendwie könnte der paramter nat=yes/no aus Sicht des * mal klarer definiert sein!!!
 
Aus Sicht der Anbieter ist * ein client - dann:

1. Asterisk as a SIP client behind nat, connecting to outside SIP Proxies
#1 works with a NAT-supporting proxy as SIP Express router as the outside proxy. (Get an account at IPtel.org and try!). Fails with Free World Dialup.

also geht 'nat=no' nicht mit allen Anbietern - nur mit denen die einen NAT-supporting proxy betreiben?!

Ziehe ich jetzt die richtigen Schlüsse????

Dann dürfte 'nat=yes' wohl die bessere Wahl sein, da dies dann i.R. 'immer' funktioniert ('nat=no' dagegen bei FWD in die Hose geht)?!

Rollo, schuelsche wie ist euere Sichtweise???
 
Wichtig ist auf alle Fälle, dass in der sip.conf für den Kontext zum Wählen der Verbindung ([webde-user1] und [webde-user2]) auch nochmal die Zugangsdaten für den VoIP-Server bei web.de angegeben werden, und zwar Username und Passwort, da sonst das Rauswählen fehlschlägt (Authentication failed).

:bahnhof:
Ja jetzt versteh ich überhaupt nichts mehr. Vielleicht hilft mir aber doch einer das ganze zu verstehen.

Ich dachte, dass das register => dazu da ist um Asterisk beim Provider (sipgate, sipphone etc) für eingehende Anrufe anzumelden. Nach dem register zeigt ja die web page des Providers den Benützer als 'on-line', und eingehende Anrufe werden von Asterisk entgegengenommen. Dies klappt, vorausgesetzt dass die Extension die beim register angegeben wird in extensions.conf im entespechenden Kontext steht.

Also muss die Definition [sip-provider] für die peers/users in sip.conf dazu da sein _ausgehende_ Anrufe zu behandeln.

Diese Konfiguration hat zur Folge, dass der User webde-user2 mit der internen Telefonnummer 47 nur über die Vorwahl "8" mit seinem Account bei web.de verbunden wird und so raustelefonieren kann. Er kann nicht mit der Vorwahl "0" über den Zugang des Users webde-user1 hinaustelefonieren, weil das in seinem Kontext nicht vorgesehen ist. Wenn man aber einfach in der sip.conf unter [47] einen weiteren Parameter "context=webde-user1" einträgt, ist dies möglich. Die Kontexte werden offensichtlich nacheinander abgearbeitet und beziehen sich dann auf die in der extensions.conf definierten Kontexte.

Für das 'Call Routing' habe ich mir meinen eigenen enum server aufgebaut. Der EnumLookup bestimmt welcher Provider benützt wird. Ich weiss also erst nach dem wählen einer externen Nummer, welcher Provider benützt wird.

Heisst das nun, dass ich in sip.conf für jedes 'Hard' und 'Soft' Phone die ganze Liste aller Provider als Kontext angeben muss? Und wird das ganze jetzt Reihenfolge abhängig?

Ich möchte ja von jedem Telefon auf die gleiche Art rauswählen, nämlich mit vorangestellter 0 oder 9.

Wenn ich mehrere Kontexte angebe, in welchem Kontext wird dann ein _eingehender_ Anruf entgegengenommen? Auch hier, spielt jetzt die Reihenfolge eine Rolle?

Und zu nat:

In der sip [general] muss meiner Ansicht nach nat=yes stehen.
In der sip für den Provider sollte meiner Ansicht nach nat=no stehen,
Aber was soll für die lokalen Hard and Soft Phones stehen? Asterisk kennt ja die externen Adressen für den Provider, und kennt auch die internen Adressen für die intenen Telefone, also sollte da meiner Ansicht nach auch nat=no stehen.
Wenn aber ein Telefon extern (aus einem anderen subnet oder net) als internes Telefon dienen soll, dann sollte nat=yes sein.
 
@suterp

Der Eintrag 'register' sorgt dafür, dass du für eingehende Gespräche erreichbar und auch als 'online/registered' beim provider geführt wirst.
Der Eintrag in der extensions.conf lässt nur deine Endgeräte 'bimmeln', fehlt dieser bekommt der Anrufer ein 'busy' oder sonst was!

Die peer/friend-Definitionen sind für abgehende Gespräche.

zum Thema NAT:

schau dir doch einfach mal die Tabelle an die ich unter voip-info.org gefunden habe und auf die ich mich beziehe (weiter oben im thread)!
Laut dieser Tabelle benötigen lokale Geräte nat=no und bei peer/friend Definitionen ist es wohl vom Provider abhängig ob er einen NAT-supporting server betreibt.

Ich bin mal auf rollos Sichtweise gespannt - vielleicht hilft dies den Sachverhalt zu klären!
 
Netview schrieb:
Hilf mir doch bitte mal in diesem Punkt auf die Sprünge!
Aus der Sicht von asterisk (im LAN) kann er den peer doch nur über nat erreichen (so war bisher immer mein Verständnis). Das der SIP-Server eines Anbieters direkt im Netz hängt streite ich ja gar nicht ab -

Also, Asterisk im LAN hinter Router.
Anbieter web.de direkt im Netz.
Deshalb steht in der [general] ja auch "nat=yes", weil der * beim Anmelden am externern VoIP-Server (web.de) ja über NAT rausgeht.

Warum das bei den einzelnen Zugängen zum raustelefonieren, also bei [webde-user1] und bei [webde-user2] egal ist, was man hier angibt, kapiere ich aber auch nicht. Unsere beiden web.de-Zugänge funktionieren problemlos, obwohl der eine Zugang [webde-user1] z.B. auf nat=no steht und der andere [webde-user2] auf nat=yes. An für sich müsste hier bei meinem Verständnis bei beiden "nat=yes" stehen, weil ja hier über den Asterisk zum externen Anbieter gewählt wird.

sutterp schrieb:
Für das 'Call Routing' habe ich mir meinen eigenen enum server aufgebaut. Der EnumLookup bestimmt welcher Provider benützt wird. Ich weiss also erst nach dem wählen einer externen Nummer, welcher Provider benützt wird.

Bei unsere Konfiguration wird in abhängig von vorangestellter Nummer telefoniert. Dabei ist in der extensions.conf festgelegt beim Eintrag [webde-user1], dass wenn die 0 vorgewählt wird, dass dann die Verbindung über die Registrierung des USER1 aufgebaut wird. Bei Vorwahl der Nummer 8 geschieht dies dann über USER2 [webde-user2]. Dadurch, dass dies alles in der [default] in der extensions.conf included ist und dadurch, dass jeder User in der sip.conf den Parameter "context=default" stehen hat (bei [47] und [45], funktioniert dies.

sutterp schrieb:
Wenn ich mehrere Kontexte angebe, in welchem Kontext wird dann ein _eingehender_ Anruf entgegengenommen? Auch hier, spielt jetzt die Reihenfolge eine Rolle?

Der eingehende Anruf auf die web.de-Nummer von user1 geht auf die 45. Sonst klingelt es nirgends. Enstprechend geht ein eingehender Anruf auf die Nummer von user2 auf die 47. Dies ist in der sip.conf unter [general] im Parameter "register=...sip.web.de/45" festgelegt.

Der eingehende Anruf hat meiner Meinung nach nicht unmittelbar mit den Kontexten was zu tun, sondern mit dem, was unter "register=..." festgelegt ist.

Grüsse
schuelsche
 
Ups, sorry, ich habe eine Angabe vergessen in der extensions.conf. Hier daher nochmal die komplette:
Code:
[general]
static=yes
writeprotect=no

[default]
include=>45
include=>47
include=>webde-user1
include=>webde-user2

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

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

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


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

Ich hatte vergessen, dass unter [default] "include=>webde-user1" und "include=>webde-user2" zusätzlich eingefügt wurde, so dass jeder über die 0 oder die 9 raustelefonieren kann.

Grüsse
schuelsche
 
@schuelsche

Netview schrieb:
also geht 'nat=no' nicht mit allen Anbietern - nur mit denen die einen NAT-supporting proxy betreiben?!

Ich denke dies könnte die Erklärung sein!

Ich werde mal ausprobieren ob FWD mit nat=no
läuft!

Laut Tabelle (s.o.) soll FWD keinen NAT-support-proxy einsetzen (kann sich allerdings zwischenzeitlich geändert haben).
 
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.