Advice on pro bono project to integrate Incident Command System

I’m doing a pro bono project for a non-profit public-service organization that gets heavily involved in search-and-rescue operations using the Incident Command System.

For those not familiar with the Incident Command System, it’s a standardized organization for handling emergency and other incidents and includes an Incident Commander, various defined Incident Command Staff members, several Branch Directors and Group Leaders each of which has subordinate staff. Positions are all defined and standardized within the ICS so that e.g. a Ground Branch Director does the same job and has more or less the same subordinate staff and reporting path no matter what the incident, what organization, or where in the country.

We are standardizing the organization’s PBX so that each ICS position has the same extension number, e.g. the Incident Commander is always ext. 401 and the Logistics Service Branch Director is always ext. 470. In the background, we then want Extension 401 to forward all calls to the Incident Commander’s cell phone, etc.

We need to set this up so that it is not necessary for somebody to go into FreePBX every time and change the forwarding rules on people’s Asterisk extension profiles. Currently I’m the only one in the organization who can do that (this is definitely one of those “in the land of the blind, the one-eyed man is king” scenarios), and even if I wanted to, it’s not practical… the position of, say, Planning Section Chief could change from morning to afternoon, and someone has to quickly go in and change Extension 440 to forward to a different person’s cell phone every time that kind of change happens. Even if I wanted to teach others in the organization how to do all of that, I would not want multiple people of unknown qualification to have that level of access to the PBX configuration… all of you know well how much damage can be done by somebody with little or no idea what he/she is doing.

Ideally I’d like to set up a web page with blanks where people can fill in names and cell phone numbers for every slot in the Incident Command System, and then push a “Go” button and the system generates entries for various *_custom.conf files in /etc/asterisk, then commands a “reload” to make all the changes visible to Asterisk. That way if, say, the Communications Unit Leader goes home and someone else takes over as CUL, somebody can call up the web page, change the name and cell phone number for the CUL, hit “Go” and it’s done, without endangering any other aspect of the PBX configuration.

So, my question is… Do any of you know of anyone else who has done this or anything like it, that I can contact and perhaps see if he/she would be willing to let us build on their work?

If not… and without getting into detail about how it’s done… does that sound like it would be especially difficult or impractical to implement?


Eric /

Have a different queue for each position. On a normal extension, agents can log in and out of the queue; you should be able to set up a feature code or something so that a user can do the same thing from an external line.

Failing that, if you want to get complicated you could do up an AGI script that modifies the database directly and then does a FreePBX reload.

Thanks, miken32. I’ve spent most of today reading about queues and it does seem like it will do what we need.

So, I started setting up a queue and can not even begin to get it to think about working at all. But, I’ll post that in a new thread.

Thanks for the idea, if I can figure out why queues aren’t working, they’ll probably do what we need.

One thought here:
How about setting up follow-me for each line, the follow me number can be changed by the individual user from the user interface page.


This is the same page where users go to check their voicemail.

Part of your change-of-shift procedure would be for the incoming unit leader to set up the proper forwarding numbers.

Bill, W5WAF

I took miken32’s advice and am using queues. So far it is working really well.

I have one potential problem (that so far hasn’t evidenced itself) that I described in a new thread “FPBX System Status complains about Conflicting Extensions” posted a few minutes ago.

Agents / members are able to log themselves in and out of the queue from an internal extension using the normal NNN* and NNN** process. From an outside line, I have set up a DISA to let them do the same thing.

So hopefully the problem is solved. Thanks to all for your help.

Eric /