jambonz/sbc-outboundsbc-outbound是jambonz平台会话边界控制器(SBC)功能的组成部分,主要负责处理从cpaas应用服务器发起的出站INVITE请求,将呼叫路由至运营商SIP中继或已注册的SIP用户/设备(包括WebRTC应用),实现出站呼叫的会话控制与媒体处理。
适用于jambonz平台部署环境中,作为SBC的出站呼叫处理模块,用于管理从应用服务器到外部通信网络(运营商中继或终端用户)的出站呼叫流量,保障呼叫信令与媒体的安全传输与控制。
该应用通过环境变量进行配置,具体参数如下:
| 变量名 | 含义 | 是否必填 |
|---|---|---|
| DRACHTIO_HOST | drachtio服务器的IP地址(通常为'127.0.0.1') | 是 |
| DRACHTIO_PORT | drachtio服务器控制连接的监听端口(通常为9022) | 是 |
| DRACHTIO_SECRET | 共享密钥 | 是 |
| HTTP_PORT | TCP监听端口 | 否 |
| JAMBONES_LOGLEVEL | 应用日志级别,可选'info'或'debug' | 否 |
| JAMBONES_MYSQL_HOST | MySQL主机地址 | 是 |
| JAMBONES_MYSQL_PORT | MySQL端口 | 否 |
| JAMBONES_MYSQL_USER | MySQL用户名 | 是 |
| JAMBONES_MYSQL_PASSWORD | MySQL密码 | 是 |
| JAMBONES_MYSQL_DATABASE | MySQL数据库名 | 是 |
| JAMBONES_MYSQL_CONNECTION_LIMIT | MySQL连接限制 | 否 |
| DTMF_LISTEN_PORT | DTMF监听端口 | 否 |
| JAMBONES_NG_PROTOCOL | rtpengine NG协议 | 否 |
| RTPENGINE_PORT | rtpengine端口 | 否 |
| JAMBONES_CLUSTER_ID | 集群ID | 否 |
| JAMBONES_NETWORK_CIDR | 功能服务器运行的私有网络CIDR(例如'172.31.0.0/16') | 是 |
| JAMBONES_REDIS_HOST | Redis主机地址 | 是 |
| JAMBONES_REDIS_PORT | Redis端口 | 否 |
| JAMBONES_RTPENGINES | rtpengine的IP:ng-port列表,逗号分隔(例如'172.31.32.10:22222') | 是 |
| JAMBONES_TIME_SERIES_HOST | InfluxDB主机地址 | 是 |
| JAMBONES_RECORD_ALL_CALLS | 启用自动录音功能 | 否 |
| K8S | 是否作为Kubernetes服务运行 | 否 |
| K8S_RTPENGINE_SERVICE_NAME | rtpengine服务名称(K8S环境下必填) | 否 |
该应用通常使用pm2进行进程管理,需配合ecosystem.config.js配置文件,示例如下:
jsmodule.exports = { apps : [ { name: 'sbc-outbound', cwd: '/home/admin/apps/sbc-outbound', script: 'app.js', instance_var: 'INSTANCE_ID', out_file: '/home/admin/.pm2/logs/jambonz-sbc-outbound.log', err_file: '/home/admin/.pm2/logs/jambonz-sbc-outbound.log', exec_mode: 'fork', instances: 1, autorestart: true, watch: false, max_memory_restart: '1G', env: { NODE_ENV: 'production', JAMBONES_LOGLEVEL: 'info', DRACHTIO_HOST: '127.0.0.1', DRACHTIO_PORT: 9022, DRACHTIO_SECRET: 'cymru', JAMBONES_RTPENGINES: '172.31.32.10:22222', JAMBONES_MYSQL_HOST: 'aurora-cluster-jambonz.cluster-xxxxxxxxxxxxx.us-west-1.rds.amazonaws.com', JAMBONES_MYSQL_USER: 'admin', JAMBONES_MYSQL_PASSWORD: 'JambonzR0ck$', JAMBONES_MYSQL_DATABASE: 'jambonz', JAMBONES_MYSQL_CONNECTION_LIMIT: 10, JAMBONES_REDIS_HOST: 'jambonz.zzzzzzz.0001.usw1.cache.amazonaws.com', JAMBONES_REDIS_PORT: 6379, JAMBONES_TIME_SERIES_HOST: '172.31.32.11', JAMBONES_NETWORK_CIDR: '172.31.0.0/16' } }] };
可通过以下命令运行容器(需替换环境变量值):
bashdocker run -d \ -e DRACHTIO_HOST=127.0.0.1 \ -e DRACHTIO_PORT=9022 \ -e DRACHTIO_SECRET=your_secret \ -e JAMBONES_MYSQL_HOST=mysql_host \ -e JAMBONES_MYSQL_USER=mysql_user \ -e JAMBONES_MYSQL_PASSWORD=mysql_password \ -e JAMBONES_MYSQL_DATABASE=jambonz \ -e JAMBONES_REDIS_HOST=redis_host \ -e JAMBONES_RTPENGINES=rtpengine_ip:port \ -e JAMBONES_TIME_SERIES_HOST=influxdb_host \ -e JAMBONES_NETWORK_CIDR=172.31.0.0/16 \ --name sbc-outbound jambonz/sbc-outbound
若需运行内置测试套件,需在本地环境安装Docker,执行以下命令:
bashnpm test
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务