| name | dsiprouter |
| description | Call the dSIPRouter REST API using the Postman collection (curl + jq). |
| metadata | {"openclaw":{"emoji":"๐ก","requires":{"bins":["curl","jq"],"env":["DSIP_ADDR","DSIP_TOKEN"]}}} |
dSIPRouter API skill
This skill is generated from the Postman collection and provides:
- a safe
curl calling convention
- a
bin/dsiprouter.sh helper CLI with subcommands for the collectionโs requests
- example payloads (where present in Postman)
Required environment
DSIP_ADDR โ hostname/IP of your dSIPRouter node (no scheme)
DSIP_TOKEN โ API bearer token
- Optional:
DSIP_INSECURE=1 to allow self-signed TLS (adds -k)
Base URL:
https://$DSIP_ADDR:5000/api/v1
Auth header:
Authorization: Bearer $DSIP_TOKEN
Safe calling convention
dsip_api() {
local method="$1"; shift
local path="$1"; shift
local insecure=()
if [ "${DSIP_INSECURE:-}" = "1" ]; then insecure=(-k); fi
curl "${insecure[@]}" --silent --show-error --fail-with-body \
--connect-timeout 5 --max-time 30 \
-H "Authorization: Bearer ${DSIP_TOKEN}" \
-H "Content-Type: application/json" \
-X "${method}" "https://${DSIP_ADDR}:5000${path}" \
"$@"
}
Preferred usage: the bundled helper CLI
dsiprouter.sh help
dsiprouter.sh endpointgroups:list | jq .
dsiprouter.sh inboundmapping:create '{"did":"13132222223","servers":["#22"],"name":"Taste Pizzabar"}' | jq .
dsiprouter.sh inboundmapping:create --sample | jq .
Kamailio
dsiprouter.sh kamailio:stats | jq .
dsiprouter.sh kamailio:reload | jq .
Endpoint catalog (from Postman)
endpointgroups
endpointgroups:list โ GET /api/v1/endpointgroups
endpointgroups:get โ GET /api/v1/endpointgroups/9 โ Get a single endpointgroup
endpointgroups:create โ POST /api/v1/endpointgroups โ Create an endpointgroup
endpointgroups:create_1 โ POST /api/v1/endpointgroups โ Create an endpointgroup
endpointgroups:create_2 โ POST /api/v1/endpointgroups โ Create an endpointgroup
endpointgroups:create_3 โ POST /api/v1/endpointgroups โ Create an endpointgroup
endpointgroups:delete โ DELETE /api/v1/endpointgroups/53 โ Delete endpointgroup
endpointgroups:update โ PUT /api/v1/endpointgroups/34 โ Update an endpointgroup
kamailio
kamailio:reload โ POST /api/v1/reload/kamailio โ Trigger a reload of Kamailio. This is needed after changes are made
kamailio:list โ GET /api/v1/kamailio/stats โ Obtain call statistics
inboundmapping
inboundmapping:list โ GET /api/v1/inboundmapping โ Get a list of inboundmappings
inboundmapping:create โ POST /api/v1/inboundmapping โ Create new inboundmapping
inboundmapping:update โ PUT /api/v1/inboundmapping?did=13132222223 โ Create new inboundmapping
inboundmapping:delete โ DELETE /api/v1/inboundmapping?did=13132222223 โ Create new inboundmapping
leases
leases:list โ GET /api/v1/lease/endpoint?email=mack@goflyball.com&ttl=5m โ Get a single endpointgroup
leases:list_1 โ GET /api/v1/lease/endpoint?email=mack@goflyball.com&ttl=1m&type=ip&auth_ip=172.145.24.2 โ Get a single endpointgroup
leases:revoke โ DELETE /api/v1/lease/endpoint/34/revoke โ Get a single endpointgroup
carriergroups
carriergroups:list โ GET /api/v1/carriergroups
carriergroups:create โ POST /api/v1/carriergroups
auth
auth:create โ POST /api/v1/auth/user
auth:update โ PUT /api/v1/auth/user/2
auth:delete โ DELETE /api/v1/auth/user/2
auth:list โ GET /api/v1/auth/user
auth:login โ POST /api/v1/auth/login
cdr
cdr:get โ GET /api/v1/cdrs/endpointgroups/17?type=csv&dtfilter=2022-09-14&email=True
cdr:get_1 โ GET /api/v1/cdrs/endpoint/54
Included files