Howto's
Producto: | VIVAit Call
VIVAit Suite VIVAit Fax |
---|
Sumario
- 1 Como parar asterisk
- 2 Como configurar la megafonía
- 3 Como configurar el candado
- 4 Como crear un grupo de captura y que se vea en cada teléfono el número que llama
- 5 Como crear supletorios
- 6 Generación de llamada automática
- 7 Como "dar paso" a través de un enlace exterior si hay una llamada para una extensión creada en el sistema pero no registrada
- 8 Comprobación de versiones de elementos de la plataforma
- 9 Añadir Auto-Answer a la cabecera SIP
- 10 Configuración de los portales web en HTTPS
- 11 Crear un motivo desconexión para el Supervisor en VIVAit Suite
- 12 Envío de variables CTI al ACD ante un GW con asterisk 13
- 13 Script para cambio automático de claves en salas de conferencia estáticas
- 14 Monitorización en Zabbix de un trunk caído
- 15 Agendas en terminales Yealink
- 16 Calendarios
- 17 Uso de reloj hardware en nodos de procesamiento
- 18 Aprovisionamiento terminales Cisco
- 19 Como configurar servicio DHCP en Ubuntu Linux
- 20 Protocolo Skinny en VIVAit Call mediante uso de Chan-SCCP
- 21 Instalación y configuración Postfix en RedHat7
- 22 Como mostrar callername queues FOP2
- 23 Como ver los directorios de un NAS a montar con NFS
- 24 Instalación de ActivaSTP con VIVAit Call 3 y marcación desde Outlook
- 25 Como volver a procesar grabaciones con error
1 Como parar asterisk
En situaciones límite en el que es necesario parar el asterisk y volver a arrancarlo hay que realizar los siguientes pasos:
Entrar en la consola de asterisk e introducir el comando core stop now
Si esto no funciona, tendremos que matar el proceso a mano. Esto es, primero el safe asterisk y luego el asterisk mediante el comando kill -9 nºPID Tras estos pasos, volveremos a arrancar el servicio asterisk mediante /etc/init.d/asterisk start
2 Como configurar la megafonía
El servicio de megafonía se basa en el protocolo multicast.
Para configurar la megafonía tenemos que activar en los teléfonos que para que estén "escuchando" en una dirección multicast y tener un emisor en esa dirección multicast.
Los teléfonos suelen tener en su configuración un apartado para configurar el multicast. Por ejemplo en los yealink está en la pestaña directory sección multicast IP.
En los teléfonos se puede configurar manualmente o incluirlo en las plantillas de aprovisionamiento.
El asterisk tiene un canal para hacer multicast. Este canal es MulticastRTP.
Para esto podemos crear un VDN que contenga la siguiente línea. (en el ejemplo la dirección multicast es 239.0.126.1 y el puerto es el 10001).
[Cen_VDN_90000] exten => _X.,1,NoOp(MDVDN_90000*****EXTEN=${EXTEN}**CID=${CALLERID(NUM)}**UCID=${UCID}*) same => n,Answer same => n,Dial(MulticastRTP/basic/239.0.126.1:10001) include => Cen_finLlamada
3 Como configurar el candado
El candado permite prohibir temporalmente la posibilidad de realizar llamadas hacia fuera. Sí se pueden seguir haciendo llamadas a extensiones fijas de la plataforma, es decir, llamadas sin coste.
Para configurar dicha funcionalidad basta con crear extensiones con la categoría mas restrictiva posible y habilitar la movilidad, con lo que la extensión solo tendrá "permisos" para realizar llamadas internas.
Para permitir llamadas externas solo hay que "mover" a un usuario con categoría suficiente a la extensión deseada.
4 Como crear un grupo de captura y que se vea en cada teléfono el número que llama
ATENCIÓN: SE CREAN CONFIGURACIONES NO REFLEJADAS EN PORTAL DE ADMINISTRACIÓN
Para la simulación de grupos de captura y conseguir que todos los terminales vean el ANI del llamante:
- Hacen falta teléfonos con dos líneas
- Cada teléfono del grupo tiene en la línea 1 su extensión habitual (por ejemplo 40000)
- Además, en el fichero "sip_Estatico.conf", creamos una segunda extensión para cada teléfono, que le ocupará la segunda línea (por ejemplo 42000)
- En esta segunda linea ponemos que cuando se llame tenga otro tono de llamada (un beep o nada...) que se asemeje en funcionamiento al de un mensaje de llamada en otra extension de mi grupo de captura
- Se ha creado una variable global por cada teléfono en el fichero de variables "ext_MDtel_Particular.conf" de nombre EXTxxxxx (por ejemplo EXT40000); esa variable contiene las otras extensiones virtuales del grupo por ejemplo EXT40000=>SIP/42001&SIP/42005
- Hemos creado en el dialplan programación para que cuando exista esa variable global se añada a la marcación el contenido
5 Como crear supletorios
ATENCIÓN: SE CREAN CONFIGURACIONES NO REFLEJADAS EN PORTAL DE ADMINISTRACIÓN
Igual que el caso anterior pero en la variable ponemos números reales. Debido a un bug en el enrutador, que no devuelve la variable R_PARA, en el fichero ext_MARCAR_Extension.conf hay que sustituir la siguiente linea:
;same => n,ExecIf($["${EXT${R_PARA}}"=""]?NoOp:Set(ENR_CADMARCAR=${ENR_CADMARCAR}&${EXT${R_PARA}}))
Por esta otra:
same => n,ExecIf($["${EXT${R_DEST_${ENR_RUTA_CAD}}}"=""]?NoOp:Set(ENR_CADMARCAR=${ENR_CADMARCAR}&${EXT${R_DEST_${ENR_RUTA_CAD}}}))
ATENCIÓN !!! en las llamadas salientes cada uno presenta su número
Para emplear números externos en los supletorios hay que poner, al crear la variable que hemos explicado en el apartado anterior en el ext_MDtel_Particular.conf:
EXT335=>SIP/0999999999@Trunk_Movil ;En este caso suena en la ext 335 y en el móvil 999999999
6 Generación de llamada automática
Para activar la funcionalidad es necesario lo siguiente:
- Definir una variable ID_LISTA_LLAMAME con el ID de la lista que se va a usar para generar la llamada. Cuando se cree la lista hay que asegurarse que el campo "Nº segundos límite" tiene un valor lo suficientemente amplio para evitar que la llamada caduque antes de ejecutarse.
- Establecer un timeout para la cola (en el Gosub Cen_Sub_GrupoACD se indica justo después de ${COLA})
- Llamar a la función de MySQL ACD_FUNC_LLAMAME_CREAR a través de MDintz
- En la función se usan los siguientes elementos variables:
${ID_LISTA_LLAMAME}: Definida antes clienteTOCola: Nombre del cliente. Al no tener ningún nombre, se usa un denominador genérico ${CALLERID}: Número llamante, donde se dirigirá la llamada.
Ejemplo:
[Cen_VDN_99001] ;---------------------------------------------------------------------------------------------------------------- ;----------------------- VDN 99001 ------------------------------------------------------------ ;---------------------------------------------------------------------------------------------------------------- exten => _X.,1,NoOp(MDENTGW_99001*****EXTEN=${EXTEN}**CID=${CALLERID(NUM)}**UCID=${UCID}*) same => n,Set(__COLA=89001) same => n,Set(ctiDiriTrato=0) same => n,Set(ctiDiriInterface=) same => n,Set(ID_LISTA_LLAMAME=2) same => n(cola),Gosub(Cen_Sub_GrupoACD,${EXTEN},1(${COLA},10,,Si,)) same => n,GotoIf($["${QUEUESTATUS}"!="TIMEOUT"]?colgar) same => n,MDintz(nimitz|bd|sqlDato|select ACD_FUNC_LLAMAME_CREAR(CURRENT_TIMESTAMP\,${ID_LISTA_LLAMAME}\,""\,"clienteTOCola"\,""\,""\,""\,""\,""\,""\,""\,""\,1\,""\,"${CALLERID(NUM)}"\,1\,3\,1\,""\,0\,0\,0\,""\,""\,""\,"")) same => n,GotoIf($["${MDintzRes}"="OK"]?colgar) same => n,NoOp(ACD_FUNC_LLAMAME_CREAR ${MDintzRes}) same => n(colgar),Hangup
7 Como "dar paso" a través de un enlace exterior si hay una llamada para una extensión creada en el sistema pero no registrada
Este procedimiento es de utilidad en procesos de migración, en los que recibimos las llamadas de la RTC, nos las quedamos si la extensión ya está registrada en VIVAit y la mandamos hacia la plataforma a migrar si aún sigue migrada ahí
El procedimiento es:
- Activar desvío por no contesta en la extensión (portal de administración - VIVAit Call - Dispositivos - Extensiones - campo "Desvio no contesta", indicando como destino un prefijo (por ejemplo "99") seguido de la extensión destino
- Creamos una preruta en vivait-call - rutas -prerutas con origen "99", le quitamos el prefijo en campo "Destino saliente 1" (valor -2) e indicamos en campo "Tipo destino sal. 1" como "Ruta externa"
- Debera existir una ruta externa para esa numeración
8 Comprobación de versiones de elementos de la plataforma
Aplicaciones
- Botón derecho del ratón, Acerca De
Portales
- En el Vivait-Call, en la pantalla de inicio de sesión pone el número de versión del portal.
- Tanto en el Monitor como en el Tracker no se puede saber.
Demonios
- Mediante el comando nc localhost <Puerto demonio>. Ejemplo:
- nc localhost 1120
- motorSal sis ver='03.02.00' inic='20150427 123457' alarmas=0 ultAlar='00000000000000'
- motorSal gmp msj=253/256 buf=256/256 tarea=99/102
- motorSal tmp uptime=12624 (0d 3h 30m 24s)
- motorSal mtr mys=1 ocup=0% planif=13(0) intento=11(0)
- Ejemplos puertos demonios:
- 1111: vivait-cti
- 1112: myAcdSuperv
- 1113: recordNodo
- 1114: recordCentral
- 1115: intz-nimitz
- 1120: motorSal
- 1123: phoneprov-tftp
- Ejemplos puertos demonios:
Base de datos
- No se puede saber la versión a no ser que se comparen esquemáticos con los subidos en el redmine
9 Añadir Auto-Answer a la cabecera SIP
Si queremos que un teléfono tenga autoanswer:
- En el peer poner: headeraa=Call-Info: answer-after=0, esto tiene que ir en la plantilla de la extensión o como campo en la extensión. Dependiendo del terminal que utilicemos el valor de este campo variará:
Aastra: Alert-Info: info=alert-autoanswer Grandstream: Call-Info: answer-after=0 Linksys: Call-Info:\;Answer-After=0 Polycom: Alert-Info: Ring Answer Snom: Call-Info: answer-after=0 Snom (nuevo firmware): Call-Info: <sip:IP>\;answer-after=0 Yealink: Call-Info: answer-after=0
- Luego en el diaplan añadir lo siguiente: exten => _[*#%0-9a-zA-Z].,n,set(__AutoAnswer=AA) (Esto tendremos que ver como ponerlo de manera automática). De manera provisional si queremos que sea para llamadas salientes pondremos esto en el ext_n_marcador.conf. Si queremos que sea llamadas entrantes lo pondremos en ext_n_MARCAR.conf
10 Configuración de los portales web en HTTPS
Desde /usr/lib/jvm/default-java/bin/ ejecutamos:
keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/share/tomcat7/.keystore
Escriba la contraseña del almacén de claves: (t0mc4t)
Volver a escribir la contraseña nueva: (t0mc4t) *Personalizar para el cliente ¿Cuáles son su nombre y su apellido? [Unknown]: VIVAit Suite ¿Cuál es el nombre de su unidad de organización? [Unknown]: Desarrollo ¿Cuál es el nombre de su organización? [Unknown]: MDtel ¿Cuál es el nombre de su ciudad o localidad? [Unknown]: Madrid ¿Cuál es el nombre de su estado o provincia? [Unknown]: Madrid ¿Cuál es el código de país de dos letras de la unidad? [Unknown]: es ¿Es correcto CN=VIVAit Suite, OU=Desarrollo, O=MDtel, L=es, ST=Madrid, C=Unknown? [no]: si Escriba la contraseña clave para <tomcat> (INTRO si es la misma contraseña que la del almacén de claves)
nano /var/lib/tomcat7/conf/server.xml
Descomentar la línea:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"/>
Añadir después de sslProtocol="TLS":
keystorePass="t0mc4t"
11 Crear un motivo desconexión para el Supervisor en VIVAit Suite
Para crear motivos de desconexión adicionales a los que ya ofrece la aplicación tendremos que añadir una nueva entrada en la BD. El comando que emplearíamos seria el siguiente:
INSERT INTO `nimitz`.`COM_ENUMERADOS` (`ID`, `C_NOMBRE`, `C_TEXTO`, `N_POSICION`, `C_OBSERV`) VALUES(1000700, 'TSesAgMotDesc', 'Nombre Motivo de desconexión', 60, ' ');
El ID debe ser mayor o igual a 1000700 y menor a 1000800. El N_POSICION debe ser mayor o igual a 60 y menor que 100.
12 Envío de variables CTI al ACD ante un GW con asterisk 13
Dado que para un GW con asterisk 13 un nodo ACD es considerado un elemento externo, por defecto, no se envían variables CTI (UCID, ...). En una fututa versión del nodo ACD, ya no se considerará un elemento externo por lo que si se enviarán dichas variables. Para lograrlo en la versión 3.0 de la plataforma Vivait hay que modificar el fichero ext_MARCAR_Externo_Particular.conf del GW. Deberemos poner la siguiente linea.
same => n,Macro(escribirDatosCti)
13 Script para cambio automático de claves en salas de conferencia estáticas
Para cambiar la clave de las salas de conferencias crear un script llamado cambioClaveConfe.sh con el siguiente contenido:
#!/bin/bash CLAVE=$(shuf -i 1111-9999 -n 1) echo $CLAVE echo "update CEN_SALAS_CONFERENCIAS set C_PIN='$CLAVE' WHERE C_NOMBRE='$1'" | mysql -u nimitz -pivivanimitz nimitz FROM=sat@mdtel.es FECHA=`date +"%Y%m%d%H%M%S"` CLIENTE=<PONER EL CLIENTE> TO=<DESTINATARIOS> ASUNTO="Nueva clave en sala $1" CUERPO="La nueva clave para la sala $1 es: $CLAVE" /usr/sbin/sendmail -oi -t -v -f $FROM <<EOF From: $FROM To: $TO Bcc: $BCC Subject: $ASUNTO $CUERPO EOF
El script cambiará la clave de la sala pasada por parámetro por una aleatoria de 4 dígitos y la enviará por correo a los <DESTINATARIOS> (direcciones de correo electrónico separadas por coma).
Hay que crear una tarea en /etc/crontab añadiendo una linea como la siguiente:
30 6 * * 7 root cambioClaveConfe.sh 6173
Esto ejecutará el script todos los domingos a las 6:30 horas cambiando la clave de la sala 6173. Añadir tantas linéas como salas.
14 Monitorización en Zabbix de un trunk caído
Para monitorizar un o varios trunk por separado y saber el estado de cada uno es necesario lo siguiente:
- Añadir el UserParameter adjunto que contiene el siguiente texto:
UserParameter=asterisk.trunkEstado[*],sudo /usr/sbin/asterisk -rx 'sip show peers' | grep --text -i '$1' | grep OK >/dev/null; if [ $? -eq 0 ]; then echo 1; else echo 0; fi
- Añadir en el portal de zabbix un item por cada trunk. En el campo Key se pondrá "asterisk.trunkEstado[nombre_trunk]", donde nombre_trunk es el nombre del trunk tal y como se ve en Asterisk.
- Crear un trigger que avise cuando el último valor sea 0. Por ejemplo:
{corp-bdtr:asterisk.trunkEstado[PrePro-ACD].last()}=0
15 Agendas en terminales Yealink
En la agenda se mostrará como nombre lo que contenga el campo CEN_AGENDAS.C_NOMBRE_MOSTRAR y como teléfono el indicado en CEN_AGENDAS_TELEFONOS.C_TELEFONO Para hacer funcionar la agenda:
- En el archivo de aprovisionamiento correspondiente (Yealink-XXXX-comun.cfg) establecer los siguientes parámetros:
remote_phonebook.data.1.url = http://<direc IP>/vivait-agenda/yealink/contactData1.xml remote_phonebook.data.1.name = NOMBRE DE LA AGENDA EN EL TELEFONO
- En el archivo /etc/apache2/apache2.conf añadir tras el último Directory:
<Directory /var/www/html/vivait-agenda/> AddType application/x-httpd-php .xml Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>
- Ejecutar el comando:
/etc/init.d/apache2 reload
16 Calendarios
16.1 Enrutamiento inteligente
Ante una llamada a un destino, si hay cita de ocupado en el calendario se desvia al número indicado en el campo "location" del calendario o a su buzon de voz si hay valor en dicho campo
same => n,Set(CalendarBusy=${CALENDAR_BUSY(GoogleCalendar)}) same => n,Set(id=${CALENDAR_QUERY(GoogleCalendar)}) same => n,NoOP(hay ${CALENDAR_QUERY_RESULT(${id},getnum)} eventos) same => n,Verbose(3,The state of GoogleCalendar is $ {DEVICE_STATE(Calendar:GoogleCalendar)}) same => n,Set(CalendarLocation=${CALENDAR_QUERY_RESULT(GoogleCalendar,location)}) same => n,GotoIf($["${CalendarBusy}"=="1"]?:conCategoria) same => n,GotoIf($["${CalendarLocation}"==""]?buzon) same => n,Goto(Cen_iniLlam,${CalendarLocation},1) same => n(buzon),Playback(Particular/buzon) same => n,Hangup same=> n(conCategoria),Goto(Cen_iniLlam,${EXTEN},1)
16.2 Conexión de cliente Outlook a calendarios VIVAit mediante Caldav
Por defecto, el cliente outlook no soporta Caldav; si queremos disponer de calendarios de VIVAit en Outlook tendríamos dos opciones:
- Tener los calendarios en el servidor Exchange
- Instalar un plugin en el cliente outlook que permita conectar vía Caldav los calendarios que estén ubicados en el servidor de calendarios de VIVAit
Este howto se centra en esta segunda posibilidad
Procedimiento:
1.- Instalar Calldavsincronizer (valdrían otros plugin de Caldav para Outlook)
https://sourceforge.net/projects/outlookcaldavsynchronizer/
2.- Entrar en Synchronization Profiles en la nueva pestaña Calldav Syncronizer de outlook
3.- Añadir nuevo perfil (tecla +)
A tener en cuenta:
- Crear un nuevo “Outlook folder”, entendemos que es adecuado (quizás necesario) para que las entradas de calendario de VIVAit queden diferenciadas.
- Lo mejor es haber creado antes el calendario en el servidor para que al darlo de alta en oulook comprobemos que se conecta.
- Dando al botón “Test or discover settings” se nos muestran todos los calendarios del servidor y elegimos el que queramos; en “elementos de la carpeta” diremos “elementos de calendario”.
17 Uso de reloj hardware en nodos de procesamiento
17.1 En nodo de procesamiento ACD
En un nodo de procesamiento ACD es obligatorio instalar dahdi y una tarjeta de primario para emplear reloj hardware, ya que el reloj software que va en el asterisk 1.4 es defectuoso. Para configurarlo basta con instalar la tarjeta en el servidor, instalar dahdi y posteriormente ejecutar el siguiente comando:
dahdi_cfg
Este comando generaŕa el fichero /etc/dahdi/system.conf
Para comprobar que el comando se ha ejecutado satisfactoriamente lo abriremos y tendrá que tener un formato semejante al siguiente ejemplo:
# Autogenerated by /usr/sbin/dahdi_genconf on Tue Oct 22 17:42:59 2013 # If you edit this file and execute /usr/sbin/dahdi_genconf again, # your manual changes will be LOST. # Dahdi Configuration File # # This file is parsed by the Dahdi Configurator, dahdi_cfg # # Span 1: WCT1/0 "Digium Wildcard TE110P T1/E1 Card 0" HDB3/CCS/CRC4 span=1,1,0,ccs,hdb3,crc4 # termtype: te bchan=1-15,17-31 dchan=16 echocanceller=oslec,1-15,17-31 # Global data loadzone = es defaultzone = es
17.2 En nodo de procesamiento de corporativa
En un nodo de procesamiento de corporativa no obligatorio instalar dahdi y una tarjeta de primario para emplear reloj hardware, ya que el no se han detectado errores en el reloj por software. Sin embargo si instalamos dahdi y una tarjeta de primario para emplear reloj hardware, el sistema funcionará mejor. Para configurarlo basta con instalar la tarjeta en el servidor, instalar dahdi y posteriormente ejecutar el siguiente comando:
dahdi_cfg
Este comando generaŕa el fichero /etc/dahdi/system.conf
Para comprobar que el comando se ha ejecutado satisfactoriamente lo abriremos y tendrá que tener un formato semejante al siguiente ejemplo:
# Autogenerated by /usr/sbin/dahdi_genconf on Tue Oct 22 17:42:59 2013 # If you edit this file and execute /usr/sbin/dahdi_genconf again, # your manual changes will be LOST. # Dahdi Configuration File # # This file is parsed by the Dahdi Configurator, dahdi_cfg # # Span 1: WCT1/0 "Digium Wildcard TE110P T1/E1 Card 0" HDB3/CCS/CRC4 span=1,1,0,ccs,hdb3,crc4 # termtype: te bchan=1-15,17-31 dchan=16 echocanceller=oslec,1-15,17-31 # Global data loadzone = es defaultzone = es
18 Aprovisionamiento terminales Cisco
18.1 Configurar protocolo SIP TCP o UDP en terminal Cisco
Configuración de terminal Cisco para para funcionar bajo TCP o UDP: Modificar parámetro
<transportLayerProtocol>X</transportLayerProtocol>
Donde X es:
1: TCP 2: UDP 4: Valor por defecto del firmware (al menos en la última versión equivale a TCP)
18.2 Habilitar/Deshabilitar llamada en espera en terminales Cisco
En el fichero de aprovisionamiento del terminal añadiremos la siguiente linea
<callWaiting>X</callWaiting>
Donde X es:
0=off but can be changed through the settings menu. 1=on but can be changed through the settings menu. 2=off and locked so it can't be changed through the settings menu. 3=on and locked so it can't be changed through the settings menu.
19 Como configurar servicio DHCP en Ubuntu Linux
19.1 ¿Que es un servicio DHCP?
Un servidor Dynamic Host Configuration Protocol (DHCP) asigna dinámicamente las direcciones IP y otras configuraciones de red a otros terminales que están conectados a la red.
19.2 Instalar un servicio DHCP
Para instalar el servidor de asignacion automatica de direccion IP ejecutamos el comando:
sudo apt-get install isc-dhcp-server
19.3 Configurando el servicio DHCP
Editamos el archivo /etc/dhcp/dhcpd.conf creando primero un backup del mismo:
mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original nano /etc/dhcp/dhcpd.conf
El archivo debe quedar de una forma muy similar a esta:
authoritative subnet 10.254.239.0 netmask 255.255.255.254 { range dynamic-bootp 10.254.239.40 10.254.239.60; option domain-name-servers ns1.example.org, ns2.example.org; option domain-name "example.org"; option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org ; option broadcast-address 10.254.239.255; default-lease-time 3600; max-lease-time 7200; option option-150 10.254.239.25 }
Donde los campos:
- subnet: Direccion de red
- netmask: Máscara de red
- range dynamic-bootp: Rango de IPs que va a proporcionar el DHCP
- option domain-name-servers: Direcciones IPs de los DNS
- option domain-name: Nombre de dominio
- option routers:IPs de las puertas de enlace
- option broadcast-address: Dirección de broadcast
- default-lease-time: Tiempo de concesión por defecto
- max-lease-time: Valor máximo del tiempo de concesión
- option option-150: IPs de los servidores TFTPs que tiene la red
19.4 Reiniciamos el servicio
service isc-dhcp-server restart
19.5 Direcciones IP estáticas basadas en la MAC
Pueden conocerse las MAC de las máquinas conectadas a la red ejecutando el comando arp desde la terminal.
host ejemplo { hardware ethernet 00:0B:82:19:A8:04; option option-150 10.254.239.0; # fixed-address 10.254.239.52; }
20 Protocolo Skinny en VIVAit Call mediante uso de Chan-SCCP
20.1 Instalación de chan_sccp
- Copiar el fichero chan-sccp-4.2.1.1.tar.gz en el directorio donde estén los fuentes de Asterisk (normalmente /usr/src/MDtel)
- Descomprimir
- Entrar al directorio chan-sccp-4.2.1.1
- Ejecutar: ./configure --with-asterisk=../DIRECTORIO_ASTERISK --enable-conference. Donde DIRECTORIO_ASTERISK es el nombre del directorio donde están los fuentes de asterisk.
- Tras el ejecutar el configure (si todo va bien al final se verá un resumen con el S.O, arquitectura, etc), ejecutar make y make install
- El nuevo módulo chan_sccp.so se generará dentro del DIRECTORIO_ASTERISK en lib/asterisk/modules/ y se deberá copiar en /usr/lib/asterisk/modules/
- Copiar el fichero sccp.conf a /etc/asterisk
- Entra a Asterisk y ejecutar: module load chan_sccp.so
- Si se ha cargado correctamente, desde dentro de Asterisk, si se teclea sccp show version deberá devolver: "Skinny Client Control Protocol (SCCP). Release: 4.3.0 4.3.0 - unknown (built by 'root' on '2016-06-01 10:42:32 UTC')"
20.2 Crear extensiones
- En el portal crear una nueva clase de dispositivo (Vivait-Call/Dispositivos/Clases de dispositivos), donde la clase sea extensión la subclase H323 (todavía no existe la subclase SCCP) y el formato SCCP/${DEST}
- Crear la nueva extensión, pero el dispositivo debe ser el creado en el campo anterior.
- Las extensiones creadas habrá que añadirlas al fichero sccp.conf así como los teléfonos que las usarán. En el fichero sccp.conf incluido hay ejemplos.
20.3 Aprovisionamiento
Los terminales se aprovisionan de la misma manera que los SIP, exceptuando que las plantillas XML no tiene referencias a SIP. Se incluye un xml genérico con todas las opciones. Dentro del directorio chan-sccp-4.2.1.1 hay un directorio conf con todos los archivos de configuración necesarios. Las versiones annotated contienen todas las opciones posibles comentadas.
21 Instalación y configuración Postfix en RedHat7
Postfix es un servidor de correo de software libre/código abierto, un programa informático para el enrutamiento y envío de correo electrónico.
21.1 Instalación
yum install postfix
21.2 Configuración
Sobre la configuración de postfix por defecto (recién instalado): Editar el fichero /etc/postfix/main.cf
inet_protocols = ipv4 relayhost = smtp.renfe.es
Revisar la configuración:
postfix check
Configurar postfix como servicio (sólo en redhat y similares)
chkconfig postfix on
Iniciar postfix:
service postfix start
Instalar mailx para disponer de los comandos mail y sendmail:
yum install mailx
Probar configuración:
echo "Prueba de correo" | mail -vs "Prueba" correo@destino.soy
21.3 Como crear un TRIGGER en Zabbix
1. Hay dos posibilidades dependiendo si el trigger es para un solo host o es para varios, los cuales tienen en común un template:
- Si es para un host: Ir a Configuración/Hosts
- Si es para un template: Ir a Configuración/Templates
2. En la fila correspondiente al host/template al que queramos añadirle el trigger, pulsar sobre la columna triggers.
3. En la ventana de triggers, pulsar sobre el botón Create trigger, situado en la esquina superior derecha.
4. Aparecerá la ventana de creación de triggers, que tiene los siguientes campos:
- 1. Name: Nombre del trigger, que deberá ser lo suficientemente descriptivo. Aparecerá cuando se
active, en la ventana principal de Zabbix así como en los correos de aviso.
- 2. Expression: Define la fórmula cuyo resultado activará el trigger. Hay que pulsar el botón Add. Se mostrará una
nueva ventana donde habrá que elegir el item (medida) sobre el que se basará el trigger (evidentemente la medida deberá
existir previamente) y la función necesaria para el cálculo. Para una descripción de las disponibles dirigirse a
https://www.zabbix.com/documentation/2.2/manual/appendix/triggers/functions.
Tras rellenar los campos anteriores y dar a la función los valores que necesite pulsar el botón Insert.
- 3. Expression constructor: Permite crear expresiones complejas, uniendo varias.
- 4. Description: Una explicación del trigger
- 5. Severity: Criticidad el trigger
- 6. Para una descripción del resto de campos visitar la página: https://www.zabbix.com/documentation/2.2/manual/config/triggers/trigger
5. Tras rellenar los campos, pulsar el botón Save.
6. Si el trigger se ha añadido en un template, aparecerá en todos los hosts que tienen el template configurado.
7. El trigger por si solo no envía ningún aviso, solo se activa si se cumple la expresión definida.
Para enviar un aviso (normalmente un correo electrónico) cuando se active el trigger, será necesario definir una acción (Configuración/Actions).
NOTA.- Para consultar cualquier cuestión relativa a Zabbix, se encuentra a su disposición el manual:
https://www.zabbix.com/documentation/2.2/manual
22 Como mostrar callername queues FOP2
Es necesario añadir el siguiente código al contexto de entrada:
exten => _X.,n,MYSQL(Connect connid localhost usuario clave bd) exten => _X.,n,MYSQL(Query resultid ${connid} SELECT\ firstname\,lastname\ from\ fop2\ where\ phone1=${CALLERID(num)}\ OR\ phone2=${CALLERID(num)}) exten => _X.,n,MYSQL(Fetch fetchid ${resultid} nombre apellidos) exten => _X.,n,GotoIf($[${fetchid} = 1]?:noExiste) exten => _X.,n,Set(CALLERID(name)=${nombre}${apellidos}) exten => _X.,n(noExiste),Continuar
En la primera línea cambiar según lo necesario:
- localhost: Dirección IP del servidor de MySQL donde está la BBDD de FOP2
- usuario: Usuario con permisos de acceso a la bbdd de FOP2
- clave: Clave del usuario
- bd: Nombre de la BBDD
23 Como ver los directorios de un NAS a montar con NFS
Con el siguiente comando vemos los diferentes volúmenes de un NAS:
showmount -e IP_NAS
Ejemplo de salida:
Export list for 192.168.10.10: /Backup/backup * /DISCOS_1/VOL1_AUDIO *
24 Instalación de ActivaSTP con VIVAit Call 3 y marcación desde Outlook
Instalamos ActivaSTP desde:
(http://activa.sourceforge.net/)
La configuración necesaria se muestra en la siguiente imagen:
El usuario del manager debe tener permisos originate para poder realizar llamadas.
Se han realizado pruebas con Outlook 2013.
Se ha comprobado la correcta realización de pruebas utilizando ActivaSTP, realizadon llamadas desde la pestaña "personas" con la vista en modo tarjeta de Pesentación, tarjeta, teléfono o lista.
Outlook 2013 no da la opción de llamar si la vista está en modo personas.
25 Como volver a procesar grabaciones con error
Modificar en campo E_GRABACION de la tabla DAT_GRABACIONES y ponerlo con valor 20 para que así el recordCentral la vuelva a procesar.