RE: [Asterisk-ES] Call-pickup

470 views
Skip to first unread message

Angel Elena

unread,
May 17, 2017, 4:43:58 PM5/17/17
to aster...@googlegroups.com

me respondo a mí mismo.

Finalmente, presionado por el cliente y ante la "imposibilidad" de migrar de forma immediata el asterisk  a otra solución, he tenido que hacer una "ÑAPA" MONUMENTAL para salir del paso.

Cuando haces un *8 con las features, si no encuentra una llamada en el mismo callgroup/ pickupgroup y depende de la alineación de los planetas, captura el siguiente canal que esté en "RINGING".... es bastante triste, pero sí.

También se comporta de la misma manera, cuando haces un pickup dirigido:

exten => _*8.,1,Noop(Intento de PICKUP ${EXTEN:2} POR ${CALLERID(num)})
exten => _*8.,n,SET(GLOBAL(PICKUPMARK)=${EXTEN:2})
exten => _*8.,n,Pickup(${EXTEN:2}@PICKUPMARK)

Si no encuentra nada, salta un aviso de "zombie channel" y captura el siguiente que esté en Ringing..... es como para cortarse las venas o dejárselas largas.... a parte de que, el número máximo de callgroups / pickupgroups es 64.

Al lío por si le interesa a alguien más......  tengo un cliente donde hay bastantes departamentos y por razones "obvias" cada departamente sólo puede / debe capturar sus llamadas del grupo.

Tengo en una base de datos, las extensiones con el callgroup al que corresponden y cada departamento tiene sus DDI directos:

bbdd

extension | callgroup | departamento
------------------------------------
1001      | 1         | produccion
1002      | 1         | produccion
1003      | 1         | produccion
1004      | 1         | produccion
1101      | 2         | logistica
1102      | 2         | logistica
1103      | 2         | logistica
1201      | 3         | marketing
1202      | 3         | marketing
1203      | 3         | marketing

Y ahora la "ÑAPA" en el dialplan

exten => *8,1,NoOP(... funcion de pickup_ñapa .....)
exten => *8,n,Set(departamento=produccion)
exten => *8,n,Set(extensioquelahace=${CALLERID(num)})
exten => *8,n,System(/var/lib/asterisk/agi-bin/captura.sh ${departamento} ${extensioquelahace})
exten => *8,n,Set(resultado=${SHELL(/var/lib/asterisk/agi-bin/capturar_${departamento}.txt):0:-1})
exten => *8,n,NoOP(... el resultado es ${resultado} ............)
exten => *8,n,SET(__PICKUPMARK=${resultado})
exten => *8,n,Pickup(${resultado}@PICKUPMARK)
exten => *8,n,Hangup


