Time to Kick Off a Formal 2.9 Release Cycle

It's been a crazy heads down couple weeks of coding and testing since the last [url=/news/2011-01-09/happy-2011-and-a-2-9-update]blog post[/url] where I gave you a quick update on how things are going. We are finally up for air ready to encourage you to join in and help get the momentum rolling on the 2.9 release which is turning out to be packed with all sorts of great small and big improvements, changes and additions! Although there is still some feature work left to do we are ready to ask you to start loading up your test systems (or for those very brave, your real ones) and give it a go!

We received a lot of fantastic feedback on [url=/news/2010-11-17/features-we-are-considering-for-2-9]our blog some weeks back[/url] and have examined that information along with the many tickets in our system to give shape to this milestone. There are still a handful of features which we have not gotten in yet, notably some of the new abilities introduced in Asterisk 1.8 such as the CallCompletionRequest (Camp-On) and CONNECTEDLINE (Reverse-CID), but we are hoping to squeeze those in over the next couple of weeks. There are also some partially complete features that have not yet been exposed and a handful of contributions sitting in the tickets that are pending.

We’ve tried to map out our plans for this release in the 2.9 Milestone where you can get a detailed picture of what we have been up to as well as drill down into the hundreds of feature and bug tickets that have been handled or are still pending. We’ve also started to map out our thoughts for the 2.10 MIlestone to start getting all of you thinking about what’s coming next and wound up to help us make it a reality.

There’s just too many things to start highlighting every feature and enhancement that this new release will bring. We’ve tried to layout many of the key ones in the trac Milestone so your best bet is to look at the overview and dive in; that, AND start playing with it. There has been some great contributions during this release from a few of the core developers on the project. Andrew Nagy (tm1000) has been working tirelessly to continue enhancing and improving the End Point Manager which is now available though the Online Repository in version 2.9 and we hope to get a lot more eyes on it with this release. Mikael Carlsson (mickecarlsson) and Moshe Brevda (mbrevda with Schmoozecom.com) have spent countless effort working on a two prong re-architecting of the classic ‘amportal.conf’ settings and re-architecting parts of the internal framework structure that will result in much easier access for external application that want to take advantage of FreePBX internal API’s and other resources. There has also been major usability work and always lots and lots of ideas provided by Tony Lewis (tonyclewis with Schmoozecom.com) who has helped fine tune many of the new features that are coming out with this release. For those of you who I have not mentioned here, you have not been forgotten as there are many other contributions to this release, too many to name here.

An example of the outcome that has resulted from these types of changes is the new Advanced Settings GUI page that replaces amportal.conf. On last count there were over 130 configurable settings designed to better customize your FreePBX system, many of these new to 2.9. These setting range from basic configuration settings that have always been specified in amportal.conf, to specialized settings that will let you take advantage of various Asterisk patches, to simple preferences such as the frequency that the Dashboard should update, or whether you want to skip the extra yes/no confirmation when you press Apply Configuration Changes and the orange box pops up.

We are also excited to have introduce a whole section focused on customizing the style, layout and branding of your FreePBX system. There has been interest brought up in the forums that has helped spur this on including a great prototype offered up by Bas on this forum post and some additional interest on this same subject brought up by baron154 on this post here. With the new changes in 2.9, you could make a very simple module that provides the required images and new CSS, and sets the roughly 4 configuration parameters that results in the great new look that Bas demonstrated! We are hoping that this configuration ability helps fuel the interest to come up with some great new designs since that is high on our list and with the right creativity, we may now be able to offer multiple options!

Enough for now… Let me layout the next sequence of events and then get my weekend started. There is a 2.9.0alpha1 tarball available to download and get you started, upgrade instructions here. Although we have done a lot of testing on it, I’ll wait for a few more eyes have scrutinized it before elevating it to a beta release. In the interim, and even during beta1, we intend to finish off the feature work before a feature freeze which will coincide with beta2, hopefully two to three weeks from now. At that point, we will track the bug rate and make a push to get it finalized. In the interim, we will work on an upgrade module which will be available first as a manual download until we get enough feedback to feel comfortable putting it up on the 2.8 Online Repository. This is done so that unsuspecting user’s don’t accidentally upgrade to a beta, despite all the warnings that we provide during the upgrade process. There has also been suggestions that we institute a community phone conference to update you on what is going on with this and future milestones and give opportunity for discussion and feedback. We will try to arrange this in the next couple weeks giving time to address the current release as well as kick off thoughts on 2.10. We will see how well this works out depending on how many people try to join (and how big of a conference bridge we can pull together).

We look forward to your participation and feedback on all this great work that has been done, and will be back frequently as the release progresses to give you feedback and let you know how the milestone is progressing.

Philippe - on behalf of the FeePBX team

From my point of view your proposal is good but could create problems with installations where the default English prompts (which we/or other interested parties could re-mix to one prompt) are not used.

For example, if *65 application will be redesigned to use only one prompt (instead your + extension + is there will be one prompt like your-extension-is, with the voice of Allison Smith), in some installations (where the default Asterisk EN prompts have been rerecorded by another voice talent) the differences will affect the user experience.

Are there other options to choose from?

Thanks for your time and support,


if you have new voice prompts recorded you have the same problem anyhow as there are several modules that supply new voice prompts. This would just be another one of those which you will have to deal with.


you are correct, when we chain together multiple prompts in an order that does not work for other languages then it is our issue. My reference was the grammar issue that is embedded in Asterisk, for example, adding different genders and other grammatical fine tuning in certain languages.

