Un objectiu dins de guifi.net, i per extensió, de les comunitats de xarxes ciutadanes obertes és d'interconnectar els servidors Asterisk entre ells per tal de permetre trucades entre els usuaris que hi ha a cadascun d'ells. Això es fa amb els IAX2 Trunks i és el que es desenvolupa en aquest exemple.
Estem pensant en 3 servidors, que en el dns responen als noms de:
- veuip.guifi.net
- veuip.elserrat.org
- veuip.pineda.org
I el que volem és fer que es truquin entre ells si es fa servir el prefix que s'ha assignat a cadascun d'ells (100, 101 i 102 respectivament).
Els passos per fer-ho, assumint que ja tenim l'Asterisk instal·lat i amb extensions definides i funcionant a cadascun d'ells, són:
- Editem el fitxer /etc/asterisk/extensions.conf:
-
Afegim que inclogui l'arxiu addicional wifi que li proporcionarem més endavant. Això es fa afegint-hi la següent línia:
#include extensions_guifi.conf
-
Donem accès als usuaris que volguem al [outbound-guifi]. En aquest cas, el donem a tots (observeu que en aquesta configuració, pròpia de una instal·lació amb AMP, l'atorguem als usuaris del context "from-internal" en una linia que veureu cap al final):
[from-internal]
;allow phones to use applications
include => app-directory
include => app-dnd
include => app-callforward
include => app-callwaiting
include => app-messagecenter
include => app-calltrace
include => parkedcalls
;allow phones to dial other extensions
include => ext-fax
include => ext-local
include => ext-group
include => ext-zapbarge
include => ext-meetme
include => ext-record
include => ext-test
;allow phones to access trunks
include => outbound-emerg
include => outbound-info
include => outbound-local
include => outbound-tollfree
include => outbound-ld
include => outbound-international
include => outbound-guifi
include => outbound-trunks
exten => h,1,Macro(hangupcall) Creem un fitxer "extensions_guifi.conf" amb el següent contingut:
[macro-dialguifi]
exten => s,1,Dial(IAX2/${ARG1}/${ARG2})
exten => s,2,Congestion
exten => s,102,Macro(outisbusy)
[outbound-guifi]
exten => _100.,1,Macro(dialguifi,veuip.guifi.net,${EXTEN:3})
exten => _101.,1,Macro(dialguifi,veuip.elserrat.org,${EXTEN:3})
exten => _102.,1,Macro(dialguifi,veuip.afinat.org,${EXTEN:3})Editem el fitxer "iax.conf" per posar-hi que inclogui l'arxiu "iax_guifi.conf". El meu té aquest contingut:
[general]
bindport = 4569 ; Port to bind to (IAX is 4569)
bindaddr = 0.0.0.0 ; Address to bind to (all addresses on machine)
delayreject=yes
;disallow=all
allow=ulaw
allow=alaw
allow=gsm
jitterbuffer=yes
mailboxdetail=yes
bandwidth=low
#include iax_additional.conf
#include iax_guifi.confCreem un fitxer "iax_guifi.conf" amb el següent contingut:
[guifi]
username=guifi
type=friend
secret=guifi
context=from-internal
auth=plaintext
[veuip.guifi.net]
username=guifi
type=peer
secret=guifi
host=veuip.guifi.net
[veuip.elserrat.org]
username=guifi
type=peer
secret=guifi
host=veuip.elserrat.org
[veuip.pineda.org]
username=guifi
type=peer
secret=guifi
host=veuip.pineda.org
register => guifi:guifi@veuip.guifi.net:4569
register => guifi:guifi@veuip.elserrat.org:4569
register => guifi:guifi@veuip.pineda.org:4569
Un cop fet això, ja podem reiniciar l'Asterisk, i farà les trucades corresponents entre els diversos servidors si hi posem el prefix. Aquesta configuració està pensada per tal de que en cas de que afegim un nou servidor, o hi hagi qualsevol canvi, per exemple al dns, n'hi hagi prou amb simplement copiar els arxius iax_guifi.con i extensions_guifi.conf a tots els altres servidors, mantenint-los aixió idèntics, i respectant alhora la resta de configuració de cadascun d'ells.
(*) La interconnexió entre els 2 primers servidors (bandoler i elserrat) és la que a hores d'hara està provada, queda la del tercer 
| Attachment | Size |
|---|---|
| iax_guifi.conf | 924 bytes |
| extensions_guifi.conf | 847 bytes |

