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