Monthly Archives: July 2013

You are browsing the site archives by month.

Accessing Sonus UX with REST API’s


With the release of version 3.0 firmware for Sonus UX1000/2000 several new features have been added. As part of 3.0 upgrade REST license has become part of the Base license hence it is available free of charge. This is one of the feature I have been most excited about. REST API support has been there in the UX’s for some time license fee was required until R3.0.

REST certainly has opened lot of possibilities to manage Sonus UX’s esp. if you have few of them to manage. I would go as far as saying REST API license probably is compelling enough reason to move to R3.0.

UX REST API and PowerShell

With Poweshell v3 we now have cmdlets which supports REST API. That means we can easily access the UX using REST API by leveraging PowerShell…Right….well…almost.

In order to access the UX login credentials are required. This is something which should be specified when a REST call is made. PowerShell fully supports parameters to add the authentication information. Once the client is authenticated the UX provides the REST client (in this case PowerShell) a session token in a cookie. All subsequent requests to access any resources on the UX are authenticated using the cookie. Now this is where it all breaks down if you are using PowerShell. I couldn’t figure out a way in PowerShell v3 to use cookie authentication with UX.

Alternatives to PowerShell

I am sure Sonus will soon release the required documentation to connect to UX using REST but with PowerShell out of question (for now) what other options we have? Well cURL is another extremely powerful client which can be used to connect to REST services. cURL is a command line tool for getting or sending files using URL syntax.

UX REST API and cURL

  • To get started ensure your UX is on R3.0 at minimum and you have got REST license applied (Its part of the Base license)
  • Irrespective of what REST client you use a REST Account will need to be created on the UX. This can be done by logging on to the UX web console and navigating to Settings>Security>users > Local User Management