This is an old revision of the document!
Table of Contents
La nostra infrastruttura di telefonia
Abbiamo una rete interna di telefonia che si basa su:
- yate: centralino PBX che mi e' sembrato piu' semplice rispetto al classico Asterisk
- vde2: switch virtuale by Renzo Davoli
La rete (client raspberry)
L'obiettivo e' di mettere tutti i telefoni in rete locale tramite vde2 in modo da non preoccuparsi di NAT o cose simili. Come si puo' fare?
- # tunctl -u fero -t myvoip0
- # ip a a 10.42.0.10/16 dev myvoip0 # il server ha l'1
- # ip link set myvoip0 up
- $ vde_switch –tap myvoip0 -s /tmp/switch
- $ dpipe vde_plug /tmp/switch = ssh befair.it vde_plug /tmp/switch
e fin qui… ho configurato un client softphone yate-qt4
e configurato un account sip con nome utente e password che so io… e che sul server si puo' vedere tra i file di configurazione… :)
e il test basilare va!!! http://docs.yate.ro/wiki/Beginners_in_Yate#Test_the_setup
Il telefono
Il telefono a disposizione e' uno Unicorn 4102 in cui ci sono 2 interfacce di rete che agiscono come switch. Basta invertire i cavi, ossia collegare la parte PC alla LAN e la parte LAN al PC (ad esempio raspberry) cui si fa riferimento sopra.
Assegnare al telefono staticamente, o tramite server dhcp configurato sul raspberry un indirizzo IP della rete dei telefoni (io ho preso il 10.42.0.11)
il gioco dovrebbe essere fatto… provo!
Piccolo dettaglio :) il bridge
Per consentire al telefono di raggiungere il server voi e' necessario mettere le interfacce in bridge. Annoto qui alcuni comandi:
- sudo apt-get install bridge-utils
- sudo brctl addbr br0
- sudo ip link set eth0 down
- sudo ip link set myvoip0 down
- sudo brctl addif br0 eth0
- sudo brctl addif br0 myvoip0
- sudo ip a a 192.168.82.100/24 dev br0
- sudo ip a a 10.42.0.10/16 dev br0
- sudo ip route add default via 192.168.82.1 dev br0
ora dal server befar.it si riesce a pingare il 10.42.0.11 = il telefono direttamente!
Test
Sul telefono provo a comporre il 10 → ottengo un errore di routing da Yate. E' fattaaaaaa! Raggiungo il server intanto. L'ho potuto vedere con
- tcpdump -n -i myvoip0
Avrei potuto fare anche telnet localhost 5038
e dare debug on
e color on
come documentato