Cisco 7920 + Asterisk in roaming across 2x WRT54G

Reading time: 6 – 9 minutes

De fet, per fer això en principi no cal cap 7920 de Cisco, ja que amb qualsevol altre tlf wifi en teoria hauria de funcionar. El problema és que de moment només teniem aquest a mà. El tema és molt senzill voliem comprobar com canviant l’associació d’un AP (Linksys WRT54G) a un altre AP no perdiem la trucada en curs i que els problemes de l’enllaç eren mínims. Això és el que us intentaré explicar molt breument en aquest article. Per què molt breument? doncs perquè és realment molt senzill de fer.

2xwrt54.jpg

Doncs bé conceptualment el tema és molt senzill. Un cop tenim connectat el tlf VoIP WiFi (Cisco 7920) a l’Asterisk, al final del fitxer comento ràpidament com es configura, només cal ocupar-se de la configuració dels APs. Per tal de que quedi clar el que volem montar a continuació us adjunto un petit esquema que he fet:

Configurem els APs

Els Linksys WRT54 porten per defecte un bridge fet entre els 4 ports ethernet de la LAN i la connexió WLAN. Així doncs només cal que desactivem el tràfic internet/wan perquè tinguem un AP en mode bridge. És important tenir el mateix SSID i posar els APs en diferents freqüències, nosaltres hem usat un AP al canal 1 i l’altre al canal 6. Si posem els dos APs en el mateix rang de xarxa i a més treballem amb IP estàtica, no ho hem provat amb DHCP. Ja ho tenim tot apunt perquè quan iniciem una trucada associats en l’AP1 no hi hagi talls a la conversa al desplaçar-nos a la zona de cobertura del l’AP2. Com a molt notarem que es perd durant menys d’1s la veu però ràpidament funcionarà tot igual que si no haguessim canviat d’AP.

Si tanquem els ulls un segon i somiem això a la ‘n’, podriem montar cobertura en una zona molt extensa amb telèfons wifi, teoricament molt senzills que funcionarien perfectament en tot l’espai de cobertura imaginat. Us sona d’algo això??? potser a la xarxa GSM? 😉 Quan parlo de telèfons molt senzills em refereixo a tlf que només suporten un SSID i que no saben res de protocols tan sofisticats com el WDS (Wireless Domain Services) de Cisco, no confondre amb WDS: Wireless Distribution System que implementen molts APs, el qual ens permet treballar amb FSR (Fast Secure Roaming de Cisco).

Si voleu més informació d’aquestes meravelles que s’inventa Cisco i que l’únic problema és que no són prou estàndards com per disfrutar-ne, podeu llegir-vos el document: Configuring WDS, Fast Secure Roaming, and Radio Management ( cache).

Seguretat

En les proves que hem fet no hem usat ni WEP, ni LEAP que són els dos sistemes de seguretat suportats pel telèfon. De fet, tota la seguretat l’hem basat només en la MAC i la IP del telèfon. A més com es pot veure en el gràfic enmig de la xarxa WIFI hi ha un firewall el qual ens permet a més deixar que només passi tràfic SIP+RTP cap a l’asterisk. Amb això considerem més que suficient la seguretat per l’entorn que hem fet les proves. Així podem ser menys exigents en les característiques dels telèfons a usar. Ja que la intenció no és gastar-nos 600¤ (preu del Cisco 7920, aprox) en cada telèfon que posem a la xarxa.

De fet, una idea que es vol provar és aprofitar el telèfon Wifi SIP de PeopleCall que es pot obtenir per 130¤ amb l’alta al servei de d’aquesta operadora IP inclosa.

wifipromo.gif

Configurar el Cisco 7920 amb l’Asterisk

Aquest telèfon seguint la línia de Cisco usa un munt de protocol propietaris i en aquest cas la cosa arriba a tal extrem que ni tan sols usa SIP. Així que varem haver de configurar l’asterisk amb suport SCCP (Skinny Client Control Protocol). El qual no es suporta de serie amb l’Asterisk.

A voip-info teniu un HOWTO del SCCP ( cache). És un bon punt d’inici. Cal que penseu en tenir instal·lat un servidor tftp en algún lloc de la xarxa ja que els Cisco el necessiten per agafar la configuració de veu al arrancar. Un bon manual per configurar el atftp en gentoo: Gentoo Linux based Netboot HOWTO (cache)mireu-vos només la secció: The tftpd Daemon.

Després de fer el que comentem anteriorment el problema més greu que teniem és que no podiem fer trucades només rebre-les. El problema esta en el codi del sccp que necessita 7 ‘patches’ per funcionar correctament, sembla broma però és així. Si voleu anar directa al gra, us recomano que us baixeu el paquet que jo he usat: chan_sccp-mayday05+patches amb els pegats i el binari per la versió 1.0.7 d’asterisk. Un cop descomprimit el paquet si no heu de recompilar només cal que copieu el chan_sccp.so a /usr/lib/asterisk/modules. La pàgina web on podeu seguir les noves versions del chan_sccp per l’asterisk és: chan_sccp Project.

No oblideu a afegir a /etc/asterisk/modules.conf:

load => chan_sccp.so

Amb tot això ja podem tenir el Cisco 7920 funcionant amb l’Asterisk.

Truquillo

Com podeu veure a la foto dels dos linksys que hem usat per temes d’espai els hem posat un sobre l’altre el que feiem per simular les dues arees de cobertura era molt senzill. Teniem un linksys configurat amb el màxim de potència i l’altre amb el mínim. Apagabem el de màxima potència perquè el tlf s’associes al de mínima potència. Un cop fet això establiem una trucada i amb la trucada en curs, enceniem el segon AP, el de màxima potència, el canvi d’AP no es fa fins que l’AP associat no té problemes de cobertura amb el terminal així l’únic que haviem de fer era posar-nos a caminar fins a perdre la cobertura i notar aquest ‘micro-tall’ que ens indicava el canvi d’AP. A més mirant els menús del tlf i dels linksys verificabem que el canvi efectivament s’havia fet sense problemes.