Luis Abenza

Blog sobre temas como: Asterisk, VoIP, Mikrotik, Wireless, Web, Publicidad, …

Archive for the ‘trixbox’ Category

FreePBX ¿Sí o no?

Eterna discusión.

Los más puristas de Asterisk se muestran siempre en contra de esta herramienta y sus similares. Estoy de acuerdo en que se debe tener un profundo conocimiento de Asterisk, y saber configurarlo sin problemas con sus ficheros de configuración. Si no se tiene una base, cuando aparecen problemas con FreePBX estás perdido.

En cambio, desde un punto de vista empresarial, tanto por ofrecer una herramienta gráfica al cliente como por la velocidad de reacción ante peticiones, creo que FreePBX es una herramienta muy potente.

Eso sí, con clientes me refiero a administradores de sistemas de la empresa, con unos conocimientos adecuados y una pequeña formación acerca de lo que tiene y puede hacer.

Además, FreePBX es ya bastante flexible en cuanto a la edición de ficheros adicionales que no te limiten la funcionalidad de Asterisk (editando directamente).

Concluyendo, creo que la herramienta es adecuada y muy potente. El problema, es que lo ves, lo instalas y voila! funciona!. Ahora, amigo, tienes que tener un conocimiento de lo que hay detrás, porque cuando llegan problemas o peticiones “fuera de la interfaz” …. Vamos, que creo que el problema no está en la herramienta, sino en el uso que se le da.

FreePBX Outbound Caller ID

He tenido un problema con FreePBX (sí, ya…, ya lo sé…), porque el Caller ID de una línea no prevalecía sobre el Caller ID definido en la extensión. Este problema suponía que no se pudiese utilizar el proveedor IP, ya que no aceptaba la llamada al intentar meter un CID que no era el suyo.

Finalmente, he conseguido solucionar el problema de momento modificando el extensions_additional.conf. La macro que mete el CID de la llamada extenerna es “macro-outbound-callerid”, y “de serie” viene así:

[macro-outbound-callerid]
include => macro-outbound-callerid-custom
exten => s,1,GotoIf($["${REALCALLERIDNUM:1:2}" != ""]?start)
exten => s,n,Set(REALCALLERIDNUM=${CALLERID(number)})
exten => s,n(start),Noop(REALCALLERIDNUM is ${REALCALLERIDNUM})
exten => s,n,GotoIf($["${KEEPCID}" != "TRUE"]?normcid)
exten => s,n,GotoIf($["x${OUTKEEPCID_${ARG1}}" = "xon"]?normcid)
exten => s,n,GotoIf($["foo${REALCALLERIDNUM}" = "foo"]?normcid)
exten => s,n,Set(USEROUTCID=${REALCALLERIDNUM})
exten => s,n,GotoIf($["foo${DB(AMPUSER/${REALCALLERIDNUM}/device)}" = "foo"]?bypass:normcid)
exten => s,n(normcid),Set(USEROUTCID=${DB(AMPUSER/${REALCALLERIDNUM}/outboundcid)})
exten => s,n(bypass),Set(EMERGENCYCID=${DB(DEVICE/${REALCALLERIDNUM}/emergency_cid)})
exten => s,n,Set(TRUNKOUTCID=${OUTCID_${ARG1}})
exten => s,n,GotoIf($["${EMERGENCYROUTE:1:2}" = ""]?trunkcid)
exten => s,n,GotoIf($["${EMERGENCYCID:1:2}" = ""]?trunkcid)
exten => s,n,Set(CALLERID(all)=${EMERGENCYCID})
exten => s,n,Goto(report)
exten => s,n(trunkcid),GotoIf($["${TRUNKOUTCID:1:2}" = ""]?usercid)
exten => s,n,Set(CALLERID(all)=${TRUNKOUTCID})
exten => s,n(usercid),GotoIf($["${USEROUTCID:1:2}" = ""]?report)
exten => s,n,Set(CALLERID(all)=${USEROUTCID})
exten => s,n,GotoIf($["x${CALLERID(name)}"!="xhidden"]?report:hidecid)
exten => s,n(hidecid),SetCallerPres(prohib_passed_screen)
exten => s,n(report),Noop(CallerID set to ${CALLERID(all)})

