Yeaphone VOIP
From NAS-2000.org
This howto will explain how to turn your NAS into a VOIP NAS.
Since everybody is going crazy for voip these day I thought why not teach the NAS to
do VOIP.
Note: Since all the data are send unencrypted over the wire ... well its not really secure
1. Hardware
You will need a Yealink USB handset (USB-P1K) or a Hama VOIP USB (USB-P!K OEM).
and a NAS with USB ;-)
2. SIP Account
Next you need to have a SIP Account they are usualy free these days.
I got one by sipgate but the company should not matter.
3. Installation
Update you ipkg-database
ipkg-cl update
and install yeaphone
ipkg-cl install yeaphone
a lot of packages will be installed.
4. Configuration
OK finaly you have to configure yeaphone and since yeaphone is only a frontend to linphone linphone as well.
First edit /system/overlay/apps/yeaphone/linphonerc
[proxy_0] reg_proxy=sip:sipgate.de reg_identity=sip:<user-name>@sipgate.de reg_expires=600 reg_sendregister=1 . . . [auth_info_0] username=<user-name> passwd=<passwd> realm="sipgate.de"
Enter your user-name and the passwd of course if you have no sipgate account you'll have to edit the "realm" as well.
5. Firewall
In the end you will have to open quite some ports to be forwarded to the NAS.
I had to open this ports to:
UDP,10000 UDP,5060 UDP,5004 UDP,8000-8012 UDP,3478-3497 TCP,3478-3497
Also if your router supports QoS (Quality of Service) you may want to add the ports to QoS.
6. Make it work
To start yeaphone exec
/system/overlay/apps/yeaphone/S65yeaphone.sh
Now all the modules get loaded etc etc.
To stop is run:
killall yeaphone
Now you can start it manual via:
HOME=/system/overlay/apps/yeaphone yeaphone
for debugging.
Once everything is working create a symlink to autostart yeaphone at boottime:
ln -s /system/overlay/apps/yeaphone/S65yeaphone.sh /system/overlay/rc.d/S65yeaphone.sh
7. Note
The yeaphone kernel module was writen for kernel 2.6.12 so I used that patch and it works but I had to hardcode the event interface since the old evdev module does not create a symlink in /sys/blaa.
The (simple) solution was to hardcode the path to the interface in yeaphone but this way allways
/dev/input/event0 will be used. If you unplug and replug the handset it may not work until you reboot the NAS :-(

