Duda con la detección de causas colgado

153 views
Skip to first unread message

Miguel Alberto Sanz Pardo

unread,
Dec 2, 2015, 1:20:39 PM12/2/15
to asterisk-es
Hola buenas tardes,


Dispongo de 2 centralitas Asterisk conectadas entre sí mediante un trunk SIP y estoy haciendo unas pruebas generando llamadas mediante envíos de .call files.

.call file  ---->   Centralita A   <------ Trunk SIP ----> Centralita B

Desde la centralita A se generan los .call files y se realizan llamadas hacia la centralita B.

Me planteo la detección de 2 casuísticas:

- Casuística 1)
El .call file genera una llamada hacia una extensión que existe en la centralita B. Dicho call file tiene un Waittime de 30 segundos.
Si pasan 30 segundos y nadie descuelga por el CLI aparece algo del estilo:

Got SIP response 603 "Declined" reason (3) Remote end Ringing


- Casuística 2)
El .call file trata de generar una llamada hacia una extensión , pero dicha extensión no existe en la centralita B.En tal caso por el CLI aparece algo de este estilo:

Got SIP response 503 "Service unavailable" reason (8) Congestion (circuits busy)


En ambos casos defino en el contexto la extensión h, pero la llamada nunca llega a dicha extensión, puesto que realmente no llega a entrar al contexto. Por el CLI aparece algo del estilo:

 "Attempting call on SIP/trunk_to_ericsson/1100 for 1100@creacion-buzon:1 (Retry 1)"

Pero no llega a ejecutar :

[creacion-buzon]
exten => _1XXX,1,NoOp(Creacion de buzon de voz para la extension:${EXTEN})
...

Ni tampoco:
[creacion-buzon]
....
exten => h,1,NoOp(Extensión especial de colgado h)
same  => n,NoOp(CAUSA COLGADO: ${HANGUPCAUSE} )
same  => n,Gosub(ast_hangup_causes,hc-${HANGUPCAUSE},1)


¿Alguna idea de como poder detectar estas causas y además poder almacenarlas en una variable o algo por el estilo? 



un saludo y gracias por vuestra ayuda

Miguel Sanz 

Ricardo Peironcely

unread,
Dec 2, 2015, 1:28:19 PM12/2/15
to aster...@googlegroups.com
En vez de llamar a directamente al destino, llama a tu dialplan con un "local channel" y ya tendrás todo el control.


Un saludo / Best regards / С уважением

Ricardo Peironcely

--
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 anular 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 http://groups.google.com/group/asterisk-es.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Miguel Alberto Sanz Pardo

unread,
Dec 3, 2015, 11:16:37 AM12/3/15
to asterisk-es
Muchas gracias por el apunte Ricardo, en cuando pueda lo pruebo y te cuento.

Miguel Alberto Sanz Pardo

unread,
Dec 7, 2015, 9:19:55 AM12/7/15
to asterisk-es
Probado y funcionando, muchas gracias por la idea ;)



Publico un ejemplo de lo que me ha funcionado por si a alguien más le vale:

[creacion-buzon-intento]
exten => _1XXX,1,NoOp(Creacion de buzon de voz para la extension:${EXTEN})
same  => n,Dial(SIP/trunk_to_ericsson/${EXTEN},30)

exten => h,1,NoOp(Extensión especial de colgado h)
same  => n,NoOp(CAUSA COLGADO: ${HANGUPCAUSE} )


[creacion-buzon-password]
exten => _1XXX,1,NoOp(Esperando a que el password sea confirmado)
...
same  => n,Hangup(16)

1004.call
Channel: Local/1004@creacion-buzon-intento
CallerID: Buzon de voz <BDB>
WaitTime: 30
Context: creacion-buzon-password
Extension: 1004
Priority: 1
Reply all
Reply to author
Forward
0 new messages