<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3623777444183331031</id><updated>2011-08-01T05:55:13.038-07:00</updated><category term='module'/><category term='freepbx'/><category term='windows integration smeserver samba shares domain admin'/><category term='wake-up calls'/><category term='smeserver 8 im'/><title type='text'>AkiliSoft</title><subtitle type='html'>Unified Communications</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>26</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-2055342694974981648</id><published>2009-11-19T18:46:00.000-08:00</published><updated>2009-11-19T19:08:29.559-08:00</updated><title type='text'>How to find Static IP Address</title><content type='html'>1. Get the MAC address from the phone.&lt;br /&gt;2. Put Protocol sniffer (like Wireshark) on hub w/ Phone and PC.&lt;br /&gt;3. On windows PC:&lt;br /&gt;&lt;br /&gt; arp -s (unused IP on LAN) (MAC of phone  entered like 00-aa-00-62-c6-09)&lt;br /&gt;&lt;br /&gt;4. On PC, ping IP:&lt;br /&gt;&lt;br /&gt;ping (unused IP selected)&lt;br /&gt;&lt;br /&gt;5. Check Protocol sniffer for responses from phone's MAC address.&lt;br /&gt;6. I think that you should see it's real IP in the ARP packets coming from the phone.&lt;br /&gt;7. Set your PC up with an address on the subnet of the phone.&lt;br /&gt;8. Telnet or http into the phone/device. &lt;br /&gt;This is probably assuming that the default password hasn't changed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-2055342694974981648?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/2055342694974981648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=2055342694974981648' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/2055342694974981648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/2055342694974981648'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/11/how-to-find-static-ip-address.html' title='How to find Static IP Address'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-5642331645188279832</id><published>2009-09-18T07:34:00.000-07:00</published><updated>2009-09-18T07:38:43.839-07:00</updated><title type='text'>Digium PCI Telephony card Stability Issues</title><content type='html'>How to solve Digium PCI Telephony card Stability Issues   &lt;br /&gt;&lt;br /&gt;This guide is mainly related to TE122P stability issues which are being experienced by some users of Asterisk®. Naturally, this also applies to Elastix® and other distribtions that use Asterisk®. This guide can also be applied to any other Digium® products that you might be having issues with and is a guide for good practice in any case. This has been confirmed with both Elastix® and some other ISO based distributions.&lt;br /&gt;&lt;br /&gt;In the last month, we had two systems that had similar issues, which was dropping of calls at random times during the day. Its one of those problems that is not easy to diagnose, even down to using PRI Debug, it looks like the carrier equipment has failed for a brief period. So naturally you follow up with the carrier, asking them to look at the line to see if they have any issues.&lt;br /&gt;&lt;br /&gt;The reason why I mention two machines, was that they were about 14 months apart in motherboard design (although similar), and it would be beneficial to see if the same correction applied to both would correct the issue, giving us some confidence that this was a step in the right direction. It has also been reported by others that this occurs on both AMD® and Intel® Chipset motherboards&lt;br /&gt;&lt;br /&gt;To confirm you have a similar issue, the symptoms/issues that you may come across are:&lt;br /&gt;&lt;br /&gt;1)    Calls being dropped (Due to Red Alarm)&lt;br /&gt;2)    Red Alarms occurring on a regular basis, usually at least 10 per day (as evidenced in the Asterisk Logs)&lt;br /&gt;3)    Red Alarms occurring for less than a second&lt;br /&gt;4)    When using a Asterisk® Based distribution such as Elastix®, initial format and install is quite slow (15 min format on 120Gb, and 26 min install of ISO as opposed to 3 min format and 6-8 min install of ISO)&lt;br /&gt;5)    ZTTool showing an ever increasing increase in the Interrupt misses.&lt;br /&gt;6)    The faster the machine, the faster the Interrupt misses increase, and also naturally the more often the call drop outs.&lt;br /&gt;&lt;br /&gt;Many of us are aware of the interrupt issue where it is always good practice to make sure that the Digium® cards are on their own interrupt (e.g. not sharing with another device), and this includes many of the Digium® Range, as missed interrupts can cause different issues on different cards. As an example the TDM400P with missed interrupts, can result in crackle on the line, or hissing/popping noises. Many of us have become blaise about this interrupt issue as OS software has improved, drivers have improved, APIC has improved and for many it has not presented any issue.&lt;br /&gt;&lt;br /&gt;However, with some of the later motherboards, especially with some of the more "generic" boards, they have been making reasonable changes which include less PCI Slots, changing from IDE to SATA, which also includes support of both hard drive types (including mixing), and many other small changes. These changes are making an impact as we found out recently. It is necessary to move back to confirming that the interrupts are not conflicting with the DIGIUM® Cards. At this point it should be noted that these rules should not only apply to Digium® cards but any other cards used for Telephony.&lt;br /&gt;&lt;br /&gt;The same emphasis that you place on good network infrastructure, WAN Quality of Service, traffic prioritisation, should equally apply to the telephony card that you install. Those same "realtime traffic" rules that you steadfastly apply to your Local Area Network and Wide Area Network should apply to your Telephony interface.&lt;br /&gt;&lt;br /&gt;To resolve this issue, we used a few "tools" that are available on the system. You don't need to install any additional software. The first one is the simple command&lt;br /&gt;&lt;br /&gt;#cat /proc/interrupts&lt;br /&gt;&lt;br /&gt;                   CPU0    CPU1&lt;br /&gt;  0:      56986323          0    IO-APIC-edge  timer&lt;br /&gt;  6:                      5          0    IO-APIC-edge  floppy&lt;br /&gt;  8:                      3          0    IO-APIC-edge  rtc&lt;br /&gt;  9:                      0          0    IO-APIC-level  acpi&lt;br /&gt;193:        990440          0    IO-APIC-level  libata, wcte12x[p]&lt;br /&gt;201:   56975304          0    IO-APIC-level  eth0&lt;br /&gt;NMI:                   0          0&lt;br /&gt;LOC: 55878552          55878496&lt;br /&gt;ERR:                 0&lt;br /&gt;MIS:                   0&lt;br /&gt;&lt;br /&gt;This straight away tells us that the SATA Interface/Driver and the TE122/Driver are sharing the same interrupt on the system.&lt;br /&gt;&lt;br /&gt;Another tool is using ZTTEST which runs a test to confirm whether we had some easy to recognise Interrupt issues&lt;br /&gt;&lt;br /&gt;root@elastix ~]# zttest -v&lt;br /&gt;Opened pseudo zap interface, measuring accuracy...&lt;br /&gt;&lt;br /&gt;8192 zaptel samples in 8191.664 system clock sample intervals (99.996%)&lt;br /&gt;8192 zaptel samples in 8191.016 system clock sample intervals (99.988%)&lt;br /&gt;8192 zaptel samples in 8191.543 system clock sample intervals (99.994%)&lt;br /&gt;8192 zaptel samples in 8191.520 system clock sample intervals (99.994%)&lt;br /&gt;8192 zaptel samples in 8191.512 system clock sample intervals (99.994%)&lt;br /&gt;8192 zaptel samples in 8191.424 system clock sample intervals (99.993%)&lt;br /&gt;8192 zaptel samples in 56191.512 system clock sample intervals (0.146%) &lt;==== The blip&lt;br /&gt;8192 zaptel samples in 8191.480 system clock sample intervals (99.994%)&lt;br /&gt;8192 zaptel samples in 8191.423 system clock sample intervals (99.993%)&lt;br /&gt;8192 zaptel samples in 8191.456 system clock sample intervals (99.993%)&lt;br /&gt;8192 zaptel samples in 8191.472 system clock sample intervals (99.994%)&lt;br /&gt;8192 zaptel samples in 8191.440 system clock sample intervals (99.993%)&lt;br /&gt;8192 zaptel samples in 8191.496 system clock sample intervals (99.994%)&lt;br /&gt;8192 zaptel samples in 8191.464 system clock sample intervals (99.993%)&lt;br /&gt;8192 zaptel samples in 8191.488 system clock sample intervals (99.994%)&lt;br /&gt;8192 zaptel samples in 8191.432 system clock sample intervals (99.993%)&lt;br /&gt;8192 zaptel samples in 8191.528 system clock sample intervals (99.994%)&lt;br /&gt;&lt;br /&gt;We run this test over several hours and noted that in general we were on target (on target is generally a figure of 99.97% or better), except for the occasional blip that you will notice in the listing above. Now generally we take the ZTTEST results with a grain of salt, but in this case, this blip was not something we had seen before, and secondly, the amount of times that it appeared over a two hour period, seemed to roughly correalate to the timing that the system dropped the calls. Secondly, it appeared that the IRQ misses that we saw before, seemed to increase each time this blip appeared.&lt;br /&gt;&lt;br /&gt;Last but not least we used the&lt;br /&gt;&lt;br /&gt;lspci -vb command&lt;br /&gt;&lt;br /&gt;What this provided was very detailed information on how the cards/devices were seen at both the bus level and also at the OS level.  The output we saw was as follows&lt;br /&gt;&lt;br /&gt;[root@elastix asterisk]# lspci -vb&lt;br /&gt;&lt;br /&gt;00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Co&lt;br /&gt;ntroller (rev 01) (prog-if 8f [Master SecP SecO PriP PriO])&lt;br /&gt;        Subsystem: Giga-byte Technology Unknown device b002&lt;br /&gt;        Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 5&lt;br /&gt;        I/O ports at d400&lt;br /&gt;        I/O ports at d800&lt;br /&gt;        I/O ports at dc00&lt;br /&gt;        I/O ports at e000&lt;br /&gt;        I/O ports at e400&lt;br /&gt;        Capabilities: [70] Power Management version 2&lt;br /&gt;&lt;br /&gt;00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)&lt;br /&gt;        Subsystem: Giga-byte Technology Unknown device 5001&lt;br /&gt;        Flags: medium devsel, IRQ 5&lt;br /&gt;        I/O ports at 0500&lt;br /&gt;&lt;br /&gt;02:00.0 Ethernet controller: Digium, Inc. Unknown device 8001 (rev 11)&lt;br /&gt;        Subsystem: Digium, Inc. Unknown device 8001&lt;br /&gt;        Flags: bus master, medium devsel, latency 64, IRQ 5&lt;br /&gt;        I/O ports at a000&lt;br /&gt;        Memory at e1000000 (32-bit, non-prefetchable)&lt;br /&gt;        Capabilities: [c0] Power Management version 2&lt;br /&gt;&lt;br /&gt;02:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139&lt;br /&gt;C+ (rev 10)&lt;br /&gt;        Subsystem: Realtek Semiconductor Co., Ltd. RT8139&lt;br /&gt;        Flags: bus master, medium devsel, latency 64, IRQ 9&lt;br /&gt;        I/O ports at a400&lt;br /&gt;        Memory at e1001000 (32-bit, non-prefetchable)&lt;br /&gt;        Capabilities: [50] Power Management version 2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(*Note - I have only included a few relevant lines.)&lt;br /&gt;&lt;br /&gt;Now the normal routine is to relocate the TE122P into a different slot on the motherboard, which in most cases will change the IRQ that the TE122 will use, usually correcting the issue.&lt;br /&gt;&lt;br /&gt;So Our interrupts now look like this&lt;br /&gt;&lt;br /&gt;cat /proc/interrupts&lt;br /&gt;                     CPU0     CPU1&lt;br /&gt;  0:       56986323          0    IO-APIC-edge  timer&lt;br /&gt;  6:                       5          0    IO-APIC-edge  floppy&lt;br /&gt;  8:                       3          0    IO-APIC-edge  rtc&lt;br /&gt;  9:                       0          0   IO-APIC-level  acpi&lt;br /&gt;193:         990440          0   IO-APIC-level  libata, eth0&lt;br /&gt;201:    56975304          0   IO-APIC-level  wcte12x[p]&lt;br /&gt;NMI:                    0           0&lt;br /&gt;LOC:  55878552           55878496&lt;br /&gt;ERR:                  0&lt;br /&gt;MIS:                    0&lt;br /&gt;&lt;br /&gt;If anyone is watching, you will notice that we switched the position of our Ethernet Card and the TE122P card in the PCI Slots. But we now have the desired results that we were looking for which is the TE122P now sitting on an Interrupt of its own.&lt;br /&gt;&lt;br /&gt;Normally this would correct things, but what was interesting was our interrupts continued to climb. It appeared that all that we have been taught about interrupts and TE122P was wrong. Suspicions continued....did we have a faulty card? This was discounted straight away as we had two systems doing the same thing, the only thing that was the same was the carrier, although these were two separate locations, so again this was discounted, and we were left with the machine.&lt;br /&gt;&lt;br /&gt;After many, many hours, working through all the BIOS options, disabling devices, trying IDE Drives instead of SATA Drives etc etc...we finally made a change which surprised us. Changing the SATA mode in the BIOS from Auto (which is the default on all these motherboards) to SATA Enhanced resulted in the interrupt misses becoming rock solid after boot up. It was the last thing we wanted to change, as we were using a IDE DVDROM drive (which many of the system builders are still supplying).&lt;br /&gt;&lt;br /&gt;If the system is using SATA Hard Drive and a IDE CDROM, the system, in Auto mode selects the PATA/SATA mode to support both devices and it appears that this mode is causing a large amount of the issues. Whether it is a combination of the LIBATA Driver and this PATA/SATA compatibility mode, we cannot be sure which is causing the issue. But taking a huge guess, I suspect that this mode is causing clock cycles to be missed or "stolen" resulting in the interrupt misses.&lt;br /&gt;&lt;br /&gt;What further backs up that we had found the device that was causing the issue, was the fact that now, upon installing the ISO Distribution again, the installation was back to lightning fast, with 3 mins for the format, and 5 or so minutes for the install.&lt;br /&gt;&lt;br /&gt;Naturally, to confirm that we have found the issue, we put everything back to defaults in the BIOS, we moved the cards back to the slots that we had previously, and run the same tests, reinstalled the ISO, which went back to the very long install time, and then checked the interrupts and found them climbing again. This time, we made just the change to the SATA settings in BIOS, and whilst this defintely slowed the interrupt misses, but they were still climbing, but only at a rate of 2 or so every minute, which was a lot better, but not the rock steady position that we had with both corrections.&lt;br /&gt;&lt;br /&gt;So to summarise, it appears that the two issues together were causing the Interrupt misses that we had, which were&lt;br /&gt;&lt;br /&gt;1) The LIBATA and the WCTE12x[p} driver cannot be on the same interrupt&lt;br /&gt;2) The SATA Driver must be set to ENHANCED MODE (to reduce the possibility that the system selects PATA/SATA mode) which means that you need to be using a SATA (not IDE) CDROM or DVDROM, otherwise it may be disabled&lt;br /&gt;&lt;br /&gt;Further evidence has been reviewed on Google, that similar issues are being found on Linux and other Operating Systems with handling of Dual IDE and SATA. What was interesting is that on one motherboard that we applied these changes, we lost access to the IDE Drive, on the other it appeared to still function with and IDE DVD Drive, while in SATA Enhanced mode. It clearly shows that the board manufactures have not got this mode working correctly, and it appears to affect many other boards as well including SuperMicro, ASUS and many others.&lt;br /&gt;&lt;br /&gt;Anyhow, we made the changes above to two machines which were defintely suffering from the issue, and we can confirm that they have been in place now for several weeks withour an interrupts miss or any issues (which is what we wanted).&lt;br /&gt;&lt;br /&gt;Hope this helps others with similar issues.&lt;br /&gt;&lt;br /&gt;Source;&lt;br /&gt;http://www.elastixconnection.com/index.php?option=com_content&amp;task=view&amp;id=60&amp;Itemid=77&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-5642331645188279832?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/5642331645188279832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=5642331645188279832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/5642331645188279832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/5642331645188279832'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/09/digium-pci-telephony-card-stability.html' title='Digium PCI Telephony card Stability Issues'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-890373434415057452</id><published>2009-09-11T20:52:00.000-07:00</published><updated>2009-09-11T20:55:21.815-07:00</updated><title type='text'>Receive and Send Fax with Asterisk 1.4/1.6</title><content type='html'>Receiving and sending faxes with asterisk 1.4, NVFaxDetect, iaxmodem and hylafax    &lt;br /&gt;&lt;br /&gt;UPDATE: Changes to mutex usage in Asterisk 1.4.23 cause NVFax to cease to compile properly, see below for updated files that compile with 1.4.23.1&lt;br /&gt;&lt;br /&gt;We have bridged our HylaFax server with our Asterisk server in order to be able to send and receive faxes over VOIP phone lines and to eliminate dedicated PSTN phone lines hooked up directly to modems on our HylaFax server. A lot of documentation floating around on the internet states that VOIP phone lines are not really suited to send/receive faxes. We have found out that it mostly depend on the providers you are using and on your network connectivity quality.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Note: To be able to send/receive faxes over IP, your provider has to support the ulaw codec (alaw in Europe and other areas). gsm, g729 and other compression codecs won't work.&lt;br /&gt;We obtain virtually 100% successful completion for fax transmissions (20 pages per transmission in our tests) with one specific provider while it doesn't work at all with other providers.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Note although that the setup described is this article is also convenient if your faxes come in through PSTN lines (conventional copper wire lines) hooked up to your asterisk server. We used to have dedicated PSTN lines hooked up directly to physical hardware modems on our HylaFax server. We moved those lines to Asterisk and it forwards the call to virtual modems (iaxmodems) running on the HylaFax server residing on the same LAN. Note that there is zero degradation in fax transmission over an iax2 channel on the LAN (Local Area Network).&lt;br /&gt;&lt;br /&gt;Iaxmodem documentation states that it should only be used to connect to an Asterisk server over a LAN connection, there is no degradation in fax transmission over an iax2 channel on a LAN. So if you receive fax phone calls over VOIP from the internet, Asterisk will be in charge of dealing with your VOIP provider to insure that the fax is transmitted correctly. If your asterisk server receives fax phone calls over traditional PSTN copper wire lines, you will experience zero fax transmission problems with the setup defined in this article.&lt;br /&gt;&lt;br /&gt;Iaxmodem is viewed as an IAX2 extension from Asterisk. It allows you to use any other software at your convenience beside HylaFax to handle the faxes. From linux or hylafax, the virtual iaxmodem is just viewed as a standard hardware fax-modem that could be connected to your system.&lt;br /&gt;&lt;br /&gt;What is needed:&lt;br /&gt;&lt;br /&gt;At minimum, if you have a dedicated number for your fax machine and you don't need to detect incoming fax tones from a human person you will need:&lt;br /&gt;&lt;br /&gt;    * Iaxmodem (Click to download)&lt;br /&gt;&lt;br /&gt;If you need to detect incoming fax tones in order to be able to share your fax lines with human voice, you will need to recompile asterisk with NVFaxdetect support, simply compile Asterisk after adding the following files into the apps folder in the asterisk sources. The Makefile is just the genuine Makefile with the NVfax apps added into it like this:&lt;br /&gt;&lt;br /&gt;APPS+=app_nv_faxdetect.so&lt;br /&gt;APPS+=app_nv_backgrounddetect.so&lt;br /&gt;&lt;br /&gt;    * Asterisk sources&lt;br /&gt;    * apps/app_nv_faxdetect-1.0.6_1.c&lt;br /&gt;    * apps/app_nv_backgrounddetect-1.0.6_1.c&lt;br /&gt;    * apps/Makefile&lt;br /&gt;&lt;br /&gt;UPDATE: For Asterisk 1.4.23.1 and probably for future Asterisk releases, use the following NVFax files instead:&lt;br /&gt;&lt;br /&gt;    * apps/app_nv_faxdetect-1.0.6_1-foras1.4.23.1.c&lt;br /&gt;    * apps/app_nv_backgrounddetect-1.0.6_1-foras1.4.23.1.c&lt;br /&gt;&lt;br /&gt;Note: If you downloaded and installed Asterisk from a pre-compiled distribution repository (yum install, trixbox, etc.), you may already have NVFax support built-in to your Asterisk server. Just type the following command to find out, if the modules are there, you already have support for NVFax and you can skip this step.&lt;br /&gt;&lt;br /&gt;$ ls /usr/lib/asterisk/modules/app_nv_*&lt;br /&gt;&lt;br /&gt;/usr/lib/asterisk/modules/app_nv_backgrounddetect-1.0.6_1.so&lt;br /&gt;&lt;br /&gt;/usr/lib/asterisk/modules/app_nv_faxdetect-1.0.6_1.so&lt;br /&gt;&lt;br /&gt;Note2: If your fax calls come in exclusively through PSTN lines, you do not need NVFax, just use Zaptel for fax detection. Zaptel fax detection is bundled with every asterisk distribution as far as we can tell. We do not really know because our PSTN lines are hooked to a GXW4104 IP Analog Gateway that forwards PSTN fax calls to our Asterisk server through VOIP. We do not use Zaptel, except ztdummy with high resolution timer kernel support for timing.&lt;br /&gt;&lt;br /&gt;You will also need a software to handle faxes coming into or going out from your iaxmodem, we use HylaFax:&lt;br /&gt;&lt;br /&gt;    * HylaFax (Click to download)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Iaxmodem setup&lt;br /&gt;&lt;br /&gt;Download, compile and install iaxmodem. We built iaxmodem statically ( issuing the command "./build static" to build) and we have just copied the generated executable (iaxmodem) to /usr/local/bin&lt;br /&gt;&lt;br /&gt;Install the configuration file for your modem in /etc/iaxmodem (mkdir /etc/iaxmodem), we configured 2 faxes to be mapped to 2 extensions defined in asterisk configuration; extension 125 and extension 126:&lt;br /&gt;&lt;br /&gt;extension 125 file in /etc/iaxmodem/tty125 :&lt;br /&gt;&lt;br /&gt;device /dev/tty125&lt;br /&gt;owner uucp:uucp&lt;br /&gt;mode 660&lt;br /&gt;port 4570&lt;br /&gt;refresh 1800&lt;br /&gt;server 10.10.1.20&lt;br /&gt;peername 125&lt;br /&gt;secret XXXXX&lt;br /&gt;cidname Technologies OC9-ACTS&lt;br /&gt;cidnumber 5555551212&lt;br /&gt;codec ulaw&lt;br /&gt;&lt;br /&gt;extension 126 file in /etc/iaxmodem/tty126 :&lt;br /&gt;&lt;br /&gt;device /dev/tty126&lt;br /&gt;owner uucp:uucp&lt;br /&gt;mode 660&lt;br /&gt;port 4571&lt;br /&gt;refresh 1800&lt;br /&gt;server 10.10.1.20&lt;br /&gt;peername 126&lt;br /&gt;secret XXXXX&lt;br /&gt;cidname Technologies OC9-ACTS&lt;br /&gt;cidnumber 5555551212&lt;br /&gt;codec ulaw&lt;br /&gt;&lt;br /&gt;We arranged so that iaxmodem starts automatically by adding the following to our rc.local file :&lt;br /&gt;&lt;br /&gt;/usr/local/bin/iaxmodem&lt;br /&gt;&lt;br /&gt;Note: Do not put any other file in /etc/iaxmodem if you use the above command. We left a text file that didn't look at all like an iaxmodem config file but still, iaxmodem read that file and locked up the default iax2 port (4569) on the machine! ;-)&lt;br /&gt;&lt;br /&gt;With no option given, iaxmodem just automatically reads all files in /etc/iaxmodem and configures all virtual modems accordingly. We defined extension 125 and 126 with the same passwords in asterisk.On startup iaxmodem registers extension 125 and 126 with the asterisk server. We can see this by running the following command:&lt;br /&gt;&lt;br /&gt;asterisk -r -x "iax2 show peers"&lt;br /&gt;&lt;br /&gt;126 192.168.11.138 (D) 255.255.255.255 4571 OK (2 ms)&lt;br /&gt;125 192.168.11.138 (D) 255.255.255.255 4570 OK (2 ms)&lt;br /&gt;&lt;br /&gt;At this point asterisk is ready to forward calls to the 2 iaxmodems. We have a dedicated fax number, we just mapped that number to extension 125 in FreePBX incoming routes and asterisk forwards all calls to that number to the iaxmodem virtual fax.&lt;br /&gt;&lt;br /&gt;Setting up fax tone detection&lt;br /&gt;&lt;br /&gt;This step is only required if you want to share your fax lines with human voice. Basically, NVFaxdetect will listen for fax tones when a call comes into asterisk. If it hears fax tones, it will forward the call to extension 126 otherwise, the call is just normally forwarded to our IVR (automated digital receptionist).&lt;br /&gt;&lt;br /&gt;To enable Asterisk to use NVFax to detect incoming faxes, we simply need to recompile it after adding the files listed above in the "What is needed" section.&lt;br /&gt;&lt;br /&gt;We can now enable fax detection in FreePBX incoming route, specifying to forward the call to extension 126 if fax tones are detected. 5 seconds is the recommanded time to listen for fax tones before passing the call to the IVR or to a human. A human caller will simply hears an additional ring tone during that 5 seconds.&lt;br /&gt;&lt;br /&gt;HylaFax configuration&lt;br /&gt;&lt;br /&gt;Note that you can use any software to pickup and send faxes from/to the iaxmodems, we just use Hylafax. Here is our HylaFax config file so that it can talk with the iaxmodem on extension 125:&lt;br /&gt;&lt;br /&gt;file in /var/spool/hylafax/etc/config.tty125 :&lt;br /&gt;&lt;br /&gt; CountryCode:            1&lt;br /&gt;AreaCode:               418&lt;br /&gt;FAXNumber:              +1.555.555.1212&lt;br /&gt;LongDistancePrefix:     1&lt;br /&gt;InternationalPrefix:    011&lt;br /&gt;DialStringRules:        etc/dialrules&lt;br /&gt;ServerTracing:          1&lt;br /&gt;SessionTracing:         11&lt;br /&gt;RecvFileMode:           0660&lt;br /&gt;LogFileMode:            0600&lt;br /&gt;DeviceMode:             0600&lt;br /&gt;RingsBeforeAnswer:      1&lt;br /&gt;SpeakerVolume:          off&lt;br /&gt;GettyArgs:              "-h %l dx_%s"&lt;br /&gt;LocalIdentifier:        "OC9 Technologies"&lt;br /&gt;TagLineFont:            etc/lutRS18.pcf&lt;br /&gt;TagLineFormat:          "From %%l|%c|Page %%P of %%T"&lt;br /&gt;MaxRecvPages:           175&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;# Modem-related stuff: should reflect modem command interface&lt;br /&gt;# and hardware connection/cabling (e.g. flow control).&lt;br /&gt;#&lt;br /&gt;ModemType:              Class1          # use this to supply a hint&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Enabling this will use the hfaxd-protocol to set Caller*ID&lt;br /&gt;#&lt;br /&gt;#ModemSetOriginCmd:     AT+VSID="%s","%d"&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# If "glare" during initialization becomes a problem then take&lt;br /&gt;# the modem off-hook during initialization, and then place it&lt;br /&gt;# back on-hook when done.&lt;br /&gt;#&lt;br /&gt;#ModemResetCmds:        "ATH1\nAT+VCID=1"       # enables CallID display&lt;br /&gt;#ModemReadyCmds:        ATH0&lt;br /&gt;&lt;br /&gt;Class1AdaptRecvCmd:     AT+FAR=1&lt;br /&gt;Class1TMConnectDelay:   400             # counteract quick CONNECT response&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# If you have trouble with V.17 receiving or sending,&lt;br /&gt;# you may want to enable one of these, respectively.&lt;br /&gt;#&lt;br /&gt;Class1RMQueryCmd:      "!24,48,72,96"  # enable this to disable V.17 receiving&lt;br /&gt;Class1TMQueryCmd:      "!24,48,72,96"  # enable this to disable V.17 sending&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# You'll likely want Caller*ID display (also displays DID) enabled.&lt;br /&gt;#&lt;br /&gt;ModemResetCmds:         AT+VCID=1       # enables CallID display&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# The pty does not support changing parity.&lt;br /&gt;#&lt;br /&gt;PagerTTYParity:         none&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# If you are "missing" Caller*ID data on some calls (but not all)&lt;br /&gt;# and if you do not have adequate glare protection you may want to&lt;br /&gt;# not answer based on RINGs, but rather enable the CallIDAnswerLength&lt;br /&gt;# for NDID, disable AT+VCID=1 and do this:&lt;br /&gt;#&lt;br /&gt;#RingsBeforeAnswer: 0&lt;br /&gt;#ModemRingResponse: AT+VRID=1&lt;br /&gt;&lt;br /&gt;# Uncomment DATE and TIME if you really want them, but you probably don't.&lt;br /&gt;#CallIDPattern:          "DATE="&lt;br /&gt;#CallIDPattern:          "TIME="&lt;br /&gt;CallIDPattern:          "NMBR="&lt;br /&gt;CallIDPattern:          "NAME="&lt;br /&gt;CallIDPattern:          "ANID="&lt;br /&gt;#CallIDPattern:          "USER="        # username provided by call&lt;br /&gt;#CallIDPattern:          "PASS="        # password provided by call&lt;br /&gt;#CallIDPattern:          "CDID="        # DID context in call&lt;br /&gt;CallIDPattern:          "NDID="&lt;br /&gt;#CallIDAnswerLength:    4&lt;br /&gt;&lt;br /&gt;We now need to fork the usual Hylafax faxgetty to listen for incoming fax :&lt;br /&gt;&lt;br /&gt;in rc.local :&lt;br /&gt;&lt;br /&gt;/usr/local/sbin/faxgetty tty125 &amp;&lt;br /&gt;&lt;br /&gt;/usr/local/sbin/faxgetty tty126 &amp;&lt;br /&gt;&lt;br /&gt;as well as the usal daemons, see HylaFax documentation if you are interested in using it.&lt;br /&gt;&lt;br /&gt;in rc.local :&lt;br /&gt;&lt;br /&gt;/usr/local/sbin/hfaxd&lt;br /&gt;/usr/local/sbin/faxq&lt;br /&gt;&lt;br /&gt;Add-on&lt;br /&gt;&lt;br /&gt;View this free package: AvantFax. It allows you to let your users access fax functionality from a web browser. Some have used this package along with what is described in this article to set up pools of over 2000 iaxmodems and they have got so to speak in the fax sending/receiving outsourcing business.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;Commentaires / Comments (23)&lt;br /&gt;forward call to 125 extension&lt;br /&gt;1 vendredi, 07 décembre 2007 05:14&lt;br /&gt;spooky&lt;br /&gt;How can I perform fax detection and forward to extension 125 in asterisk 1,4 ? (No FreePBX)&lt;br /&gt;Re: forward call to 125 extension&lt;br /&gt;2 jeudi, 13 décembre 2007 23:37&lt;br /&gt;ls&lt;br /&gt;Hi,&lt;br /&gt;&lt;br /&gt;Note that 125 is just a random extension number we picked up for our examples, it can be any extension number.&lt;br /&gt;&lt;br /&gt;You can do the same in Asterisk 1.4 without FreePBX by manually editing your extension.conf file. Just follow the instructions in the article and edit your extension.conf manually instead of editing the extension settings in FreePBX.&lt;br /&gt;&lt;br /&gt;Here are the lines required to detect a FAX or send to an IVR in the incoming section of extention.conf :&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;exten =&gt; s,n,Set(FAX_RX=125)&lt;br /&gt;exten =&gt; s,n,Answer&lt;br /&gt;exten =&gt; s,n,Playtones(ring)&lt;br /&gt;exten =&gt; s,n,NVFaxDetect(5)&lt;br /&gt;exten =&gt; s,n,Goto(ivr-2,s,1)&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Just replace the lines in your configuration file that sends to the IVR with the above lines in order to first detect fax tones and reload Asterisk so it re-read its config files.&lt;br /&gt;tiff isues&lt;br /&gt;3 jeudi, 31 janvier 2008 10:21&lt;br /&gt;spooky&lt;br /&gt;I have managed to install hylafax.When a fax comes my asterisk forward the call to iaxmodem.Iaxmodem to hylafax . But when I try to see the fax,which is in tiff format,through webmin then I receive an error , That the file format is not supported or Image something is not installed on my machine . What may be the problem ?&lt;br /&gt;Re: tiff issue&lt;br /&gt;4 vendredi, 01 février 2008 00:34&lt;br /&gt;oc9&lt;br /&gt;Hi,&lt;br /&gt;&lt;br /&gt;If you got so far, it means you have successfully configured asterisk, iaxmodem and hylafax. Congratulations! ;-)&lt;br /&gt;&lt;br /&gt;As you may already understand, the tiff issue is not related to the fax setup.&lt;br /&gt;&lt;br /&gt;To be able to view faxes from webmin you should.&lt;br /&gt;&lt;br /&gt;1) Make sure the tiff mime type is defined in your apache configuration, in your apache folder, in conf/mime.types, you should have a line with :&lt;br /&gt;&lt;br /&gt;image/tiff tiff tif&lt;br /&gt;&lt;br /&gt;2) You will need a program that supports displaying multi-page tiff images.&lt;br /&gt;&lt;br /&gt;Do a search for "linux fax viewer" to find a program that displays multi-page tiff files correctly.&lt;br /&gt;&lt;br /&gt;On my linux desktop, I use :&lt;br /&gt;&lt;br /&gt;kfax (KDE fax viewer)&lt;br /&gt;&lt;br /&gt;To have mozilla open the tiff file automatically when you click on it, you will need to define you fax viewer program (i.e. kfax) to handle tiff files in mozilla or in your system settings.&lt;br /&gt;&lt;br /&gt;Alternatively, you can download the file to your local drive and use the tiff2ps or tiff2pdf utilities (to transform it either to a .ps or .pdf file.&lt;br /&gt;&lt;br /&gt;Same principle applies on windows, on windows, my XP install came with a utility named "Windows image and faxes preview" and that's what I use to read/print faxes (e.g. tiff files).&lt;br /&gt;Asterisk &amp; Fax over SIP Channels&lt;br /&gt;5 jeudi, 14 février 2008 15:49&lt;br /&gt;Amit&lt;br /&gt;Hi&lt;br /&gt;i read your post on Asterisk list. last 3 months i am trying to set Asterisk Fax to email&lt;br /&gt;on SIP, but i have no success when i try with Spandsp..&lt;br /&gt;so do you have any idea how we can make this if we are using SIP-VOIP with&lt;br /&gt;Asterisk.Otherwise help me to do this with any other software taht u check it.only need is that that work&lt;br /&gt;with SIP-VOIP Asterisk.(SIP Channel).&lt;br /&gt;plz provide me link or config deatils if you have so i can try this with my Asterisk&lt;br /&gt;Asterisk version 1.4.9&lt;br /&gt;on dell server with RHEL OS&lt;br /&gt;using SIP Channel type.&lt;br /&gt;&lt;br /&gt;i am waiting for ur reply&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Regards&lt;br /&gt;Amit&lt;br /&gt;RE: Asterisk &amp;amp; Fax over SIP Channels&lt;br /&gt;6 jeudi, 14 février 2008 15:51&lt;br /&gt;Alain Côté&lt;br /&gt;1) We try that too but we couldn't get it to work well. That's why we recommend using iaxmodem. Iaxmodem comes with its own spandsp libraries.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;2) So asterisk knows nothing about spandsp, asterisk just forwards the call to iaxmodem which takes care of decoding the fax. We leave asterisk alone and handle the faxes with iaxmodem. Don't use spandsp within asterisk.&lt;br /&gt;&lt;br /&gt;3) Since you tell asterisk to forward the call to iaxmodem in inbound routes, (or in extensions if you wish) it does not matter if the call comes in through a SIP trunk or an IAX trunk. We have calls coming in through SIP and IAX trunks and faxes are forwarded to the iaxmodem.&lt;br /&gt;&lt;br /&gt;4) Hylafax is a very stable and powerful fax handling software, it does fax to email since at least 15 years ;-)&lt;br /&gt;&lt;br /&gt;SIP trunk --&gt; asterisk --&gt; iaxmodem --&gt; hylafax --&gt; email So the instructions in the article will work with a SIP trunk too ;-)&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;creating fax dialplan in asterisk&lt;br /&gt;7 jeudi, 06 mars 2008 12:25&lt;br /&gt;Iqbal&lt;br /&gt;Thanks for your tutorial. But i don't know how to create dial plan for my fax machine.So my asterisk know to send fax to the fax machine&lt;br /&gt;&lt;br /&gt;Here my configuration&lt;br /&gt;&lt;br /&gt;Hylafax+iaxmodem+trixbox2.4.xCisco router ios 13(FXO)Switching Center(PSTN Central)My fax machine(fax number 6211)&lt;br /&gt;Could you give me example help to create dialplan in extension.conf for fax number in this case 6211 base on the configuration above.Thanks sorry for my English...&lt;br /&gt;Re: creating fax dialplan in asterisk&lt;br /&gt;8 dimanche, 16 mars 2008 23:36&lt;br /&gt;oc9&lt;br /&gt;Here are the lines required to detect a FAX or send to an IVR in the incoming section of extention.conf :&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;exten =&gt; s,n,Set(FAX_RX=125)&lt;br /&gt;exten =&gt; s,n,Answer&lt;br /&gt;exten =&gt; s,n,Playtones(ring)&lt;br /&gt;exten =&gt; s,n,NVFaxDetect(5)&lt;br /&gt;exten =&gt; s,n,Goto(ivr-2,s,1)&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Just replace the lines in your configuration file that sends to the IVR with the above lines in order to first detect fax tones and reload Asterisk so it re-read its config files.&lt;br /&gt;&lt;br /&gt;If you share voice and fax, you need to use NVFaxDetect which catch the fax call at the IVR level and automagically forwards it to the fax extension. If you have a dedicated number for your fax, just forward all calls to the fax extension like you would normally do for a phone extension with a dedicated number.&lt;br /&gt;&lt;br /&gt;If you use FreePBX just configure the fax handling in your Inbound Routes :&lt;br /&gt;Fax Extension: 6211&lt;br /&gt;Fax Email: (leave blank)&lt;br /&gt;Fax Detection Type: NVFax&lt;br /&gt;Pause After Answer: 5&lt;br /&gt;Faxing&lt;br /&gt;9 vendredi, 11 avril 2008 11:22&lt;br /&gt;Keith&lt;br /&gt;Great read on your article, but there is a lot of misinformation on the subject.&lt;br /&gt;&lt;br /&gt;1. Faxing over VoIP is not dependant on the carrier. Network jitter is what causes a fax to fail when sending/receiving faxes over SIP. The only reason you may get better results with one provider is because your connection to them, at this moment, may be good. However, this will eventually change at some point and your faxing will decrease to 50%-70% success rate.&lt;br /&gt;&lt;br /&gt;2. IAX modem is slow (14.4k), but really only achieves 9.6k. This is something that will never change. Traditional lines are 33.6k. Hence, your 20 page document will take 5 times as long to send/receive.&lt;br /&gt;&lt;br /&gt;3. Why are you trying to have Asterisk send the email? HylaFAX should be in charge of all fax functions including sending the pdf to email.&lt;br /&gt;&lt;br /&gt;Guys, you will never be able to "beat" the system for faxing. If you want reliable faxing, stick with the PSTN.&lt;br /&gt;Re: Faxing&lt;br /&gt;10 dimanche, 13 avril 2008 03:06&lt;br /&gt;Alain Côté&lt;br /&gt;Great read on your article, but there is a lot of misinformation on the subject.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;---&gt; Thanks !&lt;br /&gt;&lt;br /&gt;1. Faxing over VoIP is not dependant on the carrier. Network jitter is what causes a fax to fail when sending/receiving faxes over SIP. The only reason you may get better results with one provider is because your connection to them, at this moment, may be good. However, this will eventually change at some point and your faxing will decrease to 50%-70% success rate.&lt;br /&gt;&lt;br /&gt;----&gt; I agree, but this is the same as your "good" carrier becoming a bad "carrier" or your "good" internet connectivity becoming "bad". It is therefore dependent on your carrier and your internet connectivity, which is pretty much what we have said in the article ;-)&lt;br /&gt;&lt;br /&gt;2. IAX modem is slow (14.4k), but really only achieves 9.6k. This is something that will never change. Traditional lines are 33.6k. Hence, your 20 page document will take 5 times as long to send/receive.&lt;br /&gt;&lt;br /&gt;----&gt; Very good point ! This should definitely have been noted in the article !&lt;br /&gt;&lt;br /&gt;3. Why are you trying to have Asterisk send the email? HylaFAX should be in charge of all fax functions including sending the pdf to email.&lt;br /&gt;&lt;br /&gt;-----&gt; I don't know where this is from, we recommend delegating everything to Hylafax just as you do.&lt;br /&gt;&lt;br /&gt;Guys, you will never be able to "beat" the system for faxing. If you want reliable faxing, stick with the PSTN.&lt;br /&gt;&lt;br /&gt;------&gt; Agreed, if you run a mission critical fax operation that needs maximum reliability. But this is changing slowly as networks get better. Who would have thought that VOIP could be possible in the early ages of Internet (say in 1980, when I got my first access to it)?. Also, do not forget that Internet2 (Also called The Grid) is coming ;-)&lt;br /&gt;&lt;br /&gt;-------&gt; Also, note that the article states that the suggested setup is also valid if you use PSTN lines ONLY with Asterisk as your PBX, it lets you share your fax lines with voice, all handled by Asterisk, with only PSTN lines and VOIP used internally only.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;asterisk pstn faxing&lt;br /&gt;11 dimanche, 11 mai 2008 05:10&lt;br /&gt;dave&lt;br /&gt;hi there i have a tdm24xxp(fxo) port is it possible to route faxes to hylafax from asterisk + do you need to route your incoming calls to the iaxmodem, or can you route the calls strait from fxo to hylafax using asterisk?&lt;br /&gt;&lt;br /&gt;any help welcome&lt;br /&gt;Re: asterisk pstn faxing&lt;br /&gt;12 lundi, 19 mai 2008 20:03&lt;br /&gt;oc9&lt;br /&gt;Yes shou;ld be able to do that as long as you use ulaw between your asterisk and the tdm24xxp(fxo) and that it supports fax passtrough. You will also need to use a hardware modem on the hylafax server. This type of config is very similar to having hylafax hooked to a hardware modem that is turn hooked to a PSTN line. So asterisk routing prior to the fax call hitting the hardware modem on the hylafax server will be transparent.&lt;br /&gt;&lt;br /&gt;Also, you wouldn't be limited by the relatively slow speed of iaxmodem, as a another user has rightly noted 2 messages ago.&lt;br /&gt;Sending fax&lt;br /&gt;13 mercredi, 16 juillet 2008 23:42&lt;br /&gt;Juvs&lt;br /&gt;Hi, nice tutorial, but I didn't see an example to send an fax using hylafax and asterisk, we have some PSTN lines connected to asterisk and we want to sent faxes using this lines.&lt;br /&gt;Need to setup this only for outgoing faxes...&lt;br /&gt;14 jeudi, 31 juillet 2008 13:02&lt;br /&gt;Capt Nemo&lt;br /&gt;Hi there,&lt;br /&gt;&lt;br /&gt;great article, I wana setup this for only outgoing faxes, i-e, I only need to send faxes. Is it possible. Do I still need any extra hardware for this?&lt;br /&gt;&lt;br /&gt;thanks for your help in advance!!!&lt;br /&gt;&lt;br /&gt;cheers!&lt;br /&gt;Nemo.&lt;br /&gt;Re: Sending fax&lt;br /&gt;15 lundi, 04 août 2008 20:29&lt;br /&gt;oc9&lt;br /&gt;Just follow standard hylafax procedure to send a fax. Remember that hylafax sees your IAXmodem as any other modem. The fact that you use iax modem/asterisk is completely transparent to hylafax. Hylafax doesn't know anything about asterisk and iaxmodem, hylafax doesn't even know they exist!&lt;br /&gt;&lt;br /&gt;That's the reason why we like this approach despite the limitations of iaxmodem, everything is nicely layered in indepandant layers.&lt;br /&gt;&lt;br /&gt;To send a fax, we just use the following command triggered from our custom web interface, just have a look at AvantFax (link in the article) if you want to install a turn key solution :&lt;br /&gt;&lt;br /&gt;command to send fax with hylafax:&lt;br /&gt;&lt;br /&gt;/usr/local/bin/sendfax -x "Destination company" -r "Subject of the fax" -c "Comment for recipient" -D -h localhost:9008 -d "Recipient Name"@1555555121 2 file.pdf&lt;br /&gt;Re: Need to setup this only for outgoing faxes...&lt;br /&gt;16 lundi, 04 août 2008 20:36&lt;br /&gt;oc9&lt;br /&gt;The setup described in this article works equally well to send faxes, please have a look at above reply (Re: Sending fax) which pretty much answer your question.&lt;br /&gt;&lt;br /&gt;Additionally, remember that this setup works with totally independent layers so any solution that works with hylafax to send faxes will work with this setup.&lt;br /&gt;&lt;br /&gt;Hylafax exists since more than 15 years so many very mature solutions to send faxes with hylafax are available. Again, that's why we choose that solution, to completely abstract asterisk and VOIP out of the picture.&lt;br /&gt;Which provider you have tested is suited best?&lt;br /&gt;17 samedi, 07 mars 2009 17:49&lt;br /&gt;ingo&lt;br /&gt;We also have tested two dozen providers. So far gafachi stands out. What is your best choice?&lt;br /&gt;I can't receive fax&lt;br /&gt;18 lundi, 09 mars 2009 06:49&lt;br /&gt;faty&lt;br /&gt;Hi:&lt;br /&gt;How can I see the communication between hylafax and iaxmodem and the console of them?I only can see the console of asterisk.It shows: 'IAX2/iaxmodem-2 is ringing' when I dial the fax number.&lt;br /&gt;and nothing else.I can't receive fax.&lt;br /&gt;I installed asterisk 1.4.18 and iaxmodem-1.2.0 and&lt;br /&gt;hylafax-5.2.9-1.fc9.i386.rpm and these are my main configurations:&lt;br /&gt;extensions.conf:&lt;br /&gt;[from-pstn]&lt;br /&gt;exten =&gt; 9711315,1,Answer&lt;br /&gt;exten =&gt; 9711315,2,Dial(IAX2/iaxmodem)&lt;br /&gt;iax.conf:&lt;br /&gt;[iaxmodem]&lt;br /&gt;type=friend&lt;br /&gt;secret=password&lt;br /&gt;port=4570&lt;br /&gt;host=dynamic&lt;br /&gt;context=from-pstn&lt;br /&gt;disallow=all&lt;br /&gt;allow=alaw&lt;br /&gt;&lt;br /&gt;/etc/iaxmodem/ttyIAX0&lt;br /&gt;device /dev/ttyIAX0&lt;br /&gt;owner uucp:uucp&lt;br /&gt;mode 660&lt;br /&gt;port 4570&lt;br /&gt;refresh 50&lt;br /&gt;server 127.0.0.1&lt;br /&gt;peername iaxmodem&lt;br /&gt;secret password&lt;br /&gt;codec alaw&lt;br /&gt;and this is my modem type in /var/spool/hylafax/etc/config.tty&lt;br /&gt;ModemType: Class1&lt;br /&gt;/etc/inittab:&lt;br /&gt;id:5:initdefault:&lt;br /&gt;IA00:23:respawn:/usr/bin/iaxmodem&lt;br /&gt;ttyIAX0&lt;br /&gt;IA00:23:respawn:/usr/bin/iaxmodem&lt;br /&gt;ttyIAX0&lt;br /&gt;mo00:23:respawn:/usr/sbin/faxgetty ttyIAX0&lt;br /&gt;&lt;br /&gt;I started hylafax and run iaxmodem.&lt;br /&gt;I see below lines when I run faxstat:&lt;br /&gt;HylaFAX scheduler on localhost.localdomain: Running&lt;br /&gt;Modem ttyIAX0 (9711315): Waiting for modem to come ready&lt;br /&gt;&lt;br /&gt;I'd appreciate any help,idea.&lt;br /&gt;~&lt;br /&gt;Re: Which provider you have tested is suited best?&lt;br /&gt;19 lundi, 09 mars 2009 22:45&lt;br /&gt;oc9&lt;br /&gt;Hello,&lt;br /&gt;&lt;br /&gt;Well there is no big secret, we use a local provider a few hops away from us that is directly hooked to the Telco via T1 links. The provider is 15ms away from us.&lt;br /&gt;&lt;br /&gt;International providers where the call is routed to (or received from) out of the country networks have less chances to succeed in a steady way. There is more spots on the network where weakness may cause the call to fail and you often do not know how the call is routed once it gets to the provider.&lt;br /&gt;&lt;br /&gt;To get maximum reliability, we use a local provider and we know how our call is routed once it gets to that provider. Straight to the Telco with T1 links ;-)&lt;br /&gt;&lt;br /&gt;We do not use any of our other 4 providers for faxes for the reasons stated above. We use g729 on those trunks anyway which is not best suited for faxes.&lt;br /&gt;Re: I can't receive fax&lt;br /&gt;20 lundi, 09 mars 2009 22:52&lt;br /&gt;oc9&lt;br /&gt;Hi,&lt;br /&gt;&lt;br /&gt;It looks like you do have faxgetty running, to test that hylafax communicates with the modem, use the following command:&lt;br /&gt;&lt;br /&gt;$ ps axw | grep faxgetty&lt;br /&gt;14871 pts/9 S 0:00 /sbin/faxgetty -q /var/spool/hylafax-2 tty882991110992&lt;br /&gt;14872 pts/9 S 0:00 /sbin/faxgetty ttyIAX&lt;br /&gt;14873 pts/9 S 0:00 /sbin/faxgetty acts1&lt;br /&gt;&lt;br /&gt;faxgetty does the communication between hylafax and iaxmodem&lt;br /&gt;Re:I can't receive fax&lt;br /&gt;21 mardi, 10 mars 2009 07:45&lt;br /&gt;faty&lt;br /&gt;Hi:&lt;br /&gt;thank you for reply.&lt;br /&gt;after running : ps axw | grep faxgetty&lt;br /&gt;I saw :&lt;br /&gt;7687 pts/9 S+ 0:00 grep faxgetty&lt;br /&gt;Is it problem?&lt;br /&gt;Re: I can't receive fax&lt;br /&gt;22 mardi, 10 mars 2009 07:47&lt;br /&gt;faty&lt;br /&gt;Hi:&lt;br /&gt;thank you for reply.&lt;br /&gt;after running : ps axw | grep faxgetty&lt;br /&gt;I saw :&lt;br /&gt;7687 pts/9 S+ 0:00 grep faxgetty&lt;br /&gt;Is it problem?&lt;br /&gt;Re: I can't receive fax&lt;br /&gt;23 mardi, 10 mars 2009 17:42&lt;br /&gt;oc9&lt;br /&gt;Yes it is a problem, ps returned you the pid of the grep command you were currently running (pid=7687) ( pid= process ID ) this is the pid of the grep process created by the command you just typed.&lt;br /&gt;&lt;br /&gt;But ps show that you DO NOT have faxgetty running hence hylafax can't receive faxes. To see that you have a faxgetty process running, you must have a faxgetty process showing up when you issue the command ps axw | grep faxgetty.&lt;br /&gt;&lt;br /&gt;The process name will start with the name faxgetty as the examples show in previous posts. The name of the process will be faxgetty, not grep:&lt;br /&gt;&lt;br /&gt;$ ps axw | grep faxgetty&lt;br /&gt;14872 pts/9 S 0:00 /sbin/faxgetty ttyIAX&lt;br /&gt;&lt;br /&gt;You may also use pidof faxgetty which will only return pids of faxgetty processes :&lt;br /&gt;&lt;br /&gt;/sbin/pidof faxgetty&lt;br /&gt;14872&lt;br /&gt;&lt;br /&gt;See how we start faxgetty in our article, we just put the following command in /etc/rc.d/rc.local, you may also test it from the command line and it should just work :&lt;br /&gt;&lt;br /&gt;/usr/local/sbin/faxgetty tty125 &amp;&lt;br /&gt;&lt;br /&gt;You can also use the following command to list all processes on your computer:&lt;br /&gt;&lt;br /&gt;$top -b -n 1&lt;br /&gt;&lt;br /&gt;source:&lt;br /&gt;http://blogtech.oc9.com/index.php?option=com_content&amp;view=article&amp;catid=4:asterisk&amp;id=77:20071121ast&amp;Itemid=6&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-890373434415057452?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/890373434415057452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=890373434415057452' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/890373434415057452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/890373434415057452'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/09/receive-and-send-fax-with-asterisk-1416.html' title='Receive and Send Fax with Asterisk 1.4/1.6'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-274819007717857891</id><published>2009-08-20T12:07:00.000-07:00</published><updated>2009-11-19T19:02:06.740-08:00</updated><title type='text'>Build an In-Car PC</title><content type='html'>peripherals.&lt;br /&gt;&lt;br /&gt;On the flip side, here are a few limitations on the technology which you should consider before implementing a mini-ITX solution:&lt;br /&gt;&lt;br /&gt;    * Not Upgradeable: To reduce the cost of manufacture, CPUs are permanently installed on the mainboard. The ZIF (Zero Insertion Force) socket on most modern motherboards makes up a significant part of the manufacture cost. In VIA's EPIA (Embedded Platform Innovative Architecture) architecture, the company integrated the mainboard and CPU and removed the socket to streamline production and reduce costs.&lt;br /&gt;    * Limited Expandability: Typical cases have limited real estate—that's the cost of going "small." Power supplies can be as small as 60 watts, limiting the addition of peripherals. Also, these boards have minimal PCI slots available.&lt;br /&gt;    * Higher Cost: The cost for an integrated mini-ITX mainboard is likely to be higher than a comparable ATX motherboard/CPU bundle.&lt;br /&gt;&lt;br /&gt;While there are certainly some cons to going with mini-ITX, I believe the technology is sound. That's why I recommend it as the virtual heart of this build.&lt;br /&gt;&lt;br /&gt;Car PC Benefits&lt;br /&gt;&lt;br /&gt;The public's attitude about what belongs in a car, coupled with technological advances that have made components like displays more compact and robust, have transformed cars and SUVs into rolling infotainment centers. Not long ago, a video display in a car would turn heads; today, it's commonplace. Global positioning systems (GPS) that were once deployed exclusively by the military now listen for bleeps from space from consumer dashboards. DVD players, surround sound, and video displays have all become popular selling features for auto makers. Add to that the high-end options: satellite radio, Bluetooth connectivity, rear-view cameras, vehicle diagnostics and sensor monitoring, Wi-Fi, smart alarm systems, and more. As a result, consumers seek new possibilities for their mobile computing needs.&lt;br /&gt;&lt;br /&gt;Car dealers and makers of satellite radio, GPS and media players are targeting a growing consumer market with individual infotainment products. But a well-built car PC can run all of these and more. It can also help consumers with route planning, Web browsing, personal scheduling, gaming, and general computing.&lt;br /&gt;&lt;br /&gt;System builders should consider consumers to be just part of whom you should pitch for offering a road PC. There are also hardcore mobile computing applications you could offer, such as digital video recording for police vehicles with broadband connectivity. Also, consider inventory and transportation tracking systems for trucking and delivery companies that provide businesses the advantage of being able to pinpoint where their products and materials anytime anywhere.&lt;br /&gt;&lt;br /&gt;Let's take a look at some approaches to getting a PC on the road and choosing the right components. Then I'll show you how to put it all together.&lt;br /&gt;&lt;br /&gt;Why Not Go With a Notebook?&lt;br /&gt;&lt;br /&gt;In-car PC components are similar to those for notebook and desktop systems—power supplies, CPU, hard disk, etc.—but they need to meet much more rugged specifications. The operating environment in a car is vastly different from an office desktop. Notebooks, while closer in size and ruggedness, are still best for home or office use.&lt;br /&gt;&lt;br /&gt;Can you simply mount a notebook or desktop and use it in a car? Sure, and many installers have done just that. But there are serious drawbacks. Desperate installers have mounted flimsy desktop cases in the trunk; used inefficient power inverters to supply power; and even have built elaborate trays for input devices. But size, cable runs and cooling requirements make the desktop approach cumbersome to install and unappealing to operate.&lt;br /&gt;&lt;br /&gt;Where standard desktop boxes are awkward for the road, notebooks are a better fit. But their power supplies are not specifically built to handle the special demands of the starts and stops of an average vehicle. As a result, an unmodified notebook cannot be counted on for reliable in-car service.&lt;br /&gt;&lt;br /&gt;In addition, both traditional desktops and notebooks are plagued with overheating problems and unexpected reboot issues. Inopportune reboots can occur as power fluctuates in a system designed more to provide power for a car's lights, wiper motors and fans than the smooth, constant voltage required for typical computing. &lt;br /&gt;Car PC's Require Special Components&lt;br /&gt;&lt;br /&gt;A reliable in-car PC needs to use small yet rugged components whose size and shape allow proper placement, whether on a crowded dashboard, in or under a dashboard, or under the car's seats. The PC needs to be out of the way of the car's critical instruments.&lt;br /&gt;&lt;br /&gt;A car PC must also be designed to be a real workhorse. It will need to handle heat and cold, exposure to sunlight, rapid changes in temperature and humidity, along with shocks and vibrations from the road. The system must also survive as an add-on to a power system that is frequently switched off, often for long periods, and that is prone to deep cycle discharging.&lt;br /&gt;&lt;br /&gt;Automotive electrical systems—unlike the clean, steady household current from a wall receptacle—operate off a DC (direct current) storage system that is constantly changing. First, it discharges to deliver power to 'turn-over' a cold car engine. Then it charges the battery back to capacity as the car is driven. Car PCs must operate from power fully conditioned to remove the risk of low voltage during cranking and carefully regulated to prevent damage to PC components during charging.&lt;br /&gt;&lt;br /&gt;In summary, an in-car PC must work consistently and meet the challenges of in-vehicle operability. It must be able to take a beating, have short boot times, offer power-saving features, and run its applications easily and safely accessible. The system must be mountable where it is easily visible but doesn't block the driver's line of vision or the path of airbags. The system also must be fastened securely so it won't come lose in a minor accident.&lt;br /&gt;&lt;br /&gt;To meet all these challenging requirements, you'll need to choose the right components. In the next section, we'll look at your best choices for parts and how to source them.&lt;br /&gt;&lt;br /&gt;Getting the Right Parts for a Car PC&lt;br /&gt;&lt;br /&gt;Finding the right parts for your car PC is all about heat, power, vibration/shock, and operability. Let's take these in order:&lt;br /&gt;&lt;br /&gt;Heat: Large power requirements and heat dissipation don't mix well with the confined space of a car. As a result, traditional desktops are difficult to keep cool in a car. Notebooks require less cooling, but mini-ITX boxes are even better. They're also easier to tuck into tight spaces. At just 17 cm. x 17 cm., a mini-ITX can fit into or below a dashboard, or even in a glove compartment. Special enclosures, like the VoomPC case, allow for optimal cooling and shock resistance while keeping a compact footprint; I'll discuss this at greater length later in the Recipe.&lt;br /&gt;&lt;br /&gt;Power: This is the most challenging obstacle to computing on the road. Specifically, how do you supply clean power as needed? And how do you not drain a car system's battery when the car is unattended for long periods? Inefficient power inverters can covert the 12-volt DC typically used in car electronics into the 120-volt AC (alternating current) source required for a standard PC power supply. But there are a number of drawbacks. Most notably, inverters don't "know" when the car ignition is being turned off, so PCs won't shut down properly and will constantly be restarting on short trips. While notebooks use less power and can operate without an inverter (since they operate from battery power already), they can drain car batteries if left on or in 'hibernation mode' over long periods.&lt;br /&gt;&lt;br /&gt;An excellent solution is a new breed of power supply that can make decisions about how to supply power and even signal a PC to 'hibernate' or 'shut-down' when warranted. It's called a DC-to-DC converter, and it can covert a car's 12-volt source into the 3.3-volt, 5-volt, and 1-volt outputs that computers can use. I especially like the M2-ATX. It allows for a user-selectable timer that lets the PC to remain on for a certain amount of time after the car is shut off before issuing a command to the computer to go to 'sleep.' Then, after a prolonged period of sleep, the power supply protects the car's battery by issuing a full shutdown command to the PC.&lt;br /&gt;&lt;br /&gt;Vibration and shock: Components in a car PC are subject to all the same jarring, bumping and G-forces as passengers are. If all users drove luxury cars on traffic-free, freshly paved highways, then vibration and shock would be a non-issue. But in the real world, potholes, debris, curbs, and sudden stops and starts can all cause serious trouble for an in-car PC. As a result, hardware mounting, cable stress and wear, and choice of hard disk need to address the situation.&lt;br /&gt;&lt;br /&gt;The PC's hard disk is the only constantly moving part, making it the one most sensitive to road shock and vibration. Fortunately, most of today's 2.5-inch notebook drives are designed to take a reasonable amount of abuse from motion, and most are suitable for all but the most rugged applications. I recommend the Seagate Momentus 7200.1, which has been rigorously tested for use in many mobile and notebook applications. For situations where you know your car PC will be heavily stressed, Seagate's EE-25 series drives are hardened specifically for automotive applications; they should hold up better in challenging applications.&lt;br /&gt;&lt;br /&gt;Operability: Car PC users need to get to their applications fast and with a minimum of interaction. So keyboards and mice, while handy for occasional work in the car, are of limited use in a car. Instead, car PCs should rely on touch screens and software interfaces with "skins" that let users access their apps quickly and safely.&lt;br /&gt;&lt;br /&gt;In car lingo, a touch screen works like a "head unit," providing access to music selection or a GPS. A major goal of a car PC is to replace the vehicle's head unit with a touch screen that will act as GPS, CD player, radio and the like.&lt;br /&gt;&lt;br /&gt;Skins used with voice-recognition software can also provide safe and a mostly hands-free method of working with applications. Applications like RoadRunner and SKINbedder work with NaviVoice voice recognition to provide quick access to applications with a minimum of driver involvement. In the screenshot below, you can see how NaviVoice helps to integrate voice activated GPS with media playing and other applications, making GPS functions available quickly and safely with a one-word command:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With applications like Mobile Media Center, users can develop their own "skins" to access media and other car applications by touch. Here's an example:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/___2F67yc8gw/So2g5KwXhjI/AAAAAAAAAA0/l6rYURdtFps/s1600-h/0619navivoice.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/___2F67yc8gw/So2g5KwXhjI/AAAAAAAAAA0/l6rYURdtFps/s320/0619navivoice.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5372126834523080242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/___2F67yc8gw/So2goVWNtOI/AAAAAAAAAAs/3JW4PEoCf1U/s1600-h/0619mmc.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/___2F67yc8gw/So2goVWNtOI/AAAAAAAAAAs/3JW4PEoCf1U/s320/0619mmc.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5372126545308398818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/___2F67yc8gw/So2ghP3TXBI/AAAAAAAAAAk/64-iOIXXFEc/s1600-h/0619navivoice.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/___2F67yc8gw/So2ghP3TXBI/AAAAAAAAAAk/64-iOIXXFEc/s320/0619navivoice.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5372126423577484306" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/___2F67yc8gw/So2gXKMyZXI/AAAAAAAAAAc/OR83YqusMVo/s1600-h/0619mmc.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/___2F67yc8gw/So2gXKMyZXI/AAAAAAAAAAc/OR83YqusMVo/s320/0619mmc.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5372126250258294130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/___2F67yc8gw/So2gP-UwaEI/AAAAAAAAAAU/mXprJFnLtb4/s1600-h/0619navivoice.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/___2F67yc8gw/So2gP-UwaEI/AAAAAAAAAAU/mXprJFnLtb4/s320/0619navivoice.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5372126126811408450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i.cmpnet.com/techbuilder.org/graphics06/0619dash.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 134px;" src="http://i.cmpnet.com/techbuilder.org/graphics06/0619dash.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ingredients&lt;br /&gt;&lt;br /&gt;Here are the components you'll need to create a car PC:&lt;br /&gt;&lt;br /&gt;CarPC Parts List&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Power Supply:&lt;br /&gt;&lt;br /&gt; M2-AXT(160-watt)  &lt;br /&gt;&lt;br /&gt;- ATX, 6-24V wide input range&lt;br /&gt;&lt;br /&gt;- Intelligent shutdown controller&lt;br /&gt;&lt;br /&gt;- ON/OFF motherboard control&lt;br /&gt;&lt;br /&gt;- Survives vehicle engine cranks&lt;br /&gt;&lt;br /&gt;- Battery deep discharge prevention&lt;br /&gt;&lt;br /&gt;- High efficiency, 160-watts output&lt;br /&gt;&lt;br /&gt;- "Anti-thump" amplifier remote control&lt;br /&gt;&lt;br /&gt;- 15A automotive fuse (mini-blade)&lt;br /&gt;&lt;br /&gt;- VIA, P4 and AMD (NYSE:AMD) CPU support&lt;br /&gt;&lt;br /&gt; $90.&lt;br /&gt;Enclosure:  VoomPC  &lt;br /&gt;&lt;br /&gt;- Rugged enclosure, easy to handle and mount&lt;br /&gt;&lt;br /&gt;- 5.5mm aluminum extrusion&lt;br /&gt;&lt;br /&gt;- Compatible with any mini-ITX board&lt;br /&gt;&lt;br /&gt;- 210mm (W) x 254mm (L) x 56mm (H)&lt;br /&gt;&lt;br /&gt;- Up to three fans for moist/heat removal&lt;br /&gt; $80&lt;br /&gt;Mainboard  VIA SP130000  &lt;br /&gt;&lt;br /&gt;- VIA C3 EBGA processor&lt;br /&gt;&lt;br /&gt;- 1 DDR266/333/400 DIMM socket&lt;br /&gt;&lt;br /&gt;- UniChromePro AGP graphics/MPEG-2 decoder/MPEG-4 Accelerator&lt;br /&gt;&lt;br /&gt;- 1 PCI&lt;br /&gt;&lt;br /&gt;- 2 X UltraDMA 133/100 connector&lt;br /&gt;&lt;br /&gt;- VIA VT6103 10/100 Base-T Ethernet PHY&lt;br /&gt;&lt;br /&gt;- VIA VT1617A 6-channel AC' 97 codec&lt;br /&gt;&lt;br /&gt;- VIA VT1623 TV encoder&lt;br /&gt;&lt;br /&gt;- VIA VT6307S IEEE 1394 Firewire&lt;br /&gt; $200.&lt;br /&gt;Touchscreen Monitor (Two options)   &lt;br /&gt;Motorized  VMI70 7-inch TFT-LCD monitor with touch panel  &lt;br /&gt;&lt;br /&gt;7-inch fully motorized in-dash TFT-LCD monitor touch screen VGA and TV&lt;br /&gt;&lt;br /&gt;- 16:9 TFT-LCD car PC monitor&lt;br /&gt;&lt;br /&gt;- Resolution: 800 x 480&lt;br /&gt;&lt;br /&gt;- VGA support: 640 x 480 to 1280 x 768&lt;br /&gt;&lt;br /&gt;- Video Input: AV1/AV2&lt;br /&gt;&lt;br /&gt;- Audio output: Single audio output&lt;br /&gt;&lt;br /&gt;- Standard PAL/NTSC TV signal reception&lt;br /&gt;&lt;br /&gt;- Double-channel video input&lt;br /&gt;&lt;br /&gt;- Includes remote control&lt;br /&gt;&lt;br /&gt;- Chromatic system: PAL/NTSC (auto switch)&lt;br /&gt;&lt;br /&gt;- Input: Double-channel AV/TV input, 1 VGA input&lt;br /&gt;&lt;br /&gt;- One year warranty&lt;br /&gt; $400&lt;br /&gt;Non-Motorized  VM7000 7-inch TFT LCD touchscreen for car PC  &lt;br /&gt;&lt;br /&gt;- Mount type: Dashboard or Headrest&lt;br /&gt;&lt;br /&gt;- PAL/NTSC&lt;br /&gt;&lt;br /&gt;- Resolution 720 x 400 to 1280 x 1024&lt;br /&gt;&lt;br /&gt;- 16:9 aspect ratio&lt;br /&gt;&lt;br /&gt;- Video input: XGA/VGA input (15 pin D-SUB), USB or RS232 interface&lt;br /&gt;&lt;br /&gt;- Two RCA video inputs, one audio input&lt;br /&gt;&lt;br /&gt;- Built-in speaker&lt;br /&gt;&lt;br /&gt;- Display brightness (with touchscreen): 280cd/ m²&lt;br /&gt;&lt;br /&gt;- Power consumption: &lt; 9W&lt;br /&gt;&lt;br /&gt;- Includes: Remote control, USB cable, VGA cable, AV cable, dashboard mounting bracket, headrest mounting bracket and screws, stylus, CD with touch screen drivers, operation manual&lt;br /&gt;&lt;br /&gt;- One-year warranty&lt;br /&gt; $215.&lt;br /&gt;Hard Disk (Two options)     &lt;br /&gt;7200 RPM  Seagate Momentus 7200 ST910021A  &lt;br /&gt;&lt;br /&gt;-Reliable 100 GB ATA&lt;br /&gt;&lt;br /&gt;-Fast-booting with average seek-time of 10.5 msec.&lt;br /&gt;&lt;br /&gt;-Low-power consumption for maximum battery life&lt;br /&gt;&lt;br /&gt;-Whisper-quiet load/unload acoustics&lt;br /&gt;&lt;br /&gt;-Operating shock of 250Gs (to withstand rugged environments)&lt;br /&gt; $220.&lt;br /&gt;5400 RPM Mobile  Seagate EE25 5400RPM  &lt;br /&gt;&lt;br /&gt;-60GB designed for automotive entertainment and GPS systems&lt;br /&gt;&lt;br /&gt;- Hardened for mobile computing and other extreme environments&lt;br /&gt;&lt;br /&gt;- Tested for 24x7 operation at elevated temperatures&lt;br /&gt;&lt;br /&gt;- In use for mission-critical military field applications&lt;br /&gt; $145.&lt;br /&gt;Memory  Kingston KVR400X64C3A/512  (512-MB, 400-MHz DDR DIMM). This is reliable, affordable memory.  $54.&lt;br /&gt;&lt;br /&gt;The following photo is a shot of the main components: VoomPC case, Seagate hard drive, and M2-ATX power supply board for our Car PC. It also shows a Star monitor I used to check the mainboard before permanent installation of a touch screen:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Vertical mounting of the hard drives, rather than horizontal mounting, can minimize trouble from hard impacts and minimize "head crash" situations. If you know a drive will be getting serious abuse, choose a location for the enclosures that provide sufficient air flow and keep the disks perpendicular to the road. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Assembling the Car PC&lt;br /&gt;&lt;br /&gt;Before assembly, and before making final decisions on parts, make sure you have a solid plan and a proper place to work. Finding the right place to work on your car PC will make for a cleaner installation and speed your project along. Look for a protected location with good lighting. You'll also want to use a droplight to help you with interior fitting and for working under the hood. Don't forget Internet access for downloading applications, updates, etc. While garages with a high-speed hook-up might be hard to come by, you'll only need network access for a short period. So be prepared to string a long cable, or use a USB wireless-network adaptor.&lt;br /&gt;&lt;br /&gt;No special tools are needed to build and install a Car PC. You can go with the favorite tools of professional installers, such as good wire strippers with spring action and wire-gauge sensing; a heavy-duty crimping tool; a thread-locker compound such as LocTite, which can prevent screws from coming loose from repeated vibration; and a collection of faston and other wire-splicing parts. Wire connectors are available in various assortments or in bubble packs from auto-supply stores, and they are highly recommended for a safe and professional-looking installation.&lt;br /&gt;&lt;br /&gt;Here are the 14 steps for the Car PC assembly:&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;CarPC Assembly Steps&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;1&lt;br /&gt;&lt;br /&gt; Install memory and configure VIA mainboard   ___&lt;br /&gt;2  Install the motherboard on the base plate of enclosure using four screws.  &lt;br /&gt;&lt;br /&gt;See illustration of parts layout above.&lt;br /&gt;&lt;br /&gt; ___&lt;br /&gt;3  Install the 2.5-inch hard drive using the four silicone rubber shock absorbent pads over the hard drive mounting holes. Fasten the hard drive using four undercut M3 screws attached from the bottom. (See illustration of parts layout, above).  Shock pads for mounting the hard drive are included with the VoomPC enclosure  ___&lt;br /&gt;4  Attach a 44-40 pin IDE cable to the hard drive and motherboard.   ___&lt;br /&gt;5  Attach the M2 ATX power supply over the hard drive, using the remaining standoffs.  See illustration of parts layout above.  ___&lt;br /&gt;6  Connect the ATX cable harness (provided with power supply) to the motherboard. Use small tie-wraps to manage the ATX cable harness. This is important, not only to prevent rattle and cable wear, but to improve air-flow critical for proper cooling.  Note: If you are using a different VIA mainboard, you may be able to eliminate the ATX cable harness entirely, by a custom ATX power extender bus made for use with some EPIA MII mainboards (available from http://www.mini-box.com )  ___&lt;br /&gt;7  Connect the Red / Black / White (terminated in faston quick-splice connectors) to the power supply. Red is un-switched battery, white is switched battery (ignition) and Black is GND.  When looking for a power connection in, remember that the switched battery (ignition) is usually present on your cigarette lighter or most of your 12-volt power wires. Un-switched battery (harder to find) is present on your alarm system or other 'always-on' electronics. Use a volt-meter to detect switched versus un-switched wires. If hard to find, connect directly to the battery.  ___  &lt;br /&gt;8  Connect the LED wire to the LED output if you're the M2-ATX for LED pins.   ___&lt;br /&gt;9  Connect the ON/OFF wire harness (provided in the PSU package) to the M2-ATX ON/OFF controller and to the ON/OFF mainboard switch.   ___&lt;br /&gt;10   (Optional) Attach your audio amp  See details in VoomPC enclosure manual to connect the Amp Enable wire harness to your amp. Please pay special attention to the polarity of the wires. Note: Your amplifier remote control unit actually needs only one wire (RMT), GND is optional.  ___&lt;br /&gt;11  Hook up display, keyboard, etc, and perform a quick test of your system by turning ignition ON   ___  &lt;br /&gt;12  Attach temporary CD-ROM drive to load operating system and application software.   ___  &lt;br /&gt;13  Secure the enclosure in the vehicle using the four front/back mounting screws.  If you don't want to drill holes into your car chassis, large velcro pads work well when attached to the bottom plate of the enclosure. Use the "hook" side of the velcro pad on the PC to attach to your car's carpet. This works very well in most interiors.  ___  &lt;br /&gt;14  Locate and mount touch screen.  For many applications, this can represent a bulk of the work and require patience. Work slowly and carefully knowing that a slip of the Exacto knife or spilling adhesive will mean a trip to scrap yard or a costly trip to the dealer's parts department to fix.  ___  &lt;br /&gt;&lt;br /&gt;Here's a photograph showing how the components are placed for assembly onto the bottom plate of a VoomPC case. Note the overlapping strata of parts to retain our small footprint:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A Word about Car PC and Safety&lt;br /&gt;&lt;br /&gt;Using a PC on the road requires a tremendous amount of responsibility. The purpose of having a car PC—in addition to being really cool, of course—is to add to the enjoyment and safety of the driving experience. Unfortunately, having something as wonderful and complex as a computer within sight and reach of a driver can present a serious distraction.&lt;br /&gt;&lt;br /&gt;In other words, don't make your in-car PC a driving hazard for yourself or your clients. Instead, follow these important steps as part of your installation:&lt;br /&gt;&lt;br /&gt;    * Consult your local laws. In the U.S., for example, many states restrict the use of an in-car video monitor that's in the view of the driver.&lt;br /&gt;    * Take extra care to provide a safe installation. Design application access to be as easy and hands-free as possible.&lt;br /&gt;    * Consider having a serious talk with your clients about the safe use of the car PC. Since everyone will have questions and want to talk about their car PC, suggest an explanation before the trip gets underway. Or suggest offering to pull over to give a complete tour of the hardware and applications curbside, rather than while in motion.&lt;br /&gt;&lt;br /&gt;Once the Car PC is built and installed, you'll be ready to load the applications your client desires. But be prepared for questions, lots of them. Car PCs get loads of attention from both potential clients and passers-by. Don't forget to mention to your potential clients that having a Car PC consolidates all their miscellaneous hardware and wires into one box with a large, easy-to-use touch screen. It also lets them run their favorite PC applications in their car. PC gamers will love it for the novelty. Salespeople will love the GPS and the integrated phone and PC applications. And all your on-the-road clients will enjoy the superior media ability of motoring in style with their car PC.&lt;br /&gt;&lt;br /&gt;SIDEBAR: Additional Resources for Building Car PCs&lt;br /&gt;&lt;br /&gt;Online Vendors: You'll want to source your parts from people who are familiar with the mini-ITX and know the car PC business. I found these three online vendors to be among the best:&lt;br /&gt;&lt;br /&gt;    * Mini-Box&lt;br /&gt;    * MP3Car&lt;br /&gt;    * Digital Worldwide &lt;br /&gt;&lt;br /&gt;Discussion Forums: Check out the many car-PC sites forums for tips and tricks. Here are three I like:&lt;br /&gt;&lt;br /&gt;    * Car PC Specialist&lt;br /&gt;    * MP3Car.Com&lt;br /&gt;    * CarTFT &lt;br /&gt;&lt;br /&gt;Books: I recommend two helpful books devoted to car PCs. These two books can be especially helpful if you don't have a lot of experience with 12-volt DC systems, are unfamiliar with "faston" connectors for splicing wire quickly, or are uncomfortable cutting into ignition wiring:&lt;br /&gt;&lt;br /&gt;    * Geek My Ride by Auri Rahimzadeh (Wiley, 2005)&lt;br /&gt;    * Car PC Hacks by Damien Stolarz (O'Reilly, 2005) &lt;br /&gt;&lt;br /&gt;Additional ideas: Have a look at some pre-built car PCs. Streetdeck is one that has attracted a lot of attention.&lt;br /&gt;&lt;br /&gt;General information on mini-ITX systems: Check out the EPIACenter.&lt;br /&gt;&lt;br /&gt;ANDY MCDONOUGH is a professional musician, composer, voice actor, engineer, and educator happily freelancing in New Jersey.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-274819007717857891?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/274819007717857891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=274819007717857891' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/274819007717857891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/274819007717857891'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/08/build-in-car-pc.html' title='Build an In-Car PC'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/___2F67yc8gw/So2g5KwXhjI/AAAAAAAAAA0/l6rYURdtFps/s72-c/0619navivoice.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-3533836839566906797</id><published>2009-08-09T16:20:00.000-07:00</published><updated>2009-08-09T16:27:55.887-07:00</updated><title type='text'>Vyatta Wireless 3G USB card setup</title><content type='html'>Wireless 3G USB card setup&lt;br /&gt;&lt;br /&gt;The 3G USB wireless modem implementation has been verified against a Sierra Wireless USB Connect 881 modem on the ATT network and a UT Starcom (Pantech) 3G modem on the Verizon network, Tmobile.&lt;br /&gt;&lt;br /&gt;config tree:&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;interfaces {&lt;br /&gt;  wirelessmodem &lt;ppp0-999&gt; {&lt;br /&gt;    backup;&lt;br /&gt;    device &lt;txt&gt;;&lt;br /&gt;    mtu &lt;1-1500&gt;;&lt;br /&gt;    network &lt;att, verizon&gt;;&lt;br /&gt;    no-dns;&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Wirelessmodem devices are numbered ppp0-ppp999. The device will not show up in show interfaces until it is configured. The 3g drivers don't create a network interface until pppd is running.&lt;br /&gt;&lt;br /&gt;backup: If this node is set, a default route to the upstream provider will be installed in the routing table as a backup default route (metric 10). In this use case, the modem will only be used if the primary route fails.&lt;br /&gt;&lt;br /&gt;device: specify the system device for the modem. The default is ttyUSB0. 3g modems for the most part use either ttyUSBx or ttyACMx. Example configs are provided below for reference.&lt;br /&gt;&lt;br /&gt;mtu: set the maximum transmission unit for this link&lt;br /&gt;&lt;br /&gt;network: this parameter is used to define the chat script for a given network. This chat script is the sequence of AT commands sent to the modem. Chat scripts are provided for att and verizon. Those scripts may work on other networks. The verizon one may work for sprint for example. If a user has a network that doesn't work with one of the pre-existing chat scripts, they can add a custom one by putting the script in a file in /opt/vyatta/share/ppp/network/. The cli will automatically recognize it as a valid configuration option.&lt;br /&gt;&lt;br /&gt;no-dns: do not add the provider's DNS hosts to the local name resolution path.&lt;br /&gt;&lt;br /&gt;New operational mode commands:&lt;br /&gt;show interfaces wirelessmodem (ppp0): show the layer 3 stats for wirelessmodem interface ppp0&lt;br /&gt;show interfaces wirelessmodem (ppp0) stats: show the ppp stats for wirelessmodem interface ppp0&lt;br /&gt;show interfaces wirelessmodem (ppp0) debug: show the debug startup log wirelessmodem interface ppp0&lt;br /&gt;clear interfaces wirelessmodem (ppp0) session: reset the ppp session&lt;br /&gt;&lt;br /&gt;Configuration samples:&lt;br /&gt;ATT Sierra Wireless:&lt;br /&gt;&lt;br /&gt;set interfaces wirelessmodem ppp0&lt;br /&gt;commit&lt;br /&gt;&lt;br /&gt;Verizon UT Starcom:&lt;br /&gt;&lt;br /&gt;set interfaces wirelessmodem ppp0 network verizon&lt;br /&gt;set interfaces wirelessmodem ppp0 device ttyACM0&lt;br /&gt;commit&lt;br /&gt;&lt;br /&gt;The usb id for the card I have is 1199:6880, which doesn't work out of the box.&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;sat1-wf:~# show system usb&lt;br /&gt;Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;Bus 003 Device 005: ID 10d5:55a4 Uni Class Technology Co., Ltd&lt;br /&gt;Bus 003 Device 004: ID 413c:3010 Dell Computer Corp. Optical Wheel Mouse&lt;br /&gt;Bus 003 Device 003: ID 413c:2105 Dell Computer Corp. Model L100 Keyboard&lt;br /&gt;Bus 003 Device 002: ID 058f:9254 Alcor Micro Corp. Hub&lt;br /&gt;Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub&lt;br /&gt;Bus 001 Device 003: ID 1199:6880 Sierra Wireless, Inc.&lt;br /&gt;Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Notice that the Sierra Wireless chip is found, but a quick check of the logs shows this&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;May 18 14:53:29 sat1-wf pppd[4145]: In file /etc/ppp/peers/wlm0: unrecognized option '/dev/ttyUSB0'&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;looking in /dev, sure enough there is no ttyUSB0. The problem is that the usb_serial module doesn't recognize the usb id of this card, but that's an easy fix.&lt;br /&gt;&lt;br /&gt;First unload the sierra module, then the usb_serial module. Then load the usb_serial module and tell it to recognize the sierra card. Reload the sierra module and you're done. For those of you who are not clear on exactly how to do that:&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;modprobe -r usb_serial&lt;br /&gt;modprobe -r sierra&lt;br /&gt;modprobe usb_serial vendor=0x1199 product=0x6880&lt;br /&gt;modprobe sierra&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now to make it persistent across reboots, edit /etc/modules and add:&lt;br /&gt;usb_serial vendor=0x1199 product=0x6880&lt;br /&gt;&lt;br /&gt;Now there is just one more problem. After all of that, a quick check of the /dev directory shows 4 ttyUSBX devices. Vyatta uses ttyUSB0 by default, but the one we want is ttyUSB4. So change your config to something like this:&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt; wlm0 {&lt;br /&gt;     device ttyUSB4&lt;br /&gt;     network att&lt;br /&gt; } &lt;br /&gt;&lt;br /&gt;or&lt;br /&gt;&lt;br /&gt; All you have to do is create the file /etc/modprobe.d/options and put this line in it:&lt;br /&gt;&lt;br /&gt;options usbserial vendor=0x1199 product=0x6880&lt;br /&gt;&lt;br /&gt;That will make it survive reboots.&lt;br /&gt;&lt;br /&gt;create the file /etc/modprobe.d/options and put this line in it:&lt;br /&gt;&lt;br /&gt;options usbserial vendor=0x1199 product=0x6880&lt;br /&gt;&lt;br /&gt;This will enumerate 7 usb devices ttyUSB0 - 6&lt;br /&gt;&lt;br /&gt;use device ttyUSB3&lt;br /&gt;&lt;br /&gt;Also for those that use tmobile usa&lt;br /&gt;&lt;br /&gt;copy /opt/vyatta/share/ppp/network/att to /opt/vyatta/share/ppp/network/tmobile&lt;br /&gt;&lt;br /&gt;edit /opt/vyatta/share/ppp/network/tmobile&lt;br /&gt;&lt;br /&gt;modify line 4 from&lt;br /&gt;OK 'AT+CGDCONT=1,"IP","ISP.CINGULAR"'&lt;br /&gt;to&lt;br /&gt;OK 'AT+CGDCONT=1,"IP","WAP.VOICESTREAM.COM"'&lt;br /&gt;&lt;br /&gt;If your interface is wlm0 then&lt;br /&gt;&lt;br /&gt;set interfaces wirelessmodem wlm0 network tmobile&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-3533836839566906797?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/3533836839566906797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=3533836839566906797' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/3533836839566906797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/3533836839566906797'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/08/vyatta-wireless-3g-usb-card-setup.html' title='Vyatta Wireless 3G USB card setup'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-1488148048929609302</id><published>2009-07-20T13:21:00.000-07:00</published><updated>2009-07-20T13:22:50.988-07:00</updated><title type='text'>Rollback yum updates</title><content type='html'>Anyone who has been around here a while knows yum updates can be a nightmare. It seems other distros are not immune to this either. On the Elastix beta list the following info came through and it may not be a bad idea to add this as a default behaviour in the various distros&lt;br /&gt;&lt;br /&gt;--------------------------------------------email from Elastix Beta list ------------------------------------------------&lt;br /&gt;Something to look at if packages break&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;To configure yum to save rollback information, add the line&lt;br /&gt;tsflags=repackage to /etc/yum.conf.&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;To configure command-line rpm to do the same thing, add the line&lt;br /&gt;%_repackage_all_erasures 1 to /etc/rpm/macros.&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;Install, erase, and update packages to your heart's content, using pup,&lt;br /&gt;pirut, yumex, yum, rpm, and the yum automatic update service.&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;If/when you want to rollback to a previous state, perform an rpm update with&lt;br /&gt;the --rollback option followed by a date/time specifier. Some examples: rpm&lt;br /&gt;-Uhv --rollback '9:00 am', rpm -Uhv --rollback '4 hours ago', rpm -Uhv&lt;br /&gt;--rollback 'december 25'.&lt;br /&gt;&lt;br /&gt;source:&lt;br /&gt;http://www.trixbox.org/forums/trixbox-forums/open-discussion/rollback-yum-updates&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-1488148048929609302?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/1488148048929609302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=1488148048929609302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/1488148048929609302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/1488148048929609302'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/07/rollback-yum-updates.html' title='Rollback yum updates'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-4645727864725967314</id><published>2009-07-19T14:36:00.000-07:00</published><updated>2009-07-19T14:43:28.137-07:00</updated><title type='text'>Building a module in Trixbox</title><content type='html'>Building a module in Trixbox &lt;br /&gt;&lt;br /&gt;cd /var/www/html/maint/modules/support/ &lt;br /&gt;cp -R /var/www/html/maint/modules/support /var/www/html/maint/modules/test&lt;br /&gt;&lt;br /&gt;-Modify the module.xml file and the page.support.php file ( rename this according to your file option in module.xml).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Today I am going to break down the anatomy of a Trixbox CE module. Note that I am talking about a module in Trixbox CE's dashboard, and not a module in FreePBX, though there are many similarities.&lt;br /&gt;&lt;br /&gt;I have created a skeleton module, keeping things as simple as possible. Lets look at the files, starting with module.xml. This file is required by the dashboard menu code as it is scanned every time the dashboard is shown. It tells it where to place the entry in the menus, and what happens when that menu is selected. Lets look at the tags:&lt;br /&gt;module.xml&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;main_tab&gt;System&lt;/main_tab&gt;&lt;br /&gt;&lt;br /&gt;The primary menu to be placed under, or if hidden tab (see below) is 0, the name of the primary menu.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;tab_text&gt;Skeleton Admin&lt;/tab_text&gt;&lt;br /&gt;&lt;br /&gt;The menu item name&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;mouseover_title&gt;Administer Skeleton&lt;/mouseover_title&gt;&lt;br /&gt;&lt;br /&gt;Tooltip text for menu item&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;module_name&gt;Skeleton Admin&lt;/module_name&gt;&lt;br /&gt;&lt;br /&gt;Is used in the module's HTML in the footer&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;module_folder&gt;skeleton&lt;/module_folder&gt;&lt;br /&gt;&lt;br /&gt;The folder the module resides in (/maint/modules/skeleton)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;module_version&gt;2.6.1&lt;/module_version&gt;&lt;br /&gt;&lt;br /&gt;Is used in the module's HTML in the footer&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;hidden_tab&gt;1&lt;/hidden_tab&gt;&lt;br /&gt;&lt;br /&gt;A 1 makes this module an item in a menu, a 0 makes it a new menu&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;tab_url&gt;?skeleton&lt;/tab_url&gt;&lt;br /&gt;&lt;br /&gt;The actual link url. In this example, its just an argument to the dashboard's index.php, which causes it to load the template below. It could be a full URL to anything, but then you wouldnt get the dashboard headers and menu.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;template&gt;module.tpl&lt;/template&gt;&lt;br /&gt;&lt;br /&gt;The required smarty template, described below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;config_file&gt;config.php&lt;/config_file&gt;&lt;br /&gt;&lt;br /&gt;Config variables mostly for smarty.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;innerVar&gt;skeleton&lt;/innerVar&gt;&lt;br /&gt;&lt;new_window&gt;0&lt;/new_window&gt;&lt;br /&gt;&lt;br /&gt;A 1 here causes a new window to be opened, a 0 does not.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;menuorder&gt;11&lt;/menuorder&gt;&lt;br /&gt;&lt;br /&gt;Where to place the menu/item. The number is relative to the numbers in other modules, so this one would be placed after another module at 10 but before one placed at 20.&lt;br /&gt;module.tpl&lt;br /&gt;&lt;br /&gt;This is a smarty template file. Here's whats in module.tpl:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="iframe"&gt;&lt;br /&gt;&lt;iframe id="moduleIframe" marginheight="0" frameborder="0" scrolling="no" src="/kindex.php/skeleton"&gt;&lt;br /&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div id="bottomGutter"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This places your module's HTML inside of an iframe. If you like using smarty templates you can just put your html here and not use an iframe. Personally, I despise smarty. But that's what the dashboard is currently using. Because of this, you have the code below. the {literal} tag tells smarty not to mess with anything inside of it. This bit of javascript code is called from within the iframe by the module, so it can tell the iframe how tall it needs to be.&lt;br /&gt;&lt;br /&gt;The advantage of doing it this way, is that you can embed whatever you want. You can even wrap an entire separate web application inside a module using the iframes (this is how FreePBX is put into the Trixbox dashboard). Notice the url in the iframe tag.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;{literal}&lt;br /&gt;&lt;script&gt;&lt;br /&gt;&lt;br /&gt;var fixmoduleframe = function (height) {&lt;br /&gt;content = $('moduleIframe').contentWindow.document;&lt;br /&gt;&lt;br /&gt;$('moduleIframe').height = (height &lt; 440) ? 440:height;&lt;br /&gt;$('moduleIframe').width = document.width;&lt;br /&gt;}&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;{/literal}&lt;br /&gt;config.php&lt;br /&gt;&lt;br /&gt;Finally, you need this config file. This at minimum needs the following:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;$smarty-&gt;assign("inner","skeleton");&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;This just tells the smarty engine in the dashboard to insert our template into the dashboard's template.&lt;br /&gt;&lt;br /&gt;Now, this is really all you need to know to start making a module. But there's some more interesting stuff there to take advantage of. Most of the newer modules have been written using two frameworks. One is a backend PHP Framework called Kohana (http://kohanaphp.com/), and the other is a frontend Javascript framework called Appcelerator (http://www.appcelerator.com/). You can use either or both or neither of them, your choice. Kohana I highly recomend because it takes care of many security issues for you, makes database access easy, and has lots of nice libraries built into it. Its also very efficient and flexible. Appcelerator is an interesting beast and can be hard to wrap your head around because it uses a message based mechanism and its own kind of syntax to add functionality to HTML tags. It can be very powerful and it has many handy complex GUI widgets included. Unfortunately the newest versions are incompatible with whats being used in Trixbox, so I can't anymore really recommend it. Instead I think I would go with just jQuery and the jQuery UI and maybe some of the controls from the ext framework.&lt;br /&gt;&lt;br /&gt;Kohana uses an MVC style design, so you will see a controllers folder, and in there a skeleton.php file. I recommend reading the Kohana documentation, its really quite excellent. Reading this file should give you the general idea of how it works, though.&lt;br /&gt;&lt;br /&gt;Source:&lt;br /&gt;http://sporkbox.org/node/3&lt;br /&gt;http://www.trixbox.org/forums/trixbox-forums/trixbox-projects/trixbox-development-where-start&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-4645727864725967314?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/4645727864725967314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=4645727864725967314' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/4645727864725967314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/4645727864725967314'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/07/building-module-in-trixbox.html' title='Building a module in Trixbox'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-682084270210595786</id><published>2009-07-06T06:40:00.000-07:00</published><updated>2009-07-06T06:42:30.401-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows integration smeserver samba shares domain admin'/><title type='text'>SMESever Windows Integration</title><content type='html'>Microsoft Windows integration with SMEserver&lt;br /&gt;Goal&lt;br /&gt;&lt;br /&gt;Provide hints and tips to make life a bit easier in mixed environments.&lt;br /&gt;&lt;br /&gt;As suggested in this forum thread: http://forums.contribs.org/index.php?topic=39396.0&lt;br /&gt;Login to shared recources&lt;br /&gt;&lt;br /&gt;If you have exactly the same usernames and passwords in both clients and server, users only have to log in once (to Windows) to have direct access to shared recources on the server.&lt;br /&gt;Domain Admins group&lt;br /&gt;&lt;br /&gt;By default, SME Server allocates the "admin" user as the sole Domain Administrator. However, in larger environments it is often useful to have a group of users who can administer Windows workstations.&lt;br /&gt;&lt;br /&gt;To make a group of users Domain Administrators, simply name the group as normal and write "Domain Admin" as the description. When users who are members of this group next log in to a Windows workstation that is joined to the SME Server domain, they will have Local Administrator rights automatically.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How to change PDC from Windows 2003 to SME Server.&lt;br /&gt;&lt;br /&gt;From http://forums.contribs.org/index.php?topic=40228.new;topicseen Q: Is there any way in which i can do this without having to backup all the XP PC's and re-adding the PC's to the new Domain and then restoring all the files ?&lt;br /&gt;&lt;br /&gt;A: The Microsoft "Active Directory Migration Tool" is supposed to do all of this automatically -- but always looks like it will take 30 - 40 hours of effort to setup, debug, and test prior to hitting the "go" button...&lt;br /&gt;&lt;br /&gt;I move PC's from one domain to another as follows:&lt;br /&gt;&lt;br /&gt;    * Setup identical usernames on the new domain controller&lt;br /&gt;    * Add the computer to the new domain&lt;br /&gt;    * Login to the new domain NOT as the user who uses this computer (but with local administrative rights on the workstation).&lt;br /&gt;&lt;br /&gt;It is important to NOT login as the intended user until after the following step, or you will create a new profile directory named for the new domain, and you'll have to use the "variation" listed below. Sometimes (if the old profile included auto-start programs that don't close on logout), you may need to reboot the computer, making sure that the first login after reboot is to a user account that is NOT the intended user for the computer in order to be able to rename the intended user's profile.&lt;br /&gt;&lt;br /&gt;    * Rename the user's profile c:\documents and settings\username ==&gt; c:\documents and settings\username.old&lt;br /&gt;    * logout&lt;br /&gt;    * login as the intended user (re-creating "c:\documents and settings\username")&lt;br /&gt;    * logout&lt;br /&gt;    * login as another user with local admin rights (the same user used above, for example)&lt;br /&gt;    * rename the new userprofile c:\documents and settings\username ==&gt; c:\documents and settings\username.new&lt;br /&gt;    * rename the old user profile c:\documents and settings\username.old ==&gt; c:\documents and settings\username&lt;br /&gt;    * Change the ownership of the old profile to be the new user (or give the new user local administrative rights on the workstation)&lt;br /&gt;    * logout&lt;br /&gt;    * login as the new user - s/he should now have the exact same environment s/he had on the Windows server.&lt;br /&gt;&lt;br /&gt;Variation - can't use the old username, or old profile name is incorrect, or you've already created a new profile name for the intended user If the old profile name is "username.domainname", or if you're trying to change the username but keep the settings from the old system:&lt;br /&gt;&lt;br /&gt;    * download and install the Windows 2003 Resource Kit&lt;br /&gt;    * follow the above procedure, ending up with the old profile named correctly for the new login credentials&lt;br /&gt;    * use "linkd.exe" (from the W2k3 resource kit) to create a "link" to the new profile with the exact name of the old profile, in case any of the registry settings include a hard-coded path to the old profile directory name. &lt;br /&gt;&lt;br /&gt;(note: you don't need to install the entire resource kit on each workstation, you only need to put "linkd.exe" somewhere where you can get to it from each system - either in c:\windows on each system, or in a network share, for example)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-682084270210595786?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/682084270210595786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=682084270210595786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/682084270210595786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/682084270210595786'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/07/smesever-windows-integration.html' title='SMESever Windows Integration'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-8609845550891297641</id><published>2009-07-06T06:33:00.000-07:00</published><updated>2009-07-06T06:39:04.385-07:00</updated><title type='text'>Howto upgrade realtek network drivers on SMEServer</title><content type='html'># yum install kernel-devel gcc&lt;br /&gt;&lt;br /&gt;Download the source from the realtek website&lt;br /&gt;&lt;br /&gt;http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&amp;PNid=5&amp;PFid=5&amp;Level=5&amp;Conn=4&amp;DownTypeID=3&lt;br /&gt;&lt;br /&gt;remove the module causing the problem&lt;br /&gt;&lt;br /&gt;# lsmod | grep r8169&lt;br /&gt;# rmmod r8169&lt;br /&gt;&lt;br /&gt;Download and extract the realtek driver&lt;br /&gt;&lt;br /&gt;# cd /usr/src&lt;br /&gt;# tar xjvf realtek-driver.tar.bz&lt;br /&gt;# cd realtek-driver&lt;br /&gt;# make clean&lt;br /&gt;# make clean modules&lt;br /&gt;# make install&lt;br /&gt;&lt;br /&gt;Rename the old drive&lt;br /&gt;&lt;br /&gt;# mv /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko /lib/modules/`uname -r`/kernel/drivers/net/r8169.ko.bak&lt;br /&gt;&lt;br /&gt;Unload the old driver&lt;br /&gt;&lt;br /&gt;# rmmod r8169&lt;br /&gt;&lt;br /&gt;Load the new module&lt;br /&gt;&lt;br /&gt;# depmod -a&lt;br /&gt;# modprobe r8168&lt;br /&gt;&lt;br /&gt;Check the /etc/modprobe.conf file for a line entry like: alias eth0 r8169 and edit the line.&lt;br /&gt;You might want to comment out the existing alias line and create a new line entry, example;&lt;br /&gt;#alias eth0 r8169&lt;br /&gt;alias eth0 r8168&lt;br /&gt;# yum remove kernel-devel gcc&lt;br /&gt;# signal-event post-upgrade; signal-event reboot&lt;br /&gt;&lt;br /&gt;The module should be visible from the console mode when you reconfigure the server&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-8609845550891297641?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/8609845550891297641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=8609845550891297641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/8609845550891297641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/8609845550891297641'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/07/howto-upgrade-realtek-network-drivers.html' title='Howto upgrade realtek network drivers on SMEServer'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-6422738735142016464</id><published>2009-07-01T09:14:00.000-07:00</published><updated>2009-07-01T09:17:03.107-07:00</updated><title type='text'>trixbox 2.8 Xen fix/install</title><content type='html'>For this to work, you need to have the install media for CentOS, I use the CentOS 5.3 i386 DVD. You should also have a read the trixbox-xen.pdf on this site.&lt;br /&gt;&lt;br /&gt;CentOS specific stuff we need to do.&lt;br /&gt;mount -oloop CentOS-5.3-i386-bin-DVD.iso /var/www/html/centos&lt;br /&gt;&lt;br /&gt;make sure this is browsable in a web browser. You will need to be able to serve the installer these files.&lt;br /&gt;&lt;br /&gt;We need to copy off the vmliuz and initrd.img from the images/xen folder for our use during the install. I like to serve all of my xen specific stuff from a nfs mount so that I can access these files from different xen servers without issues. How you do it is up to you. These files MUST be accessible by the computer that is going to boot the Xen DomU for trixbox28. For ease of following this doc, I will user /srv/xen/trixbox28 as my directory for these files.&lt;br /&gt;mkdir /srv/xen/trixbox28&lt;br /&gt;cd /var/www/html/centos/images/xen&lt;br /&gt;cp initrd.img vmlinuz /srv/xen/trixbox28/&lt;br /&gt;&lt;br /&gt;Trixbox Specific Repo Setup.&lt;br /&gt;mkdir /var/www/html/trixbox&lt;br /&gt;&lt;br /&gt;We have to create a trixbox folder to serve the rpms from for the installer.&lt;br /&gt;mkdir /mnt/iso&lt;br /&gt;mount -oloop trixbox-2.8.0.iso /mnt/iso&lt;br /&gt;&lt;br /&gt;We need to mount the trixbox-2.8.0 iso so we can get the rpms and the comps.xml file off.&lt;br /&gt;cd /mnt/iso/trixbox&lt;br /&gt;cp *.rpm /var/www/html/trixbox/&lt;br /&gt;&lt;br /&gt;Now we need to grab the comps.xml file for making the trixbox repo on our web server.&lt;br /&gt;cd /mnt/iso/repodata&lt;br /&gt;cp comps.xml /var/www/html/trixbox/&lt;br /&gt;cd /var/www/html/trixbox/&lt;br /&gt;&lt;br /&gt;We need to add a couple of rpms to our new trixbox repo for xen. This will ensure the xen kernel and dahdi kmod files will work right out of the box. Make sure you are in /var/www/html/trixbox when doing the wget. Please also make sure to use your closest mirror by going to http://www.centos.org/modules/tinycontent/index.php?id=30&lt;br /&gt;wget http://mirror.nic.uoregon.edu/centos/5.3/updates/i386/RPMS/kernel-xen-2.6.18-128.1.10.el5.i686.rpm&lt;br /&gt;&lt;br /&gt;We also need the kmod-dahdi from the trixbox repo.&lt;br /&gt;wget http://yum.trixbox.org/trixbox/2.8/test/kmod-dahdi-linux-xen-2.2.0-4_trixbox.2.6.18_128.1.10.el5.i686.rpm&lt;br /&gt;&lt;br /&gt;Now lets create our repo for our installer.&lt;br /&gt;createrepo -g ./comps.xml ./&lt;br /&gt;&lt;br /&gt;if the createrepo is not found, install it with yum and try again.&lt;br /&gt;yum -y createrepo&lt;br /&gt;&lt;br /&gt;Now we create our install file. I call mine trixbox28.install, the contents are listed below. Yours may differ. Of particular note is the kernel, ramdisk, and ks=http://192.168.1.216/trixbox.ks lines. The file trixbox.ks is our kickstart file, which we will have to make changes to from my original one in my xen guide.&lt;br /&gt;&lt;br /&gt;kernel = “/srv/xen/trixbox28/vmlinuz”&lt;br /&gt;ramdisk = “/srv/xen/trixbox28/initrd.img”&lt;br /&gt;extra = “text ks=http://192.168.1.216/trixbox.ks”&lt;br /&gt;name = “trixbox”&lt;br /&gt;memory = “512″&lt;br /&gt;disk = [ 'tap:aio:/srv/xen/trixbox.img,xvda,w', ]&lt;br /&gt;vif = [ 'bridge=xenbr0', ]&lt;br /&gt;vcpus=1&lt;br /&gt;on_reboot = ‘destroy’&lt;br /&gt;on_crash = ‘destroy’&lt;br /&gt;&lt;br /&gt;Save this file in /etc/xen/&lt;br /&gt;&lt;br /&gt;Now we need to edit the trixbox.ks file or ks.cfg from my trixbox-xen guide. We need to change the first line for the url to now point to our centos install media.&lt;br /&gt;url –url http://192.168.1.216/centos&lt;br /&gt;please make sure to use the ip address for your web server that is serving the centos install media.&lt;br /&gt;&lt;br /&gt;We also need to add one additional repo (trixbox) to the trixbox.ks file. This is done with the repo line. Add this just before the %packages statement in the trixbox.ks file. Be sure to change the IP address and path to reflect the trixbox repo we created from above. We also need to add the kmod-dahdi-linux-xen so it gets installed and not install the kmod-dahdi-linux package.&lt;br /&gt;&lt;br /&gt;#Add the repo information&lt;br /&gt;repo –name=trixbox –baseurl=http://192.168.1.216/trixbox/&lt;br /&gt;%packages&lt;br /&gt;@Core&lt;br /&gt;@Trixboxcore&lt;br /&gt;kernel&lt;br /&gt;kernel-xen&lt;br /&gt;#add kmod-dahdi-linux-xen&lt;br /&gt;kmod-dahdi-linux-xen&lt;br /&gt;#remove the one for the other kernel so they don’t conflict possibly&lt;br /&gt;-kmod-dahdi-linux&lt;br /&gt;postfix&lt;br /&gt;-sendmail&lt;br /&gt;&lt;br /&gt;Now save your trixbox.ks or ks.cfg file with these changes.&lt;br /&gt;&lt;br /&gt;Now start the install process for trixbox28.&lt;br /&gt;xm create -c trixbox28.install&lt;br /&gt;&lt;br /&gt;Your installer should start and ask you for your local as well as a password for root.&lt;br /&gt;&lt;br /&gt;You may, more than likely, see a few error messages fly by when the installer starts going. These are ok to ignore.&lt;br /&gt;&lt;br /&gt;Once the install has finished it will shutdown and you will need to start it with your actual trixbox28 xen config. Mine is listed below, again yours might differ.&lt;br /&gt;&lt;br /&gt;name = “trixbox28″&lt;br /&gt;memory = “512″&lt;br /&gt;disk = [ 'tap:aio:/srv/xen/trixbox.img,xvda,w', ]&lt;br /&gt;vif = [ 'bridge=xenbr0', ]&lt;br /&gt;bootloader=”/usr/bin/pygrub”&lt;br /&gt;vcpus=1&lt;br /&gt;on_reboot = ‘restart’&lt;br /&gt;on_crash = ‘restart’&lt;br /&gt;&lt;br /&gt;You should see no errors with dhadi,&lt;br /&gt;Starting dahdi: Loading DAHDI hardware modules:&lt;br /&gt;wct4xxp: [ OK ]&lt;br /&gt;wcte12xp: [ OK ]&lt;br /&gt;wct1xxp: [ OK ]&lt;br /&gt;wcte11xp: [ OK ]&lt;br /&gt;wctdm24xxp: [ OK ]&lt;br /&gt;opvxa1200: [ OK ]&lt;br /&gt;wcfxo: [ OK ]&lt;br /&gt;wctdm: [ OK ]&lt;br /&gt;wcb4xxp: [ OK ]&lt;br /&gt;wctc4xxp: [ OK ]&lt;br /&gt;xpp_usb: [ OK ]&lt;br /&gt;&lt;br /&gt;No hardware timing source found in /proc/dahdi, loading dahdi_dummy&lt;br /&gt;Running dahdi_cfg: [ OK ]&lt;br /&gt;Firstboot scripts will run and you should be good to go.&lt;br /&gt;Source:&lt;br /&gt;http://engineertim.com/?p=98&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-6422738735142016464?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/6422738735142016464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=6422738735142016464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/6422738735142016464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/6422738735142016464'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/07/trixbox-28-xen-fixinstall.html' title='trixbox 2.8 Xen fix/install'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-88875538016218229</id><published>2009-06-30T21:48:00.000-07:00</published><updated>2009-06-30T21:52:31.395-07:00</updated><title type='text'>Installing freePBX on Debian Lenny</title><content type='html'>Installing freePBX on Debian Lenny&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Install Intrepid/lenny server as usual. Mark LAMP when installing the services. This will add Apache, MySQL and PHP5. Log in the server and access the super user account by issuing&lt;br /&gt;&lt;br /&gt;sudo su&lt;br /&gt;&lt;br /&gt;If you want to be sure about MySQL and PHP do this&lt;br /&gt;&lt;br /&gt;apt-get install php5-mysql libapache2-mod-php5 mysql-server&lt;br /&gt;&lt;br /&gt;You may need to set up apache appropriately, at the least be sure php5 is enabled. In Intrepid Ibex this is not needed:&lt;br /&gt;&lt;br /&gt;a2enmod php5&lt;br /&gt;&lt;br /&gt;For the localization to work properly you may have to edit /etc/php5/apache2/php.ini and modify as follow (leny/sid):&lt;br /&gt;&lt;br /&gt;; PHP's built-in default is text/html&lt;br /&gt;default_mimetype = "text/html"&lt;br /&gt;;default_charset = "ISO-8859-1"&lt;br /&gt;default_charset = "utf8"&lt;br /&gt;&lt;br /&gt;Adding the last line forces the default charset for php pages (override apache charset) to be utf8.&lt;br /&gt;&lt;br /&gt;From http://www.freepbx.org/trac/wiki/UbuntuServer&lt;br /&gt;&lt;br /&gt;    I had the problem with others i18n php websites too and this modification works fine for all of them&lt;br /&gt;&lt;br /&gt;other Php.ini settings you should change to make FreePBX happy.&lt;br /&gt;&lt;br /&gt;; Magic quotes for incoming GET/POST/Cookie data.&lt;br /&gt;magic_quotes_gpc = Off&lt;br /&gt;&lt;br /&gt;;max_input_nesting_level = 64 ; Maximum input variable nesting level&lt;br /&gt;memory_limit = 100M      ; Maximum amount of memory a script may consume (16MB)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Install Asterisk ¶&lt;br /&gt;&lt;br /&gt;apt-get install asterisk asterisk-mysql asterisk-mp3 php-db php5-gd php-pear sox curl&lt;br /&gt;&lt;br /&gt;There is no reason to install zaptel if you are using kernel 2.6 or above as it will provide the timing device unless of course you are using zaptel hardware. Ztdummy is no longer necessary.&lt;br /&gt;&lt;br /&gt;I am installing these also, sounds and prompts in spanish&lt;br /&gt;&lt;br /&gt;apt-get install asterisk-prompt-es asterisk-sounds-extra &lt;br /&gt;&lt;br /&gt;There are two approaches to solve the permissions problem, one is to add the asterisk group to the user www-data default in apache.&lt;br /&gt;&lt;br /&gt;1. Keep Apache running as www-data&lt;br /&gt;&lt;br /&gt;adduser www-data asterisk&lt;br /&gt;&lt;br /&gt;With this approach, FreePBX gives an error copying /usr/share/asterisk/bin/agi-bin. Change the owner doing this&lt;br /&gt;&lt;br /&gt;chown www-data.asterisk -R /usr/share/asterisk&lt;br /&gt;&lt;br /&gt;After installing FreePBX you will need to change the user in amportal.conf. This is explained in the section "Installing FreePBX".&lt;br /&gt;&lt;br /&gt;Skip step 2 and jump to step 3 in this section.&lt;br /&gt;&lt;br /&gt;2. Change Apache to run as asterisk&lt;br /&gt;&lt;br /&gt;The other one is to edit the /etc/apache2/envvars file and change apache's user to asterisk. I tested this one and it works.&lt;br /&gt;&lt;br /&gt;#export APACHE_RUN_USER=www-data&lt;br /&gt;#export APACHE_RUN_GROUP=www-data&lt;br /&gt;export APACHE_RUN_USER=asterisk&lt;br /&gt;export APACHE_RUN_GROUP=asterisk&lt;br /&gt;&lt;br /&gt;If you switched from approach 1 to approach 2, you should delete the session files in /var/lib/php5 or change ownership to asterisk.&lt;br /&gt;&lt;br /&gt;3. Reload apache&lt;br /&gt;&lt;br /&gt;apache2ctl graceful&lt;br /&gt;&lt;br /&gt;To make the FOP server start, I changed the default shell for the user asterisk that was set to false:&lt;br /&gt;&lt;br /&gt;usermod -s /bin/bash asterisk&lt;br /&gt;&lt;br /&gt;In /usr/sbin/safe_asterisk I changed the variable BACKGROUND which is in 0 to 1&lt;br /&gt;Installing FreePBX ¶&lt;br /&gt;&lt;br /&gt;Download freepbx from http://www.freepbx.org&lt;br /&gt;&lt;br /&gt;cd /tmp&lt;br /&gt;wget http://mirror.freepbx.org/freepbx-2.5.1.tar.gz&lt;br /&gt;cd /usr/src&lt;br /&gt;tar xvfz /tmp/freepbx-2.5.1.tar.gz&lt;br /&gt;cd freepbx-2.5.1&lt;br /&gt;&lt;br /&gt;Prepare database. (If you have set up a root password for mysql, as it prompts you to when installing, then you will have to include the '-p' switch in all the following commands beginning with mysql. For example, the first will be "mysqladmin create asterisk -p". Enter your mysql root password when prompted):&lt;br /&gt;&lt;br /&gt;mysqladmin create asterisk&lt;br /&gt;mysqladmin create asteriskcdrdb&lt;br /&gt;mysql asterisk &lt; SQL/newinstall.sql &lt;br /&gt;mysql asteriskcdrdb &lt; SQL/cdr_mysql_table.sql&lt;br /&gt;&lt;br /&gt;mysql&lt;br /&gt;&lt;br /&gt;GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';&lt;br /&gt;GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';&lt;br /&gt;flush privileges;&lt;br /&gt;quit&lt;br /&gt;&lt;br /&gt;VERY IMPORTANT BEFORE INSTALLING FREEPBX Make a copy of /etc/asterisk/modules.conf. FreePBX rewrites the file and trashes Asterisk installation. If you restart Asterisk after installing FreePBX Asterisk dies with no message.&lt;br /&gt;&lt;br /&gt;cp /etc/asterisk/modules.conf ~/asterisk-modules.conf&lt;br /&gt;&lt;br /&gt;Start installation of freepbx:&lt;br /&gt;&lt;br /&gt;./install_amp&lt;br /&gt;&lt;br /&gt;Things to write on, the other things may be left to the default values&lt;br /&gt;&lt;br /&gt;AMPWEBROOT=/var/www/freepbx&lt;br /&gt;&lt;br /&gt;Warning: If you have put FreePBX on a subdirectory, the panel will not work under the admin pages.&lt;br /&gt;&lt;br /&gt;There are two approaches to make it work&lt;br /&gt;&lt;br /&gt;1. Fix the error&lt;br /&gt;&lt;br /&gt;    Change the file /var/www/freepbx/admin/views/panel.php&lt;br /&gt;&lt;br /&gt;    // where it reads&lt;br /&gt;    //       '&lt;iframe width="97%" height="600" frameborder="0" align="top" src="../../panel/index_amp.php?context='.$deptname.'"&gt;&lt;/iframe&gt;'.&lt;br /&gt;    // you should erase one step back in the uri, as it shows here&lt;br /&gt;             '&lt;iframe width="97%" height="600" frameborder="0" align="top" src="../panel/index_amp.php?context='.$deptname.'"&gt;&lt;/iframe&gt;'.&lt;br /&gt;&lt;br /&gt;Go to step 3.&lt;br /&gt;&lt;br /&gt;2. Create a virtual server and access your freepbx as http://freepbx&lt;br /&gt;&lt;br /&gt;If you have access to the dns you can add a virtual server in Apache and avoid this last . Edit the file /etc/apache2/sites-available/freepbx and put this.&lt;br /&gt;&lt;br /&gt;################# Named VirtualHosts&lt;br /&gt;&lt;VirtualHost *:80&gt;&lt;br /&gt;&lt;br /&gt;    ServerName freepbx&lt;br /&gt;    ServerAlias freepbx&lt;br /&gt;&lt;br /&gt;    ServerAdmin yourname@yourdomain.com&lt;br /&gt;    ErrorLog /var/log/apache2/freepbx.error.log&lt;br /&gt;    CustomLog /var/log/apache2/freepbx.access.log combined&lt;br /&gt;&lt;br /&gt;    DocumentRoot /var/www/freepbx&lt;br /&gt;    &lt;Directory /var/www/freepbx&gt;&lt;br /&gt;        Options Indexes FollowSymLinks MultiViews&lt;br /&gt;        Order allow,deny&lt;br /&gt;        AllowOverride All&lt;br /&gt;        Allow from all&lt;br /&gt;    &lt;/Directory&gt;&lt;br /&gt;&lt;br /&gt;    &lt;Directory /var/www/freepbx/admin&gt;&lt;br /&gt;        AuthType Basic&lt;br /&gt;        AuthName "Restricted Area"&lt;br /&gt;        AuthUserFile freepbx-passwd&lt;br /&gt;        Require user admin&lt;br /&gt;    &lt;/Directory&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/VirtualHost&gt;&lt;br /&gt;&lt;br /&gt;##################################################################&lt;br /&gt;&lt;br /&gt;Make a symlink to make it available&lt;br /&gt;&lt;br /&gt;ln -s /etc/apache2/sites-available/freepbx /etc/apache2/sites-enabled/099-freepbx&lt;br /&gt;&lt;br /&gt;And add a password file with the password you want.&lt;br /&gt;&lt;br /&gt;htpasswd -c /etc/apache2/freepbx-passwd admin&lt;br /&gt;&lt;br /&gt;3. Restart Apache&lt;br /&gt;&lt;br /&gt;/etc/init.d/apache2 restart&lt;br /&gt;&lt;br /&gt;Restore the backup you've made of your modules.conf&lt;br /&gt;&lt;br /&gt;cp ~/asterisk-modules.conf /etc/asterisk/modules.conf&lt;br /&gt;&lt;br /&gt;If you have forgoten to make that backup, disable two libraries that are stopping asterisk to work. To disable a library you can add lines in /etc/asterisk/modules.conf. The autoload directive will load anything in the lib directory (/usr/lib/asterisk/modules) unless you put the line noload in the configuration file, before the global directive.&lt;br /&gt;&lt;br /&gt;noload =&gt;app_directory.so&lt;br /&gt;noload =&gt;res_adsi.so&lt;br /&gt;&lt;br /&gt;In Ubuntu Hardy Heron, you should disable also&lt;br /&gt;&lt;br /&gt;noload =&gt; app_voicemail_imap.so &lt;br /&gt;noload =&gt; app_voicemail_odbc.so&lt;br /&gt;&lt;br /&gt;From http://www.voip-info.org/wiki/view/Asterisk+modules&lt;br /&gt;&lt;br /&gt;    app_directory.so =&gt; (Extension Directory)&lt;BR&gt; res_adsi.so: Resource for ADSI applications. See http://www.voip-info.org/wiki/view/ADSI&lt;br /&gt;&lt;br /&gt;If you kept Apache running as www-data add this lines at the end of /etc/amportal.conf&lt;br /&gt;&lt;br /&gt;AMPASTERISKUSER=www-data&lt;br /&gt;AMPASTERISKGROUP=asterisk&lt;br /&gt;&lt;br /&gt;To make it start at the end of everything, edit the /etc/rc.local file before the line exit 0.&lt;br /&gt;&lt;br /&gt;/usr/local/sbin/amportal start&lt;br /&gt;exit 0&lt;br /&gt;&lt;br /&gt;(Optional) Asterisk will start on its own after package installation. If you want to run it under safe_asterisk and managed by amportal, remove asterisk from starting on its own&lt;br /&gt;&lt;br /&gt;update-rc.d -f asterisk remove&lt;br /&gt;&lt;br /&gt;Add a symlink and change permissions to make your System Recordings available to IVRs.&lt;br /&gt;&lt;br /&gt;ln -s /var/lib/asterisk/sounds/custom /usr/local/share/asterisk/sounds/&lt;br /&gt;chown -R asterisk:asterisk /usr/local/share/asterisk/&lt;br /&gt;chmod -R 755 /usr/local/share/asterisk/&lt;br /&gt;&lt;br /&gt;/usr/share/asterisk and its sub-directories must be owned by user and group asterisk or you will get an error in FreePBX about agi-bin and permissions. You can check your permissions&lt;br /&gt;&lt;br /&gt;$ ls -l /usr/share | grep asterisk&lt;br /&gt;drwxr-xr-x   8 asterisk asterisk 4096 2009-02-11 22:59 asterisk&lt;br /&gt;&lt;br /&gt;If it does not look as above (i.e., ownership is root root instead of asterisk asterisk), then fix it&lt;br /&gt;&lt;br /&gt;$ sudo chown -R asterisk:asterisk /usr/share/asterisk&lt;br /&gt;&lt;br /&gt;If you're using Ubuntu 9.04 (Jaunty Jackalope) you may need to add the following line to /etc/apache2/httpd.conf:&lt;br /&gt;&lt;br /&gt;DocumentRoot /var/www&lt;br /&gt;&lt;br /&gt;and restart apache&lt;br /&gt;&lt;br /&gt;apache2ctl restart&lt;br /&gt;&lt;br /&gt;Find your new FreePBX web interface at http://server-ip/freepbx. &lt;br /&gt;&lt;br /&gt;source:&lt;br /&gt;http://www.freepbx.org/trac/wiki/UbuntuServerIntrepid&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-88875538016218229?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/88875538016218229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=88875538016218229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/88875538016218229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/88875538016218229'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/06/installing-freepbx-on-debian-lenny.html' title='Installing freePBX on Debian Lenny'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-5177731020168986288</id><published>2009-06-26T20:11:00.000-07:00</published><updated>2009-06-26T20:16:01.861-07:00</updated><title type='text'>Asterisk, DAHDI and the Kernel drivers</title><content type='html'>I yum upgraded my system and SAIL has stopped working". &lt;br /&gt;This has to do with the fact that the Digium card drivers need to be loaded as part of the kernel (using insmod or modprobe) and the drivers themselves are actually stored in the kernel directory structure (usually in /lib/modules/kernel-release/extra or /lib/modules/kernel-release/update/extra). When the kernel changes (as it often does after a yum upgrade), Asterisk cannot find its drivers anymore (because they are in the directory structure of the old kernel, but not in the new one). ATrpms try to minimise the work they have to do by separating Zaptel/DAHDI rpms into two parts; the core release (1.4.xx) and a kmdl release which just contains the kmods for a particular kernel.&lt;br /&gt;&lt;br /&gt;Now, it is by no means guaranteed that ATrpms will have a kmdl release available for your particular kernel whenever you do a yum upgrade. So, before you run a yum update, use yum to check whether it will update the kernel by issuing the following console command...&lt;br /&gt;&lt;br /&gt;[root@sam SPECS]# yum check-update | grep -i kernel&lt;br /&gt;kernel.i686 2.6.9-78.0.13.EL smeupdates&lt;br /&gt;kernel-smp.i686 2.6.9-78.0.13.EL smeupdates&lt;br /&gt;&lt;br /&gt;You can now check ATrpms to see if the is a zaptel/DAHDI kmdl for the new kernel release before you do the yum update.&lt;br /&gt;&lt;br /&gt;If you didn't do the check and you are now in trouble, the easiest thing to do is simply start your SME Server on the old kernel. When yum installs a new kernel it doesn't throw the old one away and you can usually just start SME on the old (previous) kernel by pressing the space bar when the penguin/SME server splash screen appears at boot time. This will show you a list of all of the available kernels and you can choose which one you wish to start.&lt;br /&gt;&lt;br /&gt;If on the other hand you absolutely must run the new kernel for some reason (perhaps it fixes a big security hole) then you can usually get away with copying the contents of the /extra/ directory from the old kernel tree to the new one (at least until you can get hold of the correct kmdl rpm)...&lt;br /&gt;&lt;br /&gt;cp -a /lib/modules/_old-kernel_/extra/* /lib/modules/`uname -r`/extra&lt;br /&gt;&lt;br /&gt;This won't work if you have moved from an EL kernel to an ELsmp kernel, or vice versa, but for most other changes, you should get away with it. We don't recommend this practice and we certainly don't guarantee that it will work. You are on your own. If it breaks your SME install then you get to keep all of the pieces. However, suffice to say that it has thus far worked for us.&lt;br /&gt;&lt;br /&gt;source;&lt;br /&gt;http://sarkpbx.com/twiki/bin/view/Main/AsteriskDahdi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-5177731020168986288?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/5177731020168986288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=5177731020168986288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/5177731020168986288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/5177731020168986288'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/06/asterisk-dahdi-and-kernel-drivers.html' title='Asterisk, DAHDI and the Kernel drivers'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-2104430261474194765</id><published>2009-06-18T12:03:00.000-07:00</published><updated>2009-06-18T12:04:50.319-07:00</updated><title type='text'>How to Run VMWare ESXi on PowerEdge T105</title><content type='html'>How to Run VMWare ESXi on PowerEdge T105&lt;br /&gt;&lt;br /&gt;How to Run VMWare ESXi 4.0 on PowerEdge T105, you ask? Simple Answer. Flash Drive. The process goes thusly.&lt;br /&gt;&lt;br /&gt;    * Get your ESXi Image ready to go. You can download it from the VMWare website.&lt;br /&gt;    * Get your trusty 1GB+ Empty Flash Drive and stick it into one of the USB Ports on the Server&lt;br /&gt;    * Next, Burn the ISO to a disk and stick it in your drive.&lt;br /&gt;    * Press F11 at the BIOS to select your Boot device.&lt;br /&gt;    * Boot from the DVD-ROM Drive.&lt;br /&gt;    * When prompted where to install VMWare ESXi choose the Flash Drive that should show up in the list.&lt;br /&gt;    * When prompted to reboot, remove the installation media. On reboot enter the BIOS.&lt;br /&gt;    * Switch the Hard Drive Boot Priority to put the USB drive to the top.&lt;br /&gt;    * Boot VMWare ESXi as normal.&lt;br /&gt;&lt;br /&gt;Voilà! You’re ready to rock. The PowerEdge T105 is not on the HCL so you’re unfortunately unable to run it natively because of the onboard SATA controller. You could also find a compatible SATA controller and put the drives on that, but realistically the USB Drive is not that big of a hassel for most small environments. It also means you can boot VMWare even in the event of a HDD Failure. I’ve heard that many people will actually put the flash drive inside the case that so it is not at risk of being knocked around&lt;br /&gt;&lt;br /&gt;source&lt;br /&gt;http://www.greenwireit.com/blog/2009/06/how-to-run-vmware-esxi-on-poweredge-t105/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-2104430261474194765?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/2104430261474194765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=2104430261474194765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/2104430261474194765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/2104430261474194765'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/06/how-to-run-vmware-esxi-on-poweredge.html' title='How to Run VMWare ESXi on PowerEdge T105'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-3972301148799975911</id><published>2009-04-19T21:03:00.000-07:00</published><updated>2009-04-19T21:25:35.262-07:00</updated><title type='text'>FreePBX DialPatterns</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Outbound Routing and Trunks&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are two sections where numbers can be manipulated before passing them out to the outside world. The trunk and the outbound route. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Trunk&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first thing to note is there is no point whatsoever of putting any anything in the trunk dial rules unless it changes the dial string. &lt;br /&gt;The dial rules are there for manipulating the number before sending it onto the carrier.&lt;br /&gt;&lt;br /&gt;For instance, many VoIP carriers require calls to be sent to them in what is known as IETF format. &lt;br /&gt;For instance, someone in the USA would dial: -&lt;br /&gt;&lt;br /&gt;011 44 1179 1179 33 to speak to me in the UK &lt;br /&gt;however, your ITSP will only require:- 44 1179 1179 33 In the UK and much of the rest of the world, we simply prefix with a 00, so to call me normally, the user dials 00 44 1179 1179 33, however the carrier requires 441179117933&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;USA numbering system called the NANP – the North American Numbering Plan. &lt;br /&gt;Three sections of the plan: NPA-NXX-XXXX&lt;br /&gt;&lt;br /&gt;NPA – the area code [2-9][0-8][0-9]&lt;br /&gt;NXX – The exchange Code [2-9][0-9][0-9] &lt;br /&gt;XXXX-Station Code – [0-9][0-9][0-9][0-9]&lt;br /&gt;&lt;br /&gt;All numbers in the USA CANADA AND ISLANDS follow the above convention. &lt;br /&gt;However, the USA international code is 1, &lt;br /&gt;therefore your ISP may require you to actually send 1 followed by the remaining 10 digits.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Outbound Route&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The outbound route selects which trunk to use depending on the number dialed by the customer. &lt;br /&gt;It goes in strict order from the top, trying to match the number actually dialed with the pattern in the outbound route. When it matches with a pattern, then it will select the first available trunk connected to that route.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Generally speaking, we try and get all the numbers into the same sort of order before delivering them onto the the trunk. e.g. &lt;br /&gt;In the USA, we would be trying to get them into 10 digit NANP format. &lt;br /&gt;For the rest of the world, we would be delivering the numbers with the international dialing code, &lt;br /&gt;so that if the call goes out via a standard land line, it will simply be delivered as is, &lt;br /&gt;whereas if you are going out via a provider, you can add and remove digits to suit the carrier.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Tools&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In both outbound routes and trunks, there are a number of codes that are used to filter or select numbers as well as to do manipulation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Selection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;X – Matches any digit from 0 to 9 Z – Matches any digit from 1 to 9 &lt;br /&gt;N – Matches any digit from 2 to 9 &lt;br /&gt;[123] – Matches only the numbers in the brackets, e.g. 123 &lt;br /&gt;[1-3] – Matches a range of digits in the brackets, again 123 &lt;br /&gt;[1236-9] – Matches a range of digits as above, 123 678 and 9 . &lt;br /&gt;wildcard and matches everything. &lt;br /&gt;Asterisk warn against just putting in a . to match with everything – it is better practice to put X. to match everything.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So in the North American numbering plan mentioned previously, &lt;br /&gt;we had:- &lt;br /&gt;&lt;br /&gt;NPA – the area code [2-9][0-8][0-9]&lt;br /&gt;NXX -the exchange Code [2-9][0-9][0-9]&lt;br /&gt;XXXX - Station Code – [0-9][0-9][0-9][0-9]&lt;br /&gt;&lt;br /&gt;Which translates to N[0-8]XNXXXXXX&lt;br /&gt;However, for simplicity, it is just written as NXXNXXXXXX&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another example is a UK Cellphone.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The number always starts with a 447, and next digit is a number between 4 and 9, and always with another 9 digits after the 7 – so this number would be selected as 447[4-9]XXXXXXXXX, being lazy, you could just select the number as 447. but there is a danger that people could dial numbers beginning 4470 which are over a dollar a minute, and provide a revenue share for the owner of the number.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Manipulation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Numbers can be manipulated with the following operands.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;“+” - Adds a number onto the dialed digits. “|” _ Subtracts a number from the dialed digits.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So in the USA, to add a 1 onto the front of the NANP dial it is as simple as putting in 1+NXXNXXXXXX before delivering the number to your VoIP carrier. Do this in the trunk dial rule.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the UK, things are slightly more tricky. When we dial say my number in the UK, we would dial 01179117933, so to get this into IETF format, we have to remove the leading 0 and replace with a 44. This can be achieved by putting in a manipulation rule in the trunk dial rules. 44+0|ZXXXXXXXXX This rule would strip the leading 0 off and add a 44 onto the front where the number was 11 digits long, started with a 0, and the next number was not a 0.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Also in the UK, we can dial locally for instance, 01788 is the Rugby code, and then there are 6 digits, where the first digit is not a 0. So to pass this over a VoIP trunk in IETF format, we need to add 441788 onto the front of the number – this is easily done with 441788+ZXXXXX. However, there is one small problem – directory inquiries in the UK begin with 118 followed by 3 digits, so we would have to put a precise rule in for that as well 118XXX and make sure it went out via a suitable trunk.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The | can be used to help people move from an old PBX, where you do 9 for an outside line, and you still want people to dial with or without a 9. Simply put 9| NXXNXXXXXX and NXXNXXXXXX in the dial patterns box in the outbound route.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This will therefore match any 10 digit NANP number, and any 10 digit NANP number prefixed with 9.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Practicalities&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The first job is to create all the trunks, with dial rules to put them into IETF format where necessary, so that the number is delivered as the carrier expects to see it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then we can move onto Outbound routes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The first job is to ensure that the emergency services can be called. In the USA, this is 911, or if you are in a panic, it may be 9911 (9 for an outside line) In the UK, it is 999 and in much of Europe 112.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Taking the USA as an example, it is usually preferable to send emergency calls out over the local PSTN so that the caller ID is correct, and the emergency services know where to find you. There are E911 services, but keeping it simple, we assume all Emergency calls are going out over the local PSTN lines.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Operator Services and local calls.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So Create an outbound route, select the first PSTN trunk, and all the others (just in case) and put in:- 911 ; Will call emergency services 9|911 ; Will call emergency services even if they did 9 for an outside line.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Additionally, we can put some other patterns in here for any other numbers which have to go out over the PSTN. IN the UK, we have operator services, which are all 3 or 4 digits long, and never more than 5, so a simple: ZXXXX ; 5 Digit numbers not starting with a 0 ZXXX ; 4 Digit numbers not starting with a 0 ZXX ; 3 Digit numbers not starting with a 0&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In my experience, operator services and numbers that have to be dialed via the PSTN are never more than 5 digits and always start with a 1 to 9.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then we want to do the same for people who still want to dial 9 for an outside line – as per the legacy system 9|ZXXXX ; 5 Digit numbers not starting with a 0 and prefixed with a 9 for an outside line 9|ZXXX ; 4 Digit numbers not starting with a 0 and prefixed with a 9 for an outside line 9|ZXX ; 3 Digit numbers not starting with a 0 and prefixed with a 9 for an outside line&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You may also want to put in something 777|. So you can test your analogue trunks are working correctly, to force a call over the PSTN by prefixing your call with a 777.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;National&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The next Outbound route entry will be say for your USA, or national numbers, e.g.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NXXNXXXXXX ; NANP numbers 9| NXXNXXXXXX ; NANP numbers, where the user has prefixed with a 9&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The leading 1, or whatever has to be added on the front will be added on by the trunk dial rule. If you are using VoIP, you may want a hidden dial string to force calls over the VoIP trunks, so maybe add 888|. to force calls over VoIP. International Calls&lt;br /&gt;&lt;br /&gt;The final entry, maybe for your international calls.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The length of the dialed digits can vary depending on where you are calling, so this will be the last outbound route.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So in the USA, the international prefix is 011 and the next number will be a number between 1 and 9, so an entry for international routes will be&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;011Z. Which will match any international number For the rest of the world that uses 00 as the international prefix, 00Z. Will achieve the same ends.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Again, the 00 or the 011 will be stripped off by the dial rule in the trunk.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Again, we would want to make provision for people dialing 9 for an outside line&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;9|011Z. Or 9|00Z. As appropriate for your country.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Clearly these rules can be moved around to suit your own particular requirements.&lt;br /&gt;Inbound Routes&lt;br /&gt;&lt;br /&gt;It is not well documented, but it is possible to pattern match on inbound routes in the caller ID, this is done by prefixing the Caller ID to be matched with an underscore. So to match all calls that come from Germany, which has a dialcode of 49, simply type _49. in the inbound route caller ID field. This will match all calls which begin with a 49, with anything after it. You can use all of the selection digits to pattern match that you use in the outbound routes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-3972301148799975911?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/3972301148799975911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=3972301148799975911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/3972301148799975911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/3972301148799975911'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/04/freepbx-dialpatterns_19.html' title='FreePBX DialPatterns'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-3372199463291027605</id><published>2009-04-19T19:13:00.000-07:00</published><updated>2009-04-19T19:31:12.158-07:00</updated><title type='text'>DAHDI CFG</title><content type='html'>DAHDI conf files settings. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#cat dahdi-channels.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;; Autogenerated by /usr/sbin/dahdi_genconf on Fri Apr 3 22:28:00 2009 -- do not hand edit&lt;br /&gt;; Dahdi Channels Configurations (chan_dahdi.conf)&lt;br /&gt;;&lt;br /&gt;; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended&lt;br /&gt;; to be #include-d by /etc/asterisk/chan_dahdi.conf that will include the global settings&lt;br /&gt;;&lt;br /&gt;; Span 1: WCFXO/0 "Wildcard X100P Board 1" (MASTER)&lt;br /&gt;;;; line="1 WCFXO/0/0 FXSKS (EC: MG2)"&lt;br /&gt;signalling=fxs_ks&lt;br /&gt;callerid=asreceived&lt;br /&gt;group=0&lt;br /&gt;context=from-pstn&lt;br /&gt;channel =&gt; 1&lt;br /&gt;callerid=&lt;br /&gt;group=&lt;br /&gt;context=default&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#cat system.conf&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;# Autogenerated by /usr/sbin/dahdi_genconf on Fri Apr 3 22:28:00 2009 -- do not hand edit&lt;br /&gt;# Dahdi Configuration File&lt;br /&gt;#&lt;br /&gt;# This file is parsed by the Dahdi Configurator, dahdi_cfg&lt;br /&gt;#&lt;br /&gt;# Span 1: WCFXO/0 "Wildcard X100P Board 1" (MASTER)&lt;br /&gt;fxsks=1&lt;br /&gt;echocanceller=mg2,1&lt;br /&gt;&lt;br /&gt;# Global data&lt;br /&gt;&lt;br /&gt;loadzone = us&lt;br /&gt;defaultzone = us&lt;br /&gt;&lt;br /&gt;Here are the Dahdi command responses:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#setup-pstn&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------&lt;br /&gt;Detecting PSTN cards&lt;br /&gt;--------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;dahdi-linux-2.1.0.4-1_centos5&lt;br /&gt;&lt;br /&gt;STOPPING ASTERISK&lt;br /&gt;Unable to connect to remote asterisk (does /var/run/asterisk/asterisk.ctl exist?)&lt;br /&gt;Asterisk Stopped&lt;br /&gt;&lt;br /&gt;STOPPING FOP SERVER&lt;br /&gt;FOP Server Stopped&lt;br /&gt;Unloading DAHDI hardware modules: doneLoading DAHDI hardware modules:&lt;br /&gt;wct4xxp: [ OK ]&lt;br /&gt;wcte12xp: [ OK ]&lt;br /&gt;wct1xxp: [ OK ]&lt;br /&gt;wcte11xp: [ OK ]&lt;br /&gt;wctdm24xxp: [ OK ]&lt;br /&gt;wcfxo: [ OK ]&lt;br /&gt;wctdm: [ OK ]&lt;br /&gt;wcb4xxp: [ OK ]&lt;br /&gt;wctc4xxp: [ OK ]&lt;br /&gt;xpp_usb: [ OK ]&lt;br /&gt;&lt;br /&gt;Running dahdi_cfg: [ OK ]&lt;br /&gt;&lt;br /&gt;Checking for dahdi-auto.conf&lt;br /&gt;No need to create symlink&lt;br /&gt;&lt;br /&gt;SETTING FILE PERMISSIONS&lt;br /&gt;Permissions OK&lt;br /&gt;&lt;br /&gt;STARTING ASTERISK&lt;br /&gt;Asterisk Started&lt;br /&gt;&lt;br /&gt;STARTING FOP SERVER&lt;br /&gt;FOP Server Started&lt;br /&gt;Channel Location State Application(Data)&lt;br /&gt;0 active channels&lt;br /&gt;0 active calls&lt;br /&gt;0 calls processed&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#dahdi_cfg -vvv&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;DAHDI Tools Version - 2.1.0.2&lt;br /&gt;&lt;br /&gt;DAHDI Version: 2.1.0.4&lt;br /&gt;Echo Canceller(s): MG2&lt;br /&gt;Configuration&lt;br /&gt;======================&lt;br /&gt;&lt;br /&gt;Channel map:&lt;br /&gt;&lt;br /&gt;Channel 01: FXS Kewlstart (Default) (Echo Canceler: mg2) (Slaves: 01)&lt;br /&gt;&lt;br /&gt;1 channels to configure.&lt;br /&gt;&lt;br /&gt;Setting echocan for channel 1 to mg2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;#dahdi_tool&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;DAHDI Tool (C)2002-2008 Digium, Inc.&lt;br /&gt;&lt;br /&gt;¤ DAHDI Telephony Interfaces&lt;br /&gt;â Alarms Span â&lt;br /&gt;â OK Wildcard X100P Board 1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CLI&gt; dahdi show status&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Description Alarms IRQ bpviol CRC4 Fra Codi Options LBO&lt;br /&gt;Wildcard X100P Board 1 OK 0 0 0 CAS Unk YEL 0 db (CSU)/0-133 feet (DSX-1)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CLI&gt; dahdi show channels&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Chan Extension Context Language MOH Interpret Blocked State&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CLI&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CLI&gt; dahdi restart&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Destroying channels and reloading DAHDI configuration.&lt;br /&gt;== Parsing '/etc/asterisk/chan_dahdi.conf': == Found&lt;br /&gt;== Parsing '/etc/asterisk/dahdi-channels.conf': == Found&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CLI&gt; dahdi show status&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Description Alarms IRQ bpviol CRC4 Fra Codi Options LBO&lt;br /&gt;Wildcard X100P Board 1 OK 0 0 0 CAS Unk YEL 0 db (CSU)/0-133 feet (DSX-1)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;CLI&gt; dahdi show channels&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Chan Extension Context Language MOH Interpret Blocked State&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-3372199463291027605?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/3372199463291027605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=3372199463291027605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/3372199463291027605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/3372199463291027605'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/04/dahdi-cfg.html' title='DAHDI CFG'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-371631492042861747</id><published>2009-04-18T20:10:00.000-07:00</published><updated>2009-04-18T20:23:13.968-07:00</updated><title type='text'>Upgrade SMEServer-8.0beta3 to PHP-5.2.3</title><content type='html'>db yum_repositories set c5-testing repository&lt;br /&gt;db yum_repositories setprop c5-testing GPGKey http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing&lt;br /&gt;db yum_repositories setprop c5-testing BaseURL "http://dev.centos.org/centos/\$releasever/testing/\$basearch/"&lt;br /&gt;db yum_repositories setprop c5-testing Name "CentOS-5 Testing" enabled 0 GPGCheck yes&lt;br /&gt;signal-event yum-modify&lt;br /&gt;yum --enablerepo=c5-testing update php&lt;br /&gt;php --version&lt;br /&gt;signal-event post-upgrade; signal-event reboot&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-371631492042861747?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/371631492042861747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=371631492042861747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/371631492042861747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/371631492042861747'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/04/upgrade-smeserver-80beta3-to-php-523.html' title='Upgrade SMEServer-8.0beta3 to PHP-5.2.3'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-2998473737102282295</id><published>2009-03-05T20:08:00.000-08:00</published><updated>2009-03-05T20:16:06.841-08:00</updated><title type='text'>OpenSBC on Vyatta Firewall</title><content type='html'>OpenSBC on Vyatta Firewall How-To &lt;br /&gt;This solution builds a firewall that allows for Inbound SIP calling, Outbound SIP calling and far-end NAT traversal for remote users.&lt;br /&gt;&lt;br /&gt;Introduction&lt;br /&gt;The following instructions will help you create a fully functional SIP Session Border Controller. Utilizing&lt;br /&gt;the Open Source SBC known as OpenSBC (www.opensourcesip.org) and the Open Source and high&lt;br /&gt;performance firewall known as Vyatta (www.vyatta.org) you will be able to create a single server&lt;br /&gt;solution. This solution was designed to work with the Open Source PBX sipX Enterprise Communications&lt;br /&gt;Server (sipXecs) but should function for most pure SIP solutions with minor adjustments.&lt;br /&gt;A Session Border Controller is a device used in VoIP networks to provide control over the signaling and&lt;br /&gt;sometimes also the media streams involved in setting up, conducting, and tearing down calls. The battle&lt;br /&gt;with SIP traffic is usually in dealing with Network Address Translation (NAT) issues. Whether on the PBX&lt;br /&gt;side or on the far end for a teleworker. The SBC helps solve those problems.&lt;br /&gt;The Session Border Controller also allows administrators to not have to expose their PBX equipment&lt;br /&gt;directly to the Internet. The SBC acts as a buffer between the two worlds and may have some security&lt;br /&gt;measures implemented.&lt;br /&gt;Additionally it is desirable to be able to prioritize outbound Internet traffic through a single interface to&lt;br /&gt;the Internet. If a Session Border Controller is placed in parallel with a corporate firewall they will both&lt;br /&gt;contend for the same bandwidth. With the SBC and firewall in line the voice traffic can be prioritized&lt;br /&gt;properly over the data traffic.&lt;br /&gt;OpenSBC can do much more than manage SIP traffic in and out of a network. Another great feature of&lt;br /&gt;the product is the ability to setup trunks to Internet Telephony Service Providers (ITSP’s). This&lt;br /&gt;document however is concerned with SIP and NAT Traversal issues, so let’s get on with it.&lt;br /&gt;Install Vyatta&lt;br /&gt;This work was done with Vyatta 5 Beta.&lt;br /&gt;Download the Vyatta LiveCD ISO from http://www.vyatta.org/downloads&lt;br /&gt;Burn the ISO to a CD (imgburn (www.imgburn.com) works great)&lt;br /&gt;1. Boot from Vyatta LiveCD ISO. Press ENTER.&lt;br /&gt;2. At login, username 'root', password 'vyatta'.&lt;br /&gt;3. Enter 'install-system'&lt;br /&gt;4. Configure as needed... (see example configuration at the end of this document)&lt;br /&gt;Download/Install Items Needed for OpenSBC Compliation&lt;br /&gt;This is kind of a kitchen sink approach as there are probably more packaged listed than needed.&lt;br /&gt;1. Login to Firewall as user 'vyatta'&lt;br /&gt;2. cd /etc/apt&lt;br /&gt;3. su&lt;br /&gt;4. Password: (enter root password)&lt;br /&gt;5. nano -w sources.list&lt;br /&gt;6. Add line: "deb ftp://ftp.us.debian.org/debian/ lenny main contrib non-free"&lt;br /&gt;7. Ctrl-X and Y to overwrite&lt;br /&gt;8. apt-get update&lt;br /&gt;9. apt-get install -y mc autoconf automake cvs flex expat libexpat1-dev libtool build-essential&lt;br /&gt;libxml2 libxml2-dev libtiff4 libtiff4-dev php5 php5-cli php5-mysql php5 php5-cli php5-mysql&lt;br /&gt;php5-gd mysql-server libmysqlclient15-dev php-pear php-db curl sox apache2 libssl-dev&lt;br /&gt;libncurses5-dev bison libaudiofile-dev subversion libnewt-dev libcurl3-dev libnet-ssleay-perl&lt;br /&gt;openssl ssl-cert libauthen-pam-perl libio-pty-perl libmd5-perl libpg-perl libdbd-pg-perl php5-&lt;br /&gt;pgsql sqlite3 libsqlite3-dev openssl ssl-cert libapache2-mod-php5 php5-cli php5-common&lt;br /&gt;phpMyAdmin php5-mcrypt mcrypt phppgadmin apache2 libmcrypt-dev&lt;br /&gt;Get OpenSipStack and OpenSBC from CVS:&lt;br /&gt;This will download the most current OpenSIPStack and OpenSBC code from the development area.&lt;br /&gt;1. cd /usr/src&lt;br /&gt;2. cvs -d:pserver:anonymous@opensipstack.cvs.sourceforge.net:/cvsroot/opensipstack login&lt;br /&gt;3. cvs -z3 -d:pserver:anonymous@opensipstack.cvs.sourceforge.net:/cvsroot/opensipstack co -P&lt;br /&gt;opensipstack&lt;br /&gt;4. cvs -z3 -d:pserver:anonymous@opensipstack.cvs.sourceforge.net:/cvsroot/opensipstack co -P&lt;br /&gt;opensbc&lt;br /&gt;Compile / Make OpenSipStack and OpebSBC:&lt;br /&gt;The following will compile OpenSIPStack and OpenSBC&lt;br /&gt;1. cd /usr/src/opensipstack&lt;br /&gt;2. chmod +x ./configure&lt;br /&gt;3. ./configure&lt;br /&gt;4. make bothnoshared&lt;br /&gt;5. cd ../opensbc&lt;br /&gt;6. chmod +x ./configure&lt;br /&gt;7. ./configure&lt;br /&gt;8. make bothnoshared&lt;br /&gt;9. make distrib&lt;br /&gt;Relocate Executables&lt;br /&gt;Copy the executables to a more acceptable location on the server.&lt;br /&gt;1. cp /usr/src/opensbc/distrib/* /usr/local/bin&lt;br /&gt;Fix Shell Scripts&lt;br /&gt;The following will modify the startup and shutdown shell scripts.&lt;br /&gt;1. Edit /usr/local/bin/startup.sh (i use 'nano -w /usr/local/bin/startup.sh')&lt;br /&gt;2. Modify the startup command to: ./opensbc -d -p /var/run/opensbc.pid -H 65536 -C 1024000&lt;br /&gt;3. Modify the shutdown command to: ./opensbc -k -p /var/run/opensbc.pid&lt;br /&gt;Make OpenSBC run at Startup&lt;br /&gt;The following will make OpenSBC run when the Linux machine starts up.&lt;br /&gt;1. copy startup.sh to /etc/init.d (cp /usr/local/bin/startup.sh /etc/init.d/opensbc.sh&lt;br /&gt;2. Modify opensbc.sh to make sure it runs as root and so it can find the application.&lt;br /&gt;a. nano -w /etc/init.d/opensbc.sh&lt;br /&gt;b. Make the line read: /usr/local/bin/opensbc -u root -d -p /var/run/opensbc.pid -H 65536&lt;br /&gt;-C 1024000&lt;br /&gt;Note: In Debian the startup programs run from the rc2.d directory, begin with cap S and the order&lt;br /&gt;number it should start in. Create a symbolic link in that directory to the opensbc.sh script file.&lt;br /&gt;3. ln -fs /etc/init.d/opensbc.sh /etc/rc2.d/S92opebsbc&lt;br /&gt;Miscellaneous Information&lt;br /&gt;Log / Ini Files&lt;br /&gt;The ini file is in: /root/OpenSIPStack/OpenSBC_data&lt;br /&gt;The log files are in /root/OpebSIPStack/OpebSBC_data/logs&lt;br /&gt;To watch a log file use tail -f&lt;br /&gt;tail -f /root/OpenSIPStack/OpebSBC_data/logs/b2bua-....&lt;br /&gt;To get to OpenSBC Administration Console&lt;br /&gt;http://inside.ip.addr.vyatta:9999&lt;br /&gt;OpenSBC.ini file:&lt;br /&gt;See the important settings in RED.&lt;br /&gt;[Solegy]&lt;br /&gt;RTTS-Client-Address=(gets populated automatically with outside IP, this is of no use)&lt;br /&gt;[OpenSBC-General-Parameters]&lt;br /&gt;SIP-Log-Level=1&lt;br /&gt;PTRACE-Log-Level=1&lt;br /&gt;Log-File-Prefix=b2bua&lt;br /&gt;SBC-Application-Mode=B2BUpperReg Mode&lt;br /&gt;Interface-Address Array Size=0&lt;br /&gt;Enable-Backdoor-Port=True&lt;br /&gt;Enable-Trunk-Port=True&lt;br /&gt;Enable-Calea-Port=True&lt;br /&gt;RTP-Min-Port=10000&lt;br /&gt;RTP-Max-Port=20000&lt;br /&gt;Enable-Local-Refer=False&lt;br /&gt;Max-Forwards=70&lt;br /&gt;Encryption-Mode=XOR&lt;br /&gt;Encryption-Key=GS&lt;br /&gt;Transaction-Thread-Count=10&lt;br /&gt;Session-Thread-Count=10&lt;br /&gt;Alerting-Timeout=30000&lt;br /&gt;Seize-Timeout=60000&lt;br /&gt;SIP-Timer-B=Default&lt;br /&gt;SIP-Timer-H=Default&lt;br /&gt;Session-Keep-Alive=1800&lt;br /&gt;Session-Max-Life-Span=10800&lt;br /&gt;Max-Concurrent-Session=100&lt;br /&gt;Max-Call-Rate-Per-Second=10&lt;br /&gt;[Upper-Registration]&lt;br /&gt;Enable-Stateful-Reg=False&lt;br /&gt;Rewrite-TO-Domain=True&lt;br /&gt;Rewrite-FROM-Domain=True&lt;br /&gt;Route-List Array Size=1&lt;br /&gt;Route-List 1=[sip:*@externalsip.domain] sip:internalsip.domain;domain=internalsip.domain&lt;br /&gt;[Internal-DNS-Mapping]&lt;br /&gt;Internal-DNS-Map Array Size=2&lt;br /&gt;Internal-DNS-Map 1=[sip:internalsip.domain] sip:internal.ip.of.sipxpbx:5060&lt;br /&gt;Internal-DNS-Map 2=[sip:internal.fqdn.ofsipxpbx] sip:internal.ip.of.sipxpbx:5060&lt;br /&gt;[Proxy-Relay-Routes]&lt;br /&gt;Drop-Routes-On-Ping-Timeout=False&lt;br /&gt;Proxy-Resolve-To-URI=True&lt;br /&gt;Route-List Array Size=0&lt;br /&gt;[B2BUA-Routes]&lt;br /&gt;Enable-Route-Scripting=False&lt;br /&gt;Route-Script=b2bua-route.cscript&lt;br /&gt;Route-List Array Size=1&lt;br /&gt;Route-List 1= [sip:*@externalsip.domain] sip:internalsip.domain&lt;br /&gt;Insert-Route-Header=True&lt;br /&gt;Rewrite-TO-URI=True&lt;br /&gt;Prepend-ISUP-OLI=False&lt;br /&gt;Route-By-Request-URI=True&lt;br /&gt;Route-By-To-URI=False&lt;br /&gt;Drop-Routes-On-Ping-Timeout=False&lt;br /&gt;Use-External-XML=False&lt;br /&gt;External-XML-File=b2bua-route.xml&lt;br /&gt;[Media-Server]&lt;br /&gt;Enable-Media-Server=False&lt;br /&gt;Media-Server-Number=5000&lt;br /&gt;Codec-List Array Size=0&lt;br /&gt;No-RTP-Proxy-On-All-Transfers=False&lt;br /&gt;Enable-Announcement-Service=False&lt;br /&gt;4xx-Error-Map=prompts/basic/cant_complete.wav&lt;br /&gt;5xx-Error-Map=prompts/basic/cant_complete.wav&lt;br /&gt;6xx-Error-Map=prompts/basic/cant_complete.wav&lt;br /&gt;Announcement-Error-Map Array Size=0&lt;br /&gt;[Outbound-Proxies]&lt;br /&gt;Outbound-Proxies Array Size=0&lt;br /&gt;[Local-Domain-Accounts]&lt;br /&gt;Accept-All-Registration=True&lt;br /&gt;Account-List Array Size=0&lt;br /&gt;A Simple Vyatta Configuration&lt;br /&gt;firewall {&lt;br /&gt;broadcast-ping disable&lt;br /&gt;name ALLOW_ESTABLISHED {&lt;br /&gt;rule 10 {&lt;br /&gt;action accept&lt;br /&gt;state {&lt;br /&gt;established enable&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;name INBOUND {&lt;br /&gt;rule 20 {&lt;br /&gt;action accept&lt;br /&gt;destination {&lt;br /&gt;}&lt;br /&gt;log disable&lt;br /&gt;state {&lt;br /&gt;established enable&lt;br /&gt;related enable&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;rule 999 {&lt;br /&gt;action drop&lt;br /&gt;destination {&lt;br /&gt;address 0.0.0.0/0&lt;br /&gt;}&lt;br /&gt;log enable&lt;br /&gt;source {&lt;br /&gt;address 0.0.0.0/0&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;:&lt;br /&gt;name OUTBOUND {&lt;br /&gt;rule 999 {&lt;br /&gt;action accept&lt;br /&gt;destination {&lt;br /&gt;address 0.0.0.0/0&lt;br /&gt;}&lt;br /&gt;log disable&lt;br /&gt;source {&lt;br /&gt;address 0.0.0.0/0&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;name TO-ROUTER {&lt;br /&gt;rule 10 {&lt;br /&gt;action accept&lt;br /&gt;log disable&lt;br /&gt;state {&lt;br /&gt;established enable&lt;br /&gt;related enable&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;rule 30 {&lt;br /&gt;action accept&lt;br /&gt;icmp {&lt;br /&gt;type 3&lt;br /&gt;}&lt;br /&gt;log disable&lt;br /&gt;protocol icmp&lt;br /&gt;}&lt;br /&gt;rule 32 {&lt;br /&gt;action accept&lt;br /&gt;icmp {&lt;br /&gt;:&lt;br /&gt;type 8&lt;br /&gt;}&lt;br /&gt;log disable&lt;br /&gt;protocol icmp&lt;br /&gt;}&lt;br /&gt;rule 34 {&lt;br /&gt;action accept&lt;br /&gt;icmp {&lt;br /&gt;type 11&lt;br /&gt;}&lt;br /&gt;log disable&lt;br /&gt;protocol icmp&lt;br /&gt;}&lt;br /&gt;rule 40 { (Allow SIP Signalling Traffic In)&lt;br /&gt;action accept&lt;br /&gt;destination {&lt;br /&gt;port 5060&lt;br /&gt;}&lt;br /&gt;log enable&lt;br /&gt;protocol udp&lt;br /&gt;}&lt;br /&gt;rule 41 { (Allow RTP (voice) traffic in)&lt;br /&gt;action accept&lt;br /&gt;destination {&lt;br /&gt;port 10000-20000&lt;br /&gt;}&lt;br /&gt;log enable&lt;br /&gt;protocol udp&lt;br /&gt;}&lt;br /&gt;rule 999 {&lt;br /&gt;action drop&lt;br /&gt;destination {&lt;br /&gt;address 0.0.0.0/0&lt;br /&gt;}&lt;br /&gt;log enable&lt;br /&gt;source {&lt;br /&gt;address 0.0.0.0/0&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;interfaces {&lt;br /&gt;ethernet eth0 {&lt;br /&gt;address 172.16.1.254/24&lt;br /&gt;description inside&lt;br /&gt;firewall {&lt;br /&gt;in {&lt;br /&gt;name OUTBOUND&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;hw-id {auto populated with inside MAC addr}&lt;br /&gt;mtu 1500&lt;br /&gt;}&lt;br /&gt;ethernet eth1 {&lt;br /&gt;address dhcp (I’m getting my IP DHCP from cable modem)&lt;br /&gt;firewall {&lt;br /&gt;in {&lt;br /&gt;name INBOUND&lt;br /&gt;:&lt;br /&gt;}&lt;br /&gt;local {&lt;br /&gt;name TO-ROUTER&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;hw-id {auto populated with outside MAC addr}&lt;br /&gt;}&lt;br /&gt;loopback lo {&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;service {&lt;br /&gt;dhcp-server {&lt;br /&gt;disabled false&lt;br /&gt;shared-network-name ETH0_POOL {&lt;br /&gt;authoritative disable&lt;br /&gt;subnet 172.16.1.0/24 { (Inside Network IP Range)&lt;br /&gt;default-router 172.16.1.254 (Inside IP Address of Vyatta)&lt;br /&gt;dns-server 172.16.1.2 (IP Address of PBX or internal DNS Server)&lt;br /&gt;dns-server 208.67.222.222 (Extra DNS Servers…)&lt;br /&gt;dns-server 208.67.220.220&lt;br /&gt;domain-name xyzcompany.com (Internal SIP domain)&lt;br /&gt;ntp-server 172.16.1.2 (To Get Time from PBX)&lt;br /&gt;start 172.16.1.100 {&lt;br /&gt;stop 172.16.1.200&lt;br /&gt;}&lt;br /&gt;tftp-server-name 172.16.1.2 (To Download Phone Config Files from PBX)&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;dns { (If you are using dynamic DNS for Outside Interface)&lt;br /&gt;dynamic {&lt;br /&gt;interface eth1 {&lt;br /&gt;service dyndns {&lt;br /&gt;host-name sipxecs.dyndns.info&lt;br /&gt;login LoginID&lt;br /&gt;password password&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;nat {&lt;br /&gt;rule 1 {&lt;br /&gt;outbound-interface eth1&lt;br /&gt;type masquerade&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;ssh {&lt;br /&gt;allow-root true&lt;br /&gt;}&lt;br /&gt;webproxy {&lt;br /&gt;cache-size 500&lt;br /&gt;listen-address 172.16.1.254 {&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;:&lt;br /&gt;}&lt;br /&gt;system {&lt;br /&gt;domain-name xyzcompany.com&lt;br /&gt;host-name fw1&lt;br /&gt;login {&lt;br /&gt;user root {&lt;br /&gt;authentication {&lt;br /&gt;encrypted-password $1$0/Nwe.bk$rM/D4fTAHbvjaLarha/xK/&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;user vyatta {&lt;br /&gt;authentication {&lt;br /&gt;encrypted-password $1$6xFKV1OQ$ifrekBjneuSx1kacuaJm8/&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;ntp-server 69.59.150.135&lt;br /&gt;package {&lt;br /&gt;auto-sync 1&lt;br /&gt;repository community {&lt;br /&gt;components main&lt;br /&gt;distribution stable&lt;br /&gt;url http://packages.vyatta.com/vyatta&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;syslog {&lt;br /&gt;console {&lt;br /&gt;facility all {&lt;br /&gt;level err&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;host 172.16.1.129 {&lt;br /&gt;facility all {&lt;br /&gt;level err&lt;br /&gt;}&lt;br /&gt;facility kern {&lt;br /&gt;level debug&lt;br /&gt;}&lt;br /&gt;facility local0 {&lt;br /&gt;level debug&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks  Michael W. Picher for a great howto&lt;br /&gt;http://sipxecs.blogspot.com/2009/01/opensbc-on-vyatta-firewall-how-to.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-2998473737102282295?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/2998473737102282295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=2998473737102282295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/2998473737102282295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/2998473737102282295'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/03/opensbc-on-vyatta-firewall.html' title='OpenSBC on Vyatta Firewall'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-3133984438195921761</id><published>2009-03-05T20:04:00.000-08:00</published><updated>2009-03-05T20:08:20.304-08:00</updated><title type='text'>FreeSwith on Vyatta</title><content type='html'>Vyatta (ver 5 beta) with FreeSwitch Installation&lt;br /&gt;&lt;br /&gt;Install Vyatta&lt;br /&gt;&lt;br /&gt;Boot from ISO. Press ENTER.&lt;br /&gt;&lt;br /&gt;At login, username 'root', password 'vyatta'.&lt;br /&gt;&lt;br /&gt;Enter 'install-system'&lt;br /&gt;&lt;br /&gt;Configure as needed...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Get items required for building Freeswitch&lt;br /&gt;&lt;br /&gt;Login to Firewall as user 'vyatta'&lt;br /&gt;&lt;br /&gt;vyatta@FW1:~$ cd /etc/apt&lt;br /&gt;vyatta@FW1:/etc/apt$ su&lt;br /&gt;Password: (enter root password)&lt;br /&gt;vyatta@FW1:/etc/apt$ nano -w sources.list&lt;br /&gt;&lt;br /&gt;Add line: "deb ftp://ftp.us.debian.org/debian/ lenny main contrib non-free"&lt;br /&gt;&lt;br /&gt;Ctrl-X and Y to overwrite&lt;br /&gt;&lt;br /&gt;FW1:/etc/apt# apt-get update&lt;br /&gt;&lt;br /&gt;FW1:/etc/apt# apt-get install -y mc autoconf automake libtool build-essential libxml2 libxml2-dev libtiff4 libtiff4-dev php5 php5-cli php5-mysql php5 php5-cli php5-mysql php5-gd mysql-server libmysqlclient15-dev php-pear php-db curl sox apache2 libssl-dev libncurses5-dev bison libaudiofile-dev subversion libnewt-dev libcurl3-dev libnet-ssleay-perl openssl ssl-cert libauthen-pam-perl libio-pty-perl libmd5-perl libpg-perl libdbd-pg-perl php5-pgsql sqlite3 libsqlite3-dev openssl ssl-cert libapache2-mod-php5 php5-cli php5-common phpMyAdmin php5-mcrypt mcrypt phppgadmin apache2 libmcrypt-dev&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Get the Freeswitch Code&lt;br /&gt;&lt;br /&gt;cd /usr/src/&lt;br /&gt;&lt;br /&gt;svn checkout http://svn.freeswitch.org/svn/freeswitch/trunk freeswitch&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Build Freeswitch...&lt;br /&gt;&lt;br /&gt;cd freeswitch&lt;br /&gt;&lt;br /&gt;./bootstrap.sh&lt;br /&gt;&lt;br /&gt;./configure –prefix=/usr/local/freeswitch&lt;br /&gt;&lt;br /&gt;make&lt;br /&gt;&lt;br /&gt;make install&lt;br /&gt;&lt;br /&gt;make sounds-install&lt;br /&gt;&lt;br /&gt;make moh-install&lt;br /&gt;&lt;br /&gt;make samples&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Run Freeswitch...&lt;br /&gt;&lt;br /&gt;cd /usr/local/freeswitch/bin&lt;br /&gt;&lt;br /&gt;./freeswitch&lt;br /&gt;&lt;br /&gt;original post&lt;br /&gt;http://sipxecs.blogspot.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-3133984438195921761?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/3133984438195921761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=3133984438195921761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/3133984438195921761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/3133984438195921761'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/03/freeswith-on-vyatta.html' title='FreeSwith on Vyatta'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-360650278937022872</id><published>2009-02-24T14:14:00.000-08:00</published><updated>2009-02-24T14:17:08.087-08:00</updated><title type='text'>Change SQL in Trixbox 2.6.1 Passwords Step by Step</title><content type='html'>http://trixbox.org/forums/trixbox-forums/open-discussion/change-default-sql-password-freepbx-version-2-6&lt;br /&gt;&lt;br /&gt;How to Change MySQL passwords: Follow each step in order !&lt;br /&gt;&lt;br /&gt;Step 1) mysql -u root –p [ENTER]&lt;br /&gt;Step 2) Enter password: passw0rd [ENTER]&lt;br /&gt;&lt;br /&gt;Welcome to the MySQL monitor. Commands end with ; or \g.&lt;br /&gt;Your MySQL connection id is 3743 to server version: 5.0.22&lt;br /&gt;&lt;br /&gt;Type 'help;' or '\h' for help. Type '\c' to clear the buffer.&lt;br /&gt;&lt;br /&gt;Step 3) mysql&gt; use mysql; [ENTER]&lt;br /&gt;Reading table information for completion of table and column names&lt;br /&gt;You can turn off this feature to get a quicker startup with -A&lt;br /&gt;&lt;br /&gt;Database changed&lt;br /&gt;Step 4) mysql&gt; update user set password = PASSWORD('NEW_PASSWORD') where User = 'asteriskuser'; [ENTER]`&lt;br /&gt;Query OK, 1 row affected (0.00 sec)&lt;br /&gt;Rows matched: 1 Changed: 1 Warnings: 0&lt;br /&gt;&lt;br /&gt;Step 5) mysql&gt; grant all privileges on *.* to root@localhost identified by ''NEW_PASSWORD ' with grant option; [ENTER]&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Step 6) mysql&gt; show databases; [ENTER]&lt;br /&gt;+------------------------+&lt;br /&gt;| Database |&lt;br /&gt;+------------------------+&lt;br /&gt;| information_schema |&lt;br /&gt;| asterisk |&lt;br /&gt;| asteriskcdrdb |&lt;br /&gt;| asteriskrealtime |&lt;br /&gt;| endpoints |&lt;br /&gt;| meetme |&lt;br /&gt;| mysql |&lt;br /&gt;| sugarcrm |&lt;br /&gt;| test |&lt;br /&gt;+------------------------+&lt;br /&gt;9 rows in set (0.00 sec)&lt;br /&gt;&lt;br /&gt;Step 7) mysql&gt; grant all privileges on meetme.* to asteriskuser@localhost; [ENTER]&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Step 7) mysql&gt; grant all privileges on endpoints.* to asteriskuser@localhost; [ENTER]&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Step 8) mysql&gt; grant all privileges on asteriskrealtime.* to asteriskuser@localhost; [ENTER]&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Step 9) mysql&gt; grant all privileges on asteriskcdrdb.* to asteriskuser@localhost; [ENTER]&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Step 10) mysql&gt; grant all privileges on asterisk.* to asteriskuser@localhost; [ENTER]&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;Step 11) mysql&gt; flush privileges; [ENTER]&lt;br /&gt;Query OK, 0 rows affected (0.00 sec)&lt;br /&gt;&lt;br /&gt;mysql&gt; exit [ENTER]&lt;br /&gt;Bye&lt;br /&gt;&lt;br /&gt;OK THIS PART IS FINISHED!&lt;br /&gt;&lt;br /&gt;Next…..&lt;br /&gt;&lt;br /&gt;Change default passwords:&lt;br /&gt;&lt;br /&gt;To change the FreePBX manager pass, you need to edit two separate files and put in the new password.&lt;br /&gt;&lt;br /&gt;Step 12) nano /etc/asterisk/manager.conf [ENTER]&lt;br /&gt;&lt;br /&gt;Find 'secret = amp111' under the [admin] section. Change 'amp11' to your new desired password. CTRL+X followed by 'Y' to save and exit.&lt;br /&gt;&lt;br /&gt;Now, we need to edit the /etc/amportal.conf to use our new password.&lt;br /&gt;&lt;br /&gt;Step 13) nano /etc/amportal.conf [ENTER]&lt;br /&gt;&lt;br /&gt;Find the line that says 'AMPMGRPASS=amp111' and change the 'amp11' to the new password you just set. CTRL+X followed by 'Y' to save and exit.&lt;br /&gt;&lt;br /&gt;Now we need to edit the /etc/cbmysql.conf&lt;br /&gt;&lt;br /&gt;Step 14) nano /etc/asterisk/cbmysql.conf [ENTER]&lt;br /&gt;&lt;br /&gt;Find the line that says password=passw0rd' and change the ' passw0rd' to the new password you just set. CTRL+X followed by 'Y' to save and exit.&lt;br /&gt;&lt;br /&gt;Now we need to edit the /var/www/html/web-meetme/lib/database.php&lt;br /&gt;Step 15) nano /var/www/html/web-meetme/lib/database.php [ENTER]&lt;br /&gt;Find the line that says $password = 'passw0rd';' and change the 'passw0rd' to the new password you just set. CTRL+X followed by 'Y' to save and exit.&lt;br /&gt;&lt;br /&gt;You will also need to update the password in the /etc/asterisk/cdr_mysql.conf file for call detail records (cdr) and in /etc/asterisk/res_mysql&lt;br /&gt;&lt;br /&gt;Step 16) nano /etc/asterisk/cdr_mysql.conf [ENTER]&lt;br /&gt;&lt;br /&gt;Find the line that says 'password=amp109' and change the 'amp109' to the new password you just set. CTRL+X followed by 'Y' to save and exit.&lt;br /&gt;&lt;br /&gt;Step 17) nano /etc/asterisk/res_mysql.conf [ENTER]&lt;br /&gt;&lt;br /&gt;Find the line that says 'dbpass=amp109' and change the 'amp109' to the new password you just set. CTRL+X followed by 'Y' to save and exit.&lt;br /&gt;&lt;br /&gt;Step 18) service mysqld restart [ENTER]&lt;br /&gt;&lt;br /&gt;Step 19) amportal restart [ENTER]&lt;br /&gt;&lt;br /&gt;Ready to Rock ‘n’ Roll!&lt;br /&gt;&lt;br /&gt;*** NOTE: FreePBX/MySQL does not like having an exclamation point (!) in the password. There may be other special characters that it doesn't like also.&lt;br /&gt;&lt;br /&gt;Document prepared by: Scott J. Arnold 09/11/2008 Contact: Scott@TheVOIPWiz.com&lt;br /&gt;IAX2 Hardware at http://www.thevoipwiz.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-360650278937022872?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/360650278937022872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=360650278937022872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/360650278937022872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/360650278937022872'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/02/change-sql-in-trixbox-261-passwords.html' title='Change SQL in Trixbox 2.6.1 Passwords Step by Step'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-4327376324210655145</id><published>2009-02-24T14:02:00.001-08:00</published><updated>2009-02-24T14:02:31.171-08:00</updated><title type='text'>web-meetme</title><content type='html'>Log into the mysql db and look at the user table in the meetme db. I found that the password update feature sets the passwds to NULL. Not sure why, but setting a plaintext!! password for the user fixes it (update user set password="NEWPASS" where id=x;). meetme v3 is still having other issues, like not allowing viewing of the conferences in progress (says auth timeout after 90 seconds in some phpagi-asmanager file) and the emailer feature is mailing the notice, but its content is duplicated. To fix the email not working problem, I changed the MAILER option to SERVER, and to fix meetme from saying "invalid conference number" updated the username/password for the DB in several files and changed "localhost" to its ip equiv "127.0.0.1". There seems to be alot of places where username, password and dbhost are still defined statically in the files, which is a headache to track down and change:&lt;br /&gt;&lt;br /&gt;/var/www/html/web-meetme/lib/database.php&lt;br /&gt;/var/www/html/web-meetme/lib/defines.php&lt;br /&gt;/var/www/html/admin/functions.inc.php&lt;br /&gt;/var/www/html/include/ccsframework/common.php&lt;br /&gt;/var/www/html/xmlservices/include/xmlservices_libs.php&lt;br /&gt;&lt;br /&gt;Still looking for something else that needs changing, I think its bad programming in there somewhere thats assuming the db user/pass is the same as for asterisk and webmeetme or something...&lt;br /&gt;&lt;br /&gt;edit: Found my issues, the other config file is /etc/asterisk/phpagi.conf, it has the default asterisk admin user/pass in it.... add that to the list of hardcoded usernames/passes that needs to be #included somewhere. meetme and webmeetme work good now... still tracking down why the email has the body contents duped, and why bringing up a conference to edit its props doesnt pull in the name or other details.&lt;br /&gt;&lt;br /&gt;    * Login or register to post comments&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;tlum&lt;br /&gt;Posts: 39&lt;br /&gt;Member Since:&lt;br /&gt;2008-08-10&lt;br /&gt;Code error in user_add_sqldb.php&lt;br /&gt;Sun, 11/23/2008 - 7:50pm&lt;br /&gt;&lt;br /&gt;Problems in /var/www/html/web-meetme/user_add_sqldb.php&lt;br /&gt;&lt;br /&gt;Around line 90:&lt;br /&gt;&lt;br /&gt;Change:&lt;br /&gt;&lt;br /&gt;          if($userPass)&lt;br /&gt;          {&lt;br /&gt;//               $userPass = md5($userPass);&lt;br /&gt;               $userPass = "password='$userPass'";&lt;br /&gt;          }&lt;br /&gt;          if (intval($conflict) == 1){&lt;br /&gt;           $data = array($userEmail,$userAdmin,$fname,$lname,$phone,$userPassr);&lt;br /&gt;&lt;br /&gt;To:&lt;br /&gt;&lt;br /&gt;//          if($userPass)&lt;br /&gt;//          {&lt;br /&gt;//               $userPass = md5($userPass);&lt;br /&gt;//               $userPass = "password='$userPass'";&lt;br /&gt;//          }&lt;br /&gt;          if (intval($conflict) == 1){&lt;br /&gt;           $data = array($userEmail,$userAdmin,$fname,$lname,$phone,$userPass);&lt;br /&gt;&lt;br /&gt;Missspelling $userPassr passes NULL to the database... correct variable misspelling by removing 'r'. Comment (or remove) $userPass = "password='$userPass'"; to correct syntax. $userPass should simply be the actual password. Looks like someone was toying with an MD5 hash in the database... never quite got it working, but never quite reverted back to working non-MD5 either.&lt;br /&gt;&lt;br /&gt;-Ted-&lt;br /&gt;&lt;br /&gt;    * Login or register to post comments&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;kinglyr&lt;br /&gt;Posts: 26&lt;br /&gt;Member Since:&lt;br /&gt;2007-05-06&lt;br /&gt;WEB-MEETME PROBLEMS SOLVED!!! (STEP-BY-STEP)&lt;br /&gt;Wed, 01/14/2009 - 10:41am&lt;br /&gt;&lt;br /&gt;After a lot of reading and testing here is the solutions of the Web-Meetme problems, that i can confirm that all EXIST on TrixBox v2.6.2.1 (STABLE)&lt;br /&gt;&lt;br /&gt;There is a typo in one of the .php files for Web Meetme. Go to the Linux CLI and type this in:&lt;br /&gt;nano -w /var/www/html/web-meetme/user_add_sqldb.php&lt;br /&gt;Press CTRL+W to search and type in 'userPassr' and press Enter. If you get taken to a result, change 'userPassr' to 'userPass' (removing the 'r' on the end). Also there is another error in Line 93 comment out $userPass = "password='$userPass'"; and insert instead $userPass = "$userPass";&lt;br /&gt;&lt;br /&gt;ALSO A USEFUL TIP:&lt;br /&gt;If you did something wrong and you have been locked out from Web-Meetme then do the following to see the meetme users and change their password and admin priviledges:&lt;br /&gt;mysql -u root -p (enter your SQL root password, default is: passw0rd)&lt;br /&gt;show databases;&lt;br /&gt;use meetme;&lt;br /&gt;show tables;&lt;br /&gt;show columns from user;&lt;br /&gt;select * from user;&lt;br /&gt;select * from user where password is null;&lt;br /&gt;update user set password=PASSWORD("newpass") where email='user_email_you_want_change_pass';&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-4327376324210655145?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/4327376324210655145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=4327376324210655145' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/4327376324210655145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/4327376324210655145'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/02/web-meetme.html' title='web-meetme'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-7902533385660212636</id><published>2009-02-24T08:25:00.000-08:00</published><updated>2009-02-24T14:01:52.627-08:00</updated><title type='text'>EndPoint Device Setup</title><content type='html'>&lt;h1 class="firstHeading"&gt;Atftp server&lt;/h1&gt;&lt;br /&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; Description &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;This contribution adds a tftp server (atftp-server) to your smeserver (primarily used by workstations that are using the pxeboot protocol to retrieve boot images and parameters from the server). &lt;/p&gt;&lt;p&gt;It was produced to support my &lt;a href="http://wiki.contribs.org/Thinclient" title="Thinclient"&gt;smeserver-thinclient&lt;/a&gt; contrib, but can be used independently. &lt;/p&gt;&lt;p&gt;I also have a sister contrib that uses &lt;a href="http://wiki.contribs.org/Tftp_server" title="Tftp server"&gt;tftp-server&lt;/a&gt;, if you prefer that server. It works the same as this one and is interchangeable. &lt;/p&gt; &lt;a name="Requires"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; Requires &lt;/span&gt;&lt;/h3&gt; &lt;ul&gt;&lt;li&gt;smeserver &gt;= 7.0 &lt;/li&gt;&lt;/ul&gt;wget http://distro.ibiblio.org/pub/linux/distributions/smeserver/releases/7/smecontribs/SRPMS/smeserver-tftp-server-1.0-2.el4.sme.src.rpm&lt;br /&gt;wget http://distro.ibiblio.org/pub/linux/distributions/smeserver/releases/7/smecontribs/SRPMS/smeserver-xinetd-0.1-1.el4.sme.src.rpm&lt;br /&gt;http://yum.trixbox.org/centos/5/SRPMS/tb-tftpboot-2.6.0-1.src.rpm&lt;br /&gt;http://yum.trixbox.org/centos/5/SRPMS/tbm-endpointcfg-2.6.1-7.src.rpm&lt;br /&gt;http://yum.trixbox.org/centos/5/SRPMS/aastra-ipphone-2.4.1-1.src.rpm&lt;br /&gt;http://yum.trixbox.org/centos/5/SRPMS/aastra-ipphone-2.4.1-1.src.rpm&lt;br /&gt;&lt;ul&gt;&lt;li&gt;atftp-server &gt;= 0.7-3 &lt;/li&gt;&lt;/ul&gt;wget http://apt.sw.be/redhat/el5/en/i386/dag/RPMS/atftp-server-0.7-6.el5.rf.i386.rpm &lt;a name="Installation"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; Installation &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;This contrib is currently held in the smedev repository (I will try to move it into smeextras or smeaddons), so the following commands will install on your smeserver. atftp-server is currently available in the &lt;a href="http://wiki.contribs.org/Atftp_server#dag_Repository" title=""&gt; dag repository&lt;/a&gt;. &lt;/p&gt; &lt;pre&gt;yum --enablerepo=smedev --enablerepo=dag install smeserver-atftp-server&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Officially you should then need to activate the database changes etc., but this is not required for this package. &lt;/p&gt; &lt;pre&gt;signal-event post-upgrade&lt;br /&gt;signal-event reboot&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;The tftpd status is controlled via the Thin Clients server-manager panel if you have installed my &lt;a href="http://wiki.contribs.org/Thinclient" title="Thinclient"&gt;smeserver-thinclient&lt;/a&gt; contrib. &lt;/p&gt;&lt;p&gt;If you haven't, you'll need to enable the atftp server and expand all the templates etc. &lt;/p&gt; &lt;pre&gt;config setprop tftpd status enabled&lt;br /&gt;signal-event tftpd-conf&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;If for any reason the atftp server isn't running, try: &lt;/p&gt; &lt;pre&gt;/etc/init.d/supervise/tftpd restart&lt;br /&gt;&lt;/pre&gt; &lt;a name="Defaults"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; Defaults &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;You shouldn't need to play with any parameters (except status). The defaults and allowed values are listed below. &lt;/p&gt; &lt;table border="1" cellpadding="5"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;th&gt; &lt;prop&gt; &lt;/th&gt;&lt;th&gt; default &lt;value&gt; &lt;/th&gt;&lt;th&gt; allowed Values &lt;/th&gt;&lt;th&gt; description &lt;/th&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; status &lt;/td&gt;&lt;td&gt; disabled &lt;/td&gt;&lt;td&gt; enabled/disabled &lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; access &lt;/td&gt;&lt;td&gt; private &lt;/td&gt;&lt;td&gt; private/public/localhost &lt;/td&gt;&lt;td&gt; private = internal interface ONLY &lt;p&gt;public = all interfaces &lt;/p&gt;&lt;p&gt;localhost = localhost ONLY disabled = none &lt;/p&gt; &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; user &lt;/td&gt;&lt;td&gt; root &lt;/td&gt;&lt;td&gt; root/nobody &lt;/td&gt;&lt;td&gt; should default to nobody, but this doesn't work &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; timeout &lt;/td&gt;&lt;td&gt; default &lt;/td&gt;&lt;td&gt; default/300 &lt;/td&gt;&lt;td&gt; default = 900 seconds (15 minutes) &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; UDPPort &lt;/td&gt;&lt;td&gt; 69 &lt;/td&gt;&lt;td&gt; any port &lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; directory &lt;/td&gt;&lt;td&gt; /tftpboot &lt;/td&gt;&lt;td&gt; any directory &lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;These settings can be set/changed via &lt;/p&gt;&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 10"&gt;&lt;meta name="Originator" content="Microsoft Word 10"&gt;&lt;link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cuser01%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} pre 	{margin:0in; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Courier New"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:8.5in 11.0in; 	margin:.75in .5in .5in .5in; 	mso-header-margin:.5in; 	mso-footer-margin:.5in; 	mso-paper-source:0;} div.Section1 	{page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Table Normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0in 5.4pt 0in 5.4pt; 	mso-para-margin:0in; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman";} &lt;/style&gt; &lt;![endif]--&gt;&lt;pre&gt;&lt;span style="font-family: Symbol;"&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;#! exec 2&gt;&amp;amp;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: Symbol;"&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;exec /usr/sbin/in.tftpd --user nobody.nofiles --daemon --no-fork \&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: Symbol;"&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;--tftpd-timeout 30 --retry-timeout 5 --no-tsize --no-blksize \&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: Symbol;"&gt;&lt;/span&gt;&lt;span style=""&gt;&lt;/span&gt;--no-multicast  --verbose=7 /tftpboot&lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: Symbol;"&gt;&lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/pre&gt;##Add asterisk www to sudoers&lt;br /&gt;##!/bin/bash&lt;br /&gt;&lt;br /&gt;cp /etc/sudoers /etc/e-smith/templates-custom/etc/&lt;br /&gt;&lt;br /&gt;sed -i 's/^Defaults    requiretty/# Defaults    requiretty/g' /etc/e-smith/templates-custom/etc/sudoers&lt;br /&gt;for sudocmd in /usr/bin/nmap ; do&lt;br /&gt;    if ! grep "asterisk ALL = NOPASSWD: $sudocmd" /etc/e-smith/templates-custom/etc/sudoers &gt;/dev/null 2&gt;&amp;1; then&lt;br /&gt;            echo "asterisk ALL = NOPASSWD: $sudocmd" &gt;&gt; /etc/e-smith/templates-custom/etc/sudoers&lt;br /&gt;            echo "asterisk ALL = NOPASSWD: $sudocmd added to /etc/e-smith/templates-custom/etc/sudoers"&lt;br /&gt;    fi&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;## We want to create/update the trixbox version&lt;br /&gt;&lt;br /&gt;mkdir -p /etc/trixbox&lt;br /&gt;echo %{version} &gt; /etc/trixbox/trixbox-version.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;echo "-------------------------------------------"&lt;br /&gt;echo "Configuring MySQL"&lt;br /&gt;echo "-------------------------------------------"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#create SQL table for storing CDRs&lt;br /&gt;/usr/bin/mysqladmin create asteriskcdrdb&lt;br /&gt;/usr/bin/mysql GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'amp109';&lt;br /&gt;/usr/bin/mysql &lt; /opt/asterisk/sql/asteriskcdr.sql&lt;br /&gt;&lt;br /&gt;#create SQL table Asterisk RealTime&lt;br /&gt;/usr/bin/mysqladmin create asteriskrealtime&lt;br /&gt;/usr/bin/mysql &lt; /opt/asterisk/sql/asteriskrealtime.sql&lt;br /&gt;&lt;br /&gt;#create SQL table web-meetme&lt;br /&gt;/usr/bin/mysqladmin create meetme&lt;br /&gt;/usr/bin/mysql meetme &lt; /opt/asterisk/sql/meetme.sql&lt;br /&gt;&lt;br /&gt;#create SQL table for phone config&lt;br /&gt;/usr/bin/mysqladmin create endpoints&lt;br /&gt;/usr/bin/mysql &lt; /opt/asterisk/sql/endpoints.sql&lt;br /&gt;&lt;br /&gt;echo "-------------------------------------------"&lt;br /&gt;echo "installing ATFTP Server"&lt;br /&gt;echo "-------------------------------------------"&lt;br /&gt;&lt;br /&gt;##touch /etc/e-smith/templates/etc/dhcpd.conf/11Option-150&lt;br /&gt;option option-150 code 150 = $localip;\n;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;##touch /etc/e-smith/templates/etc/dhcpd.conf/25TFTPServerName&lt;br /&gt;{&lt;br /&gt;package esmith;&lt;br /&gt;&lt;br /&gt;use strict;&lt;br /&gt;use Errno;&lt;br /&gt;use esmith::config;&lt;br /&gt;use esmith::util;&lt;br /&gt;use esmith::db;&lt;br /&gt;&lt;br /&gt;my %config;&lt;br /&gt;tie %config, 'esmith::config', '/home/e-smith/db/configuration';&lt;br /&gt;&lt;br /&gt;    my $systemname = db_get_type(\%config, 'SystemName')       || '';&lt;br /&gt;    my $domainname = db_get_type(\%config, 'DomainName')       || '';&lt;br /&gt;    my $localip = db_get_type(\%config, 'LocalIP')       || '';&lt;br /&gt;&lt;br /&gt;    $OUT .= "    option tftp-server-name     \"$systemname.$domainname\";\n";&lt;br /&gt;    $OUT .= "    option option-150           $localip;\n";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;touch /var/log/atftpd.log&lt;br /&gt;chown nobody:nobody /var/log/atftpd.log&lt;br /&gt;cp -f $LOAD_LOC/tftp /etc/xinetd.d&lt;br /&gt;chkconfig tftp on&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-7902533385660212636?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/7902533385660212636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=7902533385660212636' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/7902533385660212636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/7902533385660212636'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/02/endpoint-device-setup.html' title='EndPoint Device Setup'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-6011212629918012981</id><published>2009-02-24T08:14:00.000-08:00</published><updated>2009-02-24T08:24:55.410-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='smeserver 8 im'/><title type='text'>SMEServer IM</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-6011212629918012981?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/6011212629918012981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=6011212629918012981' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/6011212629918012981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/6011212629918012981'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/02/smeserver-im.html' title='SMEServer IM'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-3632742941302190260</id><published>2009-02-24T07:57:00.000-08:00</published><updated>2009-02-24T08:12:05.034-08:00</updated><title type='text'>SMEServer MailServer</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="text-decoration: underline; font-weight: bold;"&gt;Zarafa&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;Open Source Collaboration, providing: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;Integration with your existing Linux mailserver &lt;/li&gt;&lt;li&gt;Native mobile phone support &lt;/li&gt;&lt;li&gt;Outlook "Look &amp;amp; Feel" webaccess &lt;/li&gt;&lt;li&gt;Stable Outlook sharing (100% MAPI) - MS Exchange replacement &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The Community version &lt;a href="http://forums.zarafa.com/viewtopic.php?f=7&amp;amp;t=990" class="external free" title="http://forums.zarafa.com/viewtopic.php?f=7&amp;amp;t=990" rel="nofollow"&gt;http://forums.zarafa.com/viewtopic.php?f=7&amp;amp;t=990&lt;/a&gt; &lt;/p&gt; &lt;a name="Installation"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt;Installation&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;Download &amp;amp; install ... &lt;/p&gt; &lt;a name="Zarafa_rpms"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Zarafa rpms&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;&lt;a href="http://www.zarafa.com/download-community" class="external free" title="http://www.zarafa.com/download-community" rel="nofollow"&gt;http://www.zarafa.com/download-community&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Distribution = Rhel 4  &lt;/p&gt;&lt;p&gt;3 Outlook license version (or possibly just disable licensed service for the GPL version, check please) &lt;/p&gt; &lt;pre&gt;tar -zxvf zarafa-6.20-rhel4-i386.tar.gz&lt;br /&gt;yum localinstall libvmime*.rpm libical*.rpm zarafa-6*.rpm zarafa-webaccess-6*.rpm zarafa-licensed-6*.rpm&lt;br /&gt;&lt;/pre&gt; &lt;a name="smeserver-zarafa"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; smeserver-zarafa &lt;/span&gt;&lt;/h4&gt; &lt;div style="border: 1px dashed black; padding: 5px; background: rgb(255, 255, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;table style="border: 0px none ; background: rgb(255, 255, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt; &lt;a href="http://wiki.contribs.org/Image:Important.png" class="image" title="Important.png"&gt;&lt;img alt="" src="http://wiki.contribs.org/images/thumb/f/ff/Important.png/25px-Important.png" border="0" width="25" height="25" /&gt;&lt;/a&gt; &lt;/td&gt;&lt;td&gt; &lt;b&gt;Note:&lt;/b&gt; &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt; This is a beta release. Possibly for production servers after testing with per user settings first. &lt;p&gt;You select 'per user' or 'globally' where you want mail delivered via db entries. Default leaves mail going to users ~/Maildir. &lt;/p&gt;&lt;p&gt;A minimal amount of disruption can be achieved by enabling per user, that user just enables another IMAP connection in their email client on port 8143, they could then just drag and drop mail between SME to Zarafa mail stores. &lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;br /&gt;&lt;p&gt;Install a fresh SME 7.4 test server and perform the following: &lt;/p&gt; &lt;pre&gt;yum install smeserver-zarafa --enablerepo=smetest&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;After rpm install execute the following: &lt;/p&gt; &lt;pre&gt;/etc/e-smith/events/actions/zarafa-install&lt;br /&gt;signal-event post-upgrade; signal-event reboot&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style="border: 1px dashed black; padding: 5px; background: rgb(255, 255, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;table style="border: 0px none ; background: rgb(255, 255, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt; &lt;a href="http://wiki.contribs.org/Image:Important.png" class="image" title="Important.png"&gt;&lt;img alt="" src="http://wiki.contribs.org/images/thumb/f/ff/Important.png/25px-Important.png" border="0" width="25" height="25" /&gt;&lt;/a&gt; &lt;/td&gt;&lt;td&gt; &lt;b&gt;Note:&lt;/b&gt; &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt; You will be prompted to select the user plugin you wish to test. Note the ldap plugin is currently not supported in the rpm. The unix plugin reads existing SME user details but also includes groups and machine names (messy). The db plugin is pristine however you need to enter all the user details. In both cases the user must exist in SME first as a standard user. A decision on which plugin we will choose for final deployment is still to be determined. &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;br /&gt;&lt;p&gt;Enable mail delivery to zarafa for users: &lt;/p&gt;&lt;p&gt;for all users &lt;/p&gt; &lt;pre&gt;config setprop zarafa-server GlobalForward enabled&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;or for individual users &lt;/p&gt; &lt;pre&gt;db accounts setprop $USERNAME zarafa enabled&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;apply &lt;/p&gt; &lt;pre&gt;/etc/e-smith/events/actions/qmail-update-user&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;If you chose the db plugin, run: &lt;/p&gt; &lt;pre&gt;/etc/e-smith/events/actions/zarafa-create-user&lt;br /&gt;&lt;/pre&gt; &lt;a name="Usage"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt;Usage&lt;/span&gt;&lt;/h3&gt; &lt;a name="Webmail"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt;Webmail&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;Access with a browser, &lt;/p&gt; &lt;pre&gt;&lt;a href="https://server/zarafa" class="external free" title="https://server/zarafa" rel="nofollow"&gt;https://server/zarafa&lt;/a&gt;&lt;br /&gt;&lt;a href="https://server/webaccess" class="external free" title="https://server/webaccess" rel="nofollow"&gt;https://server/webaccess&lt;/a&gt;&lt;br /&gt;&lt;a href="https://server/webmail" class="external free" title="https://server/webmail" rel="nofollow"&gt;https://server/webmail&lt;/a&gt; (with Horde disabled 'config setprop imp status disabled')&lt;br /&gt;&lt;/pre&gt; &lt;a name="Outlook"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt;Outlook&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;To use MS Outlook install the zarafaclient-*.msi add-on contained in the win32 directory of zarafa-*.tar.gz &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt; Outlook 2007 client generates &lt;i&gt;Error 0x80070057&lt;/i&gt; on send and receive if the Zarafa &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;server is added to an existing profile.  Creating a new clean profile solved the problem. &lt;/p&gt; &lt;a name="IMAP"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt;IMAP&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;The default ports for Zarafa are 8000 + default values &lt;/p&gt;&lt;p&gt;so imap = 8143, imaps 8993 &lt;/p&gt;&lt;p&gt;SME and Zarafa use different folder naming. &lt;/p&gt; &lt;pre&gt;drafts &gt; Drafts          [client specific ?, Drafts is default Thunderbird-2.0]&lt;br /&gt;sent-mail &gt; Sent Items&lt;br /&gt;trash &gt; Deleted Items&lt;br /&gt;junkmail &gt; Junk E-mail&lt;br /&gt;&lt;/pre&gt; &lt;a name="Thunderbird"&gt;&lt;/a&gt;&lt;h5&gt; &lt;span class="mw-headline"&gt;Thunderbird&lt;/span&gt;&lt;/h5&gt; &lt;p&gt;The Thunderbird client uses its own Trash folder, not the Zarafa "Deleted Items" folder,  &lt;/p&gt;&lt;p&gt;Change in the config editor &lt;/p&gt;&lt;p&gt;Preferences &gt; advance &gt; config editor, find mail.server.number and add new string as below &lt;/p&gt; &lt;pre&gt;user_pref("mail.server.server5.port", "8143");&lt;br /&gt;user_pref("mail.server.server5.name", "zac@232.net");&lt;br /&gt;user_pref("mail.server.server5.numHdrsToKeep", 30);&lt;br /&gt;user_pref("mail.server.server5.timeout", 29);&lt;br /&gt;&lt;br /&gt;right click &gt; new&lt;br /&gt;preference name &gt; mail.server.server5.trash_folder_name&lt;br /&gt;value &gt; Deleted Items&lt;br /&gt;&lt;br /&gt;+user_pref("mail.server.server5.trash_folder_name", "Deleted Items");&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Drafts and Sent Items can be changed in : Account Settings &gt; user &gt; Copies and Folders &lt;/p&gt;&lt;p&gt;If junkmail exists just delete it. &lt;/p&gt; &lt;a name="Calendar"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt;Calendar&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;To access the calendar functions with an iCal client eg, Thunderbird and Lighting &lt;/p&gt;&lt;p&gt;in Thunderbird/Lightning &gt; New Calendar &gt; on network &gt; ical &gt; &lt;a href="http:///" class="external free" title="http://" rel="nofollow"&gt;http://&lt;/a&gt;&lt;domain&gt;:8088/ical/&lt;user&gt;/calendar/ &lt;/p&gt;&lt;p&gt;8089 for SSL &lt;/p&gt;&lt;p&gt;Note, there were problems with reading events created with /webaccess, seems better with RC1 &lt;/p&gt;&lt;p&gt;It's a know problem. Zarafa 6.30 will use CalDEV instead of iCal &lt;/p&gt; &lt;a name="Mobile_synchronisation"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt;Mobile synchronisation&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;To enable synchronization of your mobile phone through ActiveSync with Zarafa, Z-push needs to be installed. &lt;/p&gt;&lt;p&gt;You can find the original Z-push installation documentation here: &lt;a href="http://download.zarafa.com/zarafa/release/docs/z-push_installation_manual.en.pdf" class="external free" title="http://download.zarafa.com/zarafa/release/docs/z-push_installation_manual.en.pdf" rel="nofollow"&gt;http://download.zarafa.com/zarafa/release/docs/z-push_installation_manual.en.pdf&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;Download the latest Z-push version (see: &lt;a href="http://z-push.sourceforge.net/" class="external free" title="http://z-push.sourceforge.net" rel="nofollow"&gt;http://z-push.sourceforge.net&lt;/a&gt;). &lt;/p&gt; &lt;pre&gt;wget &lt;a href="http://download2.berlios.de/z-push/z-push-1.2.1.tar.gz" class="external free" title="http://download2.berlios.de/z-push/z-push-1.2.1.tar.gz" rel="nofollow"&gt;http://download2.berlios.de/z-push/z-push-1.2.1.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Extract the files: &lt;/p&gt; &lt;pre&gt;tar -zxvf z-push-1.2.1.tar.gz -C /var/www/html&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;'State'-dir needs to be writable for apache: &lt;/p&gt; &lt;pre&gt;chmod 755 /var/www/html/z-push/state&lt;br /&gt;chown www:www /var/www/html/z-push/state&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Expand and restart &lt;/p&gt; &lt;pre&gt;expand-template /etc/httpd/conf/httpd.conf&lt;br /&gt;sv restart httpd-e-smith&lt;br /&gt;&lt;/pre&gt; &lt;a name="SSL_Synchronization_with_Windows_Mobile_devices"&gt;&lt;/a&gt;&lt;h5&gt; &lt;span class="mw-headline"&gt;SSL Synchronization with Windows Mobile devices&lt;/span&gt;&lt;/h5&gt; &lt;p&gt;Synchronisation over a secured connection is possible if you can add your site as a trusted one with corresponding certificate on your mobile. &lt;/p&gt;&lt;p&gt;This is the case for Windows mobile 6 (WM6) devices. Problems should occurs on several WM5 devices, because of a bug that limits addition of certificates with that OS. &lt;/p&gt;&lt;p&gt;Here are the steps to add your server as a trusted platform on your WM6 mobile : &lt;/p&gt;&lt;p&gt;&lt;br /&gt;1. to convert your server's certificate into a (Binary coded DER X.509) .cer file you can either run the following command and skip to step 4 or just start at the next step. &lt;/p&gt; &lt;pre&gt; openssl x509 -in /home/e-smith/ssl.pem/&lt;certificate&gt;.pem -inform PEM -out /root/&lt;certificate&gt;.cer -outform DER&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;&lt;br /&gt;2. copy your server's certificates located in /home/e-smith/ssl.crt/ on a Windows XP/Vista computer &lt;/p&gt;&lt;p&gt;3. we need to transform those .crt certificates to .cer certificate ( same type of certificate but .crt are text-encoded ). To do so : &lt;/p&gt; &lt;ul&gt;&lt;li&gt;in microsoft windows open a certificate by double clicking on it &lt;/li&gt;&lt;li&gt;in "Detail" Tab pane choose "Copy to file"  &lt;/li&gt;&lt;li&gt;Choose Binary coded DER X.509 (.cer) format &lt;/li&gt;&lt;li&gt;save resulting .cer certificates on local machine &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;4. transfer .cer certificates on your mobile using windows explorer &lt;/p&gt;&lt;p&gt;5. When done, on your WM6 mobile use file explorer to open those certificates. When opening one, the certificate is automatically added to trusted sites. &lt;/p&gt;&lt;p&gt;6. You can then change your Exchange server parameters to use SSL. It will be asked to reenter your password. &lt;/p&gt; &lt;a name="Know_working_hardware"&gt;&lt;/a&gt;&lt;h5&gt; &lt;span class="mw-headline"&gt;Know working hardware&lt;/span&gt;&lt;/h5&gt; &lt;p&gt;Tested and working with WinMobile 6.1 on a HTC TyTN II over a SSL connection / mail-push is working. &lt;/p&gt;&lt;p&gt;Tested and working with WinMobile 6.1 on an upgraded QTEK9100 over SSL connection. Push mail not tested. &lt;/p&gt; &lt;a name="Mail_Sorting"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt;Mail Sorting&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;Maildrop as configured with  &lt;a href="http://www.dungog.net/wiki/Smeserver-mailsorting" class="external text" title="http://www.dungog.net/wiki/Smeserver-mailsorting" rel="nofollow"&gt;smeserver-mailsorting&lt;/a&gt; will deliver to ~/Maildir rather than zarafa &lt;/p&gt;&lt;p&gt;For now either disable sorting or bypass for zarafa users. &lt;/p&gt;&lt;p&gt;Procmail will sort to zarafa from  smeserver-mailsorting-1.2-29 &lt;/p&gt; &lt;a name="Extras"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; Extras &lt;/span&gt;&lt;/h3&gt; &lt;a name="Command_line_admin"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt;Command line admin&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;man zarafa for details &lt;/p&gt;&lt;p&gt;List users: &lt;/p&gt; &lt;pre&gt;/usr/bin/zarafa-admin -l&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Update a user to admin status: &lt;/p&gt; &lt;pre&gt;/usr/bin/zarafa-admin -u &lt;username&gt; -a 1&lt;br /&gt;&lt;/pre&gt; &lt;a name="Migrating_users_and_data_to_Zarafa"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt;Migrating users and data to Zarafa&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;&lt;a href="http://wiki.contribs.org/Imapsync" class="external free" title="http://wiki.contribs.org/Imapsync" rel="nofollow"&gt;http://wiki.contribs.org/Imapsync&lt;/a&gt; &lt;/p&gt; &lt;a name="Customizing_the_Calendar"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt;Customizing the Calendar&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;The labels and categories in the calendar can be altered to suit user requirements. &lt;/p&gt; &lt;pre&gt; The labels are defined in /var/www/html/webaccess/client/layout/dialogs/standard/appointment.php beginning at line 225&lt;br /&gt;&lt;/pre&gt; &lt;pre&gt; The categories are in /var/www/html/webaccess/client/layout/dialogs/modal/categories.php beginning at line 51.&lt;br /&gt;&lt;/pre&gt; &lt;a name="Zarafa_Bayesian_learning"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Zarafa Bayesian learning &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;This howto enables SpamAssasin Bayesian learning for &lt;a href="http://wiki.contribs.org/Zarafa_Bayesian_Learning" title="Zarafa Bayesian Learning"&gt; Zarafa&lt;/a&gt; &lt;/p&gt; &lt;a name="Bugs"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; Bugs &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;Check your logs when troubleshooting or reporting bugs &lt;/p&gt; &lt;pre&gt;tail -f /var/log/zarafa/*&lt;br /&gt;tail  /var/log/slapd&lt;br /&gt;tail  /var/log/messages&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Please raise bugs under the SME-Contribs section in &lt;a href="http://bugs.contribs.org/enter_bug.cgi?product=&amp;amp;component=&amp;amp;short_desc=&amp;amp;comment=" class="external text" title="http://bugs.contribs.org/enter_bug.cgi?product=&amp;amp;component=&amp;amp;short_desc=&amp;amp;comment=" rel="nofollow"&gt;bugzilla&lt;/a&gt; and select the smeserver-zarafa component or use &lt;a href="http://bugs.contribs.org/enter_bug.cgi?product=SME%20Contribs&amp;amp;component=smeserver-zarafa&amp;amp;short_desc=&amp;amp;comment=" class="external text" title="http://bugs.contribs.org/enter_bug.cgi?product=SME%20Contribs&amp;amp;component=smeserver-zarafa&amp;amp;short_desc=&amp;amp;comment=" rel="nofollow"&gt;this link&lt;/a&gt; . &lt;/p&gt;&lt;p&gt;&lt;a href="http://bugs.contribs.org/buglist.cgi?query_format=advanced&amp;amp;short_desc_type=allwordssubstr&amp;amp;short_desc=&amp;amp;product=SME+Contribs&amp;amp;component=smeserver-zarafa&amp;amp;long_desc_type=substring&amp;amp;long_desc=&amp;amp;bug_file_loc_type=allwordssubstr&amp;amp;bug_file_loc=&amp;amp;keywords_type=allwords&amp;amp;keywords=&amp;amp;bug_status=UNCONFIRMED&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED&amp;amp;bug_status=RESOLVED&amp;amp;bug_status=VERIFIED&amp;amp;emailassigned_to1=1&amp;amp;emailtype1=substring&amp;amp;email1=&amp;amp;emailassigned_to2=1&amp;amp;emailreporter2=1&amp;amp;emailqa_contact2=1&amp;amp;emailcc2=1&amp;amp;emailtype2=substring&amp;amp;email2=&amp;amp;bugidtype=include&amp;amp;bug_id=&amp;amp;votes=&amp;amp;chfieldfrom=&amp;amp;chfieldto=Now&amp;amp;chfieldvalue=&amp;amp;cmdtype=doit&amp;amp;order=Reuse+same+sort+as+last+time&amp;amp;field0-0-0=noop&amp;amp;type0-0-0=noop&amp;amp;value0-0-0=Open" class="external text" title="http://bugs.contribs.org/buglist.cgi?query_format=advanced&amp;amp;short_desc_type=allwordssubstr&amp;amp;short_desc=&amp;amp;product=SME+Contribs&amp;amp;component=smeserver-zarafa&amp;amp;long_desc_type=substring&amp;amp;long_desc=&amp;amp;bug_file_loc_type=allwordssubstr&amp;amp;bug_file_loc=&amp;amp;keywords_type=allwords&amp;amp;keywords=&amp;amp;bug_status=UNCONFIRMED&amp;amp;bug_status=NEW&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=REOPENED&amp;amp;bug_status=RESOLVED&amp;amp;bug_status=VERIFIED&amp;amp;emailassigned_to1=1&amp;amp;emailtype1=substring&amp;amp;email1=&amp;amp;emailassigned_to2=1&amp;amp;emailreporter2=1&amp;amp;emailqa_contact2=1&amp;amp;emailcc2=1&amp;amp;emailtype2=substring&amp;amp;email2=&amp;amp;bugidtype=include&amp;amp;bug_id=&amp;amp;votes=&amp;amp;chfieldfrom=&amp;amp;chfieldto=Now&amp;amp;chfieldvalue=&amp;amp;cmdtype=doit&amp;amp;order=Reuse+same+sort+as+last+time&amp;amp;field0-0-0=noop&amp;amp;type0-0-0=noop&amp;amp;value0-0-0=Open" rel="nofollow"&gt;Search open bugs&lt;/a&gt; for smeserver-zarafa at bugs.contribs.org &lt;/p&gt;&lt;p&gt;Zarafa: use their forum for zarafa specific bug reporting, &lt;a href="http://forums.zarafa.com/" class="external free" title="http://forums.zarafa.com/" rel="nofollow"&gt;http://forums.zarafa.com/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://forums.zarafa.com/" class="external free" title="http://forums.zarafa.com/" rel="nofollow"&gt;Origingal contribution&lt;/a&gt;&lt;/p&gt;http://wiki.contribs.org/Zarafa&lt;br /&gt;&lt;br /&gt;Thanks:&lt;br /&gt;&lt;p&gt;Darrell May &lt;/p&gt;&lt;p&gt;Stephen Noble &lt;a href="http://dungog.net/wiki" class="external free" title="http://dungog.net/wiki" rel="nofollow"&gt;http://dungog.net/wiki&lt;/a&gt; &lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-3632742941302190260?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/3632742941302190260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=3632742941302190260' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/3632742941302190260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/3632742941302190260'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/02/smeserver-mailserver.html' title='SMEServer MailServer'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-2337592131785443037</id><published>2009-02-24T07:14:00.000-08:00</published><updated>2009-02-24T07:16:09.180-08:00</updated><title type='text'>MySQL Database on SMEServer</title><content type='html'>&lt;p&gt;SME Server runs MySQL as a database server. A lot of applications require a MySQL database, among them is the Horde webmail interface which is supplied by SME Server by default. &lt;/p&gt; &lt;ul&gt;&lt;li&gt; MySQL website: &lt;a href="http://www.mysql.com/" class="external free" title="http://www.mysql.com" rel="nofollow"&gt;http://www.mysql.com&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; MySQL 4.1 manual: &lt;a href="http://dev.mysql.com/doc/refman/4.1/en/" class="external free" title="http://dev.mysql.com/doc/refman/4.1/en/" rel="nofollow"&gt;http://dev.mysql.com/doc/refman/4.1/en/&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;a name="General_2"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt;General&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;The SME Server is based on CentOS, the development team will take their stock RPM's from the CentOS releases. The current version of MySQL installed on SME Server is version 4.1.20. &lt;/p&gt;&lt;p&gt;You can upgrade MySQL to a higher version but you are advised not to do so, as this might break your SME Server configuration. The Horde webmail interface relies on MySQL. Upgrading to version 5.x is known to break stuff like webmail. If you insist on upgrading MySQL you may be able to find instructions in the forum, but be advised that no support can be expected from the developers and all bugs reported in the bugtracker will not be taken into account. &lt;/p&gt;&lt;p&gt;MySQL on SME Server runs on a socket instead of on a port which you might be accustomed to. This is done to improve security as in the view of the development team only the server itself (localhost) needs to have access to the MySQL server. However you can configure MySQL to be accessible from the local network (see below). &lt;/p&gt; &lt;a name="MySQL_root_password"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; MySQL root password &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;There appears to be no password set for the MySQL root password, but this is not true. If you are logged in to the SME Server shell a special mechanism is in place to log you in with MySQL root privileges without prompting you for the password. &lt;/p&gt;&lt;p&gt;The MySQL root password for SME Server is a 72 character random string generated during installation of SME Server. You should never change the MySQL root password as this will break your SME Server configuration. How to login as MySQL root user? describes how to access MySQL with root privileges on SME Server. &lt;/p&gt; &lt;a name="Login_as_MySQL_root_user"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Login as MySQL root user &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;To login as MySQL root user, simply type 'mysql' at the SME Server shell, this will log you in with root privileges. &lt;/p&gt; &lt;a name="Resetting_the_MySQL_root_password"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Resetting the MySQL root password &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;To reset the password for the MySQL root account. The MySQL root user on SME Server has a random generated password which is generated during installation. You do not need to know this password to login to MySQL with root privileges on SME Server. If you might have changed the MySQL root password you can reset it like this after getting command line access as root user. &lt;/p&gt;&lt;p&gt;For SME Server 7.3 and more recent versions do the following: &lt;/p&gt; &lt;pre&gt;cd /var/service/mysqld&lt;br /&gt;sv d .&lt;br /&gt;expand-template /root/.my.cnf&lt;br /&gt;expand-template /var/service/mysqld/set.password&lt;br /&gt;/usr/libexec/mysqld --bootstrap --user=mysql --skip-grant-tables &lt; ./set.password&lt;br /&gt;sv u .&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;For SME Server 7.2 and earlier releases do the following (they use the runsvctrl command instead of the sv command): &lt;/p&gt; &lt;pre&gt;cd /var/service/mysqld&lt;br /&gt;runsvctrl d .&lt;br /&gt;expand-template /root/.my.cnf&lt;br /&gt;expand-template /var/service/mysqld/set.password&lt;br /&gt;/usr/libexec/mysqld --bootstrap --user=mysql --skip-grant-tables &lt; ./set.password&lt;br /&gt;runsvctrl u .&lt;br /&gt;&lt;/pre&gt; &lt;a name="Restoring_accidently_deleted_MySQL_root_user"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Restoring accidently deleted MySQL root user&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;Note: The following is only applicable on SME 7.3 and MySQL 4.1  &lt;/p&gt; &lt;pre&gt;cd /var/service/mysqld&lt;br /&gt;sv d .&lt;br /&gt;echo 'use mysql;'&gt;set.rootuser&lt;br /&gt;echo -n 'INSERT INTO user VALUES("localhost","root","",'&gt;&gt;set.rootuser&lt;br /&gt;echo '"Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","","","","",0,0,0);'&gt;&gt;set.rootuser&lt;br /&gt;expand-template /root/.my.cnf&lt;br /&gt;expand-template /var/service/mysqld/set.password&lt;br /&gt;/usr/libexec/mysqld --bootstrap --user=mysql --skip-grant-tables &lt; set.rootuser&lt;br /&gt;/usr/libexec/mysqld --bootstrap --user=mysql --skip-grant-tables &lt; set.password&lt;br /&gt;sv u .&lt;br /&gt;&lt;/pre&gt; &lt;a name="Access_MySQL_from_the_local_network"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; Access MySQL from the local network &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;MySQL on SME Server is run on a socket instead of on a port. MySQL on SME Server is by default configured to allow only localhost connections to improve security, this means that it is only accessible from the server itself and not from the local network nor from the internet. If you wish to enable local network access, execute the following commands on a SME Server shell as root: &lt;/p&gt; &lt;pre&gt;config setprop mysqld LocalNetworkingOnly no&lt;br /&gt;expand-template /etc/my.cnf&lt;br /&gt;sv t /service/mysqld&lt;br /&gt;&lt;/pre&gt; &lt;a name="Access_MySQL_from_a_remote_network"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; Access MySQL from a remote network &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;If you wish to enable access to MySQL databases from remote networks, then in addition to the LocalNetworkingOnly db setting mentioned above, you will need to execute the following commands: &lt;/p&gt; &lt;pre&gt;config set mysqld service access public status enabled TCPPort 3306&lt;br /&gt;signal-event remoteaccess-update&lt;br /&gt;signal-event reboot&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Keep in mind this enables access to your MySQL database for ANYONE, so make sure you have strong passwords on ALL your MySQL databases. Alternatively it would be a more secure approach to require external (remote) users to establish a VPN connection and effectively become part of the local network. In that case do not change the mysql access to public status using the above command. &lt;/p&gt; &lt;a name="Enable_InnoDB_engine"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; Enable InnoDB engine &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;For enable InnoDB engine, run the following commands: &lt;/p&gt; &lt;pre&gt;db configuration setprop mysqld InnoDB enabled&lt;br /&gt;expand-template /etc/my.cnf&lt;br /&gt;sv t /service/mysqld&lt;br /&gt;&lt;/pre&gt; &lt;a name="Administration"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt;Administration&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;Information about user managament can be found in the &lt;a href="http://dev.mysql.com/doc/refman/4.1/en/user-account-management.html" class="external text" title="http://dev.mysql.com/doc/refman/4.1/en/user-account-management.html" rel="nofollow"&gt;MySQL User Account Management section&lt;/a&gt; of the &lt;a href="http://dev.mysql.com/doc/refman/4.1/en/" class="external text" title="http://dev.mysql.com/doc/refman/4.1/en/" rel="nofollow"&gt;MySQL manual&lt;/a&gt;, which holds a lot of useful information, a small section is listed here for convenience. &lt;/p&gt; &lt;a name="Create_a_new_database"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Create a new database &lt;/span&gt;&lt;/h4&gt; &lt;ul&gt;&lt;li&gt; See the developers guide if you wish to automate the creation of a database within an rpm &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;or &lt;/p&gt; &lt;ul&gt;&lt;li&gt; Get access to the SME Server shell and issue the following commands: &lt;/li&gt;&lt;/ul&gt; &lt;pre&gt;mysqladmin create 'dbname' --default-character-set=utf8&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;This will create an empty database called dbname. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style="border: 1px dashed black; padding: 5px; background: rgb(255, 238, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;table style="border: 0px none ; background: rgb(255, 238, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt; &lt;a href="http://wiki.contribs.org/Image:Warning.png" class="image" title="Warning.png"&gt;&lt;img alt="" src="http://wiki.contribs.org/images/thumb/c/cb/Warning.png/25px-Warning.png" border="0" width="25" height="25" /&gt;&lt;/a&gt; &lt;/td&gt;&lt;td&gt; &lt;b&gt;Warning:&lt;/b&gt; &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt; The 'root' user should not be permitted to access the database except from localhost. Each application should have its own database and its own user to access that database. &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;br /&gt;&lt;a name="Creating_MySQL_user.28s.29"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Creating MySQL user(s) &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;Decide which permissions you will have to give to the user on what database. Details about this can be found in the MySQL Manual found at the MySQL site. Get access to the SME Server shell and issue the following commands to login to the MySQL server: &lt;/p&gt; &lt;pre&gt;mysql&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Suppose we want to create a user which has read-only access on all tables in the database called 'test': &lt;/p&gt; &lt;pre&gt;GRANT SELECT ON test.* TO 'user'@'host' IDENTIFIED BY 'password';&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;In the above line you will have to fill in the user and the host and/or domain from which you will allow the user access to the SME Server MySQL server (don't forget the single quotes). More information can be found in the MySQL Server Manual at the MySQL website linked here. &lt;/p&gt; &lt;a name="Listing_available_databases"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt;Listing available databases &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;To view a list of available databases on the system you can issue the following command while logged in in MySQL: &lt;/p&gt; &lt;pre&gt;show databases;&lt;br /&gt;&lt;/pre&gt; &lt;a name="Remove_a_database"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Remove a database &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;Get access to the SME Server shell and MySQL and issue the following command: &lt;/p&gt; &lt;pre&gt;drop database databasename;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Replace databasename with the name of the database. &lt;/p&gt; &lt;a name="Remove_a_user"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Remove a user &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;Get access to the SME Server shell and MySQL and issue the following command: &lt;/p&gt; &lt;pre&gt;USE mysql;&lt;br /&gt;DELETE FROM user WHERE user = 'username';&lt;br /&gt;FLUSH PRIVILEGES;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Replace username with the username you wish to delete. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style="border: 1px dashed black; padding: 5px; background: rgb(238, 255, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;table style="border: 0px none ; background: rgb(238, 255, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt; &lt;a href="http://wiki.contribs.org/Image:Information.png" class="image" title="Information.png"&gt;&lt;img alt="" src="http://wiki.contribs.org/images/thumb/5/54/Information.png/25px-Information.png" border="0" width="25" height="25" /&gt;&lt;/a&gt; &lt;/td&gt;&lt;td&gt; &lt;b&gt;Tip:&lt;/b&gt; &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt; mysql_setpermission is a command line menu driven utility that can assist in MySQL administration. &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-2337592131785443037?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/2337592131785443037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=2337592131785443037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/2337592131785443037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/2337592131785443037'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/02/mysql-database-on-smeserver.html' title='MySQL Database on SMEServer'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-9155693896203476429</id><published>2009-02-24T07:09:00.000-08:00</published><updated>2009-11-19T19:09:03.825-08:00</updated><title type='text'>MySQL Database on SMEServer 7.4/8.0</title><content type='html'>&lt;p&gt;SME Server runs MySQL as a database server. A lot of applications require a MySQL database, among them is the Horde webmail interface which is supplied by SME Server by default. &lt;/p&gt; &lt;ul&gt;&lt;li&gt; MySQL website: &lt;a href="http://www.mysql.com/" class="external free" title="http://www.mysql.com" rel="nofollow"&gt;http://www.mysql.com&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt; MySQL 4.1 manual: &lt;a href="http://dev.mysql.com/doc/refman/4.1/en/" class="external free" title="http://dev.mysql.com/doc/refman/4.1/en/" rel="nofollow"&gt;http://dev.mysql.com/doc/refman/4.1/en/&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt; &lt;a name="General_2"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt;General&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;The SME Server is based on CentOS, the development team will take their stock RPM's from the CentOS releases. The current version of MySQL installed on SME Server is version 4.1.20. &lt;/p&gt;&lt;p&gt;You can upgrade MySQL to a higher version but you are advised not to do so, as this might break your SME Server configuration. The Horde webmail interface relies on MySQL. Upgrading to version 5.x is known to break stuff like webmail. If you insist on upgrading MySQL you may be able to find instructions in the forum, but be advised that no support can be expected from the developers and all bugs reported in the bugtracker will not be taken into account. &lt;/p&gt;&lt;p&gt;MySQL on SME Server runs on a socket instead of on a port which you might be accustomed to. This is done to improve security as in the view of the development team only the server itself (localhost) needs to have access to the MySQL server. However you can configure MySQL to be accessible from the local network (see below). &lt;/p&gt; &lt;a name="MySQL_root_password"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; MySQL root password &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;There appears to be no password set for the MySQL root password, but this is not true. If you are logged in to the SME Server shell a special mechanism is in place to log you in with MySQL root privileges without prompting you for the password. &lt;/p&gt;&lt;p&gt;The MySQL root password for SME Server is a 72 character random string generated during installation of SME Server. You should never change the MySQL root password as this will break your SME Server configuration. How to login as MySQL root user? describes how to access MySQL with root privileges on SME Server. &lt;/p&gt; &lt;a name="Login_as_MySQL_root_user"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Login as MySQL root user &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;To login as MySQL root user, simply type 'mysql' at the SME Server shell, this will log you in with root privileges. &lt;/p&gt; &lt;a name="Resetting_the_MySQL_root_password"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Resetting the MySQL root password &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;To reset the password for the MySQL root account. The MySQL root user on SME Server has a random generated password which is generated during installation. You do not need to know this password to login to MySQL with root privileges on SME Server. If you might have changed the MySQL root password you can reset it like this after getting command line access as root user. &lt;/p&gt;&lt;p&gt;For SME Server 7.3 and more recent versions do the following: &lt;/p&gt; &lt;pre&gt;cd /var/service/mysqld&lt;br /&gt;sv d .&lt;br /&gt;expand-template /root/.my.cnf&lt;br /&gt;expand-template /var/service/mysqld/set.password&lt;br /&gt;/usr/libexec/mysqld --bootstrap --user=mysql --skip-grant-tables &lt; ./set.password&lt;br /&gt;sv u .&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;For SME Server 7.2 and earlier releases do the following (they use the runsvctrl command instead of the sv command): &lt;/p&gt; &lt;pre&gt;cd /var/service/mysqld&lt;br /&gt;runsvctrl d .&lt;br /&gt;expand-template /root/.my.cnf&lt;br /&gt;expand-template /var/service/mysqld/set.password&lt;br /&gt;/usr/libexec/mysqld --bootstrap --user=mysql --skip-grant-tables &lt; ./set.password&lt;br /&gt;runsvctrl u .&lt;br /&gt;&lt;/pre&gt; &lt;a name="Restoring_accidently_deleted_MySQL_root_user"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Restoring accidently deleted MySQL root user&lt;/span&gt;&lt;/h4&gt; &lt;p&gt;Note: The following is only applicable on SME 7.3 and MySQL 4.1  &lt;/p&gt; &lt;pre&gt;cd /var/service/mysqld&lt;br /&gt;sv d .&lt;br /&gt;echo 'use mysql;'&gt;set.rootuser&lt;br /&gt;echo -n 'INSERT INTO user VALUES("localhost","root","",'&gt;&gt;set.rootuser&lt;br /&gt;echo '"Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","Y","","","","",0,0,0);'&gt;&gt;set.rootuser&lt;br /&gt;expand-template /root/.my.cnf&lt;br /&gt;expand-template /var/service/mysqld/set.password&lt;br /&gt;/usr/libexec/mysqld --bootstrap --user=mysql --skip-grant-tables &lt; set.rootuser&lt;br /&gt;/usr/libexec/mysqld --bootstrap --user=mysql --skip-grant-tables &lt; set.password&lt;br /&gt;sv u .&lt;br /&gt;&lt;/pre&gt; &lt;a name="Access_MySQL_from_the_local_network"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; Access MySQL from the local network &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;MySQL on SME Server is run on a socket instead of on a port. MySQL on SME Server is by default configured to allow only localhost connections to improve security, this means that it is only accessible from the server itself and not from the local network nor from the internet. If you wish to enable local network access, execute the following commands on a SME Server shell as root: &lt;/p&gt; &lt;pre&gt;config setprop mysqld LocalNetworkingOnly no&lt;br /&gt;expand-template /etc/my.cnf&lt;br /&gt;sv t /service/mysqld&lt;br /&gt;&lt;/pre&gt; &lt;a name="Access_MySQL_from_a_remote_network"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; Access MySQL from a remote network &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;If you wish to enable access to MySQL databases from remote networks, then in addition to the LocalNetworkingOnly db setting mentioned above, you will need to execute the following commands: &lt;/p&gt; &lt;pre&gt;config set mysqld service access public status enabled TCPPort 3306&lt;br /&gt;signal-event remoteaccess-update&lt;br /&gt;signal-event reboot&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Keep in mind this enables access to your MySQL database for ANYONE, so make sure you have strong passwords on ALL your MySQL databases. Alternatively it would be a more secure approach to require external (remote) users to establish a VPN connection and effectively become part of the local network. In that case do not change the mysql access to public status using the above command. &lt;/p&gt; &lt;a name="Enable_InnoDB_engine"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt; Enable InnoDB engine &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;For enable InnoDB engine, run the following commands: &lt;/p&gt; &lt;pre&gt;db configuration setprop mysqld InnoDB enabled&lt;br /&gt;expand-template /etc/my.cnf&lt;br /&gt;sv t /service/mysqld&lt;br /&gt;&lt;/pre&gt; &lt;a name="Administration"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt;Administration&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;Information about user managament can be found in the &lt;a href="http://dev.mysql.com/doc/refman/4.1/en/user-account-management.html" class="external text" title="http://dev.mysql.com/doc/refman/4.1/en/user-account-management.html" rel="nofollow"&gt;MySQL User Account Management section&lt;/a&gt; of the &lt;a href="http://dev.mysql.com/doc/refman/4.1/en/" class="external text" title="http://dev.mysql.com/doc/refman/4.1/en/" rel="nofollow"&gt;MySQL manual&lt;/a&gt;, which holds a lot of useful information, a small section is listed here for convenience. &lt;/p&gt; &lt;a name="Create_a_new_database"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Create a new database &lt;/span&gt;&lt;/h4&gt; &lt;ul&gt;&lt;li&gt; See the developers guide if you wish to automate the creation of a database within an rpm &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;or &lt;/p&gt; &lt;ul&gt;&lt;li&gt; Get access to the SME Server shell and issue the following commands: &lt;/li&gt;&lt;/ul&gt; &lt;pre&gt;mysqladmin create 'dbname' --default-character-set=utf8&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;This will create an empty database called dbname. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style="border: 1px dashed black; padding: 5px; background: rgb(255, 238, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;table style="border: 0px none ; background: rgb(255, 238, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt; &lt;a href="http://wiki.contribs.org/Image:Warning.png" class="image" title="Warning.png"&gt;&lt;img alt="" src="http://wiki.contribs.org/images/thumb/c/cb/Warning.png/25px-Warning.png" border="0" width="25" height="25"&gt;&lt;/a&gt; &lt;/td&gt;&lt;td&gt; &lt;b&gt;Warning:&lt;/b&gt; &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt; The 'root' user should not be permitted to access the database except from localhost. Each application should have its own database and its own user to access that database. &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;br /&gt;&lt;a name="Creating_MySQL_user.28s.29"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Creating MySQL user(s) &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;Decide which permissions you will have to give to the user on what database. Details about this can be found in the MySQL Manual found at the MySQL site. Get access to the SME Server shell and issue the following commands to login to the MySQL server: &lt;/p&gt; &lt;pre&gt;mysql&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Suppose we want to create a user which has read-only access on all tables in the database called 'test': &lt;/p&gt; &lt;pre&gt;GRANT SELECT ON test.* TO 'user'@'host' IDENTIFIED BY 'password';&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;In the above line you will have to fill in the user and the host and/or domain from which you will allow the user access to the SME Server MySQL server (don't forget the single quotes). More information can be found in the MySQL Server Manual at the MySQL website linked here. &lt;/p&gt; &lt;a name="Listing_available_databases"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt;Listing available databases &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;To view a list of available databases on the system you can issue the following command while logged in in MySQL: &lt;/p&gt; &lt;pre&gt;show databases;&lt;br /&gt;&lt;/pre&gt; &lt;a name="Remove_a_database"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Remove a database &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;Get access to the SME Server shell and MySQL and issue the following command: &lt;/p&gt; &lt;pre&gt;drop database databasename;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Replace databasename with the name of the database. &lt;/p&gt; &lt;a name="Remove_a_user"&gt;&lt;/a&gt;&lt;h4&gt; &lt;span class="mw-headline"&gt; Remove a user &lt;/span&gt;&lt;/h4&gt; &lt;p&gt;Get access to the SME Server shell and MySQL and issue the following command: &lt;/p&gt; &lt;pre&gt;USE mysql;&lt;br /&gt;DELETE FROM user WHERE user = 'username';&lt;br /&gt;FLUSH PRIVILEGES;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Replace username with the username you wish to delete. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;div style="border: 1px dashed black; padding: 5px; background: rgb(238, 255, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;table style="border: 0px none ; background: rgb(238, 255, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt; &lt;a href="http://wiki.contribs.org/Image:Information.png" class="image" title="Information.png"&gt;&lt;img alt="" src="http://wiki.contribs.org/images/thumb/5/54/Information.png/25px-Information.png" border="0" width="25" height="25"&gt;&lt;/a&gt; &lt;/td&gt;&lt;td&gt; &lt;b&gt;Tip:&lt;/b&gt; &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt; mysql_setpermission is a command line menu driven utility that can assist in MySQL administration. &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;a name="Later_versions_of_applications"&gt;&lt;/a&gt;&lt;h2&gt; &lt;span class="mw-headline"&gt;Later versions of applications&lt;/span&gt;&lt;/h2&gt; &lt;a name="Why_does_SME_Server_still_not_have_PHP_5.2C_MySql4.2C_Apach2.2C_xxx"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt;Why does SME Server still not have PHP 5, MySql4, Apach2, xxx &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;SME Server 7.x is based on Centos 4.x which in term is based on RedHat Enterprise Linux 4.x. Since the development team is limited in person and time, all work is done in spare time, we do not have the time to implement such big changes and cope with the maintenance of such work. &lt;/p&gt; &lt;a name="Is_xxx_on_SME_Server_still_safe_to_run.3F"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt;Is xxx on SME Server still safe to run? &lt;/span&gt;&lt;/h3&gt; &lt;p&gt;Yes, because security fixes and bug fixes are backported to the 4.x releases and they are propagated to the users as updates, for more information have a look at &lt;a href="http://www.redhat.com/security/updates/backporting" class="external free" title="http://www.redhat.com/security/updates/backporting" rel="nofollow"&gt;http://www.redhat.com/security/updates/backporting&lt;/a&gt;. &lt;/p&gt; &lt;a name="Can_I_install_a_later_version_of_xxx"&gt;&lt;/a&gt;&lt;h3&gt; &lt;span class="mw-headline"&gt;Can I install a later version of xxx&lt;/span&gt;&lt;/h3&gt; &lt;p&gt;Yes, but you are then responsible for updates and possible conflicts with updates &lt;/p&gt;&lt;p&gt;For example see this page for &lt;a href="http://wiki.contribs.org/PHP#PHP_5_PHP" title="PHP"&gt;PHP#PHP_5 PHP&lt;/a&gt; updates and warnings &lt;/p&gt; &lt;a name="Known_Problems"&gt;&lt;/a&gt;&lt;h2&gt; &lt;span class="mw-headline"&gt;Known Problems&lt;/span&gt;&lt;/h2&gt; &lt;div style="border: 1px dashed black; padding: 5px; background: rgb(255, 255, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;table style="border: 0px none ; background: rgb(255, 255, 217) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt; &lt;tbody&gt;&lt;tr&gt; &lt;td&gt; &lt;a href="http://wiki.contribs.org/Image:Important.png" class="image" title="Important.png"&gt;&lt;img alt="" src="http://wiki.contribs.org/images/thumb/f/ff/Important.png/25px-Important.png" border="0" width="25" height="25"&gt;&lt;/a&gt; &lt;/td&gt;&lt;td&gt; &lt;b&gt;Note:&lt;/b&gt; &lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt; This section is to be used to document problems that cannot or will not be fixed through development of SME Server 7.&lt;br /&gt;&lt;p&gt;Please refer to the &lt;a href="http://wiki.contribs.org/KnownProblems" title="KnownProblems"&gt;KnownProblems&lt;/a&gt; page &lt;/p&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-9155693896203476429?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/9155693896203476429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=9155693896203476429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/9155693896203476429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/9155693896203476429'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/02/mysql-database-on-smeserver-7480.html' title='MySQL Database on SMEServer 7.4/8.0'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3623777444183331031.post-3494762908223842175</id><published>2009-02-21T19:04:00.000-08:00</published><updated>2009-02-23T09:38:43.895-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freepbx'/><category scheme='http://www.blogger.com/atom/ns#' term='wake-up calls'/><category scheme='http://www.blogger.com/atom/ns#' term='module'/><title type='text'>Simple Hotel Style Wake-Up Calls</title><content type='html'>&lt;u&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Simple Hotel Style Wake-Up Calls – THE MODULE&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;The Hotel Style Wake Up call function has proven to be of interest to many of us. Simpler than Ward’s Voice Reminders, the system emulates the wake-up calls you might get when staying at a hotel.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;So far – &lt;a href="http://pbxinaflash.com/forum/showthread.php?t=2713" target="_blank"&gt;in the previous thread about this topic&lt;/a&gt; – we learned several ways of manually deploying the existing scripts. From all feedback – those methods are working well for most folks. But, from the stand point of being easy to install and configure – well, some folks had issues.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;When it comes right down to it – I just don’t prefer to make the PBX administrator drop into a command line or text file to make simple configuration changes. And I have always wanted to try my hand at making an actual FreePBX module……&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;I am pleased to release to general use today the Hotel Style Wake Up Calls Module for FreePBX. The module uses essentially the same scripts used in the manually installed version – but with some significant changes.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;Ok - On with the Show.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;Prerequisites – Pay Attention&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;If you currently run any version of the Wake-Up scripts (from agi-bin), such as those discussed &lt;a href="http://pbxinaflash.com/forum/showthread.php?t=2713" target="_blank"&gt;in this article&lt;/a&gt;, the module version will not co-reside. You should REMOVE the wakeup scripts from previous versions from your platform before installing the module. Failure to do so will cause unanticipated behaviors (Read: The old scripts wont work, may be replaced, and the new module won’t work either. Not good).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;If you currently run the &lt;a href="http://pbxinaflash.com/forum/showpost.php?p=16572&amp;amp;postcount=15" target="_blank"&gt;Outside The Box Wakeup Calls&lt;/a&gt; – The module will do the same work, but be aware you still have to manually configure one aspect of it. (&lt;a href="http://pbxinaflash.com/forum/showpost.php?p=20864&amp;amp;postcount=9" target="_blank"&gt;http://pbxinaflash.com/forum/showpos...64&amp;amp;postcount=9&lt;/a&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;Note: The module DOES support the ability for the operator to send wakeup calls to any telephone number – including PTSN numbers; just not dialing in from outside the system – since Authentication is not yet supported.&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;This module uses the mySql database to store and read its configuration values. If you are running your pbx under a database other than MySQL, this module will fail. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;If you have changed the asterisk user password to the MySQL asterisk database, this module will fail. (It can be edited to work under these circumstances, but that is outside the scope of this article)&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;&lt;u&gt;&lt;span style="font-family:Arial;"&gt;Under the Hood&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;For those interested in the details, the typical version of the Wake-Up scripts use variables (set in the include script) to establish various details, such as Operator Mode config, and other similar configuration settings. Also, the two scripts used different methods and locations for storing their configuration variables – leaving the installer to configure things in three separate places.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;In the module version, both of the work-horse scripts have been modified to gather their configurations from the same .inc script. The .inc script itself has been modified to gather most configuration details from the database, instead of fixed values found in the scripts. To round it all out, the module has a user interface that allows the most common configuration settings to be changed (and stored in the database) – without ever opening a text editor.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;b&gt;&lt;span style="font-family:Arial;"&gt;Installation and Configuration – Wake-Up Calls: THE MODULE&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;Works exactly like installing any other third party module.&lt;/span&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;Download the module. &lt;a href="http://colsolgrp.com/phone/jpg/hotelwakeup-1.0.1.tgz" target="_blank"&gt;You can get it from HERE.&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;In FreePBX, Module Admin, Upload the Module to your PBX.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;In FreePBX, Module Admin, under Third Party Addon, Locate Wake Up Calls, and INSTALL.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;In FreePBX, Under tools, Third Party Addon, Select Wake Up Calls. &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;You should be greeted by the Wake Up Calls user interface screen, shown below.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;img src="http://colsolgrp.com/phone/jpg/wakeup.jpg" alt="" border="0" /&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;The module installer installs default values.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;u&gt;&lt;span style="font-family:Arial;"&gt;Operator Mode&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;When enabled, the operator mode allows those extensions listed as &lt;i&gt;Operator &lt;/i&gt;Extensions to request a Wake Up Call for any telephone number, up to the length specified in the &lt;i&gt;Extension &lt;/i&gt;length drop down box. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;If you do not wish to support WakeUp calls to outside numbers, select the extension length which matches the extension length used on your PBX. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;If you do plan on supporting outside telephone numbers, select 10 or 11 as the extension length – dependant upon how your PBX dialing is set up (to require a leading ‘1’ or not.)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;span style="font-size:100%;"&gt;If you enter a destination number that is less than your maximum extension length - you must end your input with the # key, or it wont process your input. &lt;i&gt;(Thanks for pointing this out, HAT!)&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;u&gt;&lt;span style="font-family:Arial;"&gt;General Conifguration&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;"&gt;Ring Time&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;"&gt; determines how long the Wake Up Call will ring the destination number before giving up for that attempt.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;"&gt;Retry time&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;"&gt; is the wait period between retries.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;"&gt;Max Retries&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;"&gt; is the maximum number of times the system will attempt the wake up call, or snooze call back.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;i&gt;&lt;span style="font-family:Arial;"&gt;WakeUp Caller ID&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:Arial;"&gt; allows you to customize the Caller ID info displayed by the wake up service. By default, the phone number shows the default feature code assigned when you install the module. If you change the feature code – make sure to come here and change the caller id to reflect the new value.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;u&gt;&lt;span style="font-family:Arial;"&gt;Changing the Dail String (Feaure Code)&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;In keeping with the goal of not having to edit config files, the Wake-Up Module sets the feature code (or dial string) using the FreePBX Feature Codes Page. (In FreePBX, under Setup, Select Feature Codes). &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;In the WakeUp Calls section, find the Wake Up Calls item. All controls work as expected here. You may change the feature code to suit your needs, and even disable the Wake Up calls service.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;u&gt;&lt;span style="font-family:Arial;"&gt;Future Module Updates&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;The FreePBX module update process works as expected for this module. Should an update be released, simply upload it to your PBX in the same way as the original. The Module Admin will then recognize a pending upgrade, and offer you that choice. Upon Upgrade, your previously established configuration items are not disturbed. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;This module is not in the FreePBX third party modules repository, and as of this writing, there is no help page for it available from the &lt;i&gt;More Information&lt;/i&gt; link in the FreePBX Module Admin. This may be accomplished in future releases.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;u&gt;&lt;span style="font-family:Arial;"&gt;Roadmap to Future Module Updates&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;In the future, I hope to add support for authenticating outside callers, in order to restore all the functionality in the Outside the Box version previously mentioned,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;u&gt;&lt;span style="font-family:Arial;"&gt;Credits/Thanks&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;I would never have been able to start this module without Jeremy Coulter, who provided me with actual working copies of the scripts to begin with, and lots of encouragement. I have naturally left any and all credit/author lines in the original scripts that were present when I got them.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;Also – my ego would have taken a lethal beating from all the failures along the way were it not for Joe Roper – who provided encouragement, advice, and shared his immense knowledge of the FreePBX environment freely along the way. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;Last – certainly not least, Jerry Swordsteel in far away Sweden jumped in and spent a good 4-5 hours coding the PHP for the Module’s user interface screen, and data/string manipulation needs. Jeremy, Joe, Jerry – thanks for helping make this module possible! &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;As always – share your results – and let us know how the Wake Up Module works for you.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Arial;"&gt;Until next time –&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3623777444183331031-3494762908223842175?l=akilsoft.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://akilsoft.blogspot.com/feeds/3494762908223842175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3623777444183331031&amp;postID=3494762908223842175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/3494762908223842175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3623777444183331031/posts/default/3494762908223842175'/><link rel='alternate' type='text/html' href='http://akilsoft.blogspot.com/2009/02/simple-hotel-style-wake-up-calls.html' title='Simple Hotel Style Wake-Up Calls'/><author><name>AkillSoft</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
