Posted: July 21st, 2010 | Author: admin | Filed under: Asterisk VoIP, Linux, Tech | Tags: appointment, appointment reminder calls, asteris, call blasting, office reminder, ontime1405, ontime1405.com, voip, wake up call | 2 Comments »
A while back I had a meeting with a friend in Orlando, FL. He came up with the idea to provide an appointment reminder service to companies that would benefit from such a service. Doctor’s offices, Dentists, Mechanics, Repairmen, etc. I drew up the logistics of the program and began working on it in the fall of 2008. Since then we have had customers use the software to easily call their customers and remind them of appointments and also use the software for call blasting. Call blasting is a feature to call an unlimited amount of numbers and playback a message. Since I have experience in the Asterisk VoIP platform I programmed the system to allow for options and the customer to enter in input with their keypad.
www.ontime1405.com

The purpose of this article is to detail the logistics and share it with the Asterisk community.
Basic overview:
There are a few different ways to originate calls with Asterisk.
-From the Asterisk CLI directly with the “originate” command
-From the AMI (Asterisk Manager Interface)
-From .call files placed in /var/spool/asterisk/outgoing
I went with .call files because of a few reasons:
-I can generate all of the call files ahead of time because they are read based on the timestamp of the file (less load)
-It is straightforward and easy to follow, and also leaves behind the .call file that is archived after the call is finished
-Asterisk will parse and execute based on timestamp, so to burst 100 calls would require much less overhead than through AMI/CLI
There are some negative effects to the .call files too:
-Changes made need to remove and add another .call file (If the customer changes their appointment time after the file was generated)
-The lowest interval to generate calls is every minute, so we can burst to 400 calls/minute (also more difficult to throttle calls)
Now you know how the calls are originating on the system, let’s move on to the database and interface.
I hired someone to program the interface in AJAX and PHP. That way it is secure and saved a lot of time if I were to attempt it myself. The interface is very clean and easy to use for customers. They also have the ability to import 1,000 records at a time via CSV files. Feel free to demo the interface via the link on ontime1405.com for “Demo the Interface”.
The interface stores the call data in MySQL which is then scanned hourly to process and create all of the .call files according to their timestamp. We only care about the calls that will be made by the system in the next hour, so those are the only .call files that are generated. The script is a PHP script that connects to the database with the query of calls to be made, strips them down, then does a loop to create the .call file, set the timestamp based on the variable, then move the .call file to /var/spool/asterisk/outgoing.
The .call files include 1 custom variable that is comma-delimited so we can parse out the appointment time, AM/PM, and any other custom variables.
The other important lines in the .call file point to the context in the Asterisk dialplan that the customer’s announcement and options are defined.
Now you may ask yourself, It will be a pain to manually add customer’s options and dialplan for every sign up, right? It was at first, but I created several automated scripts to generate the dialplan for the customer and “dialplan reload” when complete.
The rest of the accounting/etc is accomplished via bash cleanup scripts that write to the database and provide reporting/etc.
The same system can be used for call-blasting to a large group of number for a survey, snow day announcement, marketing message.
Please let me know if you have any questions or advice/constructive-criticism for me regarding the program.
And feel free to try out the demo interface and hear a reminder call!
Cheers,
Gregg
Posted: July 21st, 2010 | Author: admin | Filed under: Mac, Tech | Tags: create iphone ringtones, create ringtones itunes, free ringtones, iphone, itunes, itunes ringtones, ringtones | No Comments »
I haven’t seen any “clean” write-ups for creating free ringtones for your iPhone yet, so here goes.
Note: This is done on my Mac, if you notice any differences please let me know and I can make an updated PC-guide.
-Open up iTunes on the Mac/PC that you use to sync with your iPhone.
-Make sure that AAC is the import format. If not, change it by: iTunes, Preferences, Import Settings, Import using: AAC Encoder, Setting: iTunes Plus, then click OK.
You should notice that if you right-click on any song in your library, it will have a “create AAC version” option.
It is a good practice to make your ringtones 30 seconds in duration.
-Locate the song you wish to make in to a ringtone.
-Preview and note the point in the song that you want the ringtone to start
-Right-click on the song, Get Info
-Go to the options tab, put in your start time and end time for the song, click OK

-Double-click the song to play the 30-second clip you just set, adjust start and end time if necessary
-Once you have the 30 seconds of ringtone goodness, right-click on the song and create AAC version

