Que Asterisk haga sonar el tono de ocupado?

476 views
Skip to first unread message

pep...@gmail.com

unread,
Dec 2, 2013, 6:04:46 AM12/2/13
to aster...@googlegroups.com
Buenas!  Tengo unas dudillas del busy tone que no veo por el foro.

Estoy con Asterisk 11.5 y teléfonos Cisco SPA504 y Grandstream.

Si llamo a una extensión ocupada la llamada se cuelga inmediatamente sin sonar tono de ocupado. En la pantalla del teléfono sí aparece Busy pero la gente se guía por el sonido del teléfono y no mirando la pantalla.

Así que he controlado el tema del DIALSTATUS y he puesto el playtones(Busy), pero ese comando necesita antes un Answer(), así que en el CDR no aparece como llamada BUSY, sino "Answered".  ¿Hay algún workaround para esto? Por ejemplo, que sea el propio teléfono el que haga sonar el busytone cuando detecte el comando SIP correspondiente y nos olvidemos de controlar el DIALSTATUS.

Y segunda pregunta sobre el busytone. Tengo activada la transferencia atendida. Persona 'A' llama desde fuera por RDSI y llega a un gateway RDSI conectado al Asterisk (sin tarjetas PCI internas) y lo coge empleado 'B'.
'B' comienza la attended transfer llamando al empleado 'C'  y resulta que 'C' ya está hablando. El Asterisk, sin aviso de ningún tipo, conecta a 'A' y 'B' de nuevo. Así que el empleado B se queda sorprendido porque no sabe por qué está hablando de nuevo con 'A'.  Se cree que no funciona la transferencia.

Le puse también lo de controlar el DIALSTATUS (a través de una macro) para que le suene el busytone, pero al hacer attended transfer no se ejecuta nunca esa macro.
En vez de una macro, ¿sería mejor tratando la extensión "h" ?




[macro-estadohangup]
 exten
=> s,1,GotoIf($[${ISNULL(${DIALSTATUS})}]?2:rc-${DIALSTATUS},1)
  exten
=> s,2,Set(RC=${IF($[${ISNULL(${HANGUPCAUSE})}]?0:${HANGUPCAUSE})})
  exten
=> s,3,Goto(rc-${RC},1)
  exten
=> s,4,Hangup(${RC})
  exten
=> i,1,Set(RC=0)
  exten
=> i,2,Goto(s,4)

 
; Convierte el DIALSTATUS al HANGUPCAUSE
  exten
=> rc-BUSY,1,Playtones(busy)
  exten
=> rc-BUSY,n,Answer()
  exten
=> rc-BUSY,n,Set(RC=17)
  exten => rc-BUSY,n,Goto(s,4)

  exten
=> rc-ANSWER,1,....
  exten
=> rc-CANCEL,1,....
  exten
=> rc-CONGESTION,1,....
  exten
=> rc-CHANUNAVAIL,1,....
       
....




Gracias.




Jose Baez

unread,
Dec 2, 2013, 6:18:03 AM12/2/13
to aster...@googlegroups.com
Se me fue el dedillo al hacer copypastes y limpiar un poco el código. Las sentencias del rc-BUSY son:

exten => rc-BUSY,1,Answer()
  exten => rc-BUSY,n,Playtones(busy)
  exten => rc-BUSY,n,Set(RC=17)
  exten => rc-BUSY,n,Goto(s,4)





2013/12/2 <pep...@gmail.com>

--
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 a un tema del grupo "asterisk-es" de Grupos de Google.
Para anular la suscripción a este tema, visita https://groups.google.com/d/topic/asterisk-es/l2NSiohgjgo/unsubscribe. Para anular la suscripción a este grupo y todos sus temas, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/asterisk-es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.

Carlos Rojas

unread,
Dec 25, 2013, 11:02:16 PM12/25/13
to aster...@googlegroups.com
Hola Amigo,

Por que no usas Congestion()  ??

exten => rc-BUSY,1,Answer()
  exten => rc-BUSY,n,Congestion()
  exten => rc-BUSY,n,Set(RC=17)
  exten => rc-BUSY,n,Goto(s,4)


2013/12/2 Jose Baez <pep...@gmail.com>
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a asterisk-es...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages