[HowTo] Sipgate Trunking für direktes Callthrouh nutzen

Andre

IPPF-Promi
Mitglied seit
27 Dez 2004
Beiträge
3,309
Punkte für Reaktionen
5
Punkte
38
Moin,

eine der meiner Meinung nach interessantesten Möglichkeiten von Asterisk ist es, gegenüber den in der Fritz!Box fon vorhandenen Möglichkeiten viel detailiertere Rufumleitungen zu realisieren. Zudem kann man eine nahezu unbegrenzte Zahl von Festnetzrufnummern erzeugen, wenn man den Asterisk mit Sipgate trunking einsetzt.

Die Nachteile des "normalen" Call-throughs:
- unkomfortabel (Nachwahl PIN, anschließend Kurzwahl oder 0+Zielrufnummer)
- fehlerträchtig (DTMF-Tonübertragung über Handy und VoIP -> Fehlerquote bei mir locker 60%)

Sehr praktisch wäre es also, wenn man auf die DTMF-Tonübertragung verzichten könnte.

Die Lösung:
Sipgate Trunking

Mit Sipgate Trunking wird eine Rufnummer verlängert, man kann nun Durchwahlen nutzen. Da reguläre Nummern eine bestimmte Maximallänge haben, erreicht man die Durchwahlen, wenn sie zu lang sind, eventuell nicht.
Bei meinem UI-Handy ist die maximale Nummernlänge 13 (mit Vorwahl, ohne führende 0). Ich besitze eine portierte 8-stellige Rufnummer, kann also eine fünfstellige Durchwahl anhängen. Das bedeutet, dass mir alleine diese Nummer 111.111 verschiedene erreichbare Ziele ermöglicht (wovon eine aber ohne Durchwahl für normale eingehende Anrufe erhalten bleiben soll).
Das ist zugegebenermaßen ein Sonderfall, aber in den meisten Fällen kann man zumindest 2 Ziffern anhängen.

Bestellt man Sipgate Trunking mit 3 Rufnummern, zahlt man dafür monatlich 3,95¤. Für portierte Rufnummern zahlt man monatlich nichts. Hat man schon einen Sipgate basic oder plus Account, kann man den übernehmen - und hat keine laufenden Kosten für die Nummern. Sipgate Trunking 2 (maximal zwei eingehende Gespräche gleichzeitig) kostet ebenfalls nichts. Im Idealfall sind die Einstigskosten also 0.
Zum Testen bekommt man bei Sipgate Trunking 2 fünf Rufnummern für 30 Tage, die sich aber nicht weit verlängern lassen, da sie schon relativ viele Stellen besitzen. Es ist aber zum Testen auf jeden Fall eine feine Sache.
Leider verliert man bei der Übernahme eines Sipgate plus - Accounts zu Sipgate Trunking alle Faxe - und auch die schöne Faxfunktion hat man nicht mehr. Auch besitzt man nur noch einen Account, muss nun also die Trennung bei verschiedenen Rufnummern zwingend durch Asterisk vornehmen (Asterisk geht also danach in Produktiveinsatz).

Wie funktioniert mein direktes Call Through?

Nehmen wir an, man habe die Nummer 040-12345 zu Sipgate Trunking portiert. Nun erreicht man den Trunking Account auch über 040-12345-12345 - oder eben eine beliebige (wenn auch nicht unendlich lange) Zahl von nachgestellten Ziffern. Würde man den Account direkt in der Fritzbox eintragen, so wären das für diese alles eingehende Anrufe auf die gleiche Nummer.

Anders bei Asterisk. Dieser kann den SIP-Header auswerten und die korrekte "to" Adresse rausfinden - also was nun wirklich gewählt wurde. Diesen Trick kann man schon bei Sipgate Basic verwenden, um mehrere Nummern getrennt zu behandeln.

Da ich 11 echte Nummern bei Sipgate habe, verwende ich den Asterisk gleichzeitig, um den Sipgate-Account in 11 getrennte Accounts "aufzuspalten", an denen sich die FBF anmelden kann, sowie für das hier vorgestellte Call Through mit Trunking.

Um das ganze möglichst komfortabel zu machen, zweckentfremde ich das FBF-Telefonbuch ausschließlich für die Weiterleitungsziele und verwende auch nur zwei Stellen als Rufnummernerweiterung.

Grob schematisch passiert folgendes:

  • Es geht ein Anruf im Asterisk beim Sipgate-Trunking Account ein
  • Asterisk wertet den "to"-Header aus
  • Ist es eine der echten portierten Nummern, wird er zum entsprechend eingerichtetem "Telefon" geleitet (den für die Anmeldung der FBF eingerichteten Account)
  • Ist es meine 8-stellige Nummer, die um zwei Ziffern verlängert wurde, prüft er, ob Anrufer meine Handynummer ist, nimmt ie letzten 2 Ziffern, packt "**7" davor und wählt diese Nummer (z.B. "**712") über einen IP-Telefonanschluss der FBF (hier: 620) raus.
  • Die FBF schaut im Telefonbuch nach und leitet den Anruf auf das eingetellte Ziel (intern, extern, SIP-Uri) unter Beachtung der Wahlregeln der FBF
