名称: dsiprouter
描述: 使用 Postman 集合调用 dSIPRouter REST API(基于 curl + jq)。
元数据: {"openclaw":{"emoji":"📡","requires":{"bins":["curl","jq"],"env":["DSIP_ADDR","DSIP_TOKEN"]}}}
此技能基于 Postman 集合生成,提供以下功能:
- 安全的 curl 调用规范
- 一个 bin/dsiprouter.sh 辅助 CLI 工具,包含集合中所有请求的子命令
- 示例请求体(如果 Postman 集合中包含)
DSIP_ADDR — dSIPRouter 节点的主机名或 IP 地址(无需协议前缀)DSIP_TOKEN — API 承载令牌DSIP_INSECURE=1 以允许自签名 TLS 证书(将添加 -k 参数)基础 URL:
- https://$DSIP_ADDR:5000/api/v1
认证请求头:
- Authorization: Bearer $DSIP_TOKEN
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}" \
"$@"
}
# 列出所有子命令
dsiprouter.sh help
# 列出端点组
dsiprouter.sh endpointgroups:list | jq .
# 使用自定义 JSON 负载创建入站映射
dsiprouter.sh inboundmapping:create '{"did":"13132222223","servers":["#22"],"name":"Taste Pizzabar"}' | jq .
# 或发送 Postman 示例负载
dsiprouter.sh inboundmapping:create --sample | jq .
dsiprouter.sh kamailio:stats | jq .
dsiprouter.sh kamailio:reload | jq .
endpointgroups:list → GET /api/v1/endpointgroupsendpointgroups:get → GET /api/v1/endpointgroups/9 — 获取单个端点组endpointgroups:create → POST /api/v1/endpointgroups — 创建端点组endpointgroups:create_1 → POST /api/v1/endpointgroups — 创建端点组endpointgroups:create_2 → POST /api/v1/endpointgroups — 创建端点组endpointgroups:create_3 → POST /api/v1/endpointgroups — 创建端点组endpointgroups:delete → DELETE /api/v1/endpointgroups/53 — 删除端点组endpointgroups:update → PUT /api/v1/endpointgroups/34 — 更新端点组kamailio:reload → POST /api/v1/reload/kamailio — 触发 Kamailio 重载(配置变更后需要执行)kamailio:list → GET /api/v1/kamailio/stats — 获取通话统计信息inboundmapping:list → GET /api/v1/inboundmapping — 获取入站映射列表inboundmapping:create → POST /api/v1/inboundmapping — 创建新入站映射inboundmapping:update → PUT /api/v1/inboundmapping?did=13132222223 — 更新入站映射inboundmapping:delete → DELETE /api/v1/inboundmapping?did=13132222223 — 删除入站映射leases:list → GET /api/v1/lease/endpoint?email=mack@goflyball.com&ttl=5m — 获取单个端点组leases:list_1 → GET /api/v1/lease/endpoint?email=mack@goflyball.com&ttl=1m&type=ip&auth_ip=172.145.24.2 — 获取单个端点组leases:revoke → DELETE /api/v1/lease/endpoint/34/revoke — 获取单个端点组carriergroups:list → GET /api/v1/carriergroupscarriergroups:create → POST /api/v1/carriergroupsauth:create → POST /api/v1/auth/userauth:update → PUT /api/v1/auth/user/2auth:delete → DELETE /api/v1/auth/user/2auth:list → GET /api/v1/auth/userauth:login → POST /api/v1/auth/logincdr:get → GET /api/v1/cdrs/endpointgroups/17?type=csv&dtfilter=2022-09-14&email=Truecdr:get_1 → GET /api/v1/cdrs/endpoint/54bin/dsiprouter.sh