Mehrere Accounts über Fritz!Box

Spandauer007

Neuer User
Mitglied seit
4 Mrz 2009
Beiträge
85
Punkte für Reaktionen
0
Punkte
6
Hallo Ihr Lieben,

ich habe heute einen Asterisk Server an einer Fritz!Box eingerichtet.

Folgende Konstruktion:
- 3 Telefonnummern werden von der Fritz!Box bei 1und1 angemeldet
- Die 3 Telefonnummern werden mithilfe jeweils einem eingerichtetem IP-Telefon an der Fritz!Box am Asterisk angemeldet
- 2 DECT Telefone melden sich an dem Asterisk via Fritz!Box an

Problematik: Wir haben also 3 Telefonnummern und 2 Telefone die sich gleichzeitig am Asterisk anmelden. Es wird folgende Fehlermeldung ausgegeben:
Code:
chan_sip.c:8126 check_auth: username mismatch, have <x>, digest has <y>

Behoben durch setzen insecure=port,invite in der sip.conf in allen Accounts.

Wenn jetzt angerufen wird, wird automatisch 1003 als beschäftigt angezeigt, d.h. die BLF Lampe leuchtet rot.
Behoben durch einen temporären Account in der sip.conf

Meine Fragen:
- Wieso läuft nachdem insecure=port,invite alles über den default context?
- Wieso wird 1003 als beschäftigt angezeigt, obwohl dieser nicht angerufen wird?

Meine Sip.conf:
Code:
[general]
nat=yes
srvlookup=yes
bindport=5060
bindaddr=0.0.0.0
language = de
alwaysauthreject=yes
allowguest=no
allowsubscribe = yes
notifyringing = yes
notifyhold = yes
limitonpeers = yes
canreinvite=no
callcounter = yes
qualify=no
register => 620:***@192.168.178.1/620
register => 621:***@192.168.178.1/621
register => 622:***@192.168.178.1/622

[1001]
type=friend
secret=***
host=dynamic
language = de 
subscribecontext=hints
call-limit = 10
callgroup = 2
pickupgroup = 2
insecure=port,invite

[1002]
type=friend
secret=***
host=dynamic
language = de
subscribecontext=hints
call-limit = 10
callgroup = 2
pickupgroup = 2
insecure=port,invite

;Temporär
[10033]
type=friend
secret=***
host=dynamic
language = de
subscribecontext=hints
call-limit = 10
callgroup = 2
pickupgroup = 2
insecure=port,invite

[1003]
type=friend
secret=***
host=dynamic
language = de
subscribecontext=hints
call-limit = 10
callgroup = 2
pickupgroup = 2
insecure=port,invite

[1004]
type=friend
secret=***
host=dynamic
language = de
subscribecontext=hints
call-limit = 10
callgroup = 2
insecure=port,invite
pickupgroup = 2

[1und1_1]
type=friend
username=622
secret=***
host=192.168.178.1
fromuser=622
fromdomain=192.168.178.1
canreinvite=no
insecure=port,invite
nat=yes

[1und1_2]
type=friend
username=620
secret=***
host=192.168.178.1
fromuser=620
fromdomain=192.168.178.1
canreinvite=no
insecure=port,invite
nat=yes

[1und1_3]
type=friend
username=621
secret=***
host=192.168.178.1
fromuser=621
fromdomain=192.168.178.1
canreinvite=no
insecure=port,invite
nat=yes
 
- Wieso läuft nachdem insecure=port,invite alles über den default context?
Weil Du nichts anderes angegeben hast.

- Wieso wird 1003 als beschäftigt angezeigt, obwohl dieser nicht angerufen wird?
Das versteh ich auch nicht, nach dem Standardverhalten müsste eigentlich 1001 als aktiv angezeigt werden.

So funktioniert es bei mir (*1.6@FB):
Code:
register = 621:[email protected]/621
register = 622:[email protected]/622

