Avaya has a lot of products that can satisfy all your needs in the administration and monitoring of PBXs, but they are quite expensive.
And what to do if you want beautiful reports or monitoring, for example, download your trunk groups or contact center operators?
Avaya has a great opportunity to work with PBX, in addition to the graphical interface, also in terminal mode.
One of the protocols of work is the low-level OSSI protocol, information on which is used on the Internet is very small.
I will describe an example of monitoring the loading of trunk groups E1 and SIP.
First you need to connect to the PBX in manual mode to clarify the settings.
Connect via SSH, to the default port 5022, to the PBX.
Enter ossi and wait for the symbol "t" - this is the symbol of the completion of the command, it is possible to determine from it that the previous command is completed and you can enter a new one.

To enter a command, for example, enter “c st trunk“ enter ”t”, the output will contain first the field identifiers (FID) and the dataset with the prefix “d” and the separator “n”.

In general, if you have reached this step, then everything is working fine and you can connect automation tools, because The algorithm for processing command execution results is clear.
I wanted to see the results on the web page as a graph, for this I used the PHP framework + MySql.
To automate the process of receiving and processing data, I used the PHP class, (thanks to the author of the code) -
code.google.com/p/php-avaya/source/browse/trunk/Avaya/Protocol/Ossis.php')
You can also find a class to connect to the terminal -
code.google.com/p/php-avaya/source/browse/trunk/Telnet.phpSince I did not find any descriptions of FID's for Avaya, and the author of the class ossis.php described FID's for contact center statistics only - BCMS, first in the terminal in the manual mode, I received information on the status of tnc-groups and compared the received FID's with fields obtained in the Avaya Site Administration GEDI GUI.

From the fields you need:
'0001ff00' => 'member'
'0002ff00' => 'port'
'0003ff00' => 'state'
Next, he created a function for receiving and processing the results of the status of trnc-groups with saving to the database.
The output of the results on the page, with the help of jQuery and jqPlot, turned out great and completely satisfied the needs.

I did not publish my PHP code, since I am not a professional in this matter and most likely the code is neither beautiful nor optimal.
If anyone needs it, write.