[help] Asterisk Dials Twice Zap Channels!

Hi guys i have HUGE problem

I have this in extensions.conf

exten=> 200,1,Answer()
exten=> 200,2,Wait(3)
exten=> 200,3,Dial(Zap/g2/58910295)

I am dialing the 200 extension from a call file like this

Channel: Local/200@helper
MaxRetries: 0
RetryTime: 60
WaitTime: 30
Context: helper
Extension: 200
Priority: 1
Callerid: 58910295

It [color=red]does[/color] dial but it dials twice

I get
Zap/20-1 is making progress
and also
Zap/21-1 is making progress

you can even see it on the CDRs

Any ideas why this is? it is making me CRAZY… i have tried using the manager interface and it does the same thing.

Thank you!!!


Wouldn’t both legs of the call go to the same context with this setup. One side (channel) should point to the other person to call, the other side (Context-helper, Extension-200, Priority-1) should point a place in the dial plan that the call on ‘Channel’ should go to once the call on Channel has been established.
At the moment you are ringing Local/200@helper and then connecting them to helper,200,1 or the same thing.

Sorry, I know that is about as clear as mud, what is it you are trying to do?


Thanks for the reply Mike, what im trying to do is a automatic dialer. A Perl script picks the next number to call, the number is dialed and then is passed to the [color=red]helper[/color] context where when the dialed person answers a sound file(recorded message) is played. Everything works fine, except for the two calls which is a huge problem.

Im not quite sure what you mean by your reply? Im actually creating the two calls like this? How would you create the .call file then?

Thanks a lot


Well at the moment the call file is read by asterisk, it then goes through the following steps…

-Channel is Local/200@helper so place a call to that context.
-Context ‘helper’ answers, waits and dials 58910295 over Zap/g2
-Asterisk then places the other side of the call, it goes to helper,200,1 which answers, waits and dials 58910295 over Zap/g2.
-the two calls would then be bridged together.

Surely your dial plan should look like this…

[helper] exten => 200,1,Answer exten => 200,2,Wait(3) exten => 200,3,Playback(your-file-name) exten => 200,4,Do whatever else you want

and you call file should look like this…

Channel: Zap/g1/58910295 MaxRetries: 0 RetryTime: 60 WaitTime: 30 Context: helper Extension: 200 Priority: 1

This way it places a call to 58910295 and when achieved it plays a sound file back to the person called and does whatever else you want it to.

Sorry if I misunderstood.



Thank you Mike! This is very very clear. Have a beer , you deserve it!

One more question this brings… will this form of dialing create the [color=green]DIALSTATUS[/color] variable?

Thanks again!


I don’t know, but if the outgoing call fails then your helper extension would not be dialled. Someone who knows a little more about the cogs and wheels of asterisk will need to answer that one for you.

Best of luck with your project, you will find with Asterisk that it is never a case of whether it will perform a function or not, simply a case of how can I get it to do this? It seems that there is always a way to do almost anything you wish to.