Monitoring DAHDI trunks and how to user Whisper
Good day,
We have your FOP2 running on 5 of our servers and so far we are very happy with it. It really was worth purchasing it!
Even though most of it works perfectly i still have not been able to sort out a few things:
1. How can I use the Whisper option? When i try to do this it only spies the conversation, however i cannot whisper anything to the selected party. How does this option work?
2. I cannot manage to monitor the DAHDI trunks correctly on 3 of the PBXs (one running Elastix 2.3 and the other 2 running 1.6). I have used the FreePBX admin module to setup the buttons with the correct channels on all three machines as suggested on other posts, however the monitoring is not correct and they display the same behaviour as follows:
- The buttons for the DAHDI trunks are displayed in the FOP2 as ZAP/1, ZAP/2, ZAP/3 and ZAP/4.
- When I use the analog trunks, the only button that works is ZAP/4. Even if I use several trunks at the same time only ZAP/4 works and it lists all the lines in use as DAHDI/1, DAHDI/2, etc..
- The buttons ZAP/1, ZAP/2, ZAP/3 never display anything.
The only particular configuration for the trunks is that I have assigned ZAP DIDs to them so I can redirect incoming calls depending on which line they are coming from. See dahdi settings below...
What can I do to display each DAHDI trunk on their respective button correctly? Thank you in Advance.
Juan
Please find below the config files of one of our servers:
dahdi-channels.conf:
; Span 1: OPVXA1200/12 "OpenVox A1200P/A800P Board 13" (MASTER)
;;; line="1 OPVXA1200/12/0 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 1
callerid=
group=
context=default
;;; line="2 OPVXA1200/12/1 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 2
callerid=
group=
context=default
;;; line="3 OPVXA1200/12/2 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 3
callerid=
group=
context=default
;;; line="4 OPVXA1200/12/3 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 4
callerid=
group=
context=default
chan_dahdi.conf:
[channels]
;context=from-pstn
context=from-zaptel
signalling=fxs_ks
rxwink=300 ; Atlas seems to use long (250ms) winks
usecallerid=yes
useincommingcalleridonzaptransfer=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
language=au
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
faxdetect=incoming
echotraining=800
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1
We have your FOP2 running on 5 of our servers and so far we are very happy with it. It really was worth purchasing it!
Even though most of it works perfectly i still have not been able to sort out a few things:
1. How can I use the Whisper option? When i try to do this it only spies the conversation, however i cannot whisper anything to the selected party. How does this option work?
2. I cannot manage to monitor the DAHDI trunks correctly on 3 of the PBXs (one running Elastix 2.3 and the other 2 running 1.6). I have used the FreePBX admin module to setup the buttons with the correct channels on all three machines as suggested on other posts, however the monitoring is not correct and they display the same behaviour as follows:
- The buttons for the DAHDI trunks are displayed in the FOP2 as ZAP/1, ZAP/2, ZAP/3 and ZAP/4.
- When I use the analog trunks, the only button that works is ZAP/4. Even if I use several trunks at the same time only ZAP/4 works and it lists all the lines in use as DAHDI/1, DAHDI/2, etc..
- The buttons ZAP/1, ZAP/2, ZAP/3 never display anything.
The only particular configuration for the trunks is that I have assigned ZAP DIDs to them so I can redirect incoming calls depending on which line they are coming from. See dahdi settings below...
What can I do to display each DAHDI trunk on their respective button correctly? Thank you in Advance.
Juan
Please find below the config files of one of our servers:
dahdi-channels.conf:
; Span 1: OPVXA1200/12 "OpenVox A1200P/A800P Board 13" (MASTER)
;;; line="1 OPVXA1200/12/0 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 1
callerid=
group=
context=default
;;; line="2 OPVXA1200/12/1 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 2
callerid=
group=
context=default
;;; line="3 OPVXA1200/12/2 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 3
callerid=
group=
context=default
;;; line="4 OPVXA1200/12/3 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 4
callerid=
group=
context=default
chan_dahdi.conf:
[channels]
;context=from-pstn
context=from-zaptel
signalling=fxs_ks
rxwink=300 ; Atlas seems to use long (250ms) winks
usecallerid=yes
useincommingcalleridonzaptransfer=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
language=au
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
faxdetect=incoming
echotraining=800
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1
Comments
It passes the "w" option to chanspy, you can modify the options to pass by modifying whisper_options in fop2.cfg
There are many versions of asterisk where chanspy is broken in different parts, on some versions whisper does not work reliably or at all. I cannot tell if your version is broken or not. It is always advisable to run the latest asterisk version.
FOP2 does not care *at all* about your DAHDI configuration. It only cares about device/channel names. It monitors status based on those names only. To figure things out, you will have to first see what names are configured for trunk buttons in FOP2 (taken from the FreePBX autoconfiguration), you can do so by running:
/usr/local/fop2/autoconfig-buttons-freepbx.sh
or in Elastix 2.3:
/etc/asterisk/fop2/autoconfig-buttons-freepbx.sh
Inspect the output, look for the trunk definitions, specially the name in Brackets, something like
[ZAP/1]
type=trunk
label=Zap 1
channel=DAHDI/1
...
etc,
notice that you have the name in brackets, and also the channel fields. FOP2 will match if there is an active channel name in asterisk that matches either, to know the channel names as seen by Asterisk:
asterisk -rx "core show channels"
FreePBX has an odd naming convention for trunks, not really odd but that makes it a little bit more involved or difficult than extensions, they use the group modifiers in the name. So You will probably see [ZAP/g0] in the fop2 button definition. That will never match, as the g is a modified, not part of the channel name, that is why you have those extra channel fields in the button definition, to add new or different channels to monitor.
If in "core show channels" you see DAHDI/2, then be sure your trunk button in fop2 has also DAHDI/2 on the channel field. You can set those by specifying the correct range in the fop2 buttons page in fop2admin, if its only one channel, try to specify 2-2 (for example).
Best regards,
Thanks for your reply.
I already tried what you suggested and using the channel names that are shown on 'core show chanels' does not make any difference.
I just tried the option 'autoconfig-buttons-freepbx.sh' and these are the results (see below results for the DAHDI trunk buttons only - in tyhe order thay appear). It looks like that for some reason the trunk buttons get several channels assigned automatically.
Any suggestion on how to correct this?
[ZAP/2]
type=trunk
label=ZAP/2
queuecontext=from-internal
privacy=none
email=splitme-2
channel=DAHDI/1
channel=ZAP/1
channel=DAHDI/2
channel=ZAP/2
rtmp=0
[ZAP/1]
type=trunk
label=ZAP/1
queuecontext=from-internal
privacy=none
email=splitme- DAHDI/1
seq: invalid floating point argument: DAHDI/1
Try `seq --help' for more information.
rtmp=0
[ZAP/3]
type=trunk
label=ZAP/3
queuecontext=from-internal
privacy=none
email=splitme-3
channel=DAHDI/1
channel=ZAP/1
channel=DAHDI/2
channel=ZAP/2
channel=DAHDI/3
channel=ZAP/3
rtmp=0
[ZAP/4]
type=trunk
label=ZAP/4
queuecontext=from-internal
privacy=none
email=splitme-4
channel=DAHDI/1
channel=ZAP/1
channel=DAHDI/2
channel=ZAP/2
channel=DAHDI/3
channel=ZAP/3
channel=DAHDI/4
channel=ZAP/4
rtmp=0
Perhaps you have DAHDI/iX/1234 instead of DAHDI/X as channel names. In that case, please look at this post:
View Post 1243
See 'core show channels' result below with two calls going on...
EMS*CLI> core show channels
Channel Location State Application(Data)
DAHDI/5-1 (None) Up AppDial((Outgoing Line))
IAX2/260-324 s@macro-dialout-trun Up Dial(DAHDI/5/04abcdefgh|300|TW
SIP/211-0925cba0 (None) Up AppDial((Outgoing Line))
DAHDI/1-1 s@macro-dial:7 Up Dial(SIP/201&SIP/211&SIP/212&S
4 active channels
2 active calls
Go to fop2 buttons and leave the channels field empty for ZAP 1,2,3 and 4
Also, your core show channels shows a DAHDI/5, but you pasted only 1,2,3,4 ?
FOP2 logic is *dead* simple
if Channel name matches, it will work, if not, it won't.
If you have in your button configuration:
[DAHDI/1]
or
[ZAP/1]
channel=DADHI/1
And core show channels displays:
DAHDI/5
Then it won't work! You want to monitor A but you are getting B. So, fix your button configuration so you see A and it will work. Upadte fop2 buttons until the output from autoconfig-buttons-freepbx.sh matches the channel name you see in core show channels. You should also avoid having the same channel monitored in multiple buttons, that will generate issues. Do not add 1-4 in all four dahdi channels, only one of them will work in that case.
Best regards,
Creo que antier te envié un reply en el que mencioné otro equipo y una configuración distinta, el cual tiene instalada una Openvox 100P. En caso de que sí la hayas recibido, peuedes incluirla en el post completo para seguirle el hilo a todo correctamente.
Según tu última respuesta es claro que estás mezclando info de los dos sistemas de los cuales he posteado en el mismo post.
Realmente nos ha parecido muy bueno el producto y con excelente presentación. Sin embargo la existencia de ciertos errores tiene un poco descontentos a nuestros clientes ya que ellos necesitan poder usar correctamente todas las funciones que se ofrecen y están "disponibles" para ellos poder usar en el programa.
Agradeceríamos enormemente que por favor nos ayudaras a corregirlas. Si es posible sería excelente si pudieras concretar algun momento en el que nos puedas colaborar remotamente y yo poder simular las llamadas si es necesario.
Los 3 problemas que tenemos son:
1. No poder usar el whisper mode en una maquina de nuestra oficina.
2. No poder mostrar los dahdi trunks correctamente en botones independientes. Elastix 1.6 y 2.3.
3. Cuando se parquean llamadas, es posible hacerlo solo en 2.3 y no en 1.6. En 2.3 luego de parquear la llamada no es posible volverla a contestar.
Gracias
Juan
Permiteme discrepar. Ninguno de los temas que mencionas son ERRORES de FOP2, sino problemas de configuración o problemas con Asterisk mismo.
No hay ningún problema, pero ten en cuenta que el soporte remoto tiene un costo, las tarifas están en http://www.fop2.com/buy.php. Si me encuentras en la ayuda en línea es posible que te ayude por chat sin necesidad de ingresar a tu sistema, y de paso aprenderás a configurar correctamente el producto. Ahora, si prefieres que ingresemos de forma remota para configurar tus equipos, puedes comprar las horas que creas necesarias para hacerlo.
FOP2 es un "centro de comandos". Cuando quieres hacer whisper, le envía a Asterisk la instrucción para iniciar chanspy con la opción "w". Esta es TODA su responsabilidad. Si a partir de entonces, Asterisk explota, entonces el error es de Asterisk, no de FOP2. Ahora bien, si FOP2 envía una instrucción equivocada, entonces si es problema de FOP2 que se puede corregir o bien derivado de una mala configuración.
Este es un problema de configuración, ya he mencionado infinidad de veces como configurar correctamente, o bien como modificar el script de autoconfiguración para incluir los DAHDI/i. Esto último si podría decirse que es un problema del FOP2 que es facilmente solucionable agregando UNA linea a un script, sin embargo no es tu problema por lo que me comentas.
Podría ser un problema de configuración o bien de versionado de Asterisk. Asegurate de crear los contextos override que requiere el fop2:
/usr/local/fop2/generate_override_contexts.pl -w
Esto es importante porque crea el contexto especial para poder parquear desde FOP2. Lamentablemente PARK y AMI (la interfaz que usa el FOP2) no se llevan bien, por una sencilla razón, cuando se hace desde AMI *no existe* un canal de origen (al cual poder devolver el llamado).
Si el foro no te sirve, te repito que está la ayuda en línea disponible.
Saludos,