la idea es, un script que saca las extensiones de cada departamento, excepto la que intenta hacer el pickup y hacer un 'core show channels concise' para ver los canales activos..... y hacer el pickup de la primera coincidéncia.... sí, ya sé... ñapa brutal :(

Aquí el script super ñapa:


#!/bin/bash

# ########################
# ### by craem ###########
# ########################
# ########################
# ### 16-05-2017 #########

departamento=$1
extensionquelohace=$2
user=user
password=password
database=asterisk
resultado=""
result=""
temporal=""
extensiones=""
temp_extension=""
i=1
filename=""
linea=""
line=""

function leerSQL(){
                        echo "---- captura llamadas ------------------------------------------------------------"
                        echo "---- el departamento es $departamento i qui la fa es $extensionquelohace----------"
                        asterisk -rx 'core show channels concise' > /var/lib/asterisk/agi-bin/captura_$departamento.txt
                        echo "-----------------------------------------------------------"
                        echo "---- llegim dades del SQL ----------------------------------"
                        echo "---- mirem les extensions i fem llista ---------------------"
                        resultado=($(mysql $database -u $user -p$password<<<"select count(extension) as total from callerid where departamento='$departamento'"))
                        temporal=${resultado[1]}
                        echo " el valor de resultado es $temporal "
                        echo "------------------------------------------------------------"
                        echo "--- generamos el fichero de extensions ---------------------"
                        filename=extensions_$departamento.txt
                        extensiones=($(mysql $database -u $user -p$password<<<"select extension from extensiones where departamento='$departamento'"))
                        touch /var/lib/asterisk/agi-bin/extensions_$departamento.txt
                        for((i=1;i<=temporal;i+=1)); do
                         temp_extension=${extensiones[i]}
                         if [ $temp_extension != $extensionquelohace ]
                          then
                           echo ${extensiones[i]} >> /var/lib/asterisk/agi-bin/extensions_$departamento.txt
                          fi
                        done
                        echo "--- ara llegim el ficher i mirem si hi ha una trucada dintre ----------"
                        while read linea
                         do
                                echo "--------------------------------"
                                echo "----- valor : $linea -----------"
                                grep -o "$linea" /var/lib/asterisk/agi-bin/captura_$departamento.txt > /var/lib/asterisk/agi-bin/temp_$departamento.txt
                                echo "-- ara provem si hi ha una trucada que concideix -----"
                                echo ""
                                line=$(head -n 1 /var/lib/asterisk/agi-bin/temp_$departamento.txt)
                                echo "--- ${line} es com ${linea} ------"

                                if [[ $line == $linea ]]
                                  then
                                    echo "#! /bin/bash" > /var/lib/asterisk/agi-bin/capturar_$departamento.txt
                                    echo "echo '$line'" >> /var/lib/asterisk/agi-bin/capturar_$departamento.txt
                                    chmod +x capturar_$departamento.txt
                                    break      
                                   fi
                         done < $filename
                chmod +x /var/lib/asterisk/agi-bin/capturar_$departamento.txt

                }
leerSQL


-----


El dato importante.... si hacemos el pickup

exten => _*8.,n,SET(GLOBAL(PICKUPMARK)=${resultado})

seteando la extensión obtenida en el script, falla y hace lo mismo, pero si heredamos:

exten => *8,n,SET(__PICKUPMARK=${resultado})


Funciona de manera correcta.....


No tengo palabras.... cosas tan básicas como esta, deberían de funcionar bien.













--------------------------------
Ángel Elena Medina       _o)
cr...@craem.net          / \\
http://blog.craem.net  _(___V
@craem_
--------------------------------

-----Mensaje original-----
De:    Angel Elena <cr...@craem.net>
Enviado:    Jue 04-05-2017 14:01
Asunto:    [Asterisk-ES] Call-pickup
Para:    asterisk-es <aster...@googlegroups.com>;
> Hola a la lista.
>
>
> Tengo un asterisk 11 cert sobre una debian.
>
> está en una empresa donde hay varios departamentos y por temas obvios, quieren
> tener grupos de captura por cada departamento.... tengo configurado así las
> extensiones:
>
> [110]
> defaultuser = 110
> callerid    = "110" <110>
> secret      = mipaswordchachi
> mailbox     = 100
> Callgroup   = 1
> pickupgroup = 1
>
> [111]
> defaultuser = 111
> callerid    = "111" <111>
> secret      = mipaswordchachi
> mailbox     = 100
> Callgroup   = 1
> pickupgroup = 1
>
> [210]
> defaultuser = 210
> callerid    = "210" <210>
> secret      = mipaswordchachi
> mailbox     = 200
> Callgroup   = 2
> pickupgroup = 2
>
> [310]
> defaultuser = 310
> callerid    = "310" <310>
> secret      = mipaswordchachi
> mailbox     = 200
> Callgroup   = 3
> pickupgroup = 3
>
>
> .
> .
> .
> .
> .
>
> y así hasta 30 grupos.
>
>
>
> luego, en el extensions.conf, tengo definido:
>
> exten => _*8.,1,Noop(Intento de PICKUP ${EXTEN:2} POR ${CALLERID(num)})
> exten => _*8.,n,SET(GLOBAL(PICKUPMARK)=${EXTEN:2})
> exten => _*8.,n,Pickup(${EXTEN:2}@PICKUPMARK)
>
>
> pero, a su vez, en el features.conf
>
> pickupexten = *8
>
>
> Se supone, que si una del grupo 3 hace *8 debería de capturar solamente las
> llamadas que estén en ringing con el grupo 3.....
>
> más lejos de la realidad es que, depende de los planetas o lo que sea o que yo
> lo he hecho mal, a véces capturar llamadas de otros grupos; yo veo en el log
> como salta el Noop(Intento de PICKUP ${EXTEN:2} POR ${CALLERID(num)})
>
> Creo que si activo el indications, el *8 del extensions.conf no debería de
> ir... ¿ correcto ?? no se configuran así los grupos de captura ?
>
>
>
>
>
>
>
>
>
>
>
>
>
> --------------------------------
> Ángel Elena Medina       _o)
> cr...@craem.net          / \\
> http://blog.craem.net  _(___V
> @craem_
> --------------------------------
>
>
> --
> Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org
> <http://www.asterisk-es.org> )
> Normas de la lista Asterisk-ES:
> http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
> <http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es>
> ---
> Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de
> Grupos de Google.
> Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes,
> envía un correo electrónico a asterisk-es...@googlegroups.com
> <mailto:asterisk-es...@googlegroups.com> .
> Para publicar en este grupo, envía un correo electrónico a
> aster...@googlegroups.com <mailto:aster...@googlegroups.com> .
> Visita este grupo en https://groups.google.com/group/asterisk-es.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>

