Guia per instal·lar i configurar Asterisk en CentOS 6.6

Asterisk_Logo.svg

Per començar vaig a donar una breu descripció del que és Asterisc per si algú no ho sap.

  • Asterisc és un programari lliure creat per Mark Spencer fundador de l'empresa Digium la principal desenvolupadora, que realitza funcions de PBX. Una PBX resumint molt és una central telefònica.
  • Asterisc permet gestionar trucades, bústies de correu, crear una IVR (Resposta de veu interactiva) Entre moltes altres coses.
  • Reconeix un munt de protocols de VoIP (Veu sobre IP) Entre els quals es troben SIP e IAX que són dels més importants.

Ara que ja sabem sobre Asterisc anem a instal·lar-lo i configurar-lo per un servidor CentOS 6.6

La part de la instal·lació és diferent segons la distro que usem però la configuració és la mateixa tant per a Ubuntu, CentOS, Debian, etc.

Instal·lació

El primer que farem és afegir el repositori dins /etc/yum.repos.d/ :

  • El primer dipòsit que anem a introduir serà: centos-asterisk.repo

[asterisk-tested] name=CentOS-$releasever - Asterisk - Tested
baseurl=http://packages.asterisk.org/centos/$releasever/tested/$basearch/
enabled=0
gpgcheck=0
#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

[asterisk-current] name=CentOS-$releasever - Asterisk - Current
baseurl=http://packages.asterisk.org/centos/$releasever/current/$basearch/
enabled=1
gpgcheck=0
#gpgkey=http://packages.asterisk.org/RPM-GPG-KEY-Digium

  • El segon repositori serà: centos-digium.repo

[digium-tested] name=CentOS-$releasever - Digium - Tested
baseurl=http://packages.digium.com/centos/$releasever/tested/$basearch/
enabled=0
gpgcheck=0
#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

[digium-current] name=CentOS-$releasever - Digium - Current
baseurl=http://packages.digium.com/centos/$releasever/current/$basearch/
enabled=1
gpgcheck=0
#gpgkey=http://packages.digium.com/RPM-GPG-KEY-Digium

Un cop acabat això fem una
yum update

Ara instal·larem el paquet AsteriskNOW-version.noarch

yum install asterisknow-version

Instal·lant aquest paquet afegim la resta de repositoris d'Asterisk, amb totes les seves versions disponibles. Ara veurem que dins de la carpeta /etc/yum.repos.d s'han creat nous fitxers. Nosaltres anem ha instal·lar la versió 13 de Asterisc.

Per triar una versió en concret (per defecte utilitza el repositori de la versió 11) utilitzem el paràmetre -enablerepo (habilita el repositori que li vam indicar) en la instal·lació amb yum, és a dir, podem instal·lar qualsevol versió indicant-li el repositori adequat
yum install asterisk asterisk-configs asterisk-sounds-core-es-gsm --enablerepo=asterisk-13

Com instal·larem l'última versió de Asterisc, Habilitarem que el repositori per defecte per actualitzar Asterisk sigui centos-asterisk-13.repo.

Per a això modifiquem el paràmetre habilitat de l'repositori centos-asterisk-11.repo a 0, Perquè aquest estigui deshabilitat. I de la mateixa manera, modifiquem el paràmetre habilitat de l'repositori centos-asterisk-13.repo a 1, De manera que passarà a ser el repositori utilitzat per a actualitzacions de Asterisc. Depenent de la versió que hàgim instal·lat habilitarem el repositori de la nostra versió.

Configuració

Anem a la carpeta de configuració que està en / Etc / asterisk

cd /etc/asterisk/

Trobarem molts arxius dels quals ara mateix servir tres:

  • sip.conf → S'hi registren els usuaris SIP que utilitzarem
  • extensions.conf → En ell vam registrar les extensions
  • voicemail.conf → En ell vam registrar les bústies de correu

Comencem amb l'arxiu sip.conf

Vam baixar a la fi de el fitxer o on vulguem, triem el final per comoditat de saber on són sempre. I seguim la següent estructura per a cada usuari:

[ejemplo] type=friend
secret=pass
qualify=yes
nat=no
host=dynamic
canreinvite=no
context= contexto
mailbox= buzon

  • Haurem posar entre claudàtors el nom de l'usuari, En aquest cas EXEMPLE
  • La contrasenya de l'usuari es posa en secret
  • En host hem decidit posar dinàmic perquè l'usuari es pugui connectar des de qualsevol IP de la xarxa
  • Context és el context, li posem el context en el qual va a estar
  • Mailbox és la bústia de veu

Ara us deixaré un exemple de què jo he fet
[rack] type=friend
secret=1234
qualify=yes
nat=no
host=dynamic
canreinvite=no
context=iesjg
mailbox=00@buzon

Sobre la línia 343 del sip.conf establim language = és, Amb això fem que tots els usuaris que creiem tinguin com a llenguatge per defecte espanyol.

Ara anem a configurar el voicemail.conf

