VoipNow 3 – The APIs

In the past week, we reached an important milestone – less than 100 bugs opened for the VoipNow 3 release. I know, it might sound a lot, but judging on the release size, they are a just few.

As the release could not take much longer, we are opening a series of short blog articles that describe the most important technical changes in VoipNow 3. We will focus on the changes that can affect you in a way or another.

Let’s start with the APIs. Many deployments use the APIs for provisioning operations (SystemAPI) or for controlling calls (CallAPI).

We believe that the API is one of the most important parts of VoipNow, therefore it received significant attention in the new version. The API is part of a standard API layer that will be shared between all our future products.

Please consider the following facts:

  • The new API is called UnifiedAPI and it is REST based. Even more, it’s compatible with the OpenSocial standard (you will find out later why).
  • UnifiedAPI is made of services, for example the new Call service controls phone calls and has more functionality than the existing CallAPI.
  • The new API is dramatically faster and more reliable. The API is built on a stack of services, what you see and work with is the standard REST interface. It is also distributed across multiple nodes (we will talk about this as well).
  • We will provide example clients for most popular programming languages (existing examples were converted and standard client libraries created).

What about Legacy?

  • SystemAPI will still be preserved for the next two years to support our customers, but strategically not much investment will go into this SOAP based API. REST is so much better than SOAP…
  • Even if we preserve the SystemAPI in VoipNow 3, there are backwards incompatible changes. These are mostly related to the management of the user accounts, that changed a lot in VoipNow 3 (see next article) and authentication+authorization (we will speak about this too).
  • We have not been able to technically preserve the existing CallAPI, therefore you will have to convert your applications to the new service in Unified API (the effort is pretty small).

To assist with these changes, we plan to:

  • Release the documentation for developers in the next ten days.
  • Release a beta of VoipNow 3 so you can test with it.

The next article is going to be regarding user accounts in VoipNow 3.

We are welcoming feedback 🙂 Please comment and we will answer all questions regarding the APIs.


You can post comments in this post.

  • When can we enjoy it????

    John 12 years ago Reply

    • Soon 🙂

      Blog wizard 12 years ago Reply

  • Great news! I think unified rest api is the way to go!

    What about a real-time call-related api? Think of it like a monitoring api / AMI way of interacting realtime with a call. As I understand, Asterisk AMI will no longer be supported- options?


    Matt 12 years ago Reply

    • Unified API provides the Phone Call Service. You can see here what functionality it provides:

      Blog wizard 12 years ago Reply

      • Thanks!

        what about REAL time /PUSH ? – polling with
        /phoneCalls/userId/extensionNumber is not a great Real time solution.

        Thanks again

        Matt 12 years ago Reply

        • We will add a WebSockets service in UnifiedAPI for real-time stuff.

          Blog wizard 12 years ago Reply

  • Your are talking about less than 100 bugs opened with VoipNow 3 release, but, have you forgotten to solve the opened bugs of VoipNow 2.5 release?

    There are some bugs of VoipNow 2.5 release not solved since a lot of months ago (I am speaking of more that 6 months ago), and some of them are critical for certain business (as mine).

    “We have not been able to technically preserve the existing CallAPI” – yes I can confirm this since a lot of months ago: no improvements, not solving bugs, etc.

    With this “punch” to the companies that bet on you, do you are asking us to continue betting on you?

    We invested a lot of time, effort and money developing value added solutions to our customers using VoipNow CallAPI and now that we are “punched” and “hanged up with the bugs”, you are telling us:

    – Make a new effort changing what you have integrated with us: do not worry about the bugs of VoipNow 3 release: the opened are very few.
    – Your are forced because “We have not been able to technically preserve the existing CallAPI”
    – Do not worry: this situation will not happen again (actually, you are not saying this).

    You should dramatically improve your maintance policy: a good product or idea with a bad maintenance policy could ruin any business.

    Conclusion: the first disillusion is your fault, but the second would be my fault.

    USER 12 years ago Reply

    • First, we have a strict policy regarding maintenance. Currently there is no critical bug opened on VoipNow 2.5 branch. All bugs go through triage. If the bug is major (not even critical) and can be technically solved on 2.5 branch it is solved there. If in order to solve a bug it is necessary to redesign, it goes to 3 branch. If a bug is critical, it is solved on 2.5 branch no matter what. Eventually no bug is left unsolved.

      Secondly, you are correct, there are no improvements in CallAPI in VoipNow 2.5. In fact there are no spectacular improvements at all. This is because VoipNow 3 is the next release version. There is the place to look for improvements.

      The differences in the interface between CallAPI and the UnifiedAPI Phone Call service are not great, most likely that OAuth 2.0 is the change with the heaviest impact on developers. But *this is evolution* – Facebook for example changed to Oauth 2.0. And their API is used by *a lot more developers* who have to change their existing code.

      Blog wizard 12 years ago Reply

Post A Reply