"Collect Calling" through *?

I’ll be heading up to a ‘vacation cottage’ in a few weeks which only has dial-up access. I don’t think this dial-up connection is going to support any SIP action - so I thought I’d just use it for non-telephony internet stuff.

I will have a few mobile phones with me too, and instead of using these to phone overseas, I though it might be possible to phone into my * server, and then have it route the call overseas, almost like calling collect: You dial an access number (which is a cheap long distance or local number), and then the asterisk server makes the long distance call.

Update Dean on voipusers says it’s possible, but he’s not sure about building it. Any pointers from anyone here (considering I’m a noob) would be greatly appreciated.

Buy a DID from a voip carrier and route it to your asterisk box. Use a simple pin code auth, collect digits and send it out the same (or different) carrier for termination.


Buy a DID from a voip carrier and route it to your asterisk box. Use a simple pin code auth, collect digits and send it out the same (or different) carrier for termination.


Thanks for the info! I’m sorry but you’ll have to bring it down to my level :blush:

I have DID’s which point to the * box. What I need to understand is how to have asterisk pick up the pstn (tdm400), listen for some code which indicates a ‘pass-through’ call, and then have the user dial the end phone number and have asterisk do the same, and then connect the pstn in to the voip out.

Sorry…I’m a noob!

I think You could use something like this:

exten => s,1,...

exten => 48068,1,goto(incoming|DCI|1)

exten => DCI,1,Authenticate(92800340|j)
exten => DCI,2,goto(DCIok|s|1)
exten => DCI,102,hangup

exten => s,1,backgroun(somethnig_very_long_or_not.for.example.silence.sln)
exten => s,2,goto(s|1)
exten => _XXXXXXXXXX,1,Dial()
exten => _XXXXXXXXXX,2,hangup

Make a call taht will reach [incoming-call] context
then type for example 48068 extension and jump to DCI,1
Asterisk will ask for password and type 928000340
(go and see voip-info.org/wiki/view/Aste … thenticate)
if You type correct password
then jump to DCIok context
else (provided by j option) You have hangup at 102 priority
In DCIok context Background something, type a number and have a nice Dial()

WARNING: I think that should work but i didn’t test it. I do call to Asterisk then call somewhere else by Asterisk line - the same context for handling incoming and outgoing calls. I check Authenticate command and its request password so using this together with goto should give You some security for unauthorized usage.
test it yourself and post results.

(i have hope that You understand my english…)

A few examples here

voip-info.org/wiki/view/Aste … ll+through

[quote=“rusty”]A few examples here

voip-info.org/wiki/view/Aste … ll+through[/quote]

Thanks!!! Time to educate myself!

For the sake of wrapping things up, I have it all working with the following:

in zapata.conf
dring1=386,339,142 ;telus (western canada)

in extensions.conf
exten => s,1,Background(vm-password)
exten => s,2,ResponseTimeout(10)
exten => s,3,WaitExten
exten => s,4,WaitExten
exten => 1234,1,Goto(PassThrough,s,1) <replace with your pw
exten => *,1,Goto(s,1)
exten => t,1,Playback(vm-goodbye)
exten => t,2,HangUp

exten => s,1,SetVar(NR=)
exten => s,2,Background(privacy-prompt)
exten => s,3,ResponseTimeout(10)
exten => s,4,WaitExten
exten => _X,1,SetVar(NR=${NR}${EXTEN})
exten => _X,2,Goto(s,3)
exten => *,1,Goto(s,1)
exten => #,1,Dial(${OUT_3}/${NR},30,H|g)
exten => #,2,GotoIf($${DIALSTATUS} = NOANSWER?3)
exten => #,3,GotoIf($${DIALSTATUS} = CONGESTION?4:5)
exten => #,4,Playback(vm-nobodyavail)
exten => #,5,Goto(s,1)
exten => #,102,Playback(tt-allbusy)
exten => t,1,Playback(vm-goodbye)
exten => t,2,HangUp

Thanks for all the help everyone!