Fernando Villares

unread,
May 17, 2017, 5:26:50 PM5/17/17
to aster...@googlegroups.com
que version de * es???


> Para publicar en este grupo, envía un correo electrónico a


> Visita este grupo en https://groups.google.com/group/asterisk-es.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>

--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.

Angel Elena

unread,
May 17, 2017, 5:33:23 PM5/17/17
to Fernando Villares, aster...@googlegroups.com
11.6 certified



Enviado desde mi smartphone Samsung Galaxy.


-------- Mensaje original --------
De: Fernando Villares <fvil...@gmail.com>
Fecha: 17/5/17 23:28 (GMT+01:00)
Asunto: Re: [Asterisk-ES] Call-pickup
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es...@googlegroups.com.

Andres Lavariega

unread,
May 18, 2017, 10:04:59 AM5/18/17
to asterisk-es
Que bonito script; pero para jalar una llamada solo necesitas hacerlo con el pickup de asterisk y configurar los grupos.


quizas te faltaba agregar en tu Dial plan:

exten => _**.,1,Noop(Jalando llamada)
exten => _**.,n,Noop(exten ${EXTEN}  )
exten => _**.,n,Pickup(${EXTEN:2}&${EXTEN:2}@ext-local&${EXTEN:2}@from-internal&${EXTEN:2}@from-internal-xfer&${EXTEN:2}@from-did-direct&LC-${EXTEN:2}@from-internal&LC-${EXTEN:2}@from-internal-xfer&FMPR-${EXTEN:2}@from-internal&FMPR-${EXTEN:2}@from-internal-xfer&FMPR-${EXTEN:2}@from-did-direct&${EXTEN:2}@Locales-CelularesTodos-Nacional&${EXTEN:2}@Locales&${EXTEN:2}@Locales-Nacional&${EXTEN:2}@Locales-Celulareslocal&${EXTEN:2}@Locales-CelularesNacional&${EXTEN:2}@Locales-CelularesTodos&${EXTEN:2}@Locales-CelularesTodos-Nacional-Internacional)

Fernando Villares

unread,
May 18, 2017, 10:43:49 AM5/18/17
to aster...@googlegroups.com
mepa que no leiste bien ...el tema es q asterisk solo soportahasta 64 grupos de capturar nativos...y esta empresa tiene mas deptos que esos 64!!!!!!! entonces debe hacer la ñapa para solventar ese problema de diseño


--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.

Angel Elena

unread,
May 18, 2017, 11:38:37 AM5/18/17
to aster...@googlegroups.com

a ver....


tenga o no 64 grupos de pickup y no sé si me he explicado bien antes.


El comportamiento de asterisk, en su versión 11.6-cert es el siguiente:


tengo todos los pìckup groups / pickup calls correctamente configurados, o eso creo yo:



[110]
defaultuser = 110
callerid    = "110" <110>
secret      = mipaswordchachi
mailbox     = 100
Callgroup   = 1
pickupgroup = 1

[111]
defaultuser = 111
callerid    = "111" <111>
secret      = mipaswordchachi
mailbox     = 100
Callgroup   = 1
pickupgroup = 1

[210]
defaultuser = 210
callerid    = "210" <210>
secret      = mipaswordchachi
mailbox     = 200
Callgroup   = 2
pickupgroup = 2



Esta pbx suele tener unas 30/40 llamadas concurrentes, con unas 600 extensiones, aprox. y de media, pueden hacer unos 200 pickups diarios.

Por el motivo 'x' que sea, con la feature pickup, de esos 200, unos 20-30 se capturan mal, con el consiguiente cabreo del cliente.

