amarisoft-api v1.0.0
Amarisoft Websocket API
This package is intended to easily build applications consuming the websocket API of the Amarisoft Callboxes.
Installation
npm install amarisoft-api
Usage
Connection Setup
To connect to a server, e.g. the MME endpoint, create a new AmarisoftServer
object.
let server = new AmarisoftServer('ws://localhost:9000/');
await server.connect();
To connect with a password, use:
let server = new AmarisoftServer('ws://localhost:9000/', 'mysecurepassword');
await server.connect();
Send a Message
The following example shows how to send a message and get it's reply (already parsed from JSON).
let result = await server.sendMessage({message: "myMessage"});
Read Logs
To register for log events, the RxJS library is used. You can pass your own RxJS observables as a parameter to registerForLogs
, or just use function callbacks.
await server.registerForLogs(console.log);
The log events are already parsed and are passed individually to your observer. The object contains:
- data - Array of Strings, one element corresponds to one log line
- src - String, Which server generated this log event
- idx - Number, A unique index identifying the log event
- level - Number, Which log level this corresponds to
- timestamp Number, When this log event was generated (depends on your log configuration)
- layer String, Which layer generated this event
- dir - Optional String, which direction this message corresponds to
Depending on the component, more attributes are included. Refer to the Amarisoft manual for details.
React on Events
To register on events, use the following as an example:
await server.registerForEvent("eps_bearer_notification", console.log);
This would now listen to events for eps_bearer_notification
and print the events to the console. Again, you can pass any RxJS observable as a 2nd parameter.
To stop receiving events (on all observers, they are closed), use:
await server.unRegisterForEvent("eps_bearer_notification");
4 years ago