-= Info about application 'Dial' =- [Synopsis]: Place a call and connect to the current channel [Description]: Dial(Technology/resource[&Technology2/resource2...][|timeout][|options][|URL]): Requests one or more channels and places specified outgoing calls on them. As soon as a channel answers, the Dial app will answer the originating channel (if it needs to be answered) and will bridge a call with the channel which first answered. All other calls placed by the Dial app will be hung up If a timeout is not specified, the Dial application will wait indefinitely until either one of the called channels answers, the user hangs up, or all channels return busy or error. In general, the dialer will return 0 if it was unable to place the call, or the timeout expired. However, if all channels were busy, and there exists an extension with priority n+101 (where n is the priority of the dialer instance), then it will be the next executed extension (this allows you to setup different behavior on busy from no-answer). If an extension with priority +201 exists and there was no channel available we will go there instead. So unregisterd VoIP phones will not be treaded as busy. This application returns -1 if the originating channel hangs up, or if the call is bridged and either of the parties in the bridge terminate the call. The option string may contain zero or more of the following characters: 't' -- allow the called user transfer the calling user by hitting #. 'T' -- allow the calling user to transfer the call by hitting #. 'f' -- Forces callerid to be set as the extension of the line making/redirecting the outgoing call. For example, some PSTNs don't allow callerids from other extensions then the ones that are assigned to you. 'r' -- indicate ringing to the calling party, pass no audio until answered. 'R' -- indicate ringing to the calling party when the called party indicates ringing, pass no audio until answered. 'm' -- provide hold music to the calling party until answered. 'M(x) -- Executes the macro (x) upon connect of the call 'h' -- allow callee to hang up by hitting *. 'H' -- allow caller to hang up by hitting *. 'C' -- reset call detail record for this call. 'P[(x)]' -- privacy mode, using 'x' as database if provided. 'g' -- goes on in context if the destination channel hangs up 'A(x)' -- play an announcement to the called party, using x as file 'S(x)' -- hangup the call after x seconds AFTER called party picked up 'D([digits])' -- Send DTMF digit string *after* called party has answered but before the bridge. (w=500ms sec pause) 'L(x[:y][:z])' -- Limit the call to 'x' ms warning when 'y' ms are left repeated every 'z' ms) Only 'x' is required, 'y' and 'z' are optional. The following special variables are optional: * LIMIT_PLAYAUDIO_CALLER yes|no (default yes) Play sounds to the caller. * LIMIT_PLAYAUDIO_CALLEE yes|no Play sounds to the callee. * LIMIT_TIMEOUT_FILE File to play when time is up. * LIMIT_CONNECT_FILE File to play when call begins. * LIMIT_WARNING_FILE File to play as warning if 'y' is defined. 'timeleft' is a special sound macro to auto-say the time left and is the default. In addition to transferring the call, a call may be parked and then picked up by another user. The optional URL will be sent to the called party if the channel supports it. This application sets the following channel variables upon completion: DIALEDTIME Time from dial to answer ANSWEREDTIME Time for actual call DIALSTATUS The status of the call as a text string, one of CHANUNAVAIL | CONGESTION | NOANSWER | BUSY | ANSWER | CANCEL