No es que no haga el pickup.... lo que suele ocurrir es que, de un departamento, 3 o 4 personas hacen el pickup en el mismo momento y en función de las estrellas / constelaciones /loquesea, al hacer el pickup, el canal está como "zombie-channel" y captura el siguiente en "ringing", sea del grupo que sea.... y su comportamiento debería de ser no capturar nada si no está en tu pickupgroup.






--------------------------------
Ángel Elena Medina       _o)
cr...@craem.net          / \\
http://blog.craem.net  _(___V
@craem_
--------------------------------

-----Mensaje original-----

De:    Andres Lavariega <andresl...@gmail.com>
Enviado:    Jue 18-05-2017 16:06
Asunto:    Re: [Asterisk-ES] Call-pickup
Para:    asterisk-es <aster...@googlegroups.com>;

> Que bonito script; pero para jalar una llamada solo necesitas hacerlo con el
> pickup de asterisk y configurar los grupos.
>
>
> quizas te faltaba agregar en tu Dial plan:
>
> exten => _**.,1,Noop(Jalando llamada)
> exten => _**.,n,Noop(exten ${EXTEN}  )
> exten =>
> _**.,n,Pickup(${EXTEN:2}&${EXTEN:2}@ext-local&${EXTEN:2}@from-internal&${EXTEN:2
> }@from-internal-xfer&${EXTEN:2}@from-did-direct&LC-${EXTEN:2}@from-internal&LC-$
> {EXTEN:2}@from-internal-xfer&FMPR-${EXTEN:2}@from-internal&FMPR-${EXTEN:2}@from-
> internal-xfer&FMPR-${EXTEN:2}@from-did-direct&${EXTEN:2}@Locales-CelularesTodos-
> Nacional&${EXTEN:2}@Locales&${EXTEN:2}@Locales-Nacional&${EXTEN:2}@Locales-Celul
> areslocal&${EXTEN:2}@Locales-CelularesNacional&${EXTEN:2}@Locales-CelularesTodos
> &${EXTEN:2}@Locales-CelularesTodos-Nacional-Internacional)
>
> --
> Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org


> Normas de la lista Asterisk-ES:
> http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
> <http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es>
> ---
> Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de
> Grupos de Google.
> Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes,

> envía un correo electrónico a asterisk-es...@googlegroups.com
> <mailto:asterisk-es...@googlegroups.com> .


> Para publicar en este grupo, envía un correo electrónico a

Fernando Villares

unread,
May 18, 2017, 11:56:12 AM5/18/17
to aster...@googlegroups.com
si igual ya es todo deprecated asi q te toca si o si actualizar porque no tiene mas soporte hace 6 meses


> Para publicar en este grupo, envía un correo electrónico a


> Visita este grupo en https://groups.google.com/group/asterisk-es.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>

--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.

Miguel Alberto Sanz Pardo

unread,
May 18, 2017, 12:06:49 PM5/18/17
to asterisk-es
Hola Angel,

Si te srive de algo yo tengo una instalación con Asterisk 11.21.2 con 450 teléfonos SCCP y 200 teléfonos SIP y unos 30 grupos de captura y nunca me han reportado ese tipo de problemas.
Y se dedican sobre todo a transferir y capturar. De hecho debido a las malditas capturas en dos pasos el contador de FD aumenta y tengo que hacer un service asterisk restart cada X dias

Angel Elena

unread,
May 18, 2017, 1:36:06 PM5/18/17
to Fernando Villares, aster...@googlegroups.com
Actualizar a 11.x última?? 

Tengo el chan sip modificado y volver a parchear todo sin garantías de que funcione correctamente...



Enviado desde mi smartphone Samsung Galaxy.


-------- Mensaje original --------
De: Fernando Villares <fvil...@gmail.com>
Fecha: 18/5/17 17:57 (GMT+01:00)
Asunto: Re: [Asterisk-ES] Call-pickup



si igual ya es todo deprecated asi q te toca si o si actualizar porque no tiene mas soporte hace 6 meses
El 18 de mayo de 2017, 12:38, Angel Elena <cr...@craem.net> escribió:

a ver....


tenga o no 64 grupos de pickup y no sé si me he explicado bien antes.


El comportamiento de asterisk, en su versión 11.6-cert es el siguiente:


tengo todos los pìckup groups / pickup calls correctamente configurados, o eso creo yo:

