Asterisk manager
Application for managing Asterisk PBX calls and operations with those calls
Configuration
Module config
{
"AsteriskManager": {
"Database": null,
"ConnectionString": null,
"Podzir": null,
"sagaRepository": null,
"Jwt": {
"Secret": null,
"RefreshTokenTTL": null
},
"Frontend": {
"Language": "sl"
},
"Dispatcher": {
"outgoingEndpoint": null,
"consoles": null
}
}
}
Name |
Type |
Default |
Description |
Database |
string |
sqlite |
Database to use (sqlite, mysql, mssql) |
ConnectionString |
string |
‘datasource=./tekelija-asterisk-manager.db;cache=shared;’ |
Database connection string |
Podzir |
PodzirConfig |
null |
Podzir database connection string |
SagaRepository |
string |
null |
Saga repository settings: either mongodb url or string “inmemory” |
Jwt |
JwtConfig |
null |
JWT key configuration |
Frontend |
FrontendConfig |
null |
Frontend app configuration |
Dispatcher |
DispatcherConfig |
null |
Dispatcher configuration |
When SagaRepository is “inmemory” rabbitmq / mongodb are not used, all state machines are persisted to memory and local
message bus is used.
JwtConfig
{
"Secret": "somejwtlongerkey123somejwtlongerkey123",
"RefreshTokenTTL": 2
}
Name |
Type |
Default |
Description |
Secret |
string |
null |
JWT key secret |
RefreshTokenTTL |
int |
1 |
Refresh token expiration interval in days |
FrontendConfig
Name |
Type |
Default |
Description |
Language |
string |
en |
Default frontend app language |
DispatcherConfig
{
"Dispatcher": {
"OutgoingEndpoint": null,
"Consoles": null
}
}
Name |
Type |
Default |
Description |
OutgoingEndpoint |
string |
null |
Default outgoing endpoint |
Consoles |
string[] |
null |
Array of dispatcher endpoints |
Asterisk config
Configure Asterisk PBX rest api endpoint access
{
"Asterisk": {
"url": null,
"port": 8089,
"username": null,
"password": null,
"secure": false,
"applicationName": null
}
}
Name |
Type |
Default |
Description |
Url |
string |
null |
rest api url |
Port |
int |
8089 |
rest api port |
Username |
string |
null |
rest api username |
Password |
string |
null |
rest api password |
Secure |
bool |
false |
use tls endpoint |
ApplicationName |
string |
null |
asterisk stasis application name |
Message bus config
Configure access to rabbitmq message service bus.
{
"MessageBus": {
"Url": "rabbitmq://localhost",
"Username": null,
"Password": null,
"Endpoint": "<endpoint-name>",
"MessageRepositoryUri": null
}
}
Parameters:
Name |
Type |
Default |
Description |
Url |
string |
rabbitmq://localhost |
RabbitMQ url (rabbitmq://…) |
Username |
string |
null |
RabbitMQ username |
Password |
string |
null |
RabbitMQ user password |
Endpoint |
string |
asterisk-mgr |
RabbitMQ endpoint |
MessageRepositoryUri |
string |
host name |
Origin of the call, may have some sense for global call data collection setup |