Pasar Variable DIALSTATUS con la accion Originate del managerAPI

454 views
Skip to first unread message

Gonzalo Marcote Peña

unread,
Dec 26, 2006, 6:02:30 AM12/26/06
to Asterisk spanish group
Hola gente,
Tengo el siguiente problema. Necesito generar automáticamente una llamanada con la ACTION: Oroginate del manager API. Una vez que se genera la llamada, lo mando al context incoming y quiero que se haga una cosa u otra depende de si el número al que hemos originado la llamada, comunica, ha contestado o no. Lo estoy intentado con la variable DIALSTATUS, pero parece que el manager no me pasa esta variable al Dialplan. Hago esto en el manager:

Action: Originate
Channel: CAPI/ISDN1/XXXXXXXXX
Context: incoming
Exten: s
Priority: 1
Callerid: XXXXXXXXX
Variable: ${DIALSTATUS}
Timeout: 20000

y en el Dialplan:

exten => s,1,Answer()
exten => s,n,Goto(s-$[${DIALSTATUS}],1)
exten => s-ANSWER,1,Haz tal
exten => s-CONGESTION,1,Haz cual
exten => s-CANCEL,1,Haz tal
exten => s-BUSY,1,Haz cual
exten => s-CHANUNAVAIL,1,Hangup()

El problema es que no pasa la variable DIALSATTUS. En el CLI> me sale vacia
¿Sabéis como puedo pasarla?
Muchas gracias y Felices fiestas

Elio Rojano

unread,
Dec 26, 2006, 8:12:05 AM12/26/06
to aster...@googlegroups.com
La variable DIALSTATUS se crea una vez que se ha ejecutado el comando Dial, si no se ejecuta, no hay variable.


2006/12/26, Gonzalo Marcote Peña < gonzalo...@gmail.com>:

Guillermo Prado Obando

unread,
Dec 26, 2006, 8:50:39 AM12/26/06
to aster...@googlegroups.com
En efecto, como dice eliano, el parámetro variables, es para pasar al dial plan, variables propias.

2006/12/26, Elio Rojano <hel...@gmail.com>:



--
Atentamente,


Guillermo Prado Obando.
Bogotá D.C Colombia.
Asesor en Tecnología.

izan

unread,
Dec 27, 2006, 9:04:22 AM12/27/06
to asterisk-es
Entiendo... : (
Me encuentro con que manager API es un poco limitado para lo que quiero
hacer.
¿Se os ocure alguna manera de que asterisk inicie una llamada a una
cola?
O que inicie una llamada a un cjannel pero que luego puedo jugar con
ella depende de si ha tenido éxito o no.
Buf me estoy estrujando la cabeza pero no veo nada que lo pueda hacer
Porque en las "manager actions", no hay nada parecido. (ni en el
asterisk 1.4 con "manager show commands").
Gracias!

Julian J. M.

unread,
Dec 27, 2006, 9:11:03 AM12/27/06
to aster...@googlegroups.com
Usa canales Local. Dan mucho juego. El /n del final es necesario en la
mayoría de los casos.
http://www.voip-info.org/wiki/index.php?page=Asterisk+local+channels

Channel: Local/123@contexto/n


Y luego en extensions.conf:

[contexto]
exten => _XXX,1,Dial(SIP/itsp/${EXTEN})
exten => _XXX,2,goto(s-${DIALSTATUS})

exten => s-BUSY,1,NoOp(Estaba ocupado)

Julian J. M:

Reply all
Reply to author
Forward
0 new messages