INSTALACIN Y CONFIGURACIN DE ASTERISK PARA UTILIZAR EL
VOICEMAIL CON CISCO CALLMANAGER
Objetivo
Integrar el sistema de telefona IP Cisco CallManager con Asterisk
Configuracin en el CallManager
Lo primero es crear un Gateway H.323 / H.225 en Device => Gateway La direccin IP 172.19.10.8pertenece al Servidor Asterisk
*Para los Device Pool, Location y Calling Search Space, se pueden utilizar los que ya tenemos creados
A continuacin creamos los siguientes Route Patterns en Route Plan => Route Hunt => Route Pattern
Los Route Pattern (5XXX y 3XXXX) se configuran de la siguiente manera:
*En Partitionpodemos usar una particin ya existente o crear una diferente para identificar al servidor Asterisk como es en este caso
*El Route Pattern 3XXXX se configura de igual manera
Ahora configuramos la espera de mensajes en Feature => Voice Mail => Message Waiting
Son dos nmeros: 36667 y 36668(off y on respectivamente)
Creamos el numero de Voice Mail 5999en Feature => Voice Mail => Voice Mail Pilot
Con esto concluimos por el momento la configuracin en el Call Manager, ahora veamos la instalacin y configuracin del servidor Asterisk
Instalacin del Servidor Asterisk en Red Hat Enterprise 4 CentOS 4.3
Escoger la opcin personalizada para seleccionar los siguientes grupos de paquetes: Editors Web Server MySQL Database Development Tools Legacy Software Development
Desmarcar todo lo demas !!!!!! ............. sin interfaz grafica
Una vez instalado el sistema operativo (recomendable sin interfaz grfica; sistema mnimo), se procede a descargar los siguientes archivos en el directorio /usr/src zaptel-1.2.12.tar.gz http://www.asterisk.org asterisk-1.2.14.tar.gz http://www.asterisk.org asterisk-sounds-1.2.1.tar.gz http://www.asterisk.org asterisk-oh323-0.7.3.tar.gz http://www.inaccessnetworks.com/projects/asterisk-oh323 pwlib-Mimas_patch2-src-tar.gz http://www.inaccessnetworks.com/projects/asterisk-oh323/Libraries openh323-Mimas_patch2-src-tar.gz
*Si no tenemos mucha experiencia con Linux, podemos descargar todos los paquetes en una PC con SO Windows y luego transferirlos al servidor Asterisk de manera grfica utilizando FileZilla
http://www.sourceforge.net/projects/filezilla
una vez transferidos los archivos al directorio /usr/src/, descomprimimos todos con el comando: tar -xzvf <archivo.tar.gz> para comenzar con la instalacin de los mismos.
Instalamos primero los drivers zaptel (necesario para el servicio meet-me ,aunque no tengamos ninguna tarjeta Digium) #cd /usr/src/zaptel-1.2.12
Primero editamos el archivo Makefile con el editor vi vi Makefile
debemos quitar el #de ztdummy, luego grabamos y comenzamos con la instalacin
make linux26 =>solo si utiliza el kernel 2.6 (para ver la versin de kernel ejecutar: uname a) make install make install-udev =>solo si utiliza el kernel 2.6 make config modprobe zaptel modprobe ztdummy
Instalamos Asterisk: #cd /usr/src/asterisk-1.2.14 make make install make samples
Instalamos los archivos de audio: #cd /usr/src/asterisk-sounds-1.2.1 make install
Para utilizar la Msica en espera (Music On Hold) de archivos .mp3 descargamos desde la pagina: http://www.mpg123.de/mpg123/mpg123-0.59r.tar.gz
descomprimimos con tar xzvf mpg123-0.59r.tar.gz #cd /usr/src/mpg123-059r make linux make install
crear el enlace simblico correspondiente: ln -s /usr/local/bin/mpg123 /usr/bin/mpg123
Ahora compilamos el pwlib, openh323 y oh323 (estos procesos toman su tiempo) #cd /usr/src/pwlib_Mimas_patch2 ./configure make make install
#cd /usr/src/openh323_Mimas_patch2 ./configure make make install #cd /usr/src/asterisk-oh323-0.7.3 => antes se debe editar el archivo Makefile de la siguiente manera:
Grabamos los cambios y ejecutamos: make make install
Ahora creamos dentro de /var/lib/asterisk/ el script vm.shde la siguiente manera:
vi vm.sh
i f [ $3 - gt 0 ] ; t hen
CALLFI LE=$( cat <<- EOF1 Channel : Local / 381$2 MaxRet r i es: 1 # Ret r y i n 2 mi n Ret r yTi me: 120 Wai t Ti me: 45
Cont ext : def aul t Ext ensi on: s Pr i or i t y: 1
EOF1)
echo " $CALLFI LE" >> " / var / spool / ast er i sk/ out goi ng" / $( dat e +%Y%mNaVI %M%S) - $1
el se
CALLFI LE=$( cat <<- EOF1 Channel : Local / 380$2 MaxRet r i es: 1 # Ret r y i n 2 mi n Ret r yTi me: 120 Wai t Ti me: 45
Cont ext : def aul t Ext ensi on: s Pr i or i t y: 1
EOF1)
echo " $CALLFI LE" >> " / var / spool / ast er i sk/ out goi ng" / $( dat e +%Y%mNaVI %M%S) - $1
f i
luego ejecutamos el comando chmod 755 vm.sh
Vamos al directorio /etc/asterisk donde editaremos los archivos sip.conf, extensions.conf, meetme.conf, oh323.conf, rtp.conf y voicemail.conf
vi sip.conf [ gener al ] cont ext =def aul t bi ndpor t =5060 bi ndaddr =0. 0. 0. 0 t os=0x18 vi deosuppor t =yes ; par a sopor t e de vi deo ( opci onal ) di sal l ow=al l al l ow=ul aw al l ow=gsm l anguage=en r t pt i meout =60
[ 5105] user name=5105 t ype=f r i end host =dynami c cont ext =def aul t secr et =passwor d dt mf mode=r f c2833 mai l box=5105@def aul t cal l gr oup=1 pi ckupgr oup=1 canr ei nvi t e=no cal l er i d=user 1 <5105>
[ 5106] user name=5106 t ype=f r i end host =dynami c cont ext =def aul t secr et =passwor d dt mf mode=r f c2833 mai l box=5106@def aul t cal l gr oup=1 pi ckupgr oup=1 dt mf mode=r f c2833 canr ei nvi t e=no cal l er i d=user 2 <5106>
[ def aul t ] i ncl ude => meet me i ncl ude => musi c- on- hol d i ncl ude => pi ckup i ncl ude => cal l - manager
; ext ensi ones SI P ext en => 5105, 1, Macr o( st dext en, ${EXT5105}) ext en => 5106, 1, Macr o( st dext en, ${EXT5106})
; numer o pr evi ament e conf i gur ado en el cal l manager par a messages ext en => 5999, 1, Answer ext en => 5999, n, Wai t ( 1) ext en => 5999, n, Voi ceMai l Mai n( ) ext en => 5999, n, Hangup( )
[ macr o- st dext en] ext en => s, 1, Di al ( ${ARG1}, 20) ext en => s, 2, Voi cemai l ( u${MACRO_EXTEN}@def aul t ) ext en => s, 3, Hangup ext en => s, 102, Voi cemai l ( b${MACRO_EXTEN}@def aul t ) ext en => s, 103, Hangup
[ meet me] ext en => _5555, 1, Meet Me( ${EXTEN}) ext en => _5555, 2, Got o( def aul t , s, 1) ext en => _5555, 3, Hangup
[ musi c- on- hol d] ; ext ensi n par a pr obar el musi c- on- hol d ext en => 5598, 1, Answer ext en => 5598, n, Wai t ( 1) ext en => 5598, n, Musi cOnHol d( ) ext en => 5598, n, Hangup( )
[ pi ckup] ext en => _7XXXX, 1, Pi ckup( ${EXTEN: 1})
[ cal l - manager ] ; cr eaci n de cuent as asoci adas al cal l manager anexos 1313 y 1314 ext en => 31313, 1, Voi cemai l ext en => 31314, 1, Voi cemai l
; como t engo ext ensi ones de 4 d gi t os en el cal l manager ( _XXXX) ext en => _XXXX, 1, Di al ( OH323/ ${EXTEN}@<ip del callmanager>: 1720) ; en el caso de t ener un cl ust er de cal l manager , usar l a di r ecci n I P del Publ i sher
; Par a el uso del cor r eo de voz MWI en el cal l manager ext en => _380XXXX, 1, Set Cal l er I D( ${EXTEN: 3}) ; el ( ${EXTEN: 3}) hace que se no se consi der en l os t r es pr i mer os di gi t os ( 380)
ext en => _380XXXX, 2, Di al ( OH323/ 36667@<ip del callmanager>) ext en => _380XXXX, 3, Answer ext en => _380XXXX, 4, Wai t , 1 ext en => _380XXXX, 5, Hangup
ext en => _381XXXX, 1, Set Cal l er I D( ${EXTEN: 3}) ext en => _381XXXX, 2, Di al ( OH323/ 36668@<ip del callmanager>) ext en => _381XXXX, 3, Answer ext en => _381XXXX, 4, Wai t , 1 ext en => _381XXXX, 5, Hangup
ext en => _3XXXX, 1, NoOp ext en => _3XXXX, 2, Mai l boxExi st s( ${EXTEN: 1}@def aul t ) ext en => _3XXXX, 3, Congest i on ext en => _3XXXX, 103, Voi cemai l ( su${EXTEN: 1}) ext en => _3XXXX, 104, Pl ayback( vm- goodbye) ext en => _3XXXX, 105, Hangup
vi meetme.conf [ r ooms] conf => 5555, 789
vi oh323.conf [ gener al ] l i st enAddr ess=0. 0. 0. 0 l i st enPor t =1720 t cpSt ar t =11000 t cpEnd=11999 udpSt ar t =16384 udpEnd=32767
f ast St ar t =no h245Tunnel l i ng=no h245i nSet up=yes
j i t t er Mi n=20 j i t t er Max=100 i pTos=l owdel ay out boundMax=30 i nboundMax=30 si mul t aneousMax=30
wr apLi bTr aceLevel =1 l i bTr aceLevel =0 l i bTr aceFi l e=st dout
gat ekeeper =DI SABLE user I nput Mode=RFC2833 musi conhol d=def aul t cont ext =def aul t
gwpr ef i x= nmer o de anexo- ast er i sk 1 gwpr ef i x= nmer o de anexo- ast er i sk 2 gwpr ef i x= nmer o de anexo- ast er i sk n al i as=Ast er i sk PBX
[ codecs] codec=GSM0610 f r ames=4 codec=G711U f r ames=20
vi rtp.conf r t pst ar t =16384 r t pend=32767
vi voicemail.conf [ gener al ] f or mat =wav49| gsm| wav ext er nnot i f y=/ var / l i b/ ast er i sk/ vm. sh cont ext =def aul t
; cr eaci n de cuent as de voi cemai l con passwor d 369 1313 => 369, user A, user 1@empr esa. com, , at t ach=yes| sayci d=no| envel ope=no| del et e=no 1314 => 369, user B, user 2@empr esa. com, , at t ach=yes| sayci d=no| envel ope=no| del et e=no ; 1313 y 1314 son anexos I P exi st ent es en el Cal l Manager , l a par t e de attach=yes es par a anexar el mensaj e de voz al cor r eo el ect r ni co.
Finalmente Si queremos cambiar el idioma de las voces ingresamos a cd /var/lib/asterisk/ y cambiamos la carpeta sound por otra con voces en castellano (solo renombramos la capeta anterior, ejm. sounds_en) disponible en http://www.ip-flow.com.ar/elianna_pack.html
Volvemos al Call Manager y en el anexo IP 1313en Directory Number Configuration agregamos:
En el CallManager tambin podemos seleccionar el numero de segundo que timbrara el telfono antes de ser transferido a la casilla de voz
Para que Asterisk cargue automticamente despus de reiniciar la maquina debemos agregar las siguientes lneas en el archivo: #cd /etc/rc.d/ vi rc.local asterisk vvvvc
Tambin podemos hacer que nuestros telfonos SIP / IAX de Asterisk llamen a la PSTN (Red de Telefona Pblica) haciendo uso del Gateway del Callmanager (Router con tarjetas E1 o FXO) de la siguiente manera:
Ahora editamos nuevamente el extensions.conf
vi extensions.conf
[ cal l - manager ] ; l l amadas a l a PSTN, l ocal es y cel ul ar es ext en => _[ 4- 8] XXXXXX, 1, Di al ( OH323/ ${EXTEN}@<ip del gateway>: 1720)
ext en => _9XXXXXXX, 1, Di al ( OH323/ ${EXTEN}@<ip del gateway>: 1720)
Si queremos que las llamadas se registren en el CDR del CallManager, cambiamos <ip del gateway> por <ip del callmanager>