README-FIRST.txt Astlinux Instructions for SIP.edu Installations 2005-12-18 v1.1 jtodd@tello.com http://www.loligo.com/asterisk/sipedu INTRODUCTION Here are some basic instructions for getting a Soekris 4801 with Sangoma card to work with Astlinux as a basic SIP VoIP gateway using Asterisk, attached to a legacy PBX or switch via a PRI. This set of instructions should be treated more as a "guideline" than a literal guide, even though it is written with explicit instructions. These instructions assume a reasonable amount of UNIX literacy. Only a few files need to be modified for the "standard" SIP.edu termination/origination. If you have a different configuration requirement set (i.e.: a channelized T1 instead of a PRI) then you may refer to Asterisk documentation as to how to change Asterisk's configurations to support the different line encodings. In addition to providing gateway services, Asterisk also will serve as a small-scale registrar and call router for user-agent devices such as SIP hardphones and softphones. It is an ideal testbed for having several dozen or more handsets which then register to this device as a test lab. It is not suggested that more than 100 devices register to a Soekris, but if this configuration is installed on a larger non-embedded platform it may scale significantly further, to thousands of users. However, by that point more extensive consultations on Asterisk installations should be made or learned. This configuration example is for SIP.edu users, but any Astlinux user may find the methods enclosed useful for their own implementation of Astlinux on Soekris 4801 platforms. The Astlinux system is a basic Linux kernel plus Asterisk, and drivers for the Sangoma T1/E1 A101/2 cards. You can find the Soekris 4801 with Sangoma bundle here: http://www.soekris.com/bundles.htm (pricelist item 11480153 - ~$646) Make sure you also buy a 110v power adapter (pricelist item 31321215, ~$15) with your order. You'll also need a 64mb or larger Compact Flash card from a third party (32m is fine for the "base" install of Astlinux, but the extra features take up more space so a larger CF card is required for the two extra partitions.) Sandisk brand cards are recommended. Astlinux assumes that you are going to be running on a Compact Flash card AND a USB keydisk. However, since this system will see very little modification and no "active" filesystem components like voicemail, we can leave everything on the Compact Flash which means there a few "different" things that are implied in our configuration, most notably that /mnt/kd is on the CF card and not on an external USB flash disk. All of the config files and settings will be stored on the CF disk and there will be NO USB keydisk required. There are some shortcomings to this, notably that logfiles are not stored across reboots. However, the lack of additional (fragile) components may be seen to make up for the lack of logfiles. This installation is designed to be not only a mostly-shrinkwrapped version of Asterisk and Linux on a Soekris install platform, but it is also a guide for those who wish to create the configuration from scratch. All steps in the process were documented and are included in a Do-It-Yourself (DIY) file. Capabilities: - 23 channels of SIP<->PRI interconnection - PRI->SIP lookups/dialing of E.164 numbers in ENUM (various "root" trees) - PRI->SIP lookups/dialing of E.164 numbers in Tello database (optional) - PRI->SIP lookups/dialing of ISN (ITAD Subscriber Numbers) - SIP->PRI mapping/dialing of partial/complete E.164 numbers on PBX - SIP->PRI mapping/dialing of usernames to partial/complete E.164 numbers on PBX - SIP->SIP mapping/dialing of endpoints for registered extensions FILES - README-FIRST.txt : This file. - README-QUICKSTART.txt : Instructions for using the Compact Flash image to get a Soekris 4801/Sangoma combination running in a short timeframe. Load the CF card, boot the Soekris, edit a few files and parameters to suit your site, and start testing. - SIP.edu-Install-Questions.txt : For the truly lazy or resource-less, fill out this form and all the work will be done for you for a slight delay and a few dollars. You still need to buy the Soekris box. - Astlinux-0.2.9.1-SIP.edu-v1.0-net4801.img.gz : Compact Flash disk image with all necessary components for a 64mb CF card to boot in a Soekris. See README-QUICKSTART.txt for loading instructions. The filename denotes Astlinux 0.2.9.1 and SIP.edu config version 1. - configs/* : Various files which were modified and overlaid into the Asterisk configuration directory, for those who wish to build the system from scratch. Not necessary for anyone just using the "pre-cooked" disk image. This directory only includes the Asterisk configurations. - README-DIY.txt : a step-by-step conversion guide for turning a "bare" Astlinux installation into this distribution. Not necessary for anyone just using the "pre-cooked" instructions with the CF image included. INSTALLATION There are three ways that you can get this running on a device of your own. Choose one: 1) Download the Compact Flash image that is supplied and copy it to your compact flash card, avoiding a lot of the operating system fiddling and file manipulation. Only modification of a few files is required to get running. Please purchase a Sandisk brand card to avoid problems. See the file "README-QUICKSTART.txt" for instructions on this method. 2) Download everything from the relevant locations, follow the extensive instructions below to get the Soekris system up and running in a suitable manner, and install/edit the sample Asterisk files. See the README-DIY.txt file and the configs/* files as a primary guide for this method. 3) Send in the form labelled "SIP.edu-Install-Questions.txt" to jtodd@tello.com, send him $25 via PayPal, and a pre-formatted and configured 64mb Compact Flash card will appear in your mailbox in a few days, ready for installation and operation. HARDWARE As noted above, this installation is custom-designed for the Soekris 4801 with Sangoma card but the example Asterisk configurations can be used in any T1-capable Asterisk system. The Sangoma card in the Soekris is equivalent to one of the Digium cards (T100P) if you are installing this from the config files and ignoring the operating system portion of this install. YOU WILL NEED TO CONNECT YOUR PBX VIA A CROSSOVER CABLE. Google can help you find instructions for building a T1 crossover cable. The configs assume that your PBX will require a "Telco" signalling pattern from the Asterisk server, as if the Asterisk system is a Class 4 or Class 5 switch sitting in a central office. You can change this by examining the configuration options in ./asterisk/zapata.conf and changing the "signalling" values at the bottom of the file. If you choose to just install Linux on some other platform and get these configs operational on them, a 1ghz PIII or better is suggested. For transcoding (if you require it), much faster processors are better but are beyond the scope of this document to describe. MISC NOTES - There currently is the ability to include SIP name-to-number mapping via editing a text file on a web server. This allows an administrative person to make wholesale changes (via Excel, perhaps?) to a name-to-number list, and then allow that list to be uploaded to the server easily. Of course, this could be done through the web interface on the Astlinux system, but there are no granular controls for access on that interface - it's an "all-or-nothing" proposition. - The Flash Operator Panel is currently not supported running on this system, since perl is not included in the distribution. However, you can get it running on some other Linux/*BSD machine somewhere and connect via the manager interface. See http://www.asternic.net/ for this useful program; I would strongly suggest learning how it works, as it is helpful for seeing a "live" status of what your Asterisk server is doing. Hopefully I will put some basic config files in place soon for this distribution, but until then you will need to just learn how it works yourself. - LDAP modules are currently not supported. Kristian Kielhofner has graciously included LDAP libraries and the app_LDAPget module in Asterisk, but it currently fails for reasons beyond my understanding. I am corresponding with the author to try to repair. (2005-12-11) - More data about Astlinux can be obtained from the files located at http://mirror.astlinux.org/ including installation guides, development environments, and other support files. I cannot answer any of the questions you may have about Astlinux with much authority - you'll need to wrestle with those issues yourself if you wish to get more sophisticated than what comes "out-of-the-box." THANKS TO - Kristian Kielhofner created the Astlinux distribution upon which this entire configuration relies. He's a consultant for various Asterisk projects, and can be reached at krisk@krisk.org. You can also send him a donation for his open-source efforts at paypal@krisk.org if you are feeling generous! - Dennis Baron at MIT and Ben Teitelbaum at Internet2, for being interested in SIP and interconnectivity on the Internet in general and pushing this important agenda within the educational community - My employer, Tello Corporation (http://www.tello.com/) for providing equipment for me to test with and encouragement for working on side projects which benefit the community at large. - Digium, for continuing to support Asterisk and for their great hardware and software innovations that make this package possible MORE DATA - I strongly suggest the O'Reilly book: "Asterisk - The Future of Telephony" as a starting point for understanding more about Asterisk. Understanding the dialplan is vital for tuning this system to work with your installation; every site will be slightly different. - See http://www.voip-info.org/ for an extensive (if a bit disjointed) archive of examples, hints, and discussion relating to Asterisk.