Einmal eingerichtet, wird es so möglich, 100 Ziele komfortabel zu günstigen Preisen vom Handy anzurufen. Für Anrufe zu Fremdnetzen zahlt man z.B. rd. 4 Cent/min statt 9,9 Cent/min, SIP-Uris kann man anrufen (das geht ja sonst gar nicht), über die Ersparnis bei Auslandstelefonaten ganz zu schweigen. 100 Einträge reichen meist, da Festnetznummern und netzinterne Ziele direkt im Telefonbuch des handys gespeichert werden - da braucht man den Umweg ja nicht.

Das ganze hört sich komplizierter an, als es ist. Einmal eingerichtet, ist die Wartung sehr einfach - Die Ziele ändert man direkt über das Webinterface der FBF.

Weitere Ziele (z.B. 1-stellige Erweiterungen) kann man natürlich auch direkt in der extensions.conf definieren. Das bietet sich an für Nummern, die zum einen wichtig sind, zum anderen sich nicht so schnell ändern. Bei vielen Zielen kann es sinnvoll sein, die AstDB zu verwenden und die extensions.conf entsprechend zu modifizieren. Eventuell eignet sich eine Textdatei und ein Skript, welches sie bei Wahl einer bestimmten Nummer einliest - wer möchte kann aber auch dazu ein Webinterface programmieren, bei meinen 152.221 direkt möglichen Rufzielen wäre das schon toll...

Aber genug der Vorrede, hier meine (vereinfachte und bereinigte) sip.config und die extensions.config. Die Inhalte sollten selbst erklärend sein:

sip.config
Code:
[general]
language=de
bindport = 5061
bindaddr = 0.0.0.0
realm = mein-dyn-dnsname
externip = mein-dyn-dnsname
context=sonstige

register => 1234567t0:[email protected]/1234567t0
register => 620:[email protected]/620

;********************
;* Externe Accounts *
;********************

; Sipgate Trunk (alle portierten Nummern)
[sipgate99]
host = sipconnect.sipgate.de
defaultuser = 1234567t0
secret = qwertz
fromuser = 1234567t0
fromdomain = sipconnect.sipgate.de
canreinvite = no
qualify = yes
nat = yes
insecure = port,invite
type = friend

; FritzBox (ausgehend über IP-Telefon)
[fbfgate]
host = 192.168.178.1
defaultuser = 620
secret = qwertz
fromuser = 620
fromdomain = fritz.box
canreinvite = no
qualify = yes
nat = yes
insecure = port,invite
type = friend

;*********************************************
;* Alte Rufnummern zum direkten Registrieren *
;* ("Accountsplitting")                      *
;*********************************************

; Für die einzelnen SipGate-Zielnummern einzelne Accounts einrichten,
; an die sich die FBF anmelden kann

[00495%%%%%%%]
host=dynamic
type=friend
secret=qwertz
context=meine-telefone

[00496%%%%%%%%%]
host=dynamic
type=friend
secret=qwertz
context=meine-telefone

; ... usw. für die übrigen 9 Nummern
extensions.config
Code:
[sonstige]

; hier wird bei eingehenden Anrufen auf dem Sipgate-Trunk-Account die wirkliche
; Zielrufnummer aus dem SIP-Header extrahiert, als neue Extension gesetzt und
; im Context [from-sipgatetrunk] weiter behandelt

exten => _X.,1,Goto(from-sipgatetrunk,${CUT(CUT(SIP_HEADER(To),@,1),:,2)},1)


[from-sipgatetrunk]

; zunaechst werte ich meine echten 11 Rufnummern aus und stelle sie an die
; passenden "IP-Telefone" weiter. Meine Fritzbox kann die Nummern dann einzeln
; registrieren und unterschiedlich behandeln.
; Anonymisiert habe ich durch % (das Zeichen kommt sonst nirgends vor)

exten => 00495%%%%%%%,1,Dial(SIP/00495%%%%%%%)
exten => 00496%%%%%%%%%,1,Dial(SIP/00496%%%%%%%%%)
; ... usw. für die übrigen 9 Nummern

; nun kommt das Interessante, wir werten die zwei folgenden Ziffern aus
;

exten => _00495%%%%%%%XX,1,Set(OWN=0152%%%%%%%)
exten => _00495%%%%%%%XX,2,Set(DURCHWAHL=${EXTEN:-2})
exten => _00495%%%%%%%XX,3,GotoIf($["${CALLERID(num)}" = "${OWN}"]?ja:nein)
exten => _00495%%%%%%%XX,100(ja),NoOp("Mein Handy ruft an")
exten => _00495%%%%%%%XX,101,Dial(SIP/**7${DURCHWAHL}@fbfgate)
exten => _00495%%%%%%%XX,200(nein),NoOp("schade, das bin gar nicht ich")
 
Zuletzt bearbeitet:

udosw

Aktives Mitglied
Mitglied seit
20 Mrz 2004
Beiträge
1,114
Punkte für Reaktionen
0
Punkte
36
Ich habe mir erlaubt, diesen guten Beitrag abzutrennen und in ein neues The,a zu verschieben. In dem anderen Thread ging es um die grundsätzliche Installation von Asterisk auf div. Boxen. Dieses hier ist viel spezieller.

Udo