Asterisk in een VOIP server en kan met wat aanpassingen op de Linksys NSLU2 draaien. Voor details zie hier: www.nslu2-linux.org/wiki/Optware/Asterisk
Installatie van Asterisk
Installatie van Asterisk gaat als volgt.
Login met SSH op de NSLU en geef het volgende commando:
$ ipkg install asterisk
Ik maak gebruik van de alaw codec. De alaw codec comprimeert niet extreem veel, maar geeft de minst hoge processor load. Installeer met het volgende commando de alaw sounds:
$ ipkg install asterisk-core-sounds-en-alaw
Automatisch starten van Asterisk:
Maak de volgende file aan /opt/etc/init.d/asterisk:
#!/bin/sh
if [ -f /opt/var/run/asterisk.pid ] ; then
kill `cat /opt/var/run/asterisk.pid`
else
killall asterisk
fi
rm -f /opt/var/run/asterisk.pid
umask 077
/opt/sbin/asterisk
Als volgt zorg je ervoor dat het Asterisk script automatisch opstart:
$ cd /etc/rc3.d
$ ln -s ../init.d/openvpn S99asterisk
Configureren van Asterisk
Wijzig de file /opt/etc/asterisk/asterisk.conf:
[directories]
astetcdir => /opt/etc/asterisk
astmoddir => /opt/lib/asterisk/modules
; astvarlibdir => /opt/var/lib/asterisk ; Commented out for spinning down HD
astvarlibdir => /var/volatile
astdatadir => /opt/var/lib/asterisk
astagidir => /opt/var/lib/asterisk/agi-bin
astspooldir => /opt/var/spool/asterisk
astrundir => /opt/var/run
; astlogdir => /opt/var/log/asterisk ; Commented out for spinning down HD
astlogdir => /var/volatile
Voicemail configureren
Het is mogelijk een voicemail achter te laten en deze op te laten sturen via email. Dit is als volgt in te stellen:
$ vi /etc/asterisk/voicemail.conf
[default]
; Define maximum number of messages per folder for a particular context.
;maxmsg=50
501 => 1234,Arjan,arjan@gmail.com,,delete=1
502 => 5678,Niet gebruikt,arjan@gmail.com_,,delete=1
Opmerkingen:
- 501 - Het mailbox nummer. Dit is hetzelfde nummer dat gebruikt wordt in de Voicemail funtie (VoiceMail(501@default);)
- 1234 - Is de pincode om de voicemail af te luisteren
- Arjan - Is de naam die in het voicemail mailtje gebruikt wordt als aanhef.
- arjan@gmail.com - Het mail adres voor de voicemail mail.
- delete = 1 - Dit zorgt ervoor dat een voicemail verstuurd wordt via de mail, en wordt niet opgeslagen in de mailbox. Hierdoor hoef je geen berichten continu te verwijderen. Dit kan weggelaten worden, waardoor de voicemails ook via telefoon te beluisteren zijn.
Indications.conf configureren
In indications.conf staat de country default op us. Deze moet op nl gezet worden. Hierdoor veranderen de beltonen e.d.
$ vi /etc/asterisk/indications.conf
[general]
country=nl ; default location
Gebruikers naam van asterisk wijzigen
Bij het verzenden van de voicemail via e-mail, wordt ook een naam meegegeven. Deze is standaard Linux User, maar deze is te veranderen in bijvoorbeeld “Rietveld Voicemail”.
$ vi /etc/fstab
asterisk:x :43:64003:Rietveld Voicemail,,,:/var/run/asterisk:/bin/false
De Asterisk server extern benaderen
Stel de volgende port forwarding in de router in:
VOIP in: 5070 -> 192.168.1.240 VOIP channels: 10.000-20.000 -> 192.168.1.240
Foutmeldingen
Unable to handle indication 3
Kortgezegd de /etc/asterisk/indications.conf file is er waarschijnlijk niet. Kopieer deze uit de originele Asterisk configuratie. Zie ook: www.ctunion.com/node/137
Registration timed out, trying again
Als de onderstaande melding verschijnt, dan kan dat een aantal oorzaken hebben. De server kan down zijn of een verkeerde url naar de VOIP server.
NOTICE[1758]: chan_sip.c:7492 sip_reg_timeout: -- Registration for 'account.nonoh@sip.nonoh.net' timed out, trying again (Attempt #1)
Maar als je met het commando “sip show registry” toch registered hebt staan bij dit account en je krijgt toch de melding (ongeveer elke 5 min), dan kun je proberen om het volgende te doen bij de instellingen sectie van de betreffende provider:
$ vi /etc/asterisk/sip.conf
[nonoh]
qualify=no
Je kunt deze timeout ook krijgen wanneer je meerdere accounts geregistreerd heb staan bij Betamax, zoals VoipBuster, Poivy, Nonoh etc (zie informatie over Betamax op deze site: Goedkoopste VOIP telefonie tarieven vergelijking
handle_response: Remote host can’t match request NOTIFY to call Giving up
Deze melding kan geen kwaad, de verbinding wordt er niet door aangetast. Dit is bij Digium de volgende bug: issues.asterisk.org/view.php?id=11848. Ook hier wordt er melding van gemaakt: www.mail-archive.com/asterisk-users@lists.digium.com/msg203699.html
handle_request_invite: Call from to extension rejected because extension not found
Weet nog niet precies waarom dit gebeurd: issues.asterisk.org/view.php?id=11960