Asterisk PBX 1.6.2.X y la captura de llamadas - Callgroup y Pickupgroup

Versión para impresiónSend by email

Una de las funcionalidades básicas brindadas por Asterisk PBX, es la posibilidad de capturar Llamadas. ¿Cómo funciona? Supongamos que esté timbrando una extensión de nuestra oficina. Si tenemos Asterisk oportunamente configurado, podremos capturar esa llamada desde otra extensión.

Un típico escenario para que la cosa quede más comprensible:

la Empresa de Fulano tiene tres departamento y una oficina de dirección. En cada departamento trabajan 3 personas y cada una de ellas tiene su extensión configurada en Asterisk:

Extensiones ventas:

1000  - 1001 - 1002

Extensiones soporte:

2000  - 2001 - 2002

Extensiones compras:

3000  - 3001 - 3002

Extensión oficina dirección:

4000

Queremos que cada trabajador de cada departamento pueda capturar las llamadas de los teléfonos del departamento en que trabaja y que desde la oficina de dirección se pueda capturar las llamadas de cualquier extensión de cualquier departamento. Para que esto sea posible tenemos que añadir dos parámetros en la configuración de cada extensión:

  • Callgroup
  • Pickupgroup

Con el primero se define a que grupo pertenece la extensión, con el segundo, de cuales grupos la extensión puede capturar las llamadas.

Abrimos el sip.conf y añadimos estos valores para cada extensión:

[1000]
callgroup=1
pickupgroup=1

[1001]
callgroup=1
pickupgroup=1

[1002]
callgroup=1
pickupgroup=1

[2000]
callgroup=2
pickupgroup=2

[2001]
callgroup=2
pickupgroup=2

[2002]
callgroup=2
pickupgroup=2

[3000]
callgroup=3
pickupgroup=3

[3001]
callgroup=3
pickupgroup=3

[3000]
callgroup=3
pickupgroup=3

[4000]
callgroup=4
pickupgroup=1,2,3,4

Guardamos los cambios. Ahora si timbra la extensión 1000 y nuestro compañero se ausentó, ¿cómo hago para capturar la llamada desde la extensión 1001 o 1002?

La secuencia de dígitos que tengo que marcar para capturar la llamada se define en el archivo features.conf en la siguiente línea:

pickupexten=*8

*8 es el valor predefinido.

Podemos controlar la configuración desde la consola de Asterisk con el siguiente comando:

CLI> features show

Builtin Feature           Default Current
---------------           ------- -------
Pickup                    *8      *8
Blind Transfer            #       #
Attended Transfer                 *2
One Touch Monitor                 *1
Disconnect Call           *       *0
Park Call                         *7
One Touch MixMonitor              *3

Dynamic Feature           Default Current
---------------           ------- -------
test1                     no def  *9

Feature Groups:
---------------
(none)

Call parking (Parking lot: default)
------------
Parking extension     :      700
Parking context       :      parkedcalls
Parked call extensions:      701-710

Ahora desde la extensión 1001, levanto el auricular y marco *8 y listo.

En muchos teléfonos SIP es posibles configurar el BLF para monitorear el estado de una extensión (libre, timbrando, hablando). De esta forma si quiero llamar una determinada extensión y la tengo monitoreada, lo único que tengo que hacer es hundir el botón asociado a la extensión. En algunas marcas de teléfonos, como por ejemplo los Yealink, además de poder llamar una extensión hundiendo el botón asociado a esa extensión, puedo capturar la llamada cuando el botón está indicando que la extensión está timbrando. Una imagen de una típica configuración de un Yealink T26:

yealink

Asocio al primer Botón disponible la extensión e indico que para capturar la llamada la secuencia de dígitos es *8 Ahora si veo que el LED del botón asociado a la extensión 1000 está parpadeando y quiero capturar esa llamada, hundo el botón y no más.

En un Aastra 67 55i la configuración se hace de esta forma: se entra en el pagina de administración del teléfono y se escoge el menú Basic settings –> Preferences. Casi al final de la pagina encontramos este bloque:

aastra

Lo configuramos como aparece en la imagen. Ahora configuramos el BLF para la extensión 1000 (menú Softkeys and XML):

aastra2

Si la extensión 1000 está timbrando, hundiendo el botón asociado a esa extensión, el teléfono llamará la extensión *81000. Como no hemos configurado dicha extensión en el plan de llamadas la captura no funcionará

Abrimos el archivo del dialplan:

nano /etc/asterisk/extensions.conf

y pegamos estas líneas en el contexto internas:

exten => *8XXXX,1,Pickup(${EXTEN:2})
same => n,Hangup

Guardamos los cambios y intentamos capturar la llamada. En la consola de Asterisk aparecerá:

-- Executing [*81000@phones:1] Pickup("SIP/1001-00000071", "1000") in new stack

La aplicación PickUP es la que nos permite capturar las llamadas.

La sinopsis de la aplicación:

  -= Info about application 'Pickup' =-

[Synopsis]
Directed extension call pickup.

[Description]
This application can pickup any ringing channel that is calling the specified
<extension>. If no <context> is specified, the current context will be used.
If you use the special string 'PICKUPMARK' for the context parameter, for
example 10@PICKUPMARK, this application tries to find a channel which has
defined a ${PICKUPMARK} channel variable with the same value as <extension>
(in this example, '10'). When no parameter is specified, the application will
pickup a channel matching the pickup group of the active channel.

[Syntax]
Pickup(extension[@context][&extension2[@context2][&...]])

[Arguments]
Not available

[See Also]
Not available

Eso es todo.

Comentarios

Captura

Hola,

Solo apuntar lo siguiente, parece ser que solo se permiten 64 grupos de captura en un Asterisk. No entiendo exactamente porqué esta limitación...pero si alguien sabe como solucionarla seria de agradecer... :)

Directed call pickup

Saludos. Alguien me podria ayudar. Tengo diferentes contextos configurados y el detalle es que la marcacion Directed Call Pickup (** + Ext), solo funciona con un contexto y no tengo idea porque funciona solo con uno, alguien por favor que me ayude para saber como le hago para que funcione con todo. De antemano mil gracias.

Distribuir contenido Distribuir contenido