[110]
defaultuser = 110
callerid    = "110" <110>
secret      = mipaswordchachi
mailbox     = 100
Callgroup   = 1
pickupgroup = 1

[111]
defaultuser = 111
callerid    = "111" <111>
secret      = mipaswordchachi
mailbox     = 100
Callgroup   = 1
pickupgroup = 1

[210]
defaultuser = 210
callerid    = "210" <210>
secret      = mipaswordchachi
mailbox     = 200
Callgroup   = 2
pickupgroup = 2



Esta pbx suele tener unas 30/40 llamadas concurrentes, con unas 600 extensiones, aprox. y de media, pueden hacer unos 200 pickups diarios.

Por el motivo 'x' que sea, con la feature pickup, de esos 200, unos 20-30 se capturan mal, con el consiguiente cabreo del cliente.

No es que no haga el pickup.... lo que suele ocurrir es que, de un departamento, 3 o 4 personas hacen el pickup en el mismo momento y en función de las estrellas / constelaciones /loquesea, al hacer el pickup, el canal está como "zombie-channel" y captura el siguiente en "ringing", sea del grupo que sea.... y su comportamiento debería de ser no capturar nada si no está en tu pickupgroup.

--------------------------------
Ángel Elena Medina       _o)
cr...@craem.net          / \\
http://blog.craem.net  _(___V
@craem_
--------------------------------

-----Mensaje original-----

De:    Andres Lavariega <andresl...@gmail.com>
Enviado:    Jue 18-05-2017 16:06

Asunto:    Re: [Asterisk-ES] Call-pickup
Para:    asterisk-es <aster...@googlegroups.com>;

> Que bonito script; pero para jalar una llamada solo necesitas hacerlo con el
> pickup de asterisk y configurar los grupos.
>
>
> quizas te faltaba agregar en tu Dial plan:
>
> exten => _**.,1,Noop(Jalando llamada)
> exten => _**.,n,Noop(exten ${EXTEN}  )
> exten =>
> _**.,n,Pickup(${EXTEN:2}&${EXTEN:2}@ext-local&${EXTEN:2}@from-internal&${EXTEN:2
> }@from-internal-xfer&${EXTEN:2}@from-did-direct&LC-${EXTEN:2}@from-internal&LC-$
> {EXTEN:2}@from-internal-xfer&FMPR-${EXTEN:2}@from-internal&FMPR-${EXTEN:2}@from-
> internal-xfer&FMPR-${EXTEN:2}@from-did-direct&${EXTEN:2}@Locales-CelularesTodos-
> Nacional&${EXTEN:2}@Locales&${EXTEN:2}@Locales-Nacional&${EXTEN:2}@Locales-Celul
> areslocal&${EXTEN:2}@Locales-CelularesNacional&${EXTEN:2}@Locales-CelularesTodos
> &${EXTEN:2}@Locales-CelularesTodos-Nacional-Internacional)
>

> --
> Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org


> Normas de la lista Asterisk-ES:
> http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
> <http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es>
> ---
> Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de
> Grupos de Google.
> Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes,

> envía un correo electrónico a asterisk-es+unsubscribe@googlegroups.com

> <mailto:asterisk-es+unsub...@googlegroups.com> .
> Para publicar en este grupo, envía un correo electrónico a


> Visita este grupo en https://groups.google.com/group/asterisk-es.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>

--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.

Visita este grupo en https://groups.google.com/group/asterisk-es.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.

Angel Elena

unread,
May 18, 2017, 2:33:16 PM5/18/17
to aster...@googlegroups.com

Miguel, es captura dirigida o captura a ciegas?



--------------------------------
Ángel Elena Medina       _o)
cr...@craem.net          / \\
http://blog.craem.net  _(___V
@craem_
--------------------------------

-----Mensaje original-----

De:    Miguel Alberto Sanz Pardo <miguels...@gmail.com>
Enviado:    Jue 18-05-2017 18:08


Asunto:    Re: [Asterisk-ES] Call-pickup
Para:    asterisk-es <aster...@googlegroups.com>;

> --------------------------------
> Ángel Elena Medina       _o)
> cr...@craem.net          / \\

> http://blog.craem.net <http://blog.craem.net>   _(___V
> @craem_
> --------------------------------
>
> -----Mensaje original-----


> De:    Angel Elena <cr...@craem.net>
> Enviado:    Jue 04-05-2017 14:01

