Importing Master.csv into MySQL CDR table

Edit: I have updated the original post, which contained ‘custom’ field name in the database instead of ‘userfield’ which is a field Asterisk-Stat uses. Edit2: Updated the field from ‘amaflag’ to ‘amaflags’ thanks to Justin. Edit3: Updated the script based on feedback from Mads Peter Nielsen and Gabriel. Thanks! Today I had a client that had a need to run some statistical analysis on their data, but since they didn’t have anything like that developed, I had to go on a search to find them something. Read On →

Quote: Barry L. Beyerstein, "The Brain and Consciousness: Implications for Psi Phenomena", The Skeptical Inquirer, Vol. XII No. 2, ppg. 163-171

Prevalent beliefs that knowledge can be tapped from previous incarnations or from a “universal mind” (the repository of all past wisdom and creativity) not only are implausible but also unfairly demean the stunning achievements of individual human brains.

Issues: ast_rtp_senddigit_begin: Don't know how to represent 'f' (one way audio)

I keep seeing questions like this recently on the mailing list and in the #asterisk IRC channel. “ast_rtp_senddigit_begin: Don’t know how to represent ‘f’ shows up on the console then I get one way audio… *, wanpipe, zaptel, libpri 1.4.7…. any suggestions?” I forget who originally said how to fix it (it was in a mailing list thread that I can’t find right now…), but basically the answer to resolve it was to disable the DTMF detection in the wanpipe driver. Read On →

HowTo: Getting Jabber/XMPP notifications from your PBX

I just have to write up a quick post to show you JUST HOW SIMPLE it is to get interesting events from your PBX via Jabber. Right now I’m using it to notify me of anyone trying out my test ISN number, or whenever they join my conference bridge (good reminder if I lose track of time and forget that I scheduled some people to join my conference room). Read On →

Telemarketer Torture

A funny thing happened today. Fred Posner posted an article about telemarketer torture (here). He has some examples that his script created. It was funny because today I worked on almost the exact same thing. My implementation was a bit different, but I really like the approach he took too. We both ended up using the WaitForSilence() application. Mine should be available via ISN 666*460 if you wanna try it out. Read On →

HowTo: Read a value from a file, and say it back

Preamble Today on the VoIP Users Conference we discussed my request for recipe ideas in order to start developing some additional documentation. Specifically, I’m looking for problems that are simple, common problems that can be solved in the dialplan, and which are good examples of the dialplan language (markup, script, yadda yadda). One of the suggestions was something posted to the Asterisk mailing list which was pretty straight forward: to read in the contents of a file, where the file contained a number which was the current temperature. Read On →

Migrating from AgentCallbackLogin() to Standard Dialplan Methods (part 1)

The purpose of this article is to ease the migration from AgentCallbackLogin() to using standard dialplan applications to solve the problem of calling back queue members (agents) who are logged into a queue. We will look at some of the common uses of AgentCallbackLogin(), and explore how to perform the same functionality using the commonly available dialplan applications in Asterisk. The version of Asterisk used in the following examples is based on a recent version of Asterisk 1. Read On →

HowTo: Page() all users, other than current channel

I was asked on IRC by bhodder how to Page() all users, other than the current channel (i.e. he had a list of people to call, but one of the channels listed could be the person paging, and he didn’t want them paged). So I wrote up the following little dialplan script which takes the list of users, and compares it against the current channel, and simply rebuilds the list without the current channel in it prior to calling the Page() application. Read On →

Back from Vacation!

Just a quick note letting you know I’m back from vacation! Just been working on catching up on a few things, and have started working on a new article. It will be focusing on how to convert from using AgentCallbackLogin() to using the AddQueueMember() method of dynamically adding members to queues. Since AgentCallbackLogin() has been removed from Asterisk 1.6.0 and beyond, you’ll need to use the AddQueueMember() method. Luckily, all the tools we need to use it on Asterisk 1. Read On →


Well it’s finally happened; I’m going on vacation! I will be out of the office from July 3rd through the 12th. I will be working on those articles I promised last week once I return. Unfortunately I had some big projects I had to get completed before I left, which ended up leaving zero time for writing. Hopefully once I return though everything won’t be backed up so much that I have to wait another week to write something. Read On →