Asterisk mit 2 sipgate Accounts

nroej

Neuer User
Mitglied seit
20 Sep 2004
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
Moin!

Ist es möglich mit asterisk sich 2 mal unter verschiedenen Benutzern an Sipgate anzumelden und diese 2 registrierungen in verschiedenen Kontexten zu benutzen?

Hintergrund:

Ich will meine alte ISDN Dect Anlage mit hfc an den Asterisk tüddeln (morgen müsste meine erebayte ISDN Karte kommen :)) und zum schluss sollen dann mein Mitbewohner und ich über verschiedene abgehende MSNs per DECT Telefon jeweils auf der entsprechenden Sipgate Leitungen raustelefonieren (weil ich will ja nicht das $mitbewohner mein sipgate guthaben vertelefoniert ;-))

Grüße

Jörn
 

nroej

Neuer User
Mitglied seit
20 Sep 2004
Beiträge
10
Punkte für Reaktionen
0
Punkte
0
*freu* & danke für die schnell antwort

sehr gut, also einfach 2 verschiedene kontexte in der sip.conf:

register => [email protected]
register => [email protected]

[sipgate1]
user=ich
....


[sipgate2]
user=meinmitbewohner
......

und die entsprechend auf die msns mappen?!

(jetzt muss ich nur noch meinen mitbewohner davon überzeugen mir sein sipgate passwort zu geben :twisted: )
 

Hupe

Aktives Mitglied
Mitglied seit
8 Apr 2004
Beiträge
2,586
Punkte für Reaktionen
0
Punkte
0
Für die sip.conf copiest du praktisch die entsprechenden Zeilen. Mußt eben nurnoch die entsprechenden Benutzerdaten ändern. Außerdem sollte hinter dem register-Befehl noch die Sipgatenummer stehen (mit einem "/" getrennt).
Die eingehenden sipgate-Anrufe müssen in eine xtension in der extensions.conf geleitet werden und da unterschieden werden (Ist laut Betateilchen ein bug. Hab es aber noch nicht selbst getestet, da ich das sowieso so gemacht habe).
also sip.conf
Code:
;Sipgate 1
register => 1234567:[email protected]/1234567
;Sipgate 2
register => 7654321:[email protected]/7654321

[1234568]  
type=friend   
username=1234567
secret=passwd1
host=sipgate.de 
fromuser=1234567
callerid="1234567"
fromdomain=sipgate.de
nat=no
context=sipgatin
canreinvide=no   
dtmfmode=info 
disallow=all
allow=ilbc  
allow=gsm
allow=g726
disallow=ulaw
disallow=alaw

[7654321]  
type=friend   
username=7654321
secret=passwd2
host=sipgate.de 
fromuser=7654321
callerid="7654321"
fromdomain=sipgate.de
nat=no
context=sipgatin
canreinvide=no   
dtmfmode=info 
disallow=all
allow=ilbc  
allow=gsm
allow=g726
disallow=ulaw
disallow=alaw
Und dann extensions.conf:

Code:
[sipgatin]
exten => 1234567,1,Dial(....)
exten => 1234567,2,Hangup
exten => 1234567,102,Hangup
exten => 7654321,1,Dial(....)
exten => 7654321,2,Hangup
exten => 7654321,102,Hangup
exten => h,1,Hangup
 

betateilchen

Grandstream-Guru
Mitglied seit
30 Jun 2004
Beiträge
12,882
Punkte für Reaktionen
0
Punkte
0
Die angesprochene Problematik hat mich mehrere Nächte und einige Kannen Kaffee gekostet.

Wer mehr als 1 Sipgate-Account im Asterisk registrieren will, und ein zuverlässige Trennung erzielen möchte, der sollte folgendermaßen vorgehen:

1. SIP.CONF

Alle ankommenden Anrufe werden in den Kontext [sipgate_de_in] geleitet, da dies der "letzte" Kontext in der Liste ist, der zu einem ankommenden Anruf von Sipgate "paßt".

Code:
register => 1234567:[email protected]
register => 7654321:[email protected]

[1234567]
type=peer
username=1234567
fromuser=1234567
secret=pw1
context=default
host=sipgate.de
fromdomain=sipgate.de
insecure=very
caninvite=no
canreinvite=no
nat=no
disallow=all
allow=ilbc

[7654321]
type=peer
username=7654321
fromuser=7654321
secret=pw2
context=default
host=sipgate.de
fromdomain=sipgate.de
insecure=very
caninvite=no
canreinvite=no
nat=no
disallow=all
allow=ilbc

[sipgate_de_in]
type=peer
fromdomain=sipgate.de
host=sipgate.de
context=fromsipgatede
disallow=all
allow=ilbc
Alle ankommenden Sipgate-Anrufe werden aus dem Kontext "sipgate_de_in" in den Kontext "fromsipgatede" in der extensions.conf geleitet.

