[General Topics] justntime:
This might be a little whack, but I am pretty tired that Google hasn't released an ARM version of google voice and video chat that allows dialing out and making telephone calls over a data-only connection.

What I have done so far, is using a micro instance on Amazon AWS, is to set up a virtual machine that has a virtual sound card.

Right now I am using a VLC session to dial out.. I think with a greasemonkey script or something this could be improved.

There are 4 things that need to work.

1: User A (android) --Audio--> [VM]

2: User A (android) <--Audio-- [VM]

3: [VM] --Audio--> User B

4: [VM] <--Audio-- User B

Progress:

1. This is the big one right now, I'm not great with android dev but what I want to do is encode the audio out from the mic to SIP and transfer it to the VM using RDP and then reroute that audio to the virtual microphone. Will utilize some combination of ffmpeg/vlc/arecord/aplay

2: This works (sorta), the VM is generating a VLC stream that I can access on android through RTP

3: This works, Using the virtual sound card (aloop module) "arecord -D hw:0,1,0 -f cd -t raw | aplay -D hw:0,1,0 -f cd &" creates a loop back

4: This works, with the command above, the audio in from User B(4) is heard by User B(3)

Here are my notes (sorry they are a mess). I hope to turn this into a step-by-step walkthrough once I get it going a bit more. It would be great if someone could look it over. I know a ton can be optimized (lower latency, less bandwidth for codecs, etc)

sudo add-apt-repository ppa:chromium-daily/ppa && sudo apt-get update
sudo add-apt-repository ppa:chromium-daily

sudo apt-get install build-essential alsa xorg chromium-browser tightvncserver pulseaudio

sudo apt-get install libmp3lame0(?) lame gnome-term(not sure if this is still needed, installed for rygel attempt at config)

# FROM

apt-get install libncursesw5-dev gettext xmlto

adduser phone

login vnc: install voice and video chat

# FROM

wget ht[xdanolikelinks]tps://dl.google.com/linux/direct/google-talkplugin_current_amd64.deb
dpkg -i --force-depends google-talkplugin_current_amd64.deb
apt-get -f install

cd /usr/src/modules
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.25.tar.bz2
tar xjvf alsa-driver-1.0.25.tar.bz2
cd alsa-driver-1.0.25
./configure --with-cards=aloop --with-sequencer=yes ; make ; make install

wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.26.tar.bz2
tar xjvf alsa-lib-1.0.25.tar.bz2
cd alsa-lib-1.0.25
./configure ; make ; make install

wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.25.tar.bz2
tar xjvf alsa-firmware-1.0.25.tar.bz
./configure ; make ; make install

wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.26.tar.bz2
tar xjvf alsa-utils-1.0.26.tar.bz2
./configure ; make ; make install

modprobe snd-aloop ; modprobe snd-pcm-oss ; modprobe snd-mixer-oss ; modprobe snd-seq-oss

/etc/modprobe
# ALSA portion

alias char-major-116 snd
alias snd-card-0 snd-aloop
# module options should go here

# OSS/Free portion
alias char-major-14 soundcore

# OSS/Free portion - card #1
alias sound-slot-0 snd-card-0
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss

# OSS/Free portion - card #2 (cmipci)
alias sound-slot-1 snd-card-1
alias sound-service-1-0 snd-mixer-oss
alias sound-service-1-3 snd-pcm-oss
alias sound-service-1-12 snd-pcm-oss

update-initramfs -u

#loopback audio
arecord -D hw:0,1,0 -f cd -t raw | aplay -D hw:0,1,0 -f cd &

-
Add pulseaudio headless to system startup
/etc/rc.local
su phone -c "vncserver :1 -geometry 800x600 -depth 8"

Configure xstartup for vnc server to start pulseaudio
nano /home/phone/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
pulseaudio -D

/etc/X11/Xsession

bashrc
pulseaudio -D

apt-get install vlc
edit vlc hosts file
nano /etc/vlc/lua/http/.hosts

Script: Screen server for cvlc audio routing
#!/bin/bash
screen -A -m -d -S cvlcserver cvlc -vvv pulse://alsa_output.0.analog-stereo.monitor --sout \
'#transcode{acodec=mpga,ab=32,channels:1}:rtp{sdp=rtsp://0.0.0.0:8080/test.sdp}'
echo 'Started, type screen -x to monitor'