Articole & Tutoriale VoIP

Trixbox 2.6: Upgrade-ul versiunii de Asterisk

06 Jun 2011

In acest articol ne propunem sa prezentam pasii necesari operatiunii de upgrade pentru versiunea Asterisk (1.4.22), instalata cu distributia Trixbox 2.6.2.3, la ultima versiune Asterisk 1.4. Datorita faptului ca Trixbox nu mai ofera actualizari pentru platformele Asterisk aceasta trebuie efectuata manual.

ATENTIE: Informatiile prezentate in acest articol sunt cu titlul informativ. Inainte de a efectua operatiunea de upgrade, recomandam efectuarea unui backup pentru sistemul existent. MODULO Consulting nu isi asuma responsabilitatea pentru pierderea datelor, in cazul in care procedura de upgrade nu va functiona corect pe sistemul Dvs.

Nota: Toate comenzile se ruleaza folosind utilizatorul root !

Instalare

  • se realizeaza conectarea pe serverul Asterisk cu utilizatorul root
  • se ruleaza urmatoarele comenzi:
    mkdir /etc/yum.repos.d/old
    mv /etc/yum.repos.d/trixbox* /etc/yum.repos.d/old
  • se reactiveaza update-ul de kernel pentru pachetele RPM mentinute de Centos, adaugand "#" in fata liniei care contine exclude=kernel*, din contextele [base] si [updates], prezente in fisierul /etc/yum.repos.d/CentOS-Base.repo
  • se adauga sursele de pachete RPM mentinute de Asterisk si Digium

  • se verifica lista surselor pentru pachetele RPM

  • se ruleaza comanda de curatare a cache-ului mentinut de utilitarul yum:
    yum clean all
  • se efectueaza update la yum:
    yum update yum
  • se ruleaza comanda de oprire pentru Asterisk:
    amportal stop
  • se realizeaza copii de siguranta pentru Asterisk si baza de date, dupa cum urmeaza::
    cp -pr /etc/asterisk /etc/asterisk.bck
    cp -pr /var/lib/asterisk /var/lib/asterisk.bck
    cp -pr /usr/lib/asterisk/modules /usr/lib/asterisk/modules.bck

    Nota: Se verifica inainte daca exista suficient spatiu pe disc pentru efectuarea operatiunii de backup. Verificarea se poate face utilizand comenzile du si df.

    mysqldump -u root -p --all-databases > /root/mysql_dump.sql 

    Nota: Pentru a rula comanda de mai sus este nevoie de parola de root MySQL!

    Parola initiala de root MySQL pentru Trixbox este "passw0rd". Daca accesul nu este permis utilizand aceasta parola sau daca aceasta a fost schimbata, se poate reseta aceasta parola (procedura poate fi gasita pe internet).

  • se ruleaza comanda de actualizare pentru Asterisk:

  • se dezintaleaza pachetele care genereaza erori:
    rpm -e --nodeps zaptel-1.4.12.9-1_trixbox
  • se reia actualizarea pachetelor Asterisk

  • se actualizeaza LibPRI
    yum update libpri\*
  • se instaleaza pachetele pentru prompturile Asterisk

  • se instaleaza dahdi-tools
    yum install dahdi-tools
  • se efectueaza configurarile necesare pentru mentinerea compatibilitatii intre DAHDI si ZAP in contextul [options] din fisierul /etc/asterisk/asterisk.conf, unde trebuie adaugata urmatoarea linie:
    dahdichanname=no
  • se genereaza fisierele de configurare DAHDI
    dahdi_genconf
  • se actualizeaza fisierul /etc/dahdi/system.conf cu informatiile din vechiul fisier de configurare ZAPTEL (/etc/zaptel.conf)
  • se creeaza fisierul chan_dahdi.conf ca link catre vechiul fisier de configurarea ZAPATA
    cd /etc/asterisk
    ln -s zapata.conf chan_dahdi.conf
  • se restarteaza sistemul
    reboot
  • se ruleaza procedura de actualizare si pentru restul de pachete
    yum update --skip-broken

Configurari aditionale

  • se seteaza limba Engleza ca limba implicita pentru toate extensiile SIP
    echo "language=en" >> /etc/asterisk/sip_general_custom.conf
    asterisk -rx "sip reload"
  • se configureaza limba Engleza ca limba implicita pentru prompturile aferente cifrelor
    cd /var/lib/asterisk/sounds
    ln -s en/digits digits
  • se adauga in /etc/asterisk/modules.conf la inceputul contextului [modules]urmatoarele linii:
    preload => pbx_config.so
    preload => chan_local.so

    Nota: Deoarece FreePBX utilizeaza "Local" ca si canal pentru extensiile statice definite in cozile de asteptare, trebuie sa ne asiguram ca modulele pbx_config.so si chan_local.so sunt preincarcate inainte de modulul app_queue.so. In caz contrar agentii cu extensii statice vor fi marcati ca si invalizi pana la re-incarcarea app_queue

  • se creeaza un link pentru accesarea , din interfeta "PBX > CDR Report interface", a apelurilor inregistrate
    cd /var/www/html/maint/cache
    ln -s /var/spool/asterisk/monitor/ monitor
  • se re-activeaza utilizarea uniqueID in CDR-urile salvate in MySQL
    cp -p /usr/lib/asterisk/modules.bck/cdr_addon_mysql.so /usr/lib/asterisk/modules/

    Note:

    1. aceasta comanda va restarta serviciul Asterisk - recomandam efectuarea procedurii cand nu sunt apeluri active pentru a preintampina inchiderea lor.
    2. pentru viitoarele actualizarii trebuie avut in vedere ca pachetul RPM asterisk14-addons-mysql va suprascrie modulul original (din distributia Trixbox) cdr_addon_mysql.so, astfel incat acest pas trebuie repetat.
    3. pentru a verifica ca modulul cdr_addon_mysql.so este configurat cu uniqueID se poate rula urmatoarea comanda:
      strings /usr/lib/asterisk/modules.bkp/cdr_addon_mysql.so | grep uniqueid 
  • se restarteaza serviciul Asterisk
    amportal stop
    amportal start

Bibliografie

Asteptam comentariile si sugestiile dumneavoastra pe adresa info@modulo.ro cat si pe forumul VoIP - totul despre voice over ip, cu subiectul "Trixbox 2.6: Upgrade-ul versiunii de Asterisk".