> Asunto:    [Asterisk-ES] Call-pickup
> Para:    asterisk-es <aster...@googlegroups.com>;

> > Hola a la lista.
> >
> >
> > Tengo un asterisk 11 cert sobre una debian.
> >
> > está en una empresa donde hay varios departamentos y por temas obvios,
> quieren
> > tener grupos de captura por cada departamento.... tengo configurado así las
> > extensiones:
> >

> > [110]
> > defaultuser = 110
> > callerid    = "110" <110>
> > secret      = mipaswordchachi
> > mailbox     = 100
> > Callgroup   = 1
> > pickupgroup = 1
> >
> > [111]
> > defaultuser = 111
> > callerid    = "111" <111>
> > secret      = mipaswordchachi
> > mailbox     = 100
> > Callgroup   = 1
> > pickupgroup = 1
> >
> > [210]
> > defaultuser = 210
> > callerid    = "210" <210>
> > secret      = mipaswordchachi
> > mailbox     = 200
> > Callgroup   = 2
> > pickupgroup = 2
> >

> > [310]
> > defaultuser = 310
> > callerid    = "310" <310>

> > secret      = mipaswordchachi
> > mailbox     = 200

> > Callgroup   = 3
> > pickupgroup = 3
> >
> >
> > .
> > .
> > .
> > .
> > .
> >
> > y así hasta 30 grupos.
> >
> >
> >
> > luego, en el extensions.conf, tengo definido:
> >
> > exten => _*8.,1,Noop(Intento de PICKUP ${EXTEN:2} POR ${CALLERID(num)})
> > exten => _*8.,n,SET(GLOBAL(PICKUPMARK)=${EXTEN:2})
> > exten => _*8.,n,Pickup(${EXTEN:2}@PICKUPMARK)
> >
> >
> > pero, a su vez, en el features.conf
> >
> > pickupexten = *8
> >
> >
> > Se supone, que si una del grupo 3 hace *8 debería de capturar solamente las
> > llamadas que estén en ringing con el grupo 3.....
> >
> > más lejos de la realidad es que, depende de los planetas o lo que sea o que
> yo
> > lo he hecho mal, a véces capturar llamadas de otros grupos; yo veo en el log
> > como salta el Noop(Intento de PICKUP ${EXTEN:2} POR ${CALLERID(num)})
> >
> > Creo que si activo el indications, el *8 del extensions.conf no debería de
> > ir... ¿ correcto ?? no se configuran así los grupos de captura ?
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >

> > --------------------------------
> > Ángel Elena Medina       _o)
> > cr...@craem.net          / \\

> > http://blog.craem.net <http://blog.craem.net>   _(___V
> > @craem_
> > --------------------------------
> >
> >

> > --
> > Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org
> <http://www.asterisk-es.org>
> > <http://www.asterisk-es.org <http://www.asterisk-es.org> > )
> > Normas de la lista Asterisk-ES:
> > http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
> <http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es>
> > <http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
> <http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es> >
> > ---
> > Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de
> > Grupos de Google.
> > Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes,

> > envía un correo electrónico a asterisk-es...@googlegroups.com
> > <mailto:asterisk-es...@googlegroups.com> .


> > Para publicar en este grupo, envía un correo electrónico a


> > Visita este grupo en https://groups.google.com/group/asterisk-es.
> > Para acceder a más opciones, visita https://groups.google.com/d/optout.
> >
>
> --

> Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org
> <http://www.asterisk-es.org> )
> Normas de la lista Asterisk-ES:
> http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
> <http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es>
> ---
> Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de
> Grupos de Google.
> Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes,

> envía un correo electrónico a asterisk-es...@googlegroups.com
> <mailto:asterisk-es...@googlegroups.com> .


> Para publicar en este grupo, envía un correo electrónico a

Raúl Alexis Betancor Santana

unread,
May 19, 2017, 3:39:21 AM5/19/17
to aster...@googlegroups.com
Fernando, daría igual ... pasa lo mismo en la 12, en la 13 ... y en la que quieras ... porque jamás han arreglado esa 'feature' de diseño de pickup.


> envía un correo electrónico a asterisk-es...@googlegroups.com
> <mailto:asterisk-es...@googlegroups.com> .


> Para publicar en este grupo, envía un correo electrónico a


> Visita este grupo en https://groups.google.com/group/asterisk-es.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>


