Applicationmap

51 views
Skip to first unread message

Javivi

unread,
Feb 6, 2025, 4:50:29 AMFeb 6
to asterisk-es
Hola buenos días..

Estoy usando applicationmap del features para cuando una llamada entrante a una queue, el agente pueda pulsar un código y la llamada exterior se transfiere con una encuesta.

Funciona, pero el agente al pulsar el código, se queda en llamada, sin nadie. Se puede hacer de alguna forma que al pulsar el código, el agente cuelgue? Para evitar que deje la llamada descolgada y no reciba más llamadas de la queue....

Muchas gracias

Elio Rojano

unread,
Feb 8, 2025, 5:27:02 AMFeb 8
to aster...@googlegroups.com
Y no es mejor un applicationmap que haga un Transfer a un Local con la encuesta? 
Así la llamada es transferida y colgada automáticamente.


--
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 ver este debate, visita https://groups.google.com/d/msgid/asterisk-es/c1c5f60f-3c94-45b9-9884-d12cba6b685cn%40googlegroups.com.


--

Javivi

unread,
Feb 10, 2025, 4:14:49 AMFeb 10
to asterisk-es
Pues si, buena idea, voy a probarlo, gracias

Javivi

unread,
Feb 11, 2025, 3:32:03 AMFeb 11
to asterisk-es
Funciona. Gracias...
Lo único, tal como lo tengo, el código lo puede marcar tanto el agente (el que recibe la llamada) como el cliente (el que hace la llamada), y solo quiero que pueda marcarlo quien recibe la llamada (el agente).

En el features.conf tengo:

[applicationmap]
grabacion => *2,peer,ChannelRedirect(${CHANNEL},ext-transfer,1,1)

[myapgroup]
grabacion => *2

En el extension.conf:

[test_grabaciones]
exten => s,1,Set(__DYNAMIC_FEATURES=myapgroup)
  same => n,Queue(pruebas)
  same => n,HangUp()

[ext-transfer]
exten => 1,1,Answer()
  same => n,GoSub(survey,1,1)
  same => n,Hangup()

[survey]

exten => 1,1,NoOp("GRABACIONES")
  same => n,Wait(1)
  same => n(op1),Read(OP1,agent-user,1,s,,5)
  same => n,NoOP(${OP1})
  same => n,ExecIf($["${OP1}" == ""]?Goto(op1))
  same => n,HangUp()

exten => h,1,NoOP()
  same => n,NoOP(Numero origen = ${CALLERID(num)}, DDI marcado = ${DDI_MARCADO}, Opción marcada= ${OP1})
  same => n,HangUp()

[agentes]
exten => 1XX,1,Dial(${PJSIP_DIAL_CONTACTS(${EXTEN})},45)
  same => n,HangUp()

Pero pulse el código desde donde sea, me deja. He probado con todas las combinaciones en el features que he visto, tanto self, peer, self/caller.... Pero la única diferencia es que si marco el código desde el agente, reproduzco los mensajes en el cliente o al revés..

Como puedo "bloquear" para que el cliente no pueda marcar los códigos?

Muchas gracias

Elio Rojano

unread,
Feb 11, 2025, 5:56:31 AMFeb 11
to aster...@googlegroups.com
En la definición del applicationmap puedes definir en qué canal se ejecuta y (opcionalmente) Quién puede invocarlo.

Los parámetros son parecidos y a veces puede confundirse, pero puedes hacer que sólo lo ejecute quien recibe la llamada y que se ejecute en el llamante.


[applicationmap]
<FeatureName> = <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,<AppArguments>[,MOH_Class]]



Elio Rojano

unread,
Feb 11, 2025, 8:07:08 AMFeb 11
to aster...@googlegroups.com
Acabo de ver que, según la versión de Asterisk, han simplificado el "ActivatedBy" por ver quién tiene la variable DYNAMIC_FEATURES habilitado en su canal.

ActivatedBy is no longer honored.
The feature is activated by which channel DYNAMIC_FEATURES includes the feature is on.
Use a pre-dial handler to set different values for DYNAMIC_FEATURES on the channels.
Historic values are: "caller", "callee", and "both".

Javivi

unread,
Feb 17, 2025, 10:39:21 AMFeb 17
to asterisk-es
Voy a probar a ver..

Gracias Elio.

Reply all
Reply to author
Forward
0 new messages