The best way to fix our issues is if the interested parties would like to either take the individual english components that we have wrong and re-mix them into a single sound file for us, and then submit a ticket to that affect, then we can update the module with that single sound file at which point localization is against only one file and the issues are gone.

Any such consolidated sound files will be welcome and we can start to use those. That should cover 98% of issues, there may be more ‘sophisticated’ situations that still must piece sound files together dynamically that are not covered. We’ll have to review any such cases to see if something can be done to address them.

Thanks - I understand now that you are mentioning the localization support for new prompts which FreePBX are installing.

We have to understand how to modify the play order of the files in applications like “app-speakextennum” (*65) without breaking the update module functionalities.

IMHO this is not related to Asterisk at all as I am talking about the order in which multiple_prompts are played in the “standard FreePBX” release (for EN). For specific FreePBX applications the order is not OK in other languages (like *65 for Romanian language) - but this will be probably addressed by your team in a future version.


the support added may not fix all issues. Anything in Asterisk itself that is not handling grammar properly is still limited to Asterisk and will have to be reported there.

Also, any existing sound combinations using multiple files in FreePBX would have to be separately.

The support provided is where FreePBX modules provide their own sounds. Examples are findmefollow and the directory modules. In these cases, today, a module will add some sound file by placing them in a directory called ‘sounds’ within the module structure. We link that (and still will) to your Asterisk sounds directory, typically this equated to the equivalent of:

ln -s /var/www/html/admin/modules/module_name/sounds/* /var/lib/asterisk/sounds

What we have added is that we can now create a subdirectory in the module’s sound directory which would represent the localized sounds for that language. For example, if we found an ‘es’ subdirectory in the module’s sound directory AND we detected that the system has an ‘es’ directory at the top level of their Asterisk sound’s directory, then we ALSO link anything under the module_name/sounds/es directory into the Asterisk es subdirectory. If the target is not there then we will ignore those files.

This corresponds to the ‘standard’ format that Asterisk uses by default now (different from past versions such as Asterisk 1.2), where the language files are placed within sub directories at the top of the language file tree of Asterisk.

Could somebody point to the documentation on how 2.9 will support multiple languages?

From the 2.9 milestones we have found that

“Support has been added for multiple language sound files in the FreePBX module structure. We will look forward to getting sound files for other languages contributed and added to the various modules that supply some of their own sounds.”

For example, app-speakextennum have to be tweaked for RO: instead of playing your+extension+number+is+… it have to be number+extension+your+is+…

Also, could somebody confirm if the support will be per installation or per channel (like setting the overall sounds language to be used in the applications or by supporting the language set for the channel)?

Many thanks,

I’ve tried this at my company’s development machine - Asterisk 1.8.X, and Freepbx 2.8 (Polycom and Aastra phones)… In the end all it takes is to have these two fields (trustrpid=yes
sendrpid=pai) to put into SIP general (custom) - so no need to put it on all the devices…

I’ve only tested it twice, but it seems to work -> I did it with call pickup (worked like a charm), but when I tried it with call transfer (A calls B, B transfers to C - A sees C’s number) - the number of C was right, but the name was wrong (it showed “device” instead of caller id of C - don’t know where it got it from).

But as I said, it was tested on development machine - not very stable and full of undeveloped features… So maybe it will work OK on production (clean) setup’s.

Hopefully I could find some time tomorrow to test it some more. But for now it seems that it’s just a matter of putting the two field into the SIP general settings.


thanks, you are right you can put it in the general settings area on a homogeneous environment but for a mixed phone environment you may have different sendprid settings for different phones.

The CID name of ‘device’ comes from the fact that the sip level CID settings are named device in extension mode since the cnam is determined based on the user. This is one reason we need to instrument the code with CONNECTEDLINE() calls to update the name properly.

Then … we need to see if we will be able to control this or if not, if we are going to have to change the device cnam field with the user cnam. Problem there is in deviceanduser mode and/or in hotdesking environments it won’t always be correct and thus the reason to want to properly get CONNECTEDLINE() working and update the information authoritatively in the dialplan.

Regarding the connected line (COLP/CONP):



thanks, I’ll have a look at that. I’m not sure that’s quite the same as what I was playing with though it is very relevant and means we need to add those two fields to devices which I will do: #4790. I am working on specifically using the CONNECTEDLINE() function to force certain information, though I think it’s all the same basic mechanisms.

I would just like to say you guys are doing an incredible job. Hopefully sometime in the near future I can also contribute to the FreePBX community.

No, can’t make it to IT Expo, wish I could.

Let me know on the bridge. I was going to use FreeSwitch for the conference bridge.

Ok, change of plans see y’all in Miami…I arrive Wed evening.

Started playing with the CallCompletion application in 1.8 (CampOn) and it looks promising, should be getting on that in a week when I get back from ITEXPO next week…

No luck yet with CONNECTEDLINE() (Reverse CID), I must be doing something wrong…

for now, if anyone here will be at ITEXPO next week in Miami, come say hi!


appreciate the offer, I’ll get with you if need be. Need to check what I might have available on my side as well. Not too worried about bandwidth, it’s a good bridge that can handle a lot of mixing… (And for that, g729 is a really bad idea actually :slight_smile:

btw - you going to be out in Miami next week?

Micro Advantage (My Company) would be more than happy to provide the bandwidth for the conference server.

I will provide enough for 100 participants, g.729 or GSM CODEC.

I will get with Philippe tomorrow and work out the details.

well, this is really a nice post.I really like the way you start and conclude your thoughts. Thank you so much for this information. keep posting such good stuff.,Resume writing service ,