--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
Normas de la lista Asterisk-ES: http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es...@googlegroups.com.

Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/asterisk-es.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
Normas de la lista Asterisk-ES: http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es...@googlegroups.com.

Raúl Alexis Betancor Santana

unread,
May 19, 2017, 3:42:12 AM5/19/17
to aster...@googlegroups.com
Captura al grupo ... si haces captura dirigida ... no 'coge canales de forma aleatoria'.

El comportamiento solo aparece si se hacen 'capturas al grupo'.

Es una 'feature' conocida hace muchooooooooooo tiempo. De hecho en FreePBX lo resolvieron copiandose de VoiceOne, y marcando toda llamada que entra o sale de un canal, haciendo luego el pickup sobre las marcas, no sobre chan_sip.



Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Message has been deleted
Message has been deleted

Miguel Alberto Sanz Pardo

unread,
May 19, 2017, 4:03:30 AM5/19/17
to asterisk-es
Hola Angel,

Con los terminales de CISCO que funcionan mediante SCCP que yo sepa hacen captura de grupo (a ciegas) pulsando el botón GPickup.

Con los terminales de Grandstream que funcionan mediante SIP tengo implementados ambos casos con los botones. Por una parte tengo implementado que al pulsar una tecla del teléfono la cual he llamado captura se envíe un DTMF igual a *8. Por otra parte cuando llega una llamada a alguien del grupo me aparece en el teléfono un botón en el que pone Captura y al pulsar envio un **+nºext:

; Mediante ** + nº extension
exten => _**XXXXX,1,Pickup(${EXTEN:2}@
from-internal-especiales)
same  => n,Pickup(${EXTEN:2}@from-internal-internacionales)
same  => n,Pickup(${EXTEN:2}@from-internal-moviles)
same  => n,Pickup(${EXTEN:2}@from-internal-nacionales)
same  => n,Pickup(${EXTEN:2}@from-internal-hospital)
same  => n,Pickup(${EXTEN:2}@from-pstn-remove-pattern)
same  => n,Hangup()

; Mediante *8
Activo en el features.conf pickupexten=*8

Y con los terminales CISCO 3905 (los cuales son SIP) tengo implementado algo de este estilo:
; Mediante el boton de GPickup del teléfono CISCO
exten => _[x]-cisco-serviceuri-gpickup-.,1,Pickup(${EXTEN:27}@from-internal-especiales)
same  => n,Pickup(${EXTEN:27}@from-internal-internacionales)
same  => n,Pickup(${EXTEN:27}@from-internal-moviles)
same  => n,Pickup(${EXTEN:27}@from-internal-nacionales)
same  => n,Pickup(${EXTEN:27}@from-internal-hospital)
same  => n,Pickup(${EXTEN:27}@from-pstn-remove-pattern)
same  => n,Hangup()

;Mediante el botón de Pickup del teléfono CISCO
exten => x-cisco-serviceuri-pickup,1,Pickup()
same => n,Hangup()


Nunca me han reportado este problema con esta config. lo cual no significa que ocurra.

Raúl Alexis Betancor Santana

unread,
May 19, 2017, 4:04:56 AM5/19/17
to aster...@googlegroups.com
Miguel, repasa lo que ha comentado Angel ... el usa los callgroups y pickupgroups de las extensiones ... no usa Pickup dirigidos, sino generales de grupo. Y es así donde las features de Asterisk se dan de morros con una implementación chapucera.

Como ya he comentado, en muchos PBXs enlatados, lo han resuelto de una manera muy elegante:

- La definición de los callgroup y pickupgroup NO usa dichos parámetros de Asterisk, sino que se hace en DB independiente de la APP
- Cada vez que una llamada se lanza o se recibe en una extensión, esta llamada 'SE MARCA' (con Set(PickupMark=${DB/${EXTEN}/callgroups}) sino recuerdo mal y además esto lo he puesto de memoria)
- Cuando se hace una captura dirigida ... 0 problema
- Cuando se hace una captura ciega a grupo, se hace buscando las marcas en los pickupgroups contextualizados

De esa manera, que es como lo debería de hacer el código nativo de Asterisk, es como lo han resuelto muchas 'latas'



De: "miguelsanzpardo" <miguels...@gmail.com>
Para: "asterisk-es" <aster...@googlegroups.com>
Enviados: Viernes, 19 de Mayo 2017 8:57:39
Asunto: Re: [Asterisk-ES] Call-pickup
Hola Angel,

