几年前在垃圾桶捡到几个Orange Pi Plus 2,配置较低,放在2024年的今天已经做不了什么事情了,唯一还能用是的就是他支持HEVC硬件解码4k30fps输出,可以当机顶盒来用,并在内核主线支持较为完善,有Armbian系统和LibreElec系统可选。
我这里记录的是在Orange Pi Plus 2上安装LibreElec和Armbian,并调整参数使得硬件解码可以正常使用。
请注意文章发布时间,随着时间的推移可能有些描述会变得不准确。
几年前在垃圾桶捡到几个Orange Pi Plus 2,配置较低,放在2024年的今天已经做不了什么事情了,唯一还能用是的就是他支持HEVC硬件解码4k30fps输出,可以当机顶盒来用,并在内核主线支持较为完善,有Armbian系统和LibreElec系统可选。
我这里记录的是在Orange Pi Plus 2上安装LibreElec和Armbian,并调整参数使得硬件解码可以正常使用。
请注意文章发布时间,随着时间的推移可能有些描述会变得不准确。
Zabbix 的安装过程并不简单,而且各种环境排列组合版本众多,所以有必要记录一下自己的安装过程,以便日后翻看。
我这里记录的是Debian12+Zabbix 6.0 LTS的安装过程,基本上是照着Zabbix官网来的,添加了一些本地化的适配。
PVE下使用Cloud-init,快速创建最新版本镜像的的小鸡,先记录一下Debian的。
威联通的NAS比群晖多了HDMI接口,可以用于视频播放。想着可以用于替换我现有的PVE+kodi+虚拟群晖,不用再搞个虚拟机出来,于是就进坑了。
本篇是真从入门到入土,最终因为种种原因还是放弃使用了,仅记录一下心得,可能日后还能用得上。
1.在国内自建 stun,这个比较简单的,用 coturn 建一个就行了。openwrt 下可以用restund,但是我还没解决动态 ip 怎么更新的问题,所以暂时是在固定 ip 的云主机上用 coturn 搭建。
2.用标准5060端口,实测发现在非标准端口下 linphone 发包的时候没有携带端口号,导致45秒断线,其他客户端暂未发现此问题,推测是 linphone 客户端的问题。非标端口做了 srv 记录也是一样。
3.asterisk 位于路由器后面时,路由器端口映射5060和 rtp 端口。
asterisk 本机 hostname 要改成 sip 域名,并添加 hosts sip 域名只向本机私网 ip。
在 sip.conf 里面要配置localnet=x.x.x.x/255.255.255.0 ;Zero conf local network,否则会有30秒断线问题。
参考:Asterisk call drop after 30 seconds - Stack Overflow
4.linphone 客户端开启推送通知后 sip Contact 字段包含 token 信息长度超255字节,会被asterisk 丢弃溢出部分,导致接听32秒断线。对于自建 asterisk 需要取消推送通知选项。对于 linphone 官方服务可以开启。
参考:infamous 30 or 33 second call disconnect of incoming calls - linphone · Issue #265 · BelledonneCommunications/linphone-android · GitHub
5.sip.conf 配置(rtp直通、nat穿透、拨打外域部分)
1 | tlsdontverifyserver=yes |
6.安卓自带 sip 客户端 在离开 WiFi 范围网络失效,自动切换到数据,或者反过来切换的时候,不会重新连接sip服务器注册,只有手动切换数据 WiFi 的时候会主动重新注册。
如果 sip 服务器用的是双栈网络,在数据网络用了 ipv6,即使手动切换到 WiFi 也会用 ipv6 进行连接。
如果 WiFi 没有 ipv6 会注册失败。为此我的 sip 服务器只绑定了 ipv4。动态 ip 更换 ip 之后安卓自带 sip 客户端不会重新解析域名,需要手动切一下数据 WiFi 激活注册。
总结一下就是安卓自带 sip 客户端是个半成品,不实用。
7.关于 chan-dongle
openwrt-19.07.8 自带 chan-dongle 版本太旧,可以正常使用不支持长短信。
openwrt-21.02.1 自带 chan-dongle 版本,棒子初始化不正常(mt7620平台,E1750棒子)。
支持长短信、openwrt_sdk 编译通过、棒子初始化正常,所有功能都可以使用的版本。
fix Cannot parse UCS-2 error (#131) · wdoekes/asterisk-chan-dongle@ca9b692 · GitHub
openwrt-19.07 Makefile
1 | PKG_SOURCE_VERSION:=ca9b69276738af1d571ec120e103d317701760c2 |
8.openwrt-19.07.8 官方编译的 asterisk-16.22.0 有闪退问题(mt7620平台)
使用 sdk 编译回退到 asterisk-16.10 正常
1 | src-git telephony [https://git.openwrt.org/feed/telephony.git^edbeb1b9a30153b06cbb8120cdd718e1ac0ba7d2](https://git.openwrt.org/feed/telephony.git%5Eedbeb1b9a30153b06cbb8120cdd718e1ac0ba7d2) |
本文主要介绍了如何使用Openwrt 官方SDK编译最新版FRR,并使用FRRouting建立VXLAN EVPN网络,实现异地组网。
基本拓扑
1 | +-+--+-+ |
说明:
Site 1与Site2之间有内网,接口eth0.46。不同网段,路由可达。ip范围10.0.0.0/7,dhcp动态获取。
RR是公网上拥有固定ip地址的服务器,Site 1和Site2使用eth0.2连接公网。
RR负责为Site 1和Site 2交换MAC地址信息。Site 1与Site 2互访使用内网流量。
如果只想简单使用kodi,不用这么复杂,直接安装LibreELEC就可以了。我这是为了复用这台HTPC(J1800+8G内存)而弄,最终目标NAS+Kodi是All in one。
如果HTPC硬件比较先进(支持VT-D),也不用这么复杂,安装虚拟机平台(VMware ESXi、PVE)把对应硬件直通,再安装LibreELEC、DSM6就行了。