部署、安装、使用过程中常见问题与解决办法
快速开始
.zip,解压即用、无需安装与 .NET;统信 UOS 下载对应架构的 .deb(商店版 / 内部版)。SipPhoneHelper.exe(无需预装 .NET);UOS 执行 sudo dpkg -i 包名.deb,依赖缺失时 sudo apt -f install 补依赖。安装与部署
不需要。软件采用 .NET 自包含发布,运行时不依赖系统 .NET。若被杀毒软件拦截,将本程序目录加入白名单即可。
在终端执行 sudo dpkg -i 包名.deb。若报依赖不满足,再执行 sudo apt -f install 自动补齐。商店版依赖 libasound2、libpulse0;内部版另需 libpcap0.8、libcap2-bin。
Windows 版含全网卡抓包功能,但依赖系统已安装 Npcap 驱动。请从 npcap.com 下载安装程序,安装时勾选 Install Npcap in WinPcap API-compatible Mode,完成后重启本软件。如已装 Wireshark 且自带 Npcap,通常可直接使用。
内部版需要 raw socket 能力。正常 dpkg -i 时 postinst 会自动 setcap 授权;若你是手动拷贝程序文件,需自行执行 sudo setcap cap_net_raw,cap_net_admin=eip /opt/apps/com.haoransoft.sipphonehelper.internal/files/SipPhoneHelper。
UOS 默认不在桌面显示应用图标。deb 安装后 postinst 已在 /home/你的用户/Desktop 与 /home/你的用户/桌面 建立符号链接,并注册到启动器;如未见,注销重登,或执行 sudo update-desktop-database 后查看启动器。
安装目录 /opt/apps/.../files 属主 root、普通用户只读。程序会把配置与日志写到用户目录 ~/.local/share/com.haoransoft.sipphonehelper,不要试图修改安装目录下的文件。
音频设备
音频流关闭在部分系统后端可能短暂阻塞,最新版本已改为后台线程关闭、不再卡 UI。若仍偶发卡顿,请更新到最新版。
Windows 下支持 USB 热插拔自动识别;Linux 下需手动点「刷新设备」重新枚举。确保没有别的程序正占用该设备。
Windows 下软件音量与系统声音设置双向同步;Linux / PulseAudio 环境受后端限制,可能不同步,属正常现象,以系统设置为准。
多摄像头按系统真实设备序号打开,避免选错;确认摄像头未被其他程序(如会议软件)占用,再在「音频设备检测」中重新选择预览。
检查系统默认输入 / 输出设备,与软件内选择的设备是否一致;播放测试音时确认选中的是正确输出设备,且系统未静音。
网络与端口
UDP 媒体端口通常不应答探测包,只要没有返回 ICMP 不可达错误,即视为通畅。请用 TCP 探测或 SIP OPTIONS 综合判断,不要仅凭 UDP 无响应下结论。
在防火墙放通媒体端口区间(常见 10000–20000 的 UDP)。端口探测可一键验证这些端口是否放行。
先确认目标本身可达、网络是否拥塞;部分中间网络会对 ICMP 限速甚至丢弃,这不代表业务端口不可用,属网络策略而非软件问题。
第一个目标固定为本机默认网关(始终置顶),用于判断出口链路;其余业务目标在「全局设置 → 网络指标监控」中逐行添加,支持域名与 IP。
模拟呼叫与信令
确认目标 IP:端口可达、对端允许匿名 INVITE;无应答场景最终会记为「失败」。先用端口探测确认对端 SIP 端口通畅,再发起呼叫。
查看对端返回的 actual 响应码(可能直接回 4xx / 5xx);在「通话数据采集」列表双击该行可弹窗查看完整 SIP 消息。
确认对端支持 RFC2833,且 SDP 协商包含 telephone-event;否则 DTMF 不会以 RTP 事件方式传输。
对端回 183 并要求可靠临时响应时,软件会自动回 PRACK;200 OK 后 ACK 复用 INVITE 原始 CSeq。老旧设备若不支持可靠响应,会按普通临时响应处理、可能协商降级。
默认呼叫不带自定义 Header。需要在「模拟呼叫拨测 / 全局设置」中填写 From、PAI、History-Info、User-to-User 等字段后再发起。
抓包与数据
商店版编译期裁掉了全网卡抓包,只记录本软件自身产生的 SIP / RTP(零特权、不申请 raw socket)。需要全网卡抓包请用内部版。
确认检测 / 通话期间确有信令或媒体产生;内部版需已正确 setcap 授权。导出目录可在「全局设置 → 通话数据采集」中配置。
内部版需要 raw socket 与网卡管理权限。正常 dpkg -i 安装时 postinst 会自动 setcap 授权;若手动拷贝程序文件,请执行:sudo setcap cap_net_raw,cap_net_admin=eip /opt/apps/com.haoransoft.sipphonehelper.internal/files/SipPhoneHelper
执行后用 getcap /opt/apps/com.haoransoft.sipphonehelper.internal/files/SipPhoneHelper 验证权限已写入。
用 Wireshark 打开,过滤 sip 或 rtp 即可看到信令与媒体流;列表本身已聚焦 SIP 信令,减少噪声。
配置与日志
Windows 在程序目录 config.yaml;Linux 在 ~/.local/share/com.haoransoft.sipphonehelper/config.yaml。修改后保存即生效。
在「全局设置」点「恢复默认」即可;也可直接删除 config.yaml,程序下次启动会用内置默认值重建。
日志在 logs/ 下按日期分卷(如 SipPhoneHelper-YYYYMMDD.log);文件日志固定记录 Debug 级明细,便于定位。界面右下角可导出诊断报告发给开发者。
权限与兼容
网络访问、麦克风、扬声器、摄像头(自检预览)、用户目录文件读写。商店版不申请原始套接字 / 全网卡抓包权限,审核风险低。
Avalonia 支持 Wayland 渲染;建议在真机验证显示与输入后再正式使用。
linux-x64 包理论上可在其他 x86_64 Linux 运行,但桌面快捷方式与 setcap 按 UOS 规范处理;其他发行版需自行满足音频 / 抓包依赖并按需授权。