ami_flutter

Creator: coderz1093

Last updated:

0 purchases

ami_flutter Image
ami_flutter Images

Languages

Categories

Add to Cart

Description:

ami flutter

ami_flutter #


Asterisk Manager Interface (AMI) Library for Flutter

Features #

support Android,iOS,Desktop and Web.
support listen events from stream.
support async/await for ami events.
functions organized by module, developers can combine them for other purpose.
easy to develop new actions or connection methods.

Installation #
just add dependency into pubspec.yaml:
ami_flutter: ^0.0.2
copied to clipboard
Usage #

initialize derived classes of BaseManager (e.g. DefaultManager for TCP Socket or WebSocketManager for WebSocket at web platform) and connect:

final manager = DefaultManager();
// web platform need set prefix for send actions, like this: manager.prefix = 'prefix';
manager.init();
await manager.connect('127.0.0.1', 5038);
copied to clipboard

login ami:

final loginResult = await manager.login('user', 'pass');
copied to clipboard

send actions and receive responses:

final statusResult = await manager.sendAction('Status');
final originateResult = await manager.sendAction(
'Originate',
id: 'actionId',
args: {
'Channel': 'sip/12345',
'Exten': '1234',
'Context': 'default',
'Async': 'yes',
},
);
copied to clipboard

listen events:

manager.registerEvent('DongleSMSStatus').listen(
(event) {
print('receive event ${event.name} ${event.baseMsg.headers}');
},
);
copied to clipboard
or read events like response:
final bootedEvent = await manager.readEvent('FullyBooted');
final events = await manager.readAllEventsUntil(
'DongleDeviceEntry',
'DongleShowDevicesComplete',
);
copied to clipboard

logoff and dispose resource:

await manager.logoff();
manager.dispose();
copied to clipboard
Web Platform Need Know #
AMI only support TCP socket. If you need use the library at web platform:

Install and configure amiws.
Use WebSocketManager to connect web socket proxy by amiws

BTW. You can use function selectByPlatform to auto select the proper manager according to
your platform.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.