0%

几年前在垃圾桶捡到几个Orange Pi Plus 2,配置较低,放在2024年的今天已经做不了什么事情了,唯一还能用是的就是他支持HEVC硬件解码4k30fps输出,可以当机顶盒来用,并在内核主线支持较为完善,有Armbian系统和LibreElec系统可选。

我这里记录的是在Orange Pi Plus 2上安装LibreElec和Armbian,并调整参数使得硬件解码可以正常使用。

请注意文章发布时间,随着时间的推移可能有些描述会变得不准确。

阅读全文 »

Zabbix 的安装过程并不简单,而且各种环境排列组合版本众多,所以有必要记录一下自己的安装过程,以便日后翻看。

我这里记录的是Debian12+Zabbix 6.0 LTS的安装过程,基本上是照着Zabbix官网来的,添加了一些本地化的适配。

阅读全文 »

威联通的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
2
3
4
5
6
7
8
tlsdontverifyserver=yes  
srvlookup=yes
media_address=ddns.domain.net
externhost=ddns.domain.net
localnet=x.x.x.x/255.255.255.255; asterisk private ip
directmedia=update
directrtpsetup=yes
icesupport=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
2
3
4
PKG_SOURCE_VERSION:=ca9b69276738af1d571ec120e103d317701760c2
PKG_SOURCE_DATE=2021-04-19
PKG_RELEASE:=1
PKG_MIRROR_HASH:=skip

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)

前言:

kodi官方的版本只支持Ubuntu,之前用Debian仓库的版本又不能硬件解码。时隔1年kodi发布了19版本,我也找到了在Debian下真正好用的kodi了。

果断抛弃了Ubuntu Server 转投PVE的怀抱。虚拟机才是All in one最终的归宿。

阅读全文 »

前言:

本文主要介绍Proxmox VE 6.3的安装配置和利用Clover实现NVME SSD引导。

最近发现运行了2年的All in one小主机硬盘出现了坏道,于是萌生了重装+升级的想法,为了日后易于查找记录一下过程。

HTPC硬件平台(升级后) J1800+16G RAM+128G NVME SSD + 500G机械

阅读全文 »

前言:

本文主要介绍了如何使用Openwrt 官方SDK编译最新版FRR,并使用FRRouting建立VXLAN EVPN网络,实现异地组网。

基本拓扑

1
2
3
4
5
6
7
8
9
10
11
12
13
14
                              +-+--+-+
+-----Internet----------++|RR|++---------Internet-------+
| +-+--+-+ |
| |
| |
| |
| |
| |
+-----+--------+ +-----+-------+
| eth0.2 | | eth0.2 |
| eth0.46+---------Private-----10.0.0.0/7---------+eth0.46 |
| Site1 | | Site2 |
+--------------+ +-------------+

说明:

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互访使用内网流量。

阅读全文 »