{"_id":"@dodancs/asterisk-ami-connector","_rev":"1-2058b6ad999ec6e760b5e6cd24446757","name":"@dodancs/asterisk-ami-connector","dist-tags":{"latest":"1.1.10"},"versions":{"1.1.9":{"name":"@dodancs/asterisk-ami-connector","version":"1.1.9","description":"Asterisk AMI Connector for NodeJS \\w TypeScript support","main":"lib/index.js","types":"lib/index.d.ts","private":false,"engines":{"node":">=4.0.0"},"scripts":{"build":"tsc","move_libs":"mkdir -p lib && mv src/*.js lib/ && mv src/*.d.ts lib/","clean":"rm -rf lib/ && find . -maxdepth 3 -type f \\( -name '*.js' -o -name '*.d.ts' \\) -not -path './node_modules/*' -delete","test":"mocha ./test","coverage":"istanbul cover _mocha -- -R spec","build_and_publish":"npm run clean && npm run build && npm run move_libs && npm publish --access=public"},"directories":{"src":"./src","test":"./test"},"repository":{"type":"git","url":"git+https://github.com/dodancs/asterisk-ami-connector.git"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["voip","asterisk","ami"],"author":{"name":"Alex Voronysnaky","email":"belirafon@gmail.com"},"bugs":{"email":"dominik+npmjs@dancs.sk"},"devDependencies":{"@dodancs/asterisk-ami-test-server":"^0.1.6","@types/co":"^4.6.3","@types/mocha":"^10.0.1","@types/node":"^18.13.0","coveralls":"^3.1.1","istanbul":"^0.4.5","mocha":"^10.2.0","ts-node":"^10.9.1","typescript":"^4.9.5"},"dependencies":{"@dodancs/asterisk-ami-event-utils":"^0.1.5","@dodancs/asterisk-ami-events-stream":"^0.1.5","co":"^4.6.0"},"license":"MIT","gitHead":"e820a56810b7ce7ded8b285d609ef01473aa1a73","homepage":"https://github.com/dodancs/asterisk-ami-connector#readme","_id":"@dodancs/asterisk-ami-connector@1.1.9","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"integrity":"sha512-BoVXzNYu/u8KNo4CYe7BCgReRuwRlzeO5SCIHaNlw9k7BG3Yyr9u6rtHLoOlcccDBJFMV8hImMzU7dbQ08RBJw==","shasum":"702a2c9eb2e1eb1195a46d527042782199a47b83","tarball":"https://registry.npmjs.org/@dodancs/asterisk-ami-connector/-/asterisk-ami-connector-1.1.9.tgz","fileCount":9,"unpackedSize":15532,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBu1HDnUwPl8Ae7uWJoKwpZChXIouKmOOmQbAsHwRnXYAiEAqVawTAzfeMHJXYCf6GC7G/OGcrTESsuLC9N59eyyQuk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+5MRACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqopg/+M7gP/+b9kGlaj665qWmYShmEoRNvtDtRLkDMxwSZl7mfOTmj\r\nkUE07WLVlEay9/FFqRzWweUU1fqz75sjA5s3IT6yLj2B/nHUn6phlSjG/Kjn\r\nfYFJ6KdjNt0jatSMDUl3zwlcgeuOPjtNJtafrOFjffDn6+iAZjEURO4PEr9E\r\nV+kSTNg9wMvnw3++G8xq7PPqOvlHbuigPvZTflH6JW9uEpOCDndceA20Lk8S\r\ndWmrMLKZZFfRURGhFiqYyjfjgwGWPjGXrRctJ25PYS3MndgX2aTJU+xDJEGp\r\nUcCj+7TkoPpjSZFf46Nb8g/m568kJJvUc5fMRKjNY6aEUC2cydZD+O7qdFe0\r\ndZsB/4kpO7e4S4ggm+4TyXboIa9WWt2swgbBF9EjE3FcZta2LfyaCm5Ehmxt\r\n8/dQ0gCwcJqi+LYXUXYWzMYGa6XZRvpb6efOmUzBw/XmjlaX794+zpOvQENN\r\ngB2hKK84yZAQXTAPvJt/lGnSEW3KMVYCs1ce+5hFqV9qCfPLc7dqde36xiCA\r\nMi+S+dF/Q3nQiCgcTrDrwOWHyIvLTDV0FNnSjPU7RdEMywnuYr7QW0nOebB6\r\n7RJ7F0Vp0bAch9mjpeEccTGSMWLq3RIylvc1CBIh7w1LMzeC9lt1lf6Mgj18\r\nTVgbBDMyAwabQF0DLuTLtpO6TRCPDxMb3FY=\r\n=8fCP\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dodancs","email":"dominik+npmjs@dancs.sk"},"maintainers":[{"name":"dodancs","email":"dominik+npmjs@dancs.sk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asterisk-ami-connector_1.1.9_1677431568856_0.41923099502750083"},"_hasShrinkwrap":false},"1.1.10":{"name":"@dodancs/asterisk-ami-connector","version":"1.1.10","description":"Asterisk AMI Connector for NodeJS \\w TypeScript support","main":"lib/index.js","types":"lib/index.d.ts","private":false,"engines":{"node":">=4.0.0"},"scripts":{"build":"tsc","move_libs":"mkdir -p lib/errors && mv src/*.js lib/ && mv src/*.d.ts lib/ && mv src/errors/*.js lib/errors/ && mv src/errors/*.d.ts lib/errors/","clean":"rm -rf lib/ && find . -maxdepth 3 -type f \\( -name '*.js' -o -name '*.d.ts' \\) -not -path './node_modules/*' -delete","test":"mocha ./test","coverage":"istanbul cover _mocha -- -R spec","build_and_publish":"npm run clean && npm run build && npm run move_libs && npm publish --access=public"},"directories":{"src":"./src","test":"./test"},"repository":{"type":"git","url":"git+https://github.com/dodancs/asterisk-ami-connector.git"},"publishConfig":{"registry":"https://registry.npmjs.org"},"keywords":["voip","asterisk","ami"],"author":{"name":"Alex Voronysnaky","email":"belirafon@gmail.com"},"bugs":{"email":"dominik+npmjs@dancs.sk"},"devDependencies":{"@dodancs/asterisk-ami-test-server":"^0.1.6","@types/co":"^4.6.3","@types/mocha":"^10.0.1","@types/node":"^18.13.0","coveralls":"^3.1.1","istanbul":"^0.4.5","mocha":"^10.2.0","ts-node":"^10.9.1","typescript":"^4.9.5"},"dependencies":{"@dodancs/asterisk-ami-event-utils":"^0.1.5","@dodancs/asterisk-ami-events-stream":"^0.1.5","co":"^4.6.0"},"license":"MIT","gitHead":"5708005871e77b23d27a4d2cdf457893ee0f5e3e","homepage":"https://github.com/dodancs/asterisk-ami-connector#readme","_id":"@dodancs/asterisk-ami-connector@1.1.10","_nodeVersion":"18.14.0","_npmVersion":"9.3.1","dist":{"integrity":"sha512-jHNsFB9rkwcdDLJ1FTFoI/IfSNJ/cHYhsYxtEmOOrL16faj4VkQoJsK2aig/YSxrKNUhp1rqk2GP9jdDiBtzyQ==","shasum":"05a8e71cc1538a7e29ef10f5ab8d504dfa13c41b","tarball":"https://registry.npmjs.org/@dodancs/asterisk-ami-connector/-/asterisk-ami-connector-1.1.10.tgz","fileCount":11,"unpackedSize":16074,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAFleBz4D3kgX213aon7F6AFoklHsF56U9ozlpFLTqtgAiEAjI83nUS0YecAkxY25f6vQ8rvviS2+b+0hz5U1HxFF+c="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj+5vyACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDHQ//aWc0O2YKcR70eYmPw8sr36HZogslA7rHV4BRVL4zMIlSjv3M\r\nj2X973w3QVO7w9Z+kbsYl+AuD9llVAriC2lT9oHHQzuMaZtT/Wm+SM62ji9n\r\nmkNciQYyLtBU3rrZvOP31xSr0jsSH3EFOTRKAiIT8qzOXFRKi6JYS/yCJ2Wx\r\nbU2OlfMuFGLXO2u+lQAMOU8KV9Yqcr9XWzp/FMx5x+zVPFgZMiO7Y3a+criD\r\nlTtUZj9ThmHGm4hWMTLroimB30YWUulasgc/8+c3qkYcBWYggiQ5ig9DAKYQ\r\nuBGMGS60R/lGti+Om2kR+eGUqFmGz03N7cNMdGLXo927uUPq0qfPR6q3qw4c\r\nWLg7r6HT7k3IU2OfBwDE1nxmeasC+DIj0Ud8ByDfqGqEZTuWHKy170nb92f9\r\npJSfZ5po+H/6mBUKS10dJ0MQPg+Tq/T9VO+KekBEl/iC8kvOqtA/2gI5pPbG\r\n7MuCj5lWEfJmXF7feW+ulp1YDhvVE5H+ANp+Th+H9RIeC5mLK3kr6tFnxAsK\r\n9pQj8cjD2+L7VIRRu3PybFCwdPgXYs2gL7zFP/zlkV025OoShmD5kZ7htzG+\r\nr67k72r6wr/r8mGcj45vKQ7CM59ZfuualSS3jDyS8n/YIm816FtrC4sgR0w6\r\nyS0XNiGTNI4zdT5o4ZCcVuzSaokzjbk0dFQ=\r\n=9y3N\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dodancs","email":"dominik+npmjs@dancs.sk"},"maintainers":[{"name":"dodancs","email":"dominik+npmjs@dancs.sk"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/asterisk-ami-connector_1.1.10_1677433842369_0.5388558818352662"},"_hasShrinkwrap":false}},"time":{"created":"2023-02-26T17:12:48.763Z","1.1.9":"2023-02-26T17:12:49.018Z","modified":"2023-02-26T17:50:42.638Z","1.1.10":"2023-02-26T17:50:42.550Z"},"maintainers":[{"name":"dodancs","email":"dominik+npmjs@dancs.sk"}],"description":"Asterisk AMI Connector for NodeJS \\w TypeScript support","homepage":"https://github.com/dodancs/asterisk-ami-connector#readme","keywords":["voip","asterisk","ami"],"repository":{"type":"git","url":"git+https://github.com/dodancs/asterisk-ami-connector.git"},"author":{"name":"Alex Voronysnaky","email":"belirafon@gmail.com"},"bugs":{"email":"dominik+npmjs@dancs.sk"},"license":"MIT","readme":"# Asterisk AMI Connector for NodeJS \\w TypeScript support\n\n[![Coverage Status](https://coveralls.io/repos/dodancs/asterisk-ami-connector/badge.svg)](https://coveralls.io/github/dodancs/asterisk-ami-connector)\n[![npm version](https://badge.fury.io/js/@dodancs%2Fasterisk-ami-connector.svg)](https://badge.fury.io/js/@dodancs%2Fasterisk-ami-connector)\n\nFork of [asterisk-ami-connector](https://github.com/BelirafoN/asterisk-ami-connector) and [dafik/asterisk-ami-connector](https://github.com/dafik/asterisk-ami-connector)\n\nThis library is a part of **[Asterisk's AMI Client](https://www.npmjs.com/package/asterisk-ami-client)** library.\n\n## Install \n\n```bash \n$ npm i @dodancs/asterisk-ami-connector\n```\n\n## NodeJS versions \n\nsupport `>=4.0.0`\n\n## Usage\n\nBase example with promises. \n\n```javascript\nconst connector = require('asterisk-ami-connector')({reconnect: true});\n\nconnector.connect('login', 'password', {host: '127.0.0.1', port: 5038})\n    .then(amiConnection => {\n        amiConnection\n            .on('event', event  => {\n                console.log(event);\n                amiConnection.close();\n            })\n            .on('response', response  => console.log(response))\n            .on('close', ()  => console.log('closed'))\n            .on('error', error  => console.log(error));\n    })\n    .catch(error => console.log(error));\n```\n\nor using `co` for synchronous code style\n\n```javascript\nconst connector = require('asterisk-ami-connector')({reconnect: true});\nconst co = require('co');\n\nco(function*(){\n    let amiConnection = yield connector.connect('login', 'password', {host: '127.0.0.1', port: 5038});\n    \n    amiConnection\n        .on('event', event  => {\n            console.log(event);\n            amiConnection.close();\n        })\n        .on('response', response  => console.log(response))\n        .on('close', ()  => console.log('closed'))\n        .on('error', error  => console.log(error));\n})\n    .catch(error => console.log(error));\n```\n\nor with `co` like synchronous style\n\n## Some details about module functionality \n\n#### Options of connection setup to Asterisk AMI:\n\n* **reconnect** - default is `false`. Reconnection during connection setup.\n* **maxAttemptsCount** - default is `null` (infinity). Max count of attempts of reconnection.\n* **attemptsDelay** - default is 1000 (ms). Time delay between attempts of reconnection.\n\n#### Method `connect`\n\nIt takes the following parameters:\n\n* **login** - Asterisks AMI login;\n* **secret** - Asterisks AMI password;\n* **options** - standard options for `net.connect` method.\n\nIt always returns *promise*. That promise will be resolved \nwith instance of *AmiConnection*, or will be reject with *AmiAuthError*.\n\n####  Class `AmiConnection` \n\nIt is a class-wrapper for Asterisk's AMI socket, which was inherit from EventEmitter.\n\nAvailable methods:\n\n* **.close()** - close current Asterisk AMI connection;\n* **.write(message)** - write message into current Asterisk's AMI socket;\n\nAvailable props: \n\n* **.isConnected** - `true` when connection to Asterisk AMI established;\n* **.lastEvent** - last event by Asterisk;\n* **.lastResponse** - last response by Asterisk;\n* **.lastWroteData** - last wrote data to Asterisk's AMI socket (from client's code);\n\nAvailable events:\n\n* **event** - it fires when AMI event was received. Handler receives AMI event object.\n* **response** - it fires when AMI response was received. Handler receives AMI response object.\n* **close** - it fires when AMI connection was closed.\n* **error** - it fires when error occurred. Handler receives error.\n* **data** - it fires when data was received from AMI socket. Handler receives buffer of received data. \n\n#### Class `AmiAuthError`\n\nIt class of Asterisk AMI auth-errors, which was inherit from Error.\n\n## Debugging\n\nUse env-variable `DEBUG=*` for print to console of steps of connection establishment.\n\n## Examples \n\nFor examples, please, see `./examples/*` or tests `./test/*`.\n\n## Tests \n\nTests require [Mocha](https://mochajs.org/). \n\n```bash \nmocha ./test\n``` \n\nor with `npm` \n\n```bash\nnpm test \n```\n\nTest coverage with [Istanbul](https://gotwarlost.github.io/istanbul/) \n\n```bash\nnpm run coverage\n```\n\n## License \n\nLicensed under the MIT License \n","readmeFilename":"README.md"}