Da scheinbar immer mehr Leute daran interessiert sind sich einen Asterisk Server auf dem wl-500 gp zu instalieren hier mal ein ein kleines tutorial. Da jeder unterschiedliche ansprüche hat unterteile ich das tut in 4 teile so kann sich jeder das rausnehmen was er braucht.
So ist mein sytem konfiguriert:

1ter Teil:
Installation des Asterisk Servers.
Ein internes Telefongespräch zum Test zwischen 2 SIP cleints.
2ter Teil:
SIP provider mit einbinden um günstiege internationale/nationale/handy gespräche zu führen.
3ter Teil:
Einbinden der SPA-3102 um eine vorhandene analoge Leitung an den asterisk server anzuschliessen.
Analoges telefon zum SIP telefon machen.
4ter Teil:
Ein Nokia E-Series Handy an dem asterisk anmelden. (auch aus externen wlans z.B. aus HotSpots nutzbar.)
5ter Teil: (in progress)
Voicemail kunfigurieren, deutsche ansagetexte einbinden, ein voicemenu für anrufer oder für einen selbst wen man von ausserhalb anruft.
Nochmal etwas allgemines vorweg, Asterisk ist eine sehr komplexe telefonanlagen software und deswegen funktioniert sie auch nicht immer reibunglos (telefonabrüche, gepräche werden nicht an die telefone weitergeleitet usw.) Man sollte also nicht damit rechnen das einmal alles eingerichtet die sache die nächsten 10 jahre läuft. Man muss sich schon ein bischen um sein system kümmern. Aber es macht auch sehr viel spaß und es ergeben sich ungeahnte telefonmöglichkeiten.
wichtiege links:
http://www.das-asterisk-buch.de/2.0/
http://www.ip-phone-forum.de
http://www.voip-info.org
TEIL 1
a. Asterisk instalieren
So als erstes installiren wir erstmal asterisk, ich gehe davon aus das ihr wengis tutorial oder ähnliches gemacht habt, Harddisk und swap sind ein muss denk ich.
Code:
ipkg install asterisk14
b. Asterisk konfigureren
Die konfugartiondateien von asterisk befinden sich in /opt/etc/asterisk also erstmal dahin
Code:
cd /opt/etc/asterisk
jetzt gehen wir in die indications.conf um die ländereinstellung richtig zu machen (bezieht sich z.b. auf das Klingelzeichen)
Code:
joe indications.conf
und "country=de" setzen
jetzt können wir die sip.conf und die extensions.conf backupen oder löschen da dort eine beispielkonfiguration drin ist.
So benennt ihr sie um:
Code:
mv sip.conf sip.conf.backup
mv extensions.conf extensions.conf.backup
So jetzt versuchen wir mal 2 telefone im asterisk einzurichten mit denen wir dann ein testgespräch aufbauen können. Dazu öffnen wir erstmal die sip.conf
diese wird mit diesen daten gefüttert:
Code:
[general]
port = 5060
bindaddr = 0.0.0.0
context = sonstige
[telefon1]
type=friend
context=wahlplan
secret=xxx
host=dynamic
[telefon2]
type=friend
context=wahlplan
secret=xxx
host=dynamic
speichern und schliessen und die extensions.conf öffnen
Code:
joe extensions.conf
mit folgendem füllen
Code:
[sonstige]
[wahlplan]
exten => 1000,1,Dial(SIP/telefon1)
exten => 1001,1,Dial(SIP/telefon2)
Speichern und beenden natürlich.
So was haben wir jetzt genau gemacht? In der sip.conf haben wir die telefon "accounts" definiert. context ist der wählplan für das jeweilige Telefon.
In unserem beispiel teilen sich die telefone den Wählplan, der in der extensions.conf definiert ist. secret ist natürlich ein passwort nach eurer Wahl.
In der extensions.conf wird definiert was ein Telefon bei welcher nummer genau macht in unserem besipiel kann telefon1 telefon2 mit der nummer 1001 anrufen und umgekehrt ist es die 1000.
asterisk server starten mit
Code:
asterisk -vvvvvvvvv
mehr "v's" erhöhen den debug level so könnenn wir sehen was der asterisk server macht.
c. SIP Telefone Testen
So das reicht schon für unsere kleine beispiel anlage. Jetzt braucht ihr 2 SIP clients um euch an der anlage anzumelden. Am einfachen ist es einen PC client zu nehmen, ich verwende z.b. Ekiga in meinem linux welches es aber auch für windows gibt.
Da ihr 2 clients braucht 2 rechner benutzen oder einfach eine virtual-mashine benutzen.
Das anmelden der clients ist unterschiedlich generell ist der in der sip.conf in den klammern definierte name euer username und das secret das password.
Als server gebt ihr die ip eures routers an.
Sind die clients angemeldet müsste sich ein testgespräch herstellen lassen.
TEIL 2
Jetzt braucht ihr einen SIP provider bei dem sich dann der asterisk server anmeldet um auch gespräche in das normale telefon netz zu führen. Ihr erhaltet dabei meist von eurem SIP provider auch noch eine eigene festnetznummer. Ich möchte nur einiege nennen den es gibt unzählige wie z.b. BlueSIP, Carpo, Nikotel, sipgate.de. Der eine bietet z.b. eine günstiege deutschlandweite flatrate während andere günstiege handy oder internationale gespräche bieten. Selbsverständlich ist es möglich sich bei mehreren providern anzumelden und den asterisk bei verschiedenen vorwahlen über die unterschiedlichen provider laufen zu lassen. Dies wird dann durch die Wählregeln definiert.
a. Konfiguration des Sipproviders
Dies ist verschieden bei den SIP providern. Am besten man schaut auf die Homepage, dort wird es meist genau erklärt. Aber meist muss eine ähnliche einstellung wie folgt vorgenommen werden wie z.b. bei sipgate und carpo.
dies kommt in den [generell] bereich
Code:
register => username:password@sip.provider.de/provider
so dann wird meist eine eigehende und eine ausgehende leitung konfiguriert, wieder nur ein besipiel genaue konfiguration muss man auf der homepage des SIP Providers entnehmen.
Code:
[sip-out]
context=sip
type=peer
username=meinusername
secret=meinpass
host=sip.provider.de
fromdomain=sip.provider.de
disallow=all
allow=ulaw
[sip-in]
context=default
type=peer
host=sip.provider.de
disallow=all
allow=ulaw
speichern schliessen.
in meinem beispiel verwende ich den codec ulaw (amerikanisches ISDN), dieser funktioniert sehr gut für mich wichtig ist einfach nur das man nur einen codec verwendet da der wl 500 gp nicht (schnell) genug zu transkodieren, also umzukomprimieren.
b. ausgehende gespräche
So jetzt gehts an die wählregeln, dafür machen wir wieder die extension.conf auf.
Code:
joe extensions.conf
Unser beispiel-Ziel ist es nummern die mit 01XX (sprich handynummern) über den neuen provider laufen zu lassen.
dafür gehen wir in die im 1 teil erstellte kategorie [wahlplan] und fügen dort folgendes ein
Code:
exten => _01XX.,1,Dial(SIP/${EXTEN}@sip-out,60,)
jetzt werden alle nummern die länger als 4 ziffern sind und mit 01 beginnen über den in der sip.conf erstellten provider mit dem namen [sip-out] geleitet. Dies gilt für beide aus dem ersten teil konfigurierten telefone da sie ja den gleichen wählplan verwenden.
(später müsst ihr natürlich darauf achten, das die Wählregeln alle von euch gewünschten Möglichkeiten abdecken. Z.B. wenn ihr festnetznummern, Notrufnummern oder servicenummern anrufen möchtet.)
c. eingehende gespräche
für eingehende gespräche auf der nummer die ihr vom provider zugewiesen bekommen habt müsst ihr meist noch einen eintrag in die extensions.conf einfügen der in etwa vollgendermasen aussehen könnte
Code:
[default]
; eingehende Calls deines providers
exten => provider,1,Answer()
exten => provider,n,Dial(SIP/telefon1,15)
exten => provider,n,Dial(SIP/telefon2)
Asterisk nimmt das gespräch entgegen und leitet es im 2ten schritt an telefon 1 weiter, wenn 15 sec nicht abgehoben wird, beginnt telefon 2 zu klingeln. (nur als bsp. gedacht)
wen man mag kann man sich jetzt noch zusätzliche provider mit anderen wählregeln anlegen.
Jetzt sollte dem günstiegen telefonieren nichts mehr im wege stehen