UPC/Inode Telefon ohne Fritzbox dafür mit Asterisk
Da mir die Fritzbox schon einige Zeit auf die Nerven geht, habe ich beschlossen eine Alternative zu basteln 😉
Das Modem der Fritzbox ist im Grenzfall wirklich schlecht. Ich hatte immer 4 bis 5Mbit. Mit dem Zyxel Prestige 660R-D1 schaffe ich 7 bis 8Mbit. Allerdings gibts hier ja keine Telefonmöglichkeit, darum folgender Artikel 🙂
Benötigte Hardware:
- Zyxel Prestige 660R-D1 (Oder anderes DSL-Modem)
- Netgear WNDR3700 Wlan Router (Oder anderer Router mit OpenWRT)
- VOIP-Telefone
- Linux-Kenntnisse 😉
Richtige Einstellung des Zyxel-Modems
Internetverbindung einrichten:
- Mode: Bridge
- Encapsulation: RFC1483
- Multiplexing: LLC
- Virtual Circuit ID (VPI): 9
- Virtual Circuit ID (VCI): 35
Telefonverbindung einrichten:
- Mode: Bridge
- Encapsulation: RFC1483
- Multiplexing: LLC
- Virtual Circuit ID (VPI): 9
- Virtual Circuit ID (VCI): 36
Router mit OpenWRT einrichten
Zuerst eine Simple PPPoE Verbindung mit den Zugangsdaten von UPC/Inode aufbauen. Das müsste einwandfrei funktionieren.
Für die SIP-Telefonverbindung ist das etwas komplizierter. Dazu installiert man mal das OpenWRT Paket dhcpcd. Da der eingebaute DHCP-Client die sogenannte „DHCP Option 60“ nicht unterstützt braucht man eben den dhcpcd.
Den DHCP Client startet man dann so:
/usb/sbin/dhcpcd -R -Y -N -i "AVM DHCPC" eth1:1
Der Zusatz „AVM DHCPC“ bewirkt dass das virtuelle Interface eth1:1 vom Inode/UPC DHCP-Server die passende IP bekommt (eine IP im 172.x.y.z Netz). Würde man das nicht machen, erkennt Inode/UPC daran dass wohl keine Fritzbox oder ein anderes kompatibles VOIP Gerät dran hängt, und wird die weitere Verbindung zum SIP-Server verweigern (Die IP wäre dann im 10.x.y.z Netz).
Nachdem das nun Funktioniert muss man nur noch die passende route für voip.inode.at legen:
/usr/sbin/ip route add 212.41.253.176/28 dev eth1:1
Somit wird der gesamte Verkehr an voip.inode.at über die 172er IP geroutet und nicht über die Internetverbindung.
Asterisk Einrichten
Ich habe das OpenWRT-Paket „asterisk16“ verwendet.
Die Einstellung ist eigentlich recht Simpel.
sip.conf:
[general]
srvlookup=yes
port=5060
bindaddr=0.0.0.0
language=de
rtpstart=10000
rtpend=10100
register => upc-telefonnumer:upc-passwort@voip.inode.at/upc-telefonnummer
useragent = AVM FRITZ!Box Fon WLAN 7140 Annex A 39.04.76 (Jul 31 2009)
[100]
context=meine-telefone
type=friend
secret=password
host=dynamic
cancallforward=yes
canreinvite=no
[200]
context=meine-telefone
type=friend
secret=password
host=dynamic
cancallforward=yes
canreinvite=no
[upc-telefonnumer]
type=friend
username=upc-telefonnumer
fromuser=upc-telefonnumer
callerid=upc-telefonnumer
context=upc-incoming
secret=upc-passwort
host=voip.inode.at
fromdomain=voip.inode.at
dtmfmode=rfc2833
canredirect=no
qualify=yes
caninvite=no
canreinvite=no
insecure=port,invite
extension.conf:
[meine-telefone]
exten => 100,1,Dial(SIP/100)
exten => 200,1,Dial(SIP/200)
exten => _0[1-9].,1,Dial(SIP/${EXTEN}@upc-telefonnumer)
exten => _0[1-9].,2,Hangup()
[upc-incoming]
exten => upc-telefonnumer,Dial(SIP/100)
In der Firewall sind dann UDP Ports 5060 und 10000 bis 10100 zu öffnen.
Man kann dann natürlich auch noch weitere SIP Anbieter und/oder Telefone hinzufügen um dann eine etwas komplexere Telefonanlage zu basteln. In dem Fall hier läutet einfach das SIP Telefon mit der „Durchwahl“ 100 wenn auf der UPC-Telefonnummer angerufen wird. und sobald eine Nummer mit 0xxxxxxxx gewählt wird, gehts auch per UPC-Account raus.
Die anderen Teilnehmer können intern einfach durch Wahl der Nummer 100 oder 200 erreicht werden.