2. EXTENSIONS.CONF

Code:
[fromsipgatede]
;hier werden alle ankommenden Sipgate-Anrufe nach den Rufnummern "sortiert"
exten => 1234567,1,(alles was mit diesem Anruf passieren soll)
exten => 1234567,2,(alles was mit diesem Anruf passieren soll)
;usw.

exten => 7654321,1,(alles was mit diesem Anruf passieren soll)
exten => 7654321,2,(alles was mit diesem Anruf passieren soll)
;usw.
Abgehende Anrufe erfolgen dann aus den benutzerbezogenen Kontexten einfach wie gewohnt mit

Code:
[user_1_kontext]
exten => _.,1,SetCallerID(1234567)
exten => _.,2,SetCIDName(user_1_name) ; wenn gewünscht
exten => _.,3,Dial(SIP/${EXTEN}@1234567,60,r)
exten => _.,4,Hangup

[user_2_kontext]
exten => _.,1,SetCallerID(7654321)
exten => _.,2,SetCIDName(user_2_name) ; wenn gewünscht
exten => _.,3,Dial(SIP/${EXTEN}@7654321,60,r)
exten => _.,4,Hangup
Das Ganze ist übrigens kein "Bug" - sondern bei genauer Betrachtung eine ziemlich geniale Möglichkeit, mit möglichst geringen Aufwand eine größtmögliche Flexibilität zu erreichen.

Die genannte Vorgehensweise ist auch nicht Sipgate-spezifisch, sondern ist in gleichem Schema mit allen SIP-Providern anwendbar.
 

Hupe

Aktives Mitglied
Mitglied seit
8 Apr 2004
Beiträge
2,586
Punkte für Reaktionen
0
Punkte
0
Naja, das mit dem Bug kann man halten wie man will. Wenn es eigentlich gehen sollte, es aber trotzdem nicht funzt, dann nenn ich sowas einen Bug.
Wüsste auch nicht, was deine Variante der sip.conf für einen Vorteil haben sollte. Ist im Prinzip ja das selbe. Nur eben ein Eintrag mehr in der sip.conf.
 

betateilchen

Grandstream-Guru
Mitglied seit
30 Jun 2004
Beiträge
12,882
Punkte für Reaktionen
0
Punkte
0
@hupe

was das bringt, habe ich schon geschrieben:

Wenn Du nur die beiden Kontext-Einträge mit den Sipgate-IDs drin hast, landet JEDER ankommende Anruf immer im 2. Kontext - ohne daß Du das beeinflussen könntest.

Mit dem 3. Eintrag weißt Du genau, daß der ankommende Ruf dortdrin landet - naja, kann ja jeder machen, wie er will. Mir ist einfach auch die angegebene Variante von der Logik her leichter nachvollziehbar, vor allem, wenn Du nicht nur 2 sondern vielleicht 20 Sipgate-Accounts auf einem Asterisk laufen hast.
 

Hupe

Aktives Mitglied
Mitglied seit
8 Apr 2004
Beiträge
2,586
Punkte für Reaktionen
0
Punkte
0
Wenn man den Bug kennt, dann trägt man ja sowieso überall den gleichen Context ein (wovon ich mal ausgehelwenn man 200 Accounts verwaltet).
Wenn man das wie Du macht, und der Bug wird einmal behoben, dann muß man bei 200 Accounts den Context überprüfen, bzw. den "default"-Context anpassen. Da kann man es doch gleich richtig machen.
Aber im Prinzip ist das ja erst einmal egal, der Bug ja (noch) existent ist.
 

betateilchen

Grandstream-Guru
Mitglied seit
30 Jun 2004
Beiträge
12,882
Punkte für Reaktionen
0
Punkte
0
Man muß eben NICHT 200 Kontexte ändern :)

Weil - es ist KEIN Bug, sondern ein beabsichtigtes Feature. Das habe ich zumindest auf Anfrage in den Asterisk-Mailinglisten als Antwort erhalten und die Begründung war für mich letztendlich schlüssig.
 

Hupe

Aktives Mitglied
Mitglied seit
8 Apr 2004
Beiträge
2,586
Punkte für Reaktionen
0
Punkte
0
Dummes Feature. Wenn jemand etwas in einen anderen Kontext umleiten möchte, dann soll er es doch so auch machen können. Hört sich für mich eher wie: "Wir bekommen es nicht in den Griff, also wird aus dem Bug ein Feature" an. Und wenn man alles in einen Kontext knallen möchte, dann kann man das ja auch so machen.
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
231,871
Beiträge
2,016,193
Mitglieder
348,963
Neuestes Mitglied
bilgehz