DIALSTATUS call file

488 views
Skip to first unread message

wardialing

unread,
Sep 4, 2010, 7:19:01 PM9/4/10
to asterisk-es

Estimados, buen dia
Estoy lanzando llamadas via call files invocando al dialplan ... sin
embargo solo entra aqui(al dialplan) cuando la llamada se concreta;
Pero cuando el destino no responde nunca entra al dialplan

Como puedo tener el control de si la llamada es respondida o no ?, al
menos ese dato

Gracias

Ronald -

Saúl Ibarra Corretgé

unread,
Sep 4, 2010, 7:25:47 PM9/4/10
to aster...@googlegroups.com
2010/9/5 wardialing <wardi...@gmail.com>:

chan_local es tu amigo :-)

--
/Saúl
http://saghul.net | http://sipdoc.net

wardialing

unread,
Sep 4, 2010, 9:21:18 PM9/4/10
to asterisk-es

Efectivamente, ahora si me ingresa al dialplan con este .call:

Channel: LOCAL/200@interno/1
Context: interno
Extension: 221

sin embargo aun asi no puedo obtener el DIALSTATUS,
en mi dialplan tengo:

exten => 200,1,Dial(SIP/200,,T)
exten => 200,2,Goto(s-${DIALSTATUS},1)

exten => 221,1,Dial(SIP/200,,T)
exten => 221,2,Goto(s-${DIALSTATUS},1)

exten => s-NOANSWER,1,NoOP(NO-RESPONDE)
exten => s-CHANUNAVAIL,1,NoOp(NO-DISPONIBLE)
exten => s-BUSY,1,NoOp(OCUPADO)
exten => _s-.,1,NoOp(PLOP)

solo funciona cuando lanzo la llamada directa de una extensión a
otra... pero no desde el .call

Se podrá con .call ? o como puedo lograrlo ?

Gracias ..

Ronald -





NOTICE[12632]: pbx_spool.c:356 attempt_thread: Call failed to go
through, reason (3) Remote end Ringing

On 5 sep, 01:25, Saúl Ibarra Corretgé <sag...@gmail.com> wrote:
> 2010/9/5 wardialing <wardial...@gmail.com>:

Saúl Ibarra Corretgé

unread,
Sep 5, 2010, 6:49:21 AM9/5/10
to aster...@googlegroups.com
2010/9/5 wardialing <wardi...@gmail.com>:

>
> Efectivamente, ahora si me ingresa al dialplan con este .call:
>
> Channel: LOCAL/200@interno/1

Qué es este /1 ??

> Context: interno
> Extension: 221
>
> sin embargo aun asi no puedo obtener el DIALSTATUS,
> en mi dialplan tengo:
>
> exten => 200,1,Dial(SIP/200,,T)
> exten => 200,2,Goto(s-${DIALSTATUS},1)
>
> exten => 221,1,Dial(SIP/200,,T)
> exten => 221,2,Goto(s-${DIALSTATUS},1)
>
> exten => s-NOANSWER,1,NoOP(NO-RESPONDE)
> exten => s-CHANUNAVAIL,1,NoOp(NO-DISPONIBLE)
> exten => s-BUSY,1,NoOp(OCUPADO)
> exten => _s-.,1,NoOp(PLOP)
>
> solo funciona cuando lanzo la llamada directa de una extensión a
> otra... pero no desde el .call
>
> Se podrá con .call ? o como puedo lograrlo ?
>

Debería funcionar tal y como lo tienes, no se si ese /1 puede afectar
o hacer algo raro...

Ves que se ejecuta el dialplan cuando la llamada sale a la extensión 221?

Ronald Urbano

unread,
Sep 5, 2010, 9:44:47 PM9/5/10
to aster...@googlegroups.com
El día 5 de septiembre de 2010 05:49, Saúl Ibarra Corretgé
<sag...@gmail.com> escribió:

> 2010/9/5 wardialing <wardi...@gmail.com>:
>>
>> Efectivamente, ahora si me ingresa al dialplan con este .call:
>>
>> Channel: LOCAL/200@interno/1
>
> Qué es este /1 ??

Por ahí lo ví en un ejemplo .. supuestamente era la prioridad .. pero
ya lo quité ..

>
>> solo funciona cuando lanzo la llamada directa de una extensión a
>> otra... pero no desde el .call
>>
>> Se podrá con .call ? o como puedo lograrlo ?
>>
>
> Debería funcionar tal y como lo tienes, no se si ese /1 puede afectar
> o hacer algo raro...

ya quité el /1 porsiacaso.

>
> Ves que se ejecuta el dialplan cuando la llamada sale a la extensión 221?