Per configurar les bústies baixem fins al fons i vam crear un context, per exemple [bústia] i configurem així les bústies amb la següent estructura:
número => pass,nombre,correo

I ara l'exemple que jo he fet:

00 => 1234,rack,rack@iesjorgeguillen.es

ja per últim anem a configurar el extensions.conf

En el fons de el document, en el meu cas, vaig a afegir la configuració

Crearem un context en el meu cas [iesjg], recordeu que els contextos van entre claudàtors.

I ara dins d'aquest context crearem extensions com ara:
exten => 00,1,Dial(SIP/rack,15,Ttm)
same => n,VoiceMail(00@buzon)
same => n,Hangup()

  • El que fa és cada vegada que cridin a l'extensió 00 en primer lloc crida a l' SIP / rack (Que està creat en sip.conf) durant 15 segons amb una música de fons i la trucada es pot reenviar a un altre telèfon
  • utilitzem "Same" per no haver d'estar posant per cada línia "extensió => 00"
  • Si no contesta, en següent lloc "n"Salta el correu amb la funció Correu de veu automàtic (00 @ bústia) configurat anteriorment en voicemail.conf
  • I finalment fem una Hangup () per penjar

Ara vaig a posar algunes funcions útils d'Asterisk.

  1. Marcar()

  • Amb aquesta funció realitza una crida a on li passem en aquest cas SIP / rack

  1. Correu de veu automàtic()

  • Amb aquesta funció es crida a la bústia de veu d'aquest usuari per deixar un missatge (número_buzón@contexto_en_voicemail.conf)

  1. Penjar()

  • Amb aquesta funció pengem.

  1. Esperar()

  • Amb aquesta funció es realitza una espera, el temps que vulguem passar-li Wait (1), espera 1 segon.

  1. VoiceMailMain()

  • truca al menú de la bústia de veu, et preguntarà l'extensió i la contrasenya per escoltar els missatges.

  1. Respondre()

  • Amb aquesta funció la PBX Asterisk respon la trucada.

  1. Registre()

  • Amb aquesta funció es grava un àudio. Per exemple per crear un menú.

  1. Fons()

  • Reprodueix un àudio en background.

 

Ara reiniciem el servei.
service asterisk restart

I ara executem la consola de asterisk per portar un monitoratge.

asterisk -rvvvvvvvvvvv

Quan connectem telèfons amb els usuaris SIP creats podrem veure'ls a la consola executant:

sip show peers


El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa aquí.

