Skip to content

dSIPRouter Command Line Interface that works with dSIPRouter Cloud and Self-Managed Versions

Notifications You must be signed in to change notification settings

dOpensource/dsiprouter-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dSIPRouter CLI

Command-line interface for the dSIPRouter API. Supports both dSIPRouter Cloud and self-managed installations.

Installation

From Source

git clone https://github.com/dOpensource/dsiprouter-cli.git
cd dsiprouter-cli
go build -o dsiprouter-cli ./cmd/dsiprouter/
sudo mv dsiprouter-cli /usr/local/bin/

Pre-built Binaries

Download from the releases page.

Configuration

Set environment variables or use command flags:

export DSIP_HOST="your-dsiprouter-server.com"
export DSIP_TOKEN="your-api-token"

Or use flags:

dsiprouter-cli -H your-server.com -t your-token [command]

Getting Your API Token

Your token was provided after installing dSIPRouter. To reset it:

dsiprouter setcredentials -ac YOUR_NEW_TOKEN

Commands

Kamailio

# Get Kamailio statistics
dsiprouter-cli kamailio stats

Reload Services

# Reload Kamailio configuration
dsiprouter-cli reload kamailio

# Reload dSIPRouter
dsiprouter-cli reload dsiprouter-cli start

# Check reload status
dsiprouter-cli reload dsiprouter-cli status

Endpoint Leases

# Create a lease (short-lived SIP credentials)
dsiprouter-cli lease create --email user@example.com --ttl 15m

# Revoke a lease
dsiprouter-cli lease revoke 123

Endpoint Groups

# List all endpoint groups
dsiprouter-cli endpointgroup list

# Get specific endpoint group
dsiprouter-cli endpointgroup get 1

# Create endpoint group
dsiprouter-cli endpointgroup create --name "My PBX Group" --data '{"type": "pbx"}'

# Update endpoint group
dsiprouter-cli endpointgroup update 1 --data '{"name": "Updated Name"}'

# Delete endpoint group
dsiprouter-cli endpointgroup delete 1

Inbound Mapping (DIDs)

# List all inbound mappings
dsiprouter-cli inboundmapping list

# Create inbound mapping
dsiprouter-cli inboundmapping create --did "+15551234567" --servers "#1" --name "Main Line"

# Update inbound mapping
dsiprouter-cli inboundmapping update --data '{"did": "+15551234567", "servers": ["#2"]}'

# Delete inbound mapping
dsiprouter-cli inboundmapping delete --data '{"did": "+15551234567"}'

Number Enrichment

# List rules
dsiprouter-cli numberenrichment list

# Get specific rule
dsiprouter-cli numberenrichment list --id 1

# Create rule
dsiprouter-cli numberenrichment create --data '{"pattern": "^1", "replacement": "+1"}'

# Update rule
dsiprouter-cli numberenrichment update 1 --data '{"replacement": "+01"}'

# Delete rule
dsiprouter-cli numberenrichment delete 1

# Fetch enrichment data
dsiprouter-cli numberenrichment fetch --data '{"number": "+15551234567"}'

Call Detail Records (CDRs)

# Get CDRs for endpoint group
dsiprouter-cli cdr endpointgroup 1

# Get CDRs for specific endpoint
dsiprouter-cli cdr endpoint 1

Certificates

# List all certificates
dsiprouter-cli certificate list

# Get certificate for domain
dsiprouter-cli certificate list example.com

# Create/update certificate
dsiprouter-cli certificate create --data '{"domain": "example.com", "type": "letsencrypt"}'

# Upload certificate files
dsiprouter-cli certificate upload example.com --cert /path/to/cert.pem --key /path/to/key.pem

# Delete certificate
dsiprouter-cli certificate delete example.com

Backup and Restore

# Create backup
dsiprouter-cli backup create

# Restore from backup
dsiprouter-cli backup restore --file backup.json

System Utilities

# Generate secure password
dsiprouter-cli sys generatepassword

MS Teams Integration

# Test MS Teams connectivity
dsiprouter-cli msteams test example.com

Notifications

# Send gateway group notification
dsiprouter-cli notification gwgroup --data '{"gwgroupid": 1, "message": "Test"}'

Output Formats

# Default table format
dsiprouter-cli endpointgroup list

# JSON output
dsiprouter-cli endpointgroup list -o json

API Reference

Full API documentation is available in the Postman Workspace.

Supported API Endpoints

Command API Endpoint Methods
kamailio stats /api/v1/kamailio/stats GET
reload kamailio /api/v1/reload/kamailio POST
reload dsiprouter /api/v1/reload/dsiprouter GET, POST
lease create /api/v1/lease/endpoint GET
lease revoke /api/v1/lease/endpoint/{id}/revoke DELETE
endpoint update /api/v1/endpoint/{id} POST
endpointgroup list/get/create/update/delete /api/v1/endpointgroups GET, POST, PUT, DELETE
inboundmapping list/create/update/delete /api/v1/inboundmapping GET, POST, PUT, DELETE
numberenrichment list/create/update/delete/fetch /api/v1/numberenrichment GET, POST, PUT, DELETE
cdr endpointgroup /api/v1/cdrs/endpointgroups/{id} GET
cdr endpoint /api/v1/cdrs/endpoint/{id} GET
certificate list/create/delete/upload /api/v1/certificates GET, POST, DELETE
backup create /api/v1/backupandrestore/backup GET
backup restore /api/v1/backupandrestore/restore POST
sys generatepassword /api/v1/sys/generatepassword GET
msteams test /api/v1/domains/msteams/test/{domain} GET
notification gwgroup /api/v1/notification/gwgroup POST

Support

License

Apache 2.0

About

dSIPRouter Command Line Interface that works with dSIPRouter Cloud and Self-Managed Versions

Resources

Stars

Watchers

Forks

Packages

No packages published