[fb_peer](!)
type = peer
secret = secret
host = 192.168.178.1
fromdomain = fritz.box
insecure = port,invite
nat = no
context = extsip

[621](fb_peer)
defaultuser = 621
fromuser = 621

[622](fb_peer)
defaultuser = 622
fromuser = 622

[fb_user](!)
type = friend
secret = secret
context = users
nat = no
host = dynamic

[701](fb_user)
defaultuser = 701

[702](fb_user)
defaultuser = 702
Code:
[extsip]
; ankommend vom Festnetz
exten => _62X,1,Dial(SIP/70${EXTEN:2},30,thx)
exten => _62X,n,HangUp()

[users]
; intern
exten => _70X,1,Dial(SIP/${EXTEN},30,TtHhXx)
exten => _70X,n,HangUp()
; abgehend ueber FBF
exten => _X.,1,Dial(SIP/${EXTEN}@62${CALLERID(num):2},30,THX)
exten => _X.,n,HangUp()

Wichtig dabei ist, dass in der sip.conf erst die 620er "IP-Telefone" eingetragen sind, und danach erst die für die andere Richtung.
 
Hi,

Ich hatte bei den 3 Telefonnummern einen Context eingestellt, jedoch hat dieser nicht gegriffen, sondern der default.

Wieso müssen die 620er erst kommen und dann die anderen?

LG
 
Das insecure ist notwendig, weil ankommende Anrufe nicht per User+PW authentifiziert werden. Die einzige Möglichkeit, die Asterisk noch bleibt, ist die Quelladresse. Bei einem ankommenden Anruf verwendet Asterisk (seit 1.6) das erste in der sip.conf definierte Peer, dessen host Eintrag zur Quelladresse passt. Bei host=dynamic ist eine Registrierung des Clients möglich, was Asterisk-intern zu host=192.168.178.1 wird, sobald sich die FB unter dieser Adresse registriert. Damit würde, wenn in der sip.conf als erstes ein Client definiert ist, dessen context verwendet.

In Deinem ersten Post sehe ich nirgends contexte. Den default nimmt Asterisk nur, wenn er sonst nichts findet.

Hast Du meine Konfig ausprobiert? Ich poste nicht oft fertige confs, also fühl Dich geehrt ;-)
 
Auch ich fühle mich geehrt. Durch Deine confs und die Erklärung habe ich es jetzt auch begriffen.
Das sagt einem ja sonst keiner, zumindest habe ich es so noch nirgends gelesen.

Eine Frage habe ich noch:
Wenn "ankommende Anrufe nicht per User+PW authentifiziert werden",
kann man dann nicht das "secret = secret" bei Dir in der 6. Zeile weg lassen?
Und einer der "???user = 621" Einträge könnte auch weg?
Ich tippe auf "defaultuser = 621", bin mir da aber nicht sicher.
 
Das sagt einem ja sonst keiner, zumindest habe ich es so noch nirgends gelesen.

Ja doch, das kommt in Asterisk Neulings-Threads öfters mal zur Sprache.

kann man dann nicht das "secret = secret" bei Dir in der 6. Zeile weg lassen?
Und einer der "???user = 621" Einträge könnte auch weg?

Nein, da diese Definitionen auch für Gespräche vom Asterisk in Richtung Fritzbox genutzt werden (_X.,1 in users). Dabei muss sich Asterisk ja an der Fritzbox authentifizieren. Das secret im Template zu setzen funktioniert logischer Weise nur, wenn überall das gleiche Kennwort verwendet wird.

Manche mögen lieber erst ein getrenntes Peer für ankommende Gespräche, dann wird das etwas deutlicher. Das hätte dann tatsächlich nur host, context und insecure, und bei den anderen würden context und insecure wegfallen.
 
Du hast ja recht, das hatte ich übersehen.

Ist das "ankommende Anrufe nicht per User+PW authentifiziert werden" nur in Verbindung mit der FB so oder auch mit jedem VoIP-Provider?
Ist das bei einem Trunk dann anders? Oder ist das erst bei IAX anders?
 