After the song is converted you should see a duplicate song below the original with a duration of 30 seconds. Left-click and drag this new song to your desktop. The ringtone will be copied to your desktop as a .m4a file. Left-click and rename to .m4r extension. You will get a prompt that says, “Are you sure you want to change the extension from “.m4a” to “.m4r”? Choose “Use .m4r”

Left-click the ringtones folder in iTunes and drag your new .m4r file to it, you now have your new ringtone! Make sure it will be copied by editing your sync settings to copy all ringtones! Voila!
Note: Make sure to cleanup and remove the start and end times from your songs that you made ringtones. It will be annoying whenever you play them and they will only play for 30 seconds.
Posted: April 14th, 2010 | Author: admin | Filed under: Tech | Tags: 3.21, 3.21 firmware update, brick, cant read discs, firmware, firmware update, no blu ray, ps3, ps3 firmware update 3.21, sony, sony playstation 3, update | 1 Comment »
I’ve had my PS3 for about 7 months and everything has worked without a hitch. Last week I even got around to playing Final Fantasy 13 for a few sessions. Well, last Friday I decided to have some friends over for a Band Hero rock-session before going out. Upon firing up my PS3 I see that there is a new firmware update available. Now being that I haven’t ever modified or planned on doing anything cool with my PS3, I blindly said “update now” and told my friends it would be a minute. After the firmware update completed the system rebooted, and all looked normal. I put in Band Hero and realized that it isn’t reading the disc, I put in 2 other games…no luck. I put in a DVD, then a Blu-Ray….NOTHING! When inserting any disc the system would make the standard noise, accept the disc, then make a click sound (like its re-arranging the disc) for a second. I did some research and many other people are having the same issue.
One thing that does grind my gears. I called the support line and the lady clearly told me that this was a “coincidence”. Even though there are two different internal readers for DVD and Blu-Ray discs. I’m in the troubleshooting field, its my career. One, if she automatically comes up with this response, then she knows about the issue already and it clearly is a known issue. Two, the firmware controls how the hardware functions, so being that there are many different systems and configurations, it is very possible that the update caused my disc-read-click behavior.
I’m upset about this. Sony should know better. I would be very upset if my PS3 wasn’t under the 1 year warranty, but the whole point of bringing this up is to work together as a community and figure out WHY.
Some things I tried:
-Insert DVD/Blu-Ray/Game, when it is accepted…quickly power off before the clicking occurs.
(No luck, because when the PS3 is powered on it will do the click sound EVERY time).
-Reset to defaults:
(First thing support recommended, didn’t affect anything beside resetting all my settings…same behavior).
-Restore PS3:
I just did this today (20100415) and it formatted the hard drive. Apparently this doesn’t make any difference on the behavior because it was still on firmware 3.21 after the format.
Posted: January 10th, 2010 | Author: admin | Filed under: Linux, Tech | Tags: forwarding, linux remote, remote, remote access, remote forwarding, root, ssh | 2 Comments »
There have been many situations that I would like to have remote access to a Linux server, but I don’t have administration rights to the network the server resides on.
A few situations I’ve run in to:
1. A friend has a server and wants you to take a quick look (but no ports forwarded)
2. Customer has a server that you need to look at, but no remote access
3. You are working locally on a server but need to leave and access it later from another location
Requirements:
1. You need to have a publicly accessible Linux server with an SSH account (please don’t use root for this!)
2. Add a dumb user that has shell access but nothing else, don’t run any applications as this user (used for SSH only)
So in the case where you are physically at the server and need to get to it later, type:
ssh -N -f -R 19999:localhost:22 sshuser@4.4.4.4
The options make it so after you authenticate with the password the shell goes to the background.
4.4.4.4 needs to be replaced with your IP/Domain of the server you control
sshuser needs to be replaced with the dumb SSH user you setup earlier
Now when you get home, ssh to your 4.4.4.4 server. Then use the Remote forwarding to get back to the original server:
ssh -p19999 sshuser@127.0.0.1
You should now be on your remote server.
If you want to kill the connection, on your public server type:
ps -ef | grep ssh
Then you can:
kill -9
Remember when I said that you must create a dumb user earlier? This is in case you are in the situation where you must give the command to someone over email and have them execute it for you. That way you aren’t handing over root-level access to your server…ever.
Posted: January 10th, 2010 | Author: admin | Filed under: Tech | Tags: asc, beatmania iidx, bemani, boot disc, dj dao, games, japan, japanese, parallel, pop'n, pop'n asc, pop'n music, ps2, rhythm, rhythm game, swap magic | 2 Comments »
It’s no secret that rhythm games in the United States are popular. Guitar Hero, Rock Band, and DJ Hero are now known to almost everyone. Unfortunately, arcades are all but a dying business in the US. I remember the days when I was a kid and my mom/dad would give me 4 bucks to entertain myself at the Tilt Arcade while they did their shopping. The death of Arcades in the US is most likely due to the popularity of console systems. When I was a kid, sure we had Nintendo, but the games at the arcade were of a higher quality. Now graphics and gameplay of console and PC games are above the level of arcade games.
In my travels to Japan, I immediately noticed that Arcades are a common thing in larger cities. In a square mile you could find 7 arcades or so (in my experience). Another obvious thing I noticed at the Japan/Osaka arcades is the amount of rhythm games to play. Games I’ve never heard of before. Games like: Pop’n Music, Pop’n Movie, Beatmania IIDX, Guitar Freaks, and DrumMania. Beatmania IIDX has been around since February 26, 1999! Being that I’ve played DDR, Stepmania, and Guitar Hero, I figured that I’d give these games a shot. I found that these were not simply “pick up and play casually” games. People I’ve talked to said they’ve played these games for years to build their skill!
One game that caught my eye in particular was Pop’n Music. This game has 2 rows of buttons, with 4 on the top row and 5 on the bottom. I played one time and became addicted, even though I was clearly a noob. After playing this game off-and-on for the duration of my vacation in Japan and probably putting over $80 USD in to the machine, I decided that I should get a controller so I can play it in the US. Note that they do not sell these games in the United States, you have to purchase them from a site like www.play-asia.com
The original arcade-style controller for Pop’n Music is out of stock so I had to look elsewhere. After speaking with my friend at the arcade in Japan, he recommended DJ Dao for controllers. This site can be accessed here: http://www.bemaniasc.com/eng/index.php
DJ Dao’s controllers are known for being the best reproduction of the arcade controller while offering the option for better switches and customizing the color(s). The stock Pop’n Music ASC controller from his site is $210, but shipping is expensive because it is coming from China.
All you need now is the following to play:
1. US or Japanese PS2
2. Pop’n Music Games (Also from japan-guide website)
3. A Pop’n Music Controller
Note that if you have the US PS2 it is region locked for NTSC/US. In order to play the games from Japan you need a boot disc to play discs from other regions. You can purchase the Swap Magic 3 boot disc from http://www.swapmagic3.com. Please make sure you select the boot disc for YOUR REGION of PS2, not the region of discs that you want to play. So I purchased the NTSC DVD boot disc to play my purchased Pop’n Music games. Boot up the DVD, wait for the disc to stop, and swap it with your Pop’n game.
Connecting to PC:
The DJ Dao controller comes with an adaptor for both Playstation 2 port and Parallel ports. If you are a developer and want to use this controller for your own Rhythm game, here is how to connect it to your PC.
1. Enable Parallel in your BIOS
2. Download configuration software from DJ Dao here: http://www.bemaniasc.com/download/drivers.rar
3. Extract and open the version applicable.
4. Follow on-screen instructions and when you are done you should have “windows new device found” notifications
5. Control Panel -> Game Controllers
6. Set to button mode, and make sure they are all working
(Does not work with XP 64-bit)
My buttons were flashing when I did this, and realized that the board I received had an issue. It would work with my PS2 just fine, but on my PC it showed the far right button as flashing. I replaced the board with the spare that DJ Dao ships (known issue?) and it was working! Map your buttons and you can now play or use the controller with your own app.
Pictures of my DJ Dao Pop’n ASC below:
(After the bottom cover was removed)

(Close up of controller board)

Please let me know if you have any questions. This game is addicting.
Time to go play
-Gregg
Posted: January 4th, 2010 | Author: admin | Filed under: Asterisk VoIP, Linux, Mac, Tech | Tags: 2010, donation, new look, no more ads, resolutions | No Comments »
I decided to start off 2010 with a few changes:
1. Choose a new theme for the site…done
2. Remove Ads…done(With the exception of the sweet animation my buddy did)
3. I’m studying AGI scripting with Asterisk and want to share my findings along the way. I hope to have a lot of posts soon for you guys.
4. I hope to have bi-monthly updates to the site at a minimum. Topics include but are not limited to: Asterisk, AGI, PHP, Linux, and anything else I find interesting. 2010 is going to be the year of knowledge.
5. I put a link on the right column, and I’m only going to say it once. If you want to buy me a beer, or contribute to my escapades with a small donation. Then I will smile knowing that someone appreciated the info enough to help me out.