2020-12-27 23:37:02 +01:00
|
|
|
# fetapi - FeTAp with a Raspberry Pi
|
|
|
|
|
|
|
|
```
|
|
|
|
,ooFeTApFeTApFeTA%=+-,.
|
|
|
|
,+FeTAp+' `o,,
|
|
|
|
,oFeTAp+ `,
|
|
|
|
,ooo' ,oFeTApFeTAp o
|
|
|
|
oo +FeTAp+' `oo, H
|
|
|
|
o o' X o l
|
|
|
|
,@=@+ o ,,-+*==+-., R o .;
|
|
|
|
,@=@+ o o' ,/ 22 11 ``, E`ooooo'
|
|
|
|
@@* @@ oo o' / 33 , ` ` , ; T
|
|
|
|
@:n T:@ oo o ; 44 , . \ L
|
|
|
|
uM:m A:K oFeTAp' ;55 , : ; A
|
|
|
|
E:Rn N:t F, | ` : ; | H
|
|
|
|
SC:h K:o e, ` 66 ` , dHHH C
|
|
|
|
A:Ll L:s r, ` 77 `. , . 0 `q/ S
|
|
|
|
ER:a P:U n, \ 88 99 00 ,' L
|
|
|
|
R:Be i:M s `<,,______,-` sZ, E
|
|
|
|
i:T E:r p, `sZ B
|
|
|
|
S:K l:T r, A
|
|
|
|
o:N H:a e, G
|
|
|
|
t:a s:c c, ,x+x+'
|
|
|
|
k:T:@:U:M:R:n; h, ,p+e+r+a+t/
|
2020-12-28 21:08:35 +01:00
|
|
|
`@:n:M:E:' `T=i=s=c=h=A=p/
|
2020-12-27 23:37:02 +01:00
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
2020-12-28 21:08:35 +01:00
|
|
|
Some of the following instructions must be executed with `root` privileges.
|
|
|
|
|
|
|
|
### Installing `fetapd`
|
|
|
|
|
|
|
|
1. Clone this repository (together with `pylinphone` as sub-module)
|
|
|
|
|
|
|
|
```
|
|
|
|
cd /opt
|
|
|
|
|
|
|
|
git clone https://git.blinkenbunt.org/LUG-Saar/fetapi.git
|
|
|
|
git submodule update
|
|
|
|
```
|
|
|
|
|
|
|
|
2. Configure and enable `fetapd` as `systemd` service
|
|
|
|
|
|
|
|
```
|
|
|
|
ln -sr fetapd.service /etc/systemd/system/
|
|
|
|
systemctl daemon-reload
|
|
|
|
systemctl enable fetapd
|
|
|
|
```
|
|
|
|
|
2020-12-27 23:37:02 +01:00
|
|
|
### Installing `linphone-cli` on Raspbian
|
|
|
|
|
|
|
|
1. Install `debootstrap`
|
|
|
|
|
|
|
|
```
|
|
|
|
apt install debootstrap
|
|
|
|
```
|
|
|
|
|
|
|
|
2. Create a *Debian/sid* chroot environment
|
|
|
|
|
|
|
|
```
|
|
|
|
cd /var/tmp
|
|
|
|
mkdir debian-sid
|
|
|
|
|
|
|
|
debootstrap --arch=armel --foreign --variant=minbase sid ./debian-sid http://ftp.de.debian.org/debian
|
|
|
|
|
|
|
|
chroot debian-sid/ /debootstrap/debootstrap --second-stage
|
|
|
|
```
|
|
|
|
|
2020-12-29 22:57:51 +01:00
|
|
|
Note: Without `--variant=minbase`, sound won't work for some strange, unknown reason.
|
|
|
|
|
2020-12-27 23:37:02 +01:00
|
|
|
3. Install `linphone-cli` inside the chroot environment
|
|
|
|
|
|
|
|
```
|
|
|
|
chroot debian-sid/ apt -y install linphone-cli
|
|
|
|
```
|
|
|
|
|
2020-12-28 20:37:25 +01:00
|
|
|
4. Create user inside the chroot environment
|
|
|
|
|
|
|
|
```
|
|
|
|
chroot /var/tmp/debian-sid adduser --disabled-password pi
|
|
|
|
```
|
|
|
|
|
|
|
|
5. Bind-mount `/dev` to make ALSA accessible within the chroot
|
|
|
|
|
|
|
|
```
|
|
|
|
cat <<EOF >>/etc/fstab
|
|
|
|
/dev /var/tmp/debian-sid/dev none bind 0 0
|
|
|
|
EOF
|
|
|
|
|
|
|
|
mount -a
|
|
|
|
```
|
|
|
|
|
2020-12-29 22:57:51 +01:00
|
|
|
6. Copy *Linphone* configuration file
|
|
|
|
|
|
|
|
```
|
|
|
|
cp linphone.conf /var/tmp/debian-sid/home/pi/
|
|
|
|
```
|
|
|
|
|
|
|
|
7. Configure and enable `linphone-daemon` as `systemd` service
|
2020-12-28 20:37:25 +01:00
|
|
|
|
|
|
|
```
|
|
|
|
ln -sr linphone-daemon.service /etc/systemd/system
|
|
|
|
systemctl daemon-reload
|
|
|
|
systemctl enable linphone-daemon
|
|
|
|
```
|
2020-12-28 21:08:35 +01:00
|
|
|
|
2020-12-29 22:57:51 +01:00
|
|
|
|
2020-12-28 21:08:35 +01:00
|
|
|
## Configuring `fetapd`
|
|
|
|
|
|
|
|
:warning: TODO
|
|
|
|
|
2020-12-29 22:57:51 +01:00
|
|
|
### Identifying soundcard
|
|
|
|
|
|
|
|
```
|
|
|
|
# chroot /var/tmp/debian-sid /usr/bin/linphonec
|
|
|
|
...
|
|
|
|
linphonec> soundcard list
|
|
|
|
0: ALSA: default
|
|
|
|
1: ALSA: bcm2835 Headphones
|
|
|
|
2: ALSA: C-Media USB Headphone Set
|
|
|
|
```
|
|
|
|
|
2020-12-28 21:08:35 +01:00
|
|
|
## Starting `fetapd`
|
|
|
|
|
|
|
|
```
|
|
|
|
systemctl start fetapd
|
|
|
|
```
|
|
|
|
|
|
|
|
(or simply reboot your *FeTAp*)
|
|
|
|
|