Hallo,

bei mir läuft das jetzt alles sehr gut mit der Fritz!Box.

Ein Problem bleibt jedoch: Wenn ich 3 Gespräche gleichzeitig habe, werden nur 2 weiter an den Asterisk gegeben. Beim 3. Gespräch kommt zwar ein Freizeichen, jedoch wird das Gespräch dann irgendwann automatisch vom Provider abgewiesen, da keiner ran geht, aber der Asterisk klingelt ja auch nicht.

Ist es bei der Fritz!Box nur möglich, dass 2 Telefonate gleichzeitig an ein IP-Telefon weitergeleitet werden und alle danach nicht mehr an die selbe Nebenstelle?

Lg
 
Das ist richtig so, da die FBs nur 5 VoIP-Kanäle haben (ältere wie die FB7170 sogar nur 3)
und du für jedes Gespräch 2 3 (siehe EDIT) Kanäle brauchst, folgt daraus, daß nur 2 Gespräche gehen (bei der FB7170 nur 1 Gespräch).

Mehr Gespräche gehen nur, wenn du intern direkt analog, ISDN oder DECT nimmst.
Oder die Asterisk direkt bei 1&1 anmeldest.
Oder nimmst eine 2. FB.

EDIT:
Ne ne, du brauchst ja sogar 3 Kanäle pro Gespräch, da dürfe eigentlich schon ein 2. Gespräch nicht mehr gehen, oder können die neuen FBs mehr als 5 Kanäle?

Welche FB hast du?
 
Zuletzt bearbeitet:
Danke für die hilfreiche Antwort.

Irgendwie bescheuert...Das Telefonat geht ja trotzdem zur FB durch.

Haben hier eine 7390 zu stehen.

Direkt bei 1&1 anmelden funktioniert nur etwas komplizierter. Wäre eine Alternative, aber leider habe ich das noch nicht zum laufen bekommen, dass die Gespräche ankommen, wenn das direkt bei 1&1 angemeldet ist. Wahrscheinlich weil der Port nicht freigegeben ist o.ä.?
 
Oder du gehst nur eingehend über die Asterisk und ausgehend direkt.
Oder nimmst richtige IP-Telefone.

Wozu benutzt du denn die Asterisk?
 
Ein richtiges SIP Telefon wird genutzt.

Asterisk wird insbesondere für die BLF Tasten genutzt, verschiedene Anrufbeantworter, Warteschleife, Music on hold.

Vielleicht hat ja jemand schon 1&1 mit asterisk hinter einer fb derzeit am laufen und kann Tipps geben?
 
Da gibt es schon min. ein Thema drüber. Such mal.
 
http://www.ip-phone-forum.de/showthread.php?t=214427&p=1893394&viewfull=1#post1893394
http://www.ip-phone-forum.de/showthread.php?t=260925&p=1930720&viewfull=1#post1930720

Ist das "ankommende Anrufe nicht per User+PW authentifiziert werden" nur in Verbindung mit der FB so oder auch mit jedem VoIP-Provider?

Das ist Protokoll-bedingt. Bei der Registrierung des Clients wird dem Registrar nur Adresse, Port und Contact mitgeteilt, aber nichts womit er sich später beim Client authentifizieren könnte.
 
Das ist Protokoll-bedingt.
Ja, leider.
Bei der Registrierung wird aber auch noch Benutzer und Paßwort übermittelt, damit der Client sich registrieren darf.
Und diese kennt der Registrar.
Und mit diesen könnte sich der Registrar ja dann authentifizieren.
Ist aber so im Protokoll halt nicht vorgesehen?
 
Zuletzt bearbeitet:
Hallöschen,

also ich versuche das jetzt mal so, dass sich der Asterisk direkt bei 1und1 anmeldet.

Raustelefonieren funktioniert wunderbar, rein telefonieren nicht. Es kommt erst gar nichts beim Asterisk an.