Con los terminales de CISCO que funcionan mediante SCCP que yo sepa hacen captura de grupo (a ciegas) pulsando el botón GPickup.

Con los terminales de Grandstream que funcionan mediante SIP tengo implementados ambos casos con los botones. Por una parte tengo implementado que al pulsar una tecla del teléfono la cual he llamado captura se envíe un DTMF igual a *8. Por otra parte cuando llega una llamada a alguien del grupo me aparece en el teléfono un botón en el que pone Captura y al pulsar envio un **+nºext:

; Mediante ** + nº extension
exten => _**XXXXX,1,Pickup(${EXTEN:2}@
from-internal-especiales)
same  => n,Pickup(${EXTEN:2}@from-internal-internacionales)
same  => n,Pickup(${EXTEN:2}@from-internal-moviles)
same  => n,Pickup(${EXTEN:2}@from-internal-nacionales)
same  => n,Pickup(${EXTEN:2}@from-internal-hospital)
same  => n,Pickup(${EXTEN:2}@from-pstn-remove-pattern)
same  => n,Hangup()

; Mediante *8
exten => *8,1,Pickup()
same => n,Hangup()


Y con los terminales CISCO 3905 (los cuales son SIP) tengo implementado algo de este estilo:
; Mediante el boton de GPickup del teléfono CISCO
exten => _[x]-cisco-serviceuri-gpickup-.,1,Pickup(${EXTEN:27}@from-internal-especiales)
same  => n,Pickup(${EXTEN:27}@from-internal-internacionales)
same  => n,Pickup(${EXTEN:27}@from-internal-moviles)
same  => n,Pickup(${EXTEN:27}@from-internal-nacionales)
same  => n,Pickup(${EXTEN:27}@from-internal-hospital)
same  => n,Pickup(${EXTEN:27}@from-pstn-remove-pattern)
same  => n,Hangup()

;Mediante el botón de Pickup del teléfono CISCO
exten => x-cisco-serviceuri-pickup,1,Pickup()
same => n,Hangup()
El miércoles, 17 de mayo de 2017, 22:43:58 (UTC+2), craem escribió:

--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.

Miguel Alberto Sanz Pardo

unread,
May 19, 2017, 4:17:12 AM5/19/17
to asterisk-es
En FreePBX hay algo de este estilo en el extensions_additional.conf:

[app-pickup]
include => app-pickup-custom
exten => _**.,1,Macro(user-callerid,)
exten => _**.,n,Set(PICKUP_EXTEN=${AMPUSER})
exten => _**.,n,Pickup(${EXTEN:2}&${EXTEN:2}@PICKUPMARK)
exten => _**.,n,Hangup

exten => **10502,1,Macro(user-callerid,)
exten => **10502,n,Set(PICKUP_EXTEN=${AMPUSER})
exten => **10502,n,Pickup(10502&10502@PICKUPMARK&10500@from-internal&10500@from-internal-xfer&10500@ext-group)
exten => **10502,n,Hangup

En este caso por ejemplo tengo una extensión 10502 que pertenece a un grupo de salto llamado 10500 y a su vez su callgroup=31 y pickupgroup=31, al igual que el resto de extensiones que pertenecen al grupo de captura (las extensiones 10505, 10507, 10508 y 105550)

No obstante, yo no estoy usando esa parte del código, estoy usando el código que he reportado antes y por ahora no he tenido problemas. De hecho actualmente están capturando directamente pulsando *8 a través del pickupexten=*8 del features.conf. Raúl, entiendo que en mi caso el problema también aparecerá tarde o temprano si utilizo el pickupexten=*8 desde el features.conf, ¿cierto?



El miércoles, 17 de mayo de 2017, 22:43:58 (UTC+2), craem escribió:

Fernando Villares

unread,
May 19, 2017, 7:09:26 AM5/19/17
to aster...@googlegroups.com
Tendré q testear más obvio jamás estuve en ese escenario ni me funcionó mal el pickup


> Para publicar en este grupo, envía un correo electrónico a
> aster...@googlegroups.com <mailto:aster...@googlegroups.com> .
> Visita este grupo en https://groups.google.com/group/asterisk-es.
> Para acceder a más opciones, visita https://groups.google.com/d/optout.
>

--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages