asterisk-ari-client-rs

Simple Asterisk ARI library

5 releases

0.1.4 May 3, 2024
0.1.3 Jan 5, 2024
0.1.2 Dec 12, 2023
0.1.1 Nov 19, 2021
0.1.0 Sep 14, 2021

#275 in Audio

MIT/Apache

65KB
1K SLoC

Asterisk ARI Client

CI License License: MIT version docs

Simple Asterisk library. Implements only small fraction of available Asterisk REST APIs known as ARI. Enables to connect to Asterisk websocket and listen for following events:

  • stasis_start
  • channel_dtmf_received
  • channel_hangup_request
  • stasis_end
  • channel_talking_finished
  • channel_talking_started
  • channel_destroyed
  • playback_started
  • playback_finished
  • channel_state_change
  • channel_var_set
  • recording_started
  • recording_finished

Apart from that following channels' operations are supported:

  • answer
  • play
  • stop_play
  • get_variable
  • set_variable
  • hangup
  • continue_in_dialplan
  • record
  • snoop

Supported recording API operations:

  • stop_recording
  • pause_recording
  • unpause_recording
  • mute_recording
  • unmute_recording
  • delete_recording
  • get_recording

Supported application API operations:

  • filter
  • get
  • list
  • subscribe
  • unsubscribe

This is by no means ready library. It is used for now on single purpose project and needs to be extended to support other ARI APIs. Pull requests welcome!

License

Licensed under either Apache-2.0 or MIT license.

Dependencies

~8–20MB
~282K SLoC