Code:
[general]
nat=yes
srvlookup=yes
bindport=5060
bindaddr=0.0.0.0
localnet=192.168.178.0/255.255.255.0
language = de
alwaysauthreject=yes
allowguest=no
allowsubscribe = yes
notifyringing = yes
notifyhold = yes
limitonpeers = yes
canreinvite=no
callcounter = yes
externhost = ****.ignorelist.com
register => 4930****7:****@sip.1und1.de/4930****

[ext-sip]
type=friend
username=4930****
fromuser=4930****
secret=****
host=sip.1und1.de
fromdomain=1und1.de
qualify=yes
insecure=port,invite
nat=yes

;Testaccount
[2000]
type=friend
secret=*****
host=dynamic
language = de
subscribecontext=hints
call-limit = 10
callgroup = 2
pickupgroup = 2
mailbox = 2000

[1und1](!)
type=friend
nat=yes
disallow=all
allow=alaw
allow=ulaw
;allow=g729
allow=g726
allow=gsm
host=sip.1und1.de
fromdomain=1und1.de
qualify=yes
insecure=port,invite
tos=0x18
;caninvite=no
canreinvite=no
dtmfmode=auto
language=de

[1und1-1-1](1und1)
host=sipbalance1-1.1und1.de 

[1und1-1-2](1und1)
host=sipbalance1-2.1und1.de

[1und1-1-3](1und1)
host=sipbalance1-3.1und1.de

[1und1-1-4](1und1)
host=sipbalance1-4.1und1.de

[1und1-2-1](1und1)
host=sipbalance2-1.1und1.de

[1und1-2-2](1und1)
host=sipbalance2-2.1und1.de

[1und1-2-3](1und1)
host=sipbalance2-3.1und1.de

[1und1-2-4](1und1)
host=sipbalance2-4.1und1.de

[1und1-3-1](1und1)
host=sipbalance3-1.1und1.de

[1und1-3-2](1und1)
host=sipbalance3-2.1und1.de

[1und1-3-3](1und1)
host=sipbalance3-3.1und1.de

[1und1-3-4](1und1)
host=sipbalance3-4.1und1.de

[1und1-4-1](1und1)
host=sipbalance4-1.1und1.de

[1und1-4-2](1und1)
host=sipbalance4-2.1und1.de

[1und1-4-3](1und1)
host=sipbalance4-3.1und1.de

[1und1-4-4](1und1)
host=sipbalance4-4.1und1.de

[1und1-5-1](1und1)
host=sipbalance5-1.1und1.de

[1und1-5-2](1und1)
host=sipbalance5-2.1und1.de

[1und1-5-3](1und1)
host=sipbalance5-3.1und1.de

[1und1-5-4](1und1)
host=sipbalance5-4.1und1.de

[1und1-6-1](1und1)
host=sipbalance6-1.1und1.de

[1und1-6-2](1und1)
host=sipbalance6-2.1und1.de

[1und1-6-3](1und1)
host=sipbalance6-3.1und1.de

[1und1-6-4](1und1)
host=sipbalance6-4.1und1.de

[1und1-7-1](1und1)
host=sipbalance7-1.1und1.de

[1und1-7-2](1und1)
host=sipbalance7-2.1und1.de

[1und1-7-3](1und1)
host=sipbalance7-3.1und1.de

[1und1-7-4](1und1)
host=sipbalance7-4.1und1.de

[1und1-8-1](1und1)
host=sipbalance8-1.1und1.de

[1und1-8-2](1und1)
host=sipbalance8-2.1und1.de

[1und1-8-3](1und1)
host=sipbalance8-3.1und1.de

[1und1-8-4](1und1)
host=sipbalance8-4.1und1.de

[1und1-9-1](1und1)
host=sipbalance9-1.1und1.de

[1und1-9-2](1und1)
host=sipbalance9-2.1und1.de