16 comentaris, deixa el teu

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Franco va dir

    Fantàstica explicació. El provaré amb els meus alumnes de cicle, a veure si són capaços de configurar ...

    1.    bynikiyo va dir

      Moltes gràcies pel comentari, jo sóc alumne de cicle mitjà així que ells també haurien de poder 🙂

  2.   cristian va dir

    : clap

    sempre és necessària aquesta aplicació, i els que la volen instal·lar moltes vegades naufraguen

    : clap

    1.    bynikiyo va dir

      Sí, encara que podria haver entrat més en temes de tipus de còdecs que es poden utilitzar, els tipus d'arxius d'àudio i alguna extensió més. Però volia fer-la fàcil, directa i que funcioni.

  3.   nano va dir

    Genial però pel que veig aquesta aplicació només permet fer trucades d'un equip a un altre dins d'una xarxa local.

    A el dir que es tractava d'una centraleta vaig pensar que, mitjançant la instal·lació d'algun tipus de maquinari, permetia fer trucades a números de telèfons fixos o mòbils i a el mateix temps poder rebre-les.

    No sé, alguna cosa que permetés tenir una base de dades de clients i poder trucar per telèfon des de l'mísmo ordinador mentre vas anotant dades o comandes, etc.

    Alguna cosa en pla telemarketing.

    1.    toni va dir

      Exactament es pot fer això, i sí, necessites d'un maquinari específic, que ven per exemple Digium (la mateixa empresa creada per qui va crear Asterisk i que manté el projecte) en el seu lloc web (o altres més a l'ésser maquinari lliure), per poder utilitzar la RTB (Xarxa Telefònica Bàsica). Pots fer tant trucades en local com d'un telèfon d'una centraleta a un altre telèfon d'una altra centraleta interconnectades entre si o sortir a la RTB. Pots també utilitzar telèfons fixos normals (RJ11). Necessites tenir una línia telefònica contractada, ja que sortir a la RTB té un cost, el que et costaria cridar des del teu propi fix i de penjant d'el pla que contractis i els números que tinguis podràs fer més o menys trucades simultànies, per contra si tot ho fas mitjançant internet el cost serà 0 ja que no cal sortir a la RTB i tot va sobre Internet! una salutació

      1.    nano va dir

        Ok, gràcies per la informació.

        Ja ho miraré més tranquil quan tingui temps.

        La veritat, és molt interessant.

  4.   Manuel va dir

    Hola, segui el tutorial però no apareix dahdi ni en els arxius de configuració ni com dimoni en el sistema, podries explicar si és que aquesta estructura de configuració canvia per asterisk 13? o dir-me com puc afegir dahdi? ... tampoc troba els arxius per realitzar una instal·lació amb Asterisk 1.8

    1.    Manuel va dir

      Vaig estar revisant mes i vaig poder aconseguir-ho, per instal·lar dahdi s'han d'instal·lar els paquets dahdi-tools i dahdi-linux-devel despres apareixen dahdi tant com dimoni i com a arxiu de configuració amb el nom dahdi-channels.conf

  5.   Luis va dir

    Home, el tutorial és bàsic com el només ...

    Com a pràctica tampoc val molt, es queda molt en la superfície, el dialplan només rep trucades.

    Massa bàsic.

    1.    Manuel va dir

      L'objectiu de l'tutorial no és armar dialplan o mostrar les múltiples fuincionalidades d'Asterisk.
      A l'sembla aquests són els repositoris de a distribució AsteriskNOW ja que compta amb freePBX 2.11 en els seus repositoris, Asterisk 1.8 no es troba, però els paquets d'Asterisk 1.8 si es troben en els Repositoris de Epel, el tutorial està molt bo ja que compleix de manera simple la instalacion d'Asterisk sigui la versió 11,12, i 13, també cal habilitar els repositoris de Digium de la versió Asterisk que s'instal·li, clar que cal agregar a la sentència d'instal·lació dels paquets dahdi-tools i dahdi-Linux- devel perquè s'instal·li Dahdi, tenir en compte que les versions de dahdi i libpri són les versions estables actualment ja instal·lant ho ultimo des dels codis fonts són versions més recents

  6.   fite va dir

    Molt chevere i simple, sent el primer d'asterisk em sembla bé començar així.
    Per a la següent, obvi, la vagi més alta.

  7.   edwin Vasquez va dir

    vaig seguir la guia però tinc un conflicte amb unes llibreries alguna ajuda gràcies salutacions

    -> Package libopenr2.x86_64 0: 1.2.0-1_centos6 will be instal·lat
    -> Package libpri.x86_64 0: 1.4.14-1_centos6 will be instal·lat
    -> Package libss7.x86_64 0: 1.0.2-1_centos6 will be instal·lat
    -> Resolució de dependències finalitzada
    Error: Paquet: asterisk-core-13.3.0-1_centos6.x86_64 (asterisk-13)
    Necessita: libg7221codec.so.2 () (64bit)
    Disponible: pjproject-2.1-0.digium2.1_centos6.x86_64 (asterisk-current)
    libg7221codec.so.2 () (64bit)
    Disponible: pjproject-2.3-0.digium2.1_centos6.x86_64 (asterisk-current)
    libg7221codec.so.2 () (64bit)
    Disponible: pjproject-2.3-0.digium3.1_centos6.x86_64 (asterisk-current)
    libg7221codec.so.2 () (64bit)
    Instalado: pjproject-2.3-5.el6.x86_64 (@epel)
    no trobat
    Disponible: pjproject-2.1-0.digium1.1_centos6.x86_64 (asterisk-current)
    no trobat
    Disponible: pjproject-2.1-0.digium1.2_centos6.x86_64 (asterisk-current)
    no trobat
    Error: Paquet: asterisk-core-13.3.0-1_centos6.x86_64 (asterisk-13)
    Necessita: libilbccodec.so.2 () (64bit)
    Disponible: pjproject-2.1-0.digium2.1_centos6.x86_64 (asterisk-current)
    libilbccodec.so.2 () (64bit)
    Disponible: pjproject-2.3-0.digium2.1_centos6.x86_64 (asterisk-current)
    libilbccodec.so.2 () (64bit)
    Disponible: pjproject-2.3-0.digium3.1_centos6.x86_64 (asterisk-current)
    libilbccodec.so.2 () (64bit)
    Instalado: pjproject-2.3-5.el6.x86_64 (@epel)
    no trobat
    Disponible: pjproject-2.1-0.digium1.1_centos6.x86_64 (asterisk-current)
    no trobat
    Disponible: pjproject-2.1-0.digium1.2_centos6.x86_64 (asterisk-current)
    no trobat
    Podria intentar utilitzar la comanda -skip-broken per esquivar el problema
    Podria intentar executar: rpm Va -nofiles -nodigest

    1.    bynikiyo va dir

      Perdona per no respondre abans, l'havia llegit i ho anava a respondre quan fes servir el pc, jo crec que hauries de desactivar els repos de EPEL o instal·lar el asterisk amb el enablerepo = »repoqueuses» perquè almenys EPEL et aquesta donant problemes aquí. També desintalaria les llibreries que tens i donen problemes i deixaria que asterisk les instal soles.

  8.   caigudes va dir

    hola, mira tenim un problema amb això, nosaltres vam instal·lar asterisk i tot el conte, configurem la centraleta i els telèfons, els telèfons estan registrats, però no podem anomenar entre ells, saps quin podria ser el problema?

    1.    bynikiyo va dir

      doncs no ho sé, en teoria si estan registrats haurien de poder dir-entre si, no et diu res el log de la centraleta? PD: perdó per respondre tan tard