This is an old revision of the document!
See also Build a PBX with YUM Using CentOS, Asterisk and a GUI
See also ASTLinux
http://www.inphonex.com/support/trixbox-configuration-v2.6.1.1.php
If your Asterisk server is behind NAT and you need a remote extension, forward UDP ports 5060, 10000-20000 and 4569 in to the Asterisk server.
Edit sip.conf to include your resolvable external host name and local subnet.
With ASTLinux, it's easiest to use the web editor. Or you can use nano or VI as shown:
vim /etc/asterisk/sip.conf [general] externip=external.host.name localnet=192.168.1.0/255.255.255.0 nat=yes
Note that the first time you log into the GUI via a web browser, your configuration files will be modified! Backup the asterisk configuration directory before logging in:
cp -ar /etc/asterisk /etc/asterisk.backup
You probably want to configure your PBX in the order presented here. It will be easier and make more sense.
Access the web interface using your PBX's hostname or IP address:
http://192.168.1.30:8088/asterisk/static/config/index.html
or try:
General Preferences | |
---|---|
Global OutBound CID | Your general CLID number - can be overridden by specifying CLID in other places |
Global OutBound CID Name | Your general CLID name - can be overridden by specifying CLID in other places |
Ring Timeout | How long to ring phones in seconds |
Extension Preferences | |
User Extensions | 10 to 19 |
Conference Extensions | 50 to 59 |
VoiceMenu Extensions | 60 to 69 |
Ring Group Extensions | 20 to 29 |
Queue Extensions | 30 to 39 |
VoiceMail Group Extensions | 40 to 49 |
Change Password | |
Reboot | |
Advanced Options | |
Show Advanced Options | CDR's, Active Channels, Bulk Add, File Editor, |
Asterisk CLI, IAX Settings, SIP Settings |
Save on each page, then Apply when all done.
VoIP trunks usually require 1+area on all calls.
This is where you define acceptable dial patterns and substitutions.
Rule Name | Pattern | Requirements |
---|---|---|
Emergency | 911 | Route out analog line or e911 trunk as appropriate |
Local | _NXXXXXX | Prepend 1520 for VoIP trunks |
LongDistance | _1NXXNXXXXXX | No digits stripped or prepended |
LongDistanceNo1 | _NXXNXXXXXX | Prepend 1 for VoIP trunks |
International | _011. | No digits stripped or prepended |
Information | 411 | Strip 3 and prepend 18003733411 |
Dial Plans are groupings of Outgoing Calling Rules. Often the default is sufficient.
DialPlan1 | Make default | All-inclusive |
CLID specified here will override default (Global) or trunk settings.
Section | Suggestions |
---|---|
Voicemail | Enable |
Set e-mail preferences | |
VoIP | Password |
NAT if phone will be remote | |
DTMF | RFC2833 |
Insecure if phone is remote | |
Other | In Directory if wanted in Dial by Name |
General Settings | ||
---|---|---|
Extension for checking messages | *85 | |
Direct Voicemail Dial | Yes | Allows transfer direct to voicemail |
Playback Options | Personal preferences | |
Email Settings | ||
Attach | Yes | |
Subject | Voice Message from ${VM_CALLERID} | |
Message | ${VM_NAME}, you were left a voice message…\n\nFrom: ${VM_CALLERID}\nDate: ${VM_DATE}\nDuration: ${VM_DUR} |
Name | All Phones |
---|---|
Extension | 20 |
Simultaneous Ringing | |
Goto | Voice Menu (Daytime) |
Dial Options | t, T, k, K | |
Extension to Dial to Park a Call | 70 | |
Extensions for Parked Calls | 71-72 | |
Parked Call Timeout (in secs) | 60 | 1 minute before rings back to parker |
You can also edit features.conf for more functionality:
pickupexten = ** ; Configure the pickup extension
Choose extension number | 25 |
one-way paging | |
two-way intercom | |
select members |
Directory Extension | 75 |
Record a greeting (recording) for your IVR.
Don't add extensions to filenames in IVRs or Asterisk won't find the files.
Name | Daytime |
---|---|
Extension | 60 |
Allow dialing extensions | No |
Actions | |
---|---|
Ringing | |
Answer | |
Background | ./record/daytime |
WaitExten | 5 |
Background | ./record/daytime |
WaitExten | 5 |
Play | thank-you-for-calling |
Play | goodbye |
Hangup |
Allow KeyPress Events | Destination | Description |
---|---|---|
0 | Operator | |
1 | Ext 10 | Gene |
2 | Ext 11 | Luly |
3 | Ext 12 | Grace |
9 | Goto VoiceMenu | DisaUnrestricted |
* | Ext *85 | Check Voicemail |
t | Hangup | Timeout |
i | (Advanced Edit) |
exten=i,1,Playback(invalid) exten=i,2,Goto(s,4) ;go to step 4 of this same IVR
Daytime | 8:00 to 21:00 |
Create rules for specific DIDs plus two 'catchall' rules.
Pattern | Description |
---|---|
_800X. | Inbound toll free |
_212X. | New York numbers |
_415X. | San Francisco numbers |
_X. | calls to any DID not previously matched |
s | Case where no DID is provided |
Analog trunks land on 's' |
http://kb.digium.com/entry/893/
Backup pbx.js before modification:
cp -a /var/lib/asterisk/static-http/config/js/pbx.js /var/lib/asterisk/static-http/config/js/pbx.js.bak vi /var/lib/asterisk/static-http/config/js/pbx.js
Use Voice Menus to create and access your custom features.
Name | Echo Test |
---|---|
Extension | 65 |
Add new step | |
Playback | demo-echotest |
Custom App | Echo |
Playback | demo-echodone |
Hangup |
Is analogous to this custom app:
exten => 65,1,Playback(demo-echotest) ; Let them know what's going on exten => 65,n,Echo ; Do the echo test exten => 65,n,Playback(demo-echodone) ; Let them know it's over exten => 65,n,Hangup
Use this to test MoH:
MusicOnHold() |
Hangup |
Use this for DISA:
Playback | enter-password |
DISA | your DISA passcode |
Hangup |
Below Not Complete
#include extensions-custom.conf
vim /etc/asterisk/extensions-custom.conf [DLPN_DialPlan1]+ ; Choose a dialplan context to extend using the plus sign ; ; Create an extension, 66, for evaluating echo latency. ; exten => 66,1,Playback(demo-echotest) ; Let them know what's going on exten => 66,n,Echo ; Do the echo [[test]] exten => 66,n,Playback(demo-echodone) ; Let them know it's over exten => 66,n,Hangup ;
Hmm. It seems that the Asterisk-GUI will incorporate the included file into extensions.conf, then delete the #include line. Then, if you modify and save DialPlan1 (in this case), the changes are wiped out completely.
Polycom only, AFAICT.
Backup hangs:
Check permissions on /var/lib/asterisk/gui-backups. The mini-httpd server runs as nobody on AstLinux…