Campom Ringback feature

Hello everyone, thanks for looking. I am in desperate needs of this feature and have unsuccessfully tried to implement it. Our old POS switchboard allowed the user to dial 6 if the extension they dialed was busy and when the busy extension would hang up the switchboard would ring back and connect the two extensions. I can’t figure out why i can’t find anything to do with this feature on the internet related to asterisk. The closest I have managed is campon, which would work if it allowed the user to hang up and be alerted when he channel or extension became available. So if anyone out there could help me with this i would appreciate it a huge lot. Thanks again.

i’ve done this with a dialplan app and cron job … it’s not elegant but it works.

a much simpler method might be to look at the built-in RetryDial application. it’s like campon but without the extra dialplan coding.

Thanks for your reply. This is what i have been trying to do: When a line is busy i have my dialplan jump to a priority that allows the user to dial six if they wish to be called back when the line becomes available. The ‘6’ extension runs an agi script that writes the extension of the person wanting to be alerted into a mysql database corresponding to a certain field of the busy extension.
Every time an extension is hung up i use h to checking in the mysql database to see of there is an extension there that is waiting to be called back. This works great, BUT when I execute a dial back to the extension that waiting for the ringback, that extension will ring only a split second before it hangs up. I can’t seem to solve this problem and would greatly appreciate any help concerning it.
What is would like to do is have the waiting extension dialed, and execute a macro on connect, that would allow me to dialback the other extension that is waiting for the callback. Please let me know if someone can help me out here, i’m almost there but i need the callback extension to ring longer than a split second :smiley:


If anyone is interested in this feature, i was finally able to get it to work


which bit … your custom code ? you going to post it here ? or maybe a campon page on the wiki ?

It’s not really a campon feature. Its more auto-ringback. Lets say a user dials an extension thats busy. The user then has the option to dial 6 and when the busy extension becomes available asterisk will immediately call back, when the user that dialed 6 will pickup, the extension that was busy will automatically be called.



how did you make it? can you explain?

I had an idea of how this might work. This is a [color=red]CONCEPT[/color] only and I have not tried it yet.
Part of the concept will be to use the Nerd Vittles AsteriDex III: Robodialer. Again something I have not used yet.

FIrst when you call an extension which is busy you are asked if you want to ‘campon’ the extension. If you answer yes your extension is entered into an astdb databawe called ‘campon’. The key is the extension you want to campon, the value would be your extension number.

At the time the calls to the extension you have campon ends it chects to see if the now free extension has anyone in the campon database listed (by using the ‘hangup’ part of the Dial()). If there is, then it goes to a context which perform the function of the Robodialer, it now calls the extension which was camped on telling them they had a person who campon their extension and please hold while they are connected to the party. Next the person who set the campon (you) will be called and the two calls are bridged.

This should be simple to get worling. But again as I said this is a [color=red]concep[/color]t which I have not yet tried. But I will plan to look into getting up and running myself.

it’s not what i would call camp-on. to my mind a campon is where the caller stays connected and the call is retryed at intervals until either the recipient is free or the caller gives up.

you seem to be describing a call-back scenario, which imo, should check for the availability of both parties before dialling anyone.

I would like to build a similar feature to this into our Asterisk set-up. Would someone be able to explain how to track when a particular phone has gone back ‘on hook’; the point at which the extension number’s record in the database would be updated to show that it’s no longer busy and calls can be sent straight through to it, rather than diverting through to the ‘set call-back’ prompt)? Or have I misunderstood how this is implemented?

Thanks very much.


I’m very interested how you got this to work.
Can you please explain

I just sent a private message to dwschool to ask if he could post his code. I’m very interested in getting this working without a MySQL database also.