Goodbye PHX, Hello NYC (Astricon 2008)
It’s the 27th of September, and AstriCon 2008 is over. I have to say that I really enjoyed myself. Apart from the lectures that I attended, that had opened my eyes to some new areas of Asterisk (I’ll be needing to think about those), I’ve met some people and finally managed to achieve some of my personal goals – in regards to Asterisk and the Asterisk community.
One of the people I’ve met and we’ve talked extensively is Philippe Lindheimer, from the FreePBX project. Our main topic of discussion was regarding FreePBX training for Israel, where I am located. However, as the discussion continued, we started talking about the various aspects that we both see as problematic with FreePBX. My general take on the FreePBX issue is that currently, FreePBX is the only open source, feature rich, highly versatile PBX environment for Asterisk. As Philippe commented, FreePBX was initially designed to support all the varient Open Source PBX projects running around the market, however, as Asterisk is the most predominent one, the rest of the isoteric projects were, more or less, left out.
The highlight of AstriCon for me was actually not AstriCon itself, but the DevCon that started on the 26th, right after AstriCon. I admit that I didn’t have the time to stay for the entire DevCon (although I really would have liked to) – I can say that the short time at DevCon was well spent (at least in my view). During the DevCon, the participants had split into initial thinking groups, each one in charge of analysing either a problem or future aspect of Asterisk. Essentially, there were 3 major groups, a SIP group, a framework API group and a group that had made it its business to look at all the other aspects that were not covered by the two initial groups.
The primary groups (SIP and API) were formed after a discussion about the would-be soft belly of Asterisk. Being a consultant and platform developer, the API group appealed to me and I joined that group. The initial talks among the group members was around an idea for an application/function that I had, to add an XML-RPC client application for Asterisk. My main insentive for this is the idea that in 90% of the cases that I’ve used AGI, I’ve usually performed a database call or remote web service call, returned a value to Asterisk, and continued on my way. Utilizing an XML-RPC application or function will enable me to lower the bar on the knowledge my customers require in order to interact with Asterisk. I’ve realized the potential of such a standard interface, during a project I’ve done about a year ago – a database driven dynamic IVR engine, that works of a unified dialplan, without creating any configuration changes. As I discuessed the idea with corydon76, other people shared their feelings and thoughts on the idea, and slowly patterns started emerging and other people started contributing more ideas and thoughts. As a certain point I had to leave for a couple of hours, only to come back later one, after the group had designed a completely new engine for Asterisk’s logic. Basically, the framework is not just a framework, it seperates the application logic of Asterisk from the asterisk core environment, returning much of the control and power back to the application developer. It’s a little hard for me to go about and describe the various aspects here, however, the general agreement was that for Asterisk to evolve into the next starge – these changes are a must.
One of the new ideas introduced to the framework was the ability to create namespace hooks to Asterisk. This means that asterisk will provide to the developer a set of namespaces, allowing the developer to interact – almost directly – with an internal part. For example, tying SIP codec negotiation to an externally provided business logic. As brian mentioned this specific functionality, he got a set of screams from the SIP work group – which I warned him that would happen – but hey, we’ve got to laugh too 🙂
Around 5pm the teams seperated – as most of the guys wanted to watch the presendial debate on TV, only to meet back around 8pm. Led by Kevin Fleming, we drove to a miniture gold course, not far away from the hotel. It’s the first time I ever played miniture golf – it’s alot harder than it actually looks.
For the time being, I’m well defining the XML-RPC application/function I’ve mentioned about, while corydon76 helps me in gaining the experience in writing the application/function to a workable code. While I’ve written a couple of patches for say.c and app_voicemail.c – writing a complete application from scratch is new to me – and it’s nice to have corydon76 as my tutor and guide on this one – Let’s see how it comes out in the end.
Oh, there’s also a small matter of the Digium Innovation award that i’ve won – however, that’s already old news on Google.