[1und1-9-3](1und1)
host=sipbalance9-3.1und1.de

[1und1-9-4](1und1)
host=sipbalance9-4.1und1.de

[telefonica-1](1und1)
host=1und1-1.sip.mgc.voip.telefonica.de

[telefonica-2](1und1)
host=1und1-2.sip.mgc.voip.telefonica.de

[telefonica-3](1und1)
host=1und1-3.sip.mgc.voip.telefonica.de

[telefonica-5](1und1)
host=1und1-5.sip.mgc.voip.telefonica.de

[telefonica-6](1und1)
host=1und1-6.sip.mgc.voip.telefonica.de

[telefonica-7](1und1)
host=1und1-7.sip.mgc.voip.telefonica.de

[telefonica-8](1und1)
host=1und1-8.sip.mgc.voip.telefonica.de

[Beitrag 2:]


Habe jetzt mal bindport=5160 genommen und in der Fritz!Box UDP 5100-5200 freigegeben.

Dennoch keine Besserung.

Was mache ich falsch?
 
Zuletzt bearbeitet von einem Moderator:
Hast du die Links aus #14 schon durchgelesen?
 
Bei der Registrierung wird aber auch noch Benutzer und Paßwort übermittelt, damit der Client sich registrieren darf.

Aber nicht im Klartext, sondern als Hash.

@Spandauer007: in der Vorlage [1und1](!) muss der host Eintrag raus und der [ext-sip] muss ganz nach unten.
Testweise kannst Du allowguest auch mal auf yes stellen, und im [default] eine exten => _X. anlegen. Da landet dann alles, wofür es keinen passenden host gibt.
 
Hallo,

Es ging jetzt auch so, wie es oben steht bloß die Codecs sind anders:

Code:
[1und1](!)
type=friend
nat=yes
host=sip.1und1.de
fromdomain=1und1.de
language=de
qualify=2000
canreinvite=no
insecure=port,invite
dtmfmode=auto
disallow=all
allow=g722
allow=ulaw
allow=alaw
allow=gsm

2 Fragen habe ich noch:

1. Gibts es irgendwelche Nummern, die ich nicht in der folgenden Konstruktion beachtet habe?
- Beim rauswählen, wenn keine 0 führend ist, wird nun 030 vorgewählt (außer bei Polizei und Feuerwehr)
- Beim rauswählen wenn eine 0 führend ist, wird nichts vorgewählt

2. Leider zeigt jetzt das IP Telefon nicht mehr 017... sondern +4917... an. Das +49 sollte mit einer 0 ersetzt werden. Ist das möglich?
Hab es mit
Code:
if (${CALLERID(num):1:3}=49){
Set(CALLERID(num)=${CALLERID(num):3});
}

versucht, funktioniert aber nicht :( Das Plus spuckt mir einen Fehler aus, deswegen geht es erst ab 1 los mit der Abfrage.
 
Zuletzt bearbeitet:
Gibts es irgendwelche Nummern

Neben 110 und 112 gibt es (noch) 19222, die funktioniert aber auch mit Vorwahl, die ganze 116xxx Baureihe (ärztl. Bereitschaftsdienst, Giftnotruf, Kartensperre, ...), sowie die Premiumnummern 118...

Besser ist das mit Anführungszeichen, dann macht auch das + nichts.

Code:
if ([COLOR="#FF0000"][B]"[/B][/COLOR]${CALLERID(num):[COLOR="#FF0000"][B]0[/B][/COLOR]:3}[COLOR="#FF0000"][B]"[/B][/COLOR]=[COLOR="#FF0000"][B]"+[/B][/COLOR]49[COLOR="#FF0000"][B]"[/B][/COLOR]){
Set(CALLERID(num)=[COLOR="#FF0000"][B]0[/B][/COLOR]${CALLERID(num):3});
}
 

Statistik des Forums

Themen
246,300
Beiträge
2,249,714
Mitglieder
373,904
Neuestes Mitglied
Elemir
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.