Si, por ejemplo cuando el 200 no contesta me deberia salir el
s-NOANSWER .. pero no sale nada :

*CLI>
-- Attempting call on LOCAL/200@interno for 221@interno:1 (Retry 1)
-- Executing [200@interno:1] Dial("Local/200@interno-7390,2",
"SIP/200||T") in new stack
-- Called 200
-- SIP/200-00000067 is ringing
*CLI>
[Sep 5 20:38:53] NOTICE[24403]: pbx_spool.c:356 attempt_thread: Call


failed to go through, reason (3) Remote end Ringing

== Spawn extension (interno, 200, 1) exited non-zero on
'Local/200@interno-7390,2'

como veran no sale el el DIALSTATUS ...

que mas podria revisar ?


Gracias

Ronald -

Saúl Ibarra Corretgé

unread,
Sep 6, 2010, 1:58:50 AM9/6/10
to aster...@googlegroups.com
> Si, por ejemplo cuando el 200 no contesta me deberia salir el
> s-NOANSWER .. pero no sale nada :
>
> *CLI>
>    -- Attempting call on LOCAL/200@interno for 221@interno:1 (Retry 1)
>    -- Executing [200@interno:1] Dial("Local/200@interno-7390,2",
> "SIP/200||T") in new stack
>    -- Called 200
>    -- SIP/200-00000067 is ringing
> *CLI>
> [Sep  5 20:38:53] NOTICE[24403]: pbx_spool.c:356 attempt_thread: Call
> failed to go through, reason (3) Remote end Ringing
>  == Spawn extension (interno, 200, 1) exited non-zero on
> 'Local/200@interno-7390,2'
>
> como veran no sale el el DIALSTATUS ...
>
> que mas podria revisar ?
>

Para que la llmada funcione, tienes que descolgar en 200, y entonces
es cuando se genera la llama al 221. Asterisk llamará al 200, y cuando
conteste lanzará la llamada al 221 y las puenteará.

Ronald Urbano

unread,
Sep 6, 2010, 9:40:19 AM9/6/10
to aster...@googlegroups.com
>
> Para que la llmada funcione, tienes que descolgar en 200, y entonces
> es cuando se genera la llama al 221. Asterisk llamará al 200, y cuando
> conteste lanzará la llamada al 221 y las puenteará.

Lo que esperaba obtener es justamente el estado de NOANSWER ... en
este caso al llamar al 200 que es el primer numero que marca el .call
..... entonces habrá otra forma de obtener esto .. ?

Gracias

Ronald -

Saúl Ibarra Corretgé

unread,
Sep 6, 2010, 12:19:06 PM9/6/10
to aster...@googlegroups.com
Buenas,

Como diría Germán: "a mi me funka" ;-)

Dialplan:
[tmp]
exten => 1234,1,NoOp
exten => 1234,n,Dial(SIP/saghul)
exten => 1234,n,NoOp(${DIALSTATUS})

Fichero Call:
Channel: Local/1234@tmp
Application: Playback
Data: demo-congrats

Log del CLI:
*CLI> -- Attempting call on Local/1234@tmp for application
Playback(demo-congrats) (Retry 1)
-- Executing [1234@tmp:1] NoOp("Local/1234@tmp-842f;2", "") in new stack
-- Executing [1234@tmp:2] Dial("Local/1234@tmp-842f;2",
"SIP/saghul") in new stack
[Sep 6 18:15:47] WARNING[9147]: app_dial.c:1946 dial_exec_full:
Unable to create channel of type 'SIP' (cause 20 - Unknown)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [1234@tmp:3] NoOp("Local/1234@tmp-842f;2",
"CHANUNAVAIL") in new stack
-- Auto fallthrough, channel 'Local/1234@tmp-842f;2' status is 'CHANUNAVAIL'
> Channel Local/1234@tmp-842f;1 was never answered.
[Sep 6 18:15:47] NOTICE[9146]: pbx_spool.c:342 attempt_thread: Call
failed to go through, reason (8) Congestion (circuits busy)
[Sep 6 18:15:47] NOTICE[9146]: pbx_spool.c:345 attempt_thread: Queued
call to Local/1234@tmp expired without completion after 0 attempts

Como ves, si salta a la siguiente prioridad y puedo ver el DIALSTATUS
aunque SIP/saghul no esté disponible.

La prueba la he hecho con un Asterisk trunk (no recuerdo la versión)
pero debería ser como la 1.8 alpha0 :-) Aunque en la 1.4 esto debería
funcionar igual...

Reply all
Reply to author
Forward
0 new messages