; end of [macro-outbound-callerid]

Bueno, pues al comprobar si tenemos marcada la opción “Never Override CallerID” (GotoIf($["x${OUTKEEPCID_${ARG1}}"...), que se supone que nos mantiene el CID definido en la linea sobre cualquier otro, nos manda a la etiqueta "normcid", que marca el CID como el definido en la extensión del usuario.

Para que esto funcione como es debido podemos cambiar la macro a una como la de abajo:

[macro-outbound-callerid]
include => macro-outbound-callerid-custom
exten => s,1,GotoIf($["${REALCALLERIDNUM:1:2}" != ""]?start)
exten => s,n,Set(REALCALLERIDNUM=${CALLERID(number)})
exten => s,n(start),Noop(REALCALLERIDNUM is ${REALCALLERIDNUM})
exten => s,n,GotoIf($["x${OUTKEEPCID_${ARG1}}" = "xon"]?lineacid)
exten => s,n,GotoIf($["${KEEPCID}" != "TRUE"]?normcid)
exten => s,n,GotoIf($["foo${REALCALLERIDNUM}" = "foo"]?normcid)
exten => s,n,Set(USEROUTCID=${REALCALLERIDNUM})
exten => s,n,GotoIf($["foo${DB(AMPUSER/${REALCALLERIDNUM}/device)}" = "foo"]?bypass:normcid)
exten => s,n(normcid),Set(USEROUTCID=${DB(AMPUSER/${REALCALLERIDNUM}/outboundcid)})
exten => s,n(bypass),Set(EMERGENCYCID=${DB(DEVICE/${REALCALLERIDNUM}/emergency_cid)})
exten => s,n(lineacid),Set(TRUNKOUTCID=${OUTCID_${ARG1}})
exten => s,n,GotoIf($["${EMERGENCYROUTE:1:2}" = ""]?trunkcid)
exten => s,n,GotoIf($["${EMERGENCYCID:1:2}" = ""]?trunkcid)
exten => s,n,Set(CALLERID(all)=${EMERGENCYCID})
exten => s,n,Goto(report)
exten => s,n(trunkcid),GotoIf($["${TRUNKOUTCID:1:2}" = ""]?usercid)
exten => s,n,Set(CALLERID(all)=${TRUNKOUTCID})
exten => s,n(usercid),GotoIf($["${USEROUTCID:1:2}" = ""]?report)
exten => s,n,Set(CALLERID(all)=${USEROUTCID})
exten => s,n,GotoIf($["x${CALLERID(name)}"!="xhidden"]?report:hidecid)
exten => s,n(hidecid),SetCallerPres(prohib_passed_screen)
exten => s,n(report),Noop(CallerID set to ${CALLERID(all)})

; end of [macro-outbound-callerid]

Cliente de HUDlite

Una vez que tenemos instalado el servicio de HUDlite en nuestra centralita Asterisk podemos poner en marcha el cliente en los puestos que consideremos oportunos. Podemos descargar el cliente desde HUDlite.org.En el módulo HUDadmin veremos el usuario y contraseña que le corresponde a cada extensión, que serán los que hay que configurar en el cliente HUDlite. También debemos rellenar los siguiente datos:

  • Server name: IP de Asterisk
  • Server password: password
  • Server port: 6600

En el proceso de instalación podemos elegir que nos instale la compatibilidad con Outlook y el TAPI driver para sacar más provecho de este software.

trixbox 2.2 Beta 3 ya disponible!

Acababa de descargarme la Beta 1 cuando compruebo que ya está disponible la Beta 3.

Enlace de SourceForge

Downloading…

  • 0 Comments
  • Filed under: Asterisk, trixbox
  • trixbox 2.2 beta

    Apuntito tenemos la beta de la nueva versión de trixbox. Incorpora la Asterisk GUI en detrimento de FreePBX, así como mejoras en los detalles de llamadas y un configurador de red integrado.

  • 3 Comments
  • Filed under: Asterisk, trixbox