Asterisk

From ArchWiki
Revision as of 01:36, 21 February 2006 by WillySilly (Talk | contribs) (Music On Hold)

Jump to: navigation, search

Asterisk Configration

Summary

Asterisk is a complete PBX in software. It runs on Linux, BSD, Windows and OS X and provides all of the features you would expect from a PBX and more. Asterisk does voice over IP in four protocols, and can interoperate with almost all standards-based telephony equipment using relatively inexpensive hardware.

Asterisk provides Voicemail services with Directory, Call Conferencing, Interactive Voice Response, Call Queuing. It has support for three-way calling, caller ID services, ADSI, IAX, SIP, H.323 (as both client and gateway), MGCP (call manager only) and SCCP/Skinny.

This wiki will show you how to configure a simple in house network enabling us to use a SIP softphone to talk to another SIP softphone on your LAN. This is nothing major, but will get you familiar with Asterisk configuration and its pretty cool.

What You Need

Of course, youll need Asterisk. You can grab it from [community]. You should also grab asterisk-addons, asterisk-sounds and asterisk-zaptel. You'll also need a SIP softphone and at least two machines. Recommendations for SIP phones are kphone, in the AUR and x-lite, a binary.

Configuration

SIP

Assuming your asterisk server is up and running we will only need to edit two files sip.conf and extensions.conf. Change to your asterisk configuration directory (should be /etc/asterisk). Edit sip.conf and place the following in:

[me1]
type=friend
username=me1
secret=password
host=dynamic
context=house

[me2]
type=friend
username=me2
secret=password
host=dynamic
context=house

This creates our two SIP users me1 and me2 with a password of password in the house context. We will be defining the context next.

Edit extensions.conf with the following:

[house]
exten => 100,1,Dial(SIP/me1)

exten => 101,1,Dial(SIP/me2)

This creates that context house and assigns extension 100 to the SIP user me1, and extension 101 to the SIP user me2. Now all thats left is to see if it works.

Music On Hold

Music on hold is a really sweet feature. And once again easy to install and configure. Edit /etc/asterisk/musiconhold.conf and add (or make sure its uncomented)

[default]
mode=files
directory=/var/lib/asterisk/mohmp3

Now go into your sip.conf

musiconhold=default

And that's all there is to it. Just copy your favorite legally obtained MP3 to /var/lib/asterisk/mohmp3

Voicemail

Voicemail is another cool feature of asterisk. There are many ways to configure it, however Ill just cover the simple in-home, just messing around version.

Create/edit your (you guessed it) voicemail.conf

[general]
format=gsm|wav49|wav
serveremail=asterisk
attach=no
mailcmd=/usr/sbin/sendmail -t
maxmessage=180
maxgreet=60

[default]
100 => 1234,Me,me@mydomain.com

Ok, so whats that mean? Most of the [general] is pretty self explainitory. However make a note, if you have postfix set up right the PBX will send an email notifying the user of a new voicemail and if attach=yes it will attach the file.

Now for the actual mailbox. The format is

mailbox => password,user,email
In this case, we gave Me (email me@mydomain.com) mailbox 100, with a password of 1234.

Now we have to have a way to leave messages to this voicemail, and a way to access it. For this, we go back to the extensions.conf and modify your exsisting entry as follows:

exten => 100,1,Dial(SIP/me1,20)
exten =>100,2,Voicemail(100@default)

The 20 on the end of the first exten tells Dial() to call for 20 seconds. If noone answers it heads to Voicemailbox 100 in the default context. Easy enough. Next is actually accessing your voicemail. For that we add

exten => 600,1,VoiceMailMain,s100@default

So when we call 600, the application VoiceMailMain goes to 100 in the default context. The s allows for automatic login.

Notes

The voicemail apps have a TON of options so I'd suggest reading over some additional docs. This is just for a basic, home use setup. Also note that it is generally a good idea to use extenstions higher then your users extentions for accessing voicemail. This way someone dialing 208 doesn't hit someones voicemail at 205. I will update soon on how to use CALLERIDNUM to log into your voicemail.

Asterisk Console And Softphones

Now lets get Asterisk going.

# asterisk -vvvvvvc

This will give us the Asterisk CLI with verbose output. If Asterisk is already running you'll need to use

# asterisk -r

Now fire up your SIP clients and set them up with the information in the sip.conf. Switch back to your Asterisk CLI and you should see

 Registered SIP 'me1' at 192.168.0.142 port 5061 expires 60

Now you should be able to dial 101 from me1 and talk to me2.

Common Problems

If you recieve a 404 Not Found error check your extensions.conf and the number you dialed.