AGI

Release 3 is out of the oven

After about 2 months worth of work, much testing and much contribution from over 30 different community members, we’re happy to release the 3rd release of PHPARI. I would like to take this time to thank several individuals, who assisted much in the development of Release-3 – either by contributing code, reporting bugs and also working with us to have a better understanding of ARI internals:

 

Thank you all

I really can’t believe it, but 4 months had gone by since we’ve launched the phpari.org website and the phpari project. After 4 months, we are deeply into finishing Releas 3 of the library, and we’re happy to announce that we now have 1000+ confirmed downloads of the library. I’m currently answering over 30 emails each week concerning phpari, and I’m happy to say that people are finding it useful and productive.

We are still looking for contributions for the following:

  1. Source code for the project – yes, we are looking for more patchers and developers
  2. Example Code – we are looking for people who will develop some cool things with phpari and light up our minds with ideas
  3. Documentation – we are still missing some documentation in here, please write write write

Feel free to fill up the github repository with messages.

New version is up

I’m excited – well, I should actually say, thrilled to be more exact. We have a new version of PHPARI up on github, on the Master branch.
The new version enables better error handling, better events handling, ability to assign events triggering for Stasis events directly from the class, no need to work with React directly – in other words, I think PHPARI is now ready for some more testing and verification.

We’ve been made aware to a race condition that happens with phpws (by: stgnet), who had already contacted the author of phpws – with a patch and resolution, we hope that will make its way into the phpws code soon.

We’ve added new documentation to the code, so get updated – I’m waiting to hear from you all.

Astricon, Hackathon and phpari

“Get ready for the first ever AstriCon Hackathon! A worldwide community of designers, developers, and communications technologists will be gathering to create, code, and design apps built on AsteriskRespoke, and other communications APIs.” – Astricon Hackathon


phpari will be participating the Hackathon as well. If you intend to participate, consider using phpari – I will be there to assist you with your quest.

Yours truly,
Nir Simionovich

As simple as 1, 2, 3…

Simplicity, when it all boils down to getting your job done as fast as possible. We have a really funky rule here, a “lazy developer” is a good developer. Now, a “lazy developer” doesn’t mean one that doesn’t do his job, but one that spends 30 more minutes thinking about what he’s going to do, they writes code that enables him to replicate the result over and over again – at a fraction of the time.

Well, phpari is all about simplicity and getting your job done – simple, clean and fast. Normally, interacting with Asterisk ARI will require you to use either a REST library, or something like cURL. But, phpari takes all that away, wraps it tightly in a rapidly deployed class – making your life as easy as two commands.

Consider the following example: Getting the number of active channels from Asterisk. In the good’ol’days, you would either connect to manager and extract from there, hoping your code doesn’t deadlock. Another option was to issue a shell command, but even that isn’t bullet proof. Now, ARI gives you the ability to query that using an HTTP GET – nice! But even that, without a proper framework can be a little hectic. So, phpari comes to the rescue, making your life really easy:

$conn     = new phpari(ARI_USERNAME, ARI_PASSWORD, "hello-world", ARI_SERVER, ARI_PORT, ARI_ENDPOINT);
echo json_encode($conn->channels()->channel_list());
ARI Get Channels

What happens here? we simply connect to our ARI socket and issue the proper method – that is all. Simple – yes, short – yes, to the point – yes, are you free about your business – yes.