variable asterisk callback

intro

This howto is a extension to my recent "simple (fixed) asterisk callback configuration". This configuration is useful to trigger a callback from a location you rarely use, but provides a callerID. This is for example useful in hotel rooms for one night, phone cells, friends homes. The call process is the following:

  1. you call from a phone with callerID 004144555111 the trigger number 004144555666
  2. wait for the busy signal
  3. hangup
  4. wait until the phone rings
  5. enter password
  6. enter target number

The target number will then be called according to the outbound call routing in your pbx.

how does it work
  1. The system recognizes rejects all calls on the trigger number.
  2. It uses the callerID and generates a temporary call file which will will be copied from a directory (/var/spool/asterisk/ in the example below) into the outgoing directory
  3. asterisk initiates the outbound call according to the rules in the call file
  4. once you pick up the callback call, you will get a dialtone and be able to dial as from a local extension
example definitions:
004144555666: inbound number on your asterisk for callback trigger
provider: is the SIP account of your outbound (flatrate?) SIP provider, as configured in sip.conf
/var/spool/asterisk/skelett.call
Context: callback-dialtone-auth
Extension: s
SetVar: CALLERIDNUM=<your main number>
MaxRetries: 2
RetryTime: 1

in the incomming call context in extensions.conf

exten => 004144555666,1,NoOp(provider callback to ${calleridnum})
exten => 004144555666,2,Wait(1)
exten => 004144555666,3,system(cp /var/spool/asterisk/skelett.call /var/spool/asterisk/skelett.tmp.call)
exten => 004144555666,4,system(echo 'Channel: SIP/${CALLERIDNUM}@provider' >> /var/spool/asterisk/skelett.tmp.call)
exten => 004144555666,5,system(cp /var/spool/asterisk/skelett.tmp.call /var/spool/asterisk/outgoing)
exten => 004144555666,6,HangUp
somewhere in extensions.conf:
[callback-dialtone-auth]
exten => s,1,answer()
exten => s,2,background(welcome)
exten => s,3,authenticate(5678)
exten => s,4,DISA(no-password,home)
bugs & questions

In case of questions &bugs please leave a comment here in this blog.

Trackbacks

  1. simple (fixed) asterisk callback configuration

    intro This a simple howto get a callback feature into asterisk. Its based on the assumption, that you have a account at a provider, which lets you dial into your box remotely and the location you call from provides a callerID. So this setup is mostly

Comments

Display comments as (Linear | Threaded)

    No comments


Add Comment


HTML-Tags will be converted to Entities.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Standard emoticons like :-) and ;-) are converted to images.