Help: Getting DIALSTATUS with call files

Hello all,
Is any way to get the dialstatus when we are using call files to initiate calls in Zap channels. All i need is the full details that what happed to the call.
I used CDR to keep track off, for ss7 lines the data entered is fine.

But in the PRI line the for BUSY,FAILED for NOANSWER the status is putting it as same as NOANSWER.Is there any way to detect it.I tried the variable ${DIALSTATUS}.

But its not at all working.

Will be thankful if any one helps me.

[quote=“itzbipin”]But in the PRI line the for BUSY,FAILED for NOANSWER the status is putting it as same as NOANSWER.Is there any way to detect it.I tried the variable ${DIALSTATUS}.

But its not at all working.[/quote]
Pardon me, do you really know what NoOp, as shown above, is all about?

i think will echo the result of the ${DIALSTATUS} variable in the cli console.
Or i have done any mistake.??.If yes please guide me to get the status.

I’d like to know the answer to this question also.

When I use a call file to place an outbound call, there must be an easier way to determine the status of that call, other than searching for it in the CDR’s, right?

Thanks for any help!

Hello midstar,
I have reply for your question. You can use a agi script for tha status of the call.ie initiate call with call file and use AGI for playing file and getting status.
is it what you meant???

Thanks for the reply itzbipin.

The problem is, it is not running my AGI script unless it is successful in completing the call from the call file.

If, for example, the line is busy, it never runs the AGI script.

What I would like to do is send an alert if the call doesn’t connect properly. But since the AGI script isn’t run in these cases, I don’t know where to send the alert from.

hello midstar.
We have variables like ${HANGUPCAUSE} and ${DIALSTATUS} you can use it to get called failed status.

In your call file, instead of specifying SIP/provider/number, change it to use local channels.

For example,

[outbound]
exten => _NXXNXXXXXX,1,Dial(SIP/provider/${EXTEN})
exten => _NXXNXXXXXX,n,NoOp(${DIALSTATUS})

Then in your call file,

Channel: Local/@outbound

i tried like this locally.

My extension.conf is

[outgoing] exten => _X.,1,Dial(SIP/${EXTEN}) exten => s,1,Noop(HANGUPCAUSE is ${HANGUPCAUSE} and DIALSTATUS is ${DIALSTATUS}) exten => s,2,Wait(1) exten => s,3,Answer exten => s,4,Playback(hello-world) exten => s,5,Hangup

also tried

And my call file format is

Channel: Local/200@outgoing/n MaxRetries: 1 RetryTime: 60 WaitTime: 30 Extension: s

The problem is that it works only when the dial command is executed and also {DIALSTATUS} variable is not getting any value in any case.

You’re not going to get the dialstatus on the “s” extension, only on the _X. extension after the dial fails, or the “h” extension when the dial hangs up.

[quote=“itzbipin”]i tried like this locally.

My extension.conf is

[outgoing] exten => _X.,1,Dial(SIP/${EXTEN}) exten => s,1,Noop(HANGUPCAUSE is ${HANGUPCAUSE} and DIALSTATUS is ${DIALSTATUS}) exten => s,2,Wait(1) exten => s,3,Answer exten => s,4,Playback(hello-world) exten => s,5,Hangup

also tried

Dude, have you any idea what a NoOp is?

hello,
I had already replied it in my previous post just check it again.
it will echo the result of the ${DIALSTATUS} or the ${HANGUPCAUSE}variable value in the cli console anything more than that???

Also tried in the sense you look the extension on the Noop application .That is what the difference i made.