@minscof/node-red-contrib-asterisk-ari
v2025.1.8
Published
Package for Controlling Asterisk via ARI
Downloads
29
Maintainers
Readme
node-red-contrib-asterisk-ari
This is a module for nodered to manage Asterisk IPBX communications.
It allows to use Stasis application and these functions :
listen
originate
answer
playback
hangup
bridgedial : receive a call then dial to connect caller
dtmf listen
dtmf send
continueInDialplan
It uses Rest api from Asterisk : ari
Prerequisites
Have Node-RED installed and working, if you need to install Node-RED see here.
Installation
Install via Node-RED Manage Palette
@minscof/node-red-contrib-asterisk-ariInstall via npm
$ cd ~/.node-red
$ npm install @minscof/node-red-contrib-asterisk-ari
# then restart node-redRequirements
node-red-contrib-asterik-ari requires to activate ari on asterisk server
Stasis application requires modules :
- res_ari.so Asterisk RESTful Interface
- res_ari_applications.so RESTful API module - Stasis application
- res_ari_asterisk.so RESTful API module - Asterisk resources
- res_ari_events.so RESTful API module - WebSocket resource
- res_ari_model.so ARI Model validators
answer : require
Usage
Example
output example application node, event StasisStart
{ "event":"StasisStart",
"channel":"1739903441.42",
"client":"xx:xx:xx:xx:xx:xx",
"payload":{
"type":"StasisStart",
"timestamp":"2025-02-18T18:30:41.969+0000",
"args":[],
"channel":{
"id":"1739903441.42",
"name":"PJSIP/yyyyyy",
"state":"Ring",
"protocol_id":"zz@zz",
"caller":{
"name":"",
"number":"+tel number caller"
},
"connected":{
"name":"",
"number":""
},
"accountcode":"",
"dialplan":{
"context":"from-external",
"exten":"+tel number called",
"priority":2,
"app_name":"Stasis",
"app_data":"application"
},
"creationtime":"2025-02-18T18:30:41.968+0000",
"language":"fr"
},
"asterisk_id":"xx:xx:xx:xx:xx:xx",
"application":"application"
},
"_msgid":"1fd285aa51c2a5a0"
}
Limitation
Can not mange bridge or record a call
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
License
Project status
ARI commands on asterisk server :
ari mkpasswd -- Encrypts a password
ari set debug -- Enable/disable debugging of an ARI application
ari show apps -- List registered ARI applications
ari show app -- Display details of a registered ARI application
ari show status -- Show ARI settings
ari show users -- List ARI users
ari show user -- List single ARI usermanual installation for dev
cd ~
git clone http://...
cd ~/.node-red
remove line after dependencies
"node-red-contrib-asterisk-ari": "file:../node-red-contrib-asterisk-ari"
in file ~/.nodered/package.json
then npm prune
-> remove packages for node-red-contrib-asterisk-ari
then
npm install ~/node-red-contrib-asterisk-ari/
-> install updated packages
run node-red locally
node --inspect $(which node-red)
test : http://127.0.0.1:1880/
Credits
This project was generated from Sam Machin
