⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phpagi.php

📁 voip开源项目
💻 PHP
📖 第 1 页 / 共 5 页
字号:
    * If you don't specify $max_digits then the user can enter as many digits as they want. 
    *
    * Pressing the # key has the same effect as the timer running out: the command ends and
    * any previously keyed digits are returned. A side effect of this is that there is no
    * way to read a # key using this command.
    *
    * @example examples/ping.php Ping an IP address
    *
    * @link http://www.voip-info.org/wiki-get+data
    * @param string $filename file to play. Do not include file extension.
    * @param integer $timeout milliseconds
    * @param integer $max_digits
    * @return array, see evaluate for return information. ['result'] holds the digits and ['data'] holds the timeout if present.
    *
    * This differs from other commands with return DTMF as numbers representing ASCII characters.
    */
    function get_data($filename, $timeout=NULL, $max_digits=NULL)
    {
      return $this->evaluate(rtrim("GET DATA $filename $timeout $max_digits"));
    }

   /**
    * Fetch the value of a variable.
    *
    * Does not work with global variables. Does not work with some variables that are generated by modules.
    *
    * @link http://www.voip-info.org/wiki-get+variable
    * @link http://www.voip-info.org/wiki-Asterisk+variables
    * @param string $variable name
    * @return array, see evaluate for return information. ['result'] is 0 if variable hasn't been set, 1 if it has. ['data'] holds the value.
    */
    function get_variable($variable)
    {
      return $this->evaluate("GET VARIABLE $variable");
    }

   /**
    * Hangup the specified channel. If no channel name is given, hang up the current channel.
    *
    * With power comes responsibility. Hanging up channels other than your own isn't something
    * that is done routinely. If you are not sure why you are doing so, then don't.
    *
    * @link http://www.voip-info.org/wiki-hangup
    * @example examples/dtmf.php Get DTMF tones from the user and say the digits
    * @example examples/input.php Get text input from the user and say it back
    * @example examples/ping.php Ping an IP address
    *
    * @param string $channel
    * @return array, see evaluate for return information. ['result'] is 1 on success, -1 on failure.
    */
    function hangup($channel='')
    {
      return $this->evaluate("HANGUP $channel");
    }

   /**
    * Does nothing.
    *
    * @link http://www.voip-info.org/wiki-noop
    * @return array, see evaluate for return information.
    */
    function noop()
    {
      return $this->evaluate('NOOP');
    }

   /**
    * Receive a character of text from a connected channel. Waits up to $timeout milliseconds for
    * a character to arrive, or infinitely if $timeout is zero.
    *
    * @link http://www.voip-info.org/wiki-receive+char
    * @param integer $timeout milliseconds
    * @return array, see evaluate for return information. ['result'] is 0 on timeout or not supported, -1 on failure. Otherwise 
    * it is the decimal value of the DTMF tone. Use chr() to convert to ASCII.
    */
    function receive_char($timeout=-1)
    {
      return $this->evaluate("RECEIVE CHAR $timeout");
    }

   /**
    * Record sound to a file until an acceptable DTMF digit is received or a specified amount of
    * time has passed. Optionally the file BEEP is played before recording begins.
    *
    * @link http://www.voip-info.org/wiki-record+file
    * @param string $file to record, without extension, often created in /var/lib/asterisk/sounds
    * @param string $format of the file. GSM and WAV are commonly used formats. MP3 is read-only and thus cannot be used.
    * @param string $escape_digits
    * @param integer $timeout is the maximum record time in milliseconds, or -1 for no timeout.
    * @param integer $offset to seek to without exceeding the end of the file.
    * @param boolean $beep
    * @param integer $silence number of seconds of silence allowed before the function returns despite the 
    * lack of dtmf digits or reaching timeout.
    * @return array, see evaluate for return information. ['result'] is -1 on error, 0 on hangup, otherwise a decimal value of the 
    * DTMF tone. Use chr() to convert to ASCII.
    */
    function record_file($file, $format, $escape_digits='', $timeout=-1, $offset=NULL, $beep=false, $silence=NULL)
    {
      $cmd = trim("RECORD FILE $file $format \"$escape_digits\" $timeout $offset");
      if($beep) $cmd .= ' BEEP';
      if(!is_null($silence)) $cmd .= " s=$silence";
      return $this->evaluate($cmd);
    }

   /**
    * Say the given digit string, returning early if any of the given DTMF escape digits are received on the channel.
    *
    * @link http://www.voip-info.org/wiki-say+digits
    * @param integer $digits
    * @param string $escape_digits
    * @return array, see evaluate for return information. ['result'] is -1 on hangup or error, 0 if playback completes with no 
    * digit received, otherwise a decimal value of the DTMF tone.  Use chr() to convert to ASCII.
    */
    function say_digits($digits, $escape_digits='')
    {
      return $this->evaluate("SAY DIGITS $digits \"$escape_digits\"");
    }

   /**
    * Say the given number, returning early if any of the given DTMF escape digits are received on the channel.
    *
    * @link http://www.voip-info.org/wiki-say+number
    * @param integer $number
    * @param string $escape_digits
    * @return array, see evaluate for return information. ['result'] is -1 on hangup or error, 0 if playback completes with no 
    * digit received, otherwise a decimal value of the DTMF tone.  Use chr() to convert to ASCII.
    */
    function say_number($number, $escape_digits='')
    {
      return $this->evaluate("SAY NUMBER $number \"$escape_digits\"");
    }

   /**
    * Say the given character string, returning early if any of the given DTMF escape digits are received on the channel.
    *
    * @link http://www.voip-info.org/wiki-say+phonetic
    * @param string $text
    * @param string $escape_digits
    * @return array, see evaluate for return information. ['result'] is -1 on hangup or error, 0 if playback completes with no 
    * digit received, otherwise a decimal value of the DTMF tone.  Use chr() to convert to ASCII.
    */
    function say_phonetic($text, $escape_digits='')
    {
      return $this->evaluate("SAY PHONETIC $text \"$escape_digits\"");
    }

   /**
    * Say a given time, returning early if any of the given DTMF escape digits are received on the channel.
    *
    * @link http://www.voip-info.org/wiki-say+time
    * @param integer $time number of seconds elapsed since 00:00:00 on January 1, 1970, Coordinated Universal Time (UTC).
    * @param string $escape_digits
    * @return array, see evaluate for return information. ['result'] is -1 on hangup or error, 0 if playback completes with no 
    * digit received, otherwise a decimal value of the DTMF tone.  Use chr() to convert to ASCII.
    */
    function say_time($time=NULL, $escape_digits='')
    {
      if(is_null($time)) $time = time();
      return $this->evaluate("SAY TIME $time \"$escape_digits\"");
    }

   /**
    * Send the specified image on a channel.
    *
    * Most channels do not support the transmission of images.
    *
    * @link http://www.voip-info.org/wiki-send+image
    * @param string $image without extension, often in /var/lib/asterisk/images
    * @return array, see evaluate for return information. ['result'] is -1 on hangup or error, 0 if the image is sent or 
    * channel does not support image transmission.
    */
    function send_image($image)
    {
      return $this->evaluate("SEND IMAGE $image");
    }

   /**
    * Send the given text to the connected channel.
    *
    * Most channels do not support transmission of text.
    *
    * @link http://www.voip-info.org/wiki-send+text
    * @param $text
    * @return array, see evaluate for return information. ['result'] is -1 on hangup or error, 0 if the text is sent or 
    * channel does not support text transmission.
    */
    function send_text($text)
    {
      return $this->evaluate("SEND TEXT \"$text\"");
    }

   /**
    * Cause the channel to automatically hangup at $time seconds in the future.
    * If $time is 0 then the autohangup feature is disabled on this channel.
    *
    * If the channel is hungup prior to $time seconds, this setting has no effect.
    *
    * @link http://www.voip-info.org/wiki-set+autohangup
    * @param integer $time until automatic hangup
    * @return array, see evaluate for return information.
    */
    function set_autohangup($time=0)
    {
      return $this->evaluate("SET AUTOHANGUP $time");
    }

   /**
    * Changes the caller ID of the current channel.
    *
    * @link http://www.voip-info.org/wiki-set+callerid
    * @param string $cid example: "John Smith"<1234567>
    * This command will let you take liberties with the <caller ID specification> but the format shown in the example above works 
    * well: the name enclosed in double quotes followed immediately by the number inside angle brackets. If there is no name then
    * you can omit it. If the name contains no spaces you can omit the double quotes around it. The number must follow the name
    * immediately; don't put a space between them. The angle brackets around the number are necessary; if you omit them the
    * number will be considered to be part of the name.
    * @return array, see evaluate for return information.
    */
    function set_callerid($cid)
    {
      return $this->evaluate("SET CALLERID $cid");
    }

   /**
    * Sets the context for continuation upon exiting the application.
    *
    * Setting the context does NOT automatically reset the extension and the priority; if you want to start at the top of the new 
    * context you should set extension and priority yourself. 
    *
    * If you specify a non-existent context you receive no error indication (['result'] is still 0) but you do get a 
    * warning message on the Asterisk console.
    *
    * @link http://www.voip-info.org/wiki-set+context
    * @param string $context 
    * @return array, see evaluate for return information.
    */
    function set_context($context)
    {
      return $this->evaluate("SET CONTEXT $context");
    }

   /**
    * Set the extension to be used for continuation upon exiting the application.
    *
    * Setting the extension does NOT automatically reset the priority. If you want to start with the first priority of the 
    * extension you should set the priority yourself. 
    *
    * If you specify a non-existent extension you receive no error indication (['result'] is still 0) but you do 
    * get a warning message on the Asterisk console.
    *
    * @link http://www.voip-info.org/wiki-set+extension
    * @param string $extension
    * @return array, see evaluate for return information.
    */
    function set_extension($extension)
    {
      return $this->evaluate("SET EXTENSION $extension");
    }

   /**
    * Enable/Disable Music on hold generator.
    *
    * @link http://www.voip-info.org/wiki-set+music
    * @param boolean $enabled
    * @param string $class
    * @return array, see evaluate for return information.
    */
    function set_music($enabled=true, $class='')
    {
      $enabled = ($enabled) ? 'ON' : 'OFF';
      return $this->evaluate("SET MUSIC $enabled $class");
    }

   /**
    * Set the priority to be used for continuation upon exiting the application.
    *
    * If you specify a non-existent priority you receive no error indication (['result'] is still 0)
    * and no warning is issued on the Asterisk console.
    *
    * @link http://www.voip-info.org/wiki-set+priority
    * @param integer $priority
    * @return array, see evaluate for return information.
    */
    function set_priority($priority)
    {
      return $this->evaluate("SET PRIORITY $priority");
    }

   /**
    * Sets a variable to the specified value. The variables so created can later be used by later using ${<variablename>}
    * in the dialplan.
    *
    * These variables live in the channel Asterisk creates when you pickup a phone and as such they are both local and temporary. 
    * Variables created in one channel can not be accessed by another channel. When you hang up the phone, the channel is deleted 
    * and any variables in that channel are deleted as well.
    *
    * @link http://www.voip-info.org/wiki-set+variable
    * @param string $variable is case sensitive
    * @param string $value
    * @return array, see evaluate for return information.
    */
    function set_variable($variable, $value)
    {
      $value = str_replace("\n", '\n', addslashes($value));
      return $this->evaluate("SET VARIABLE $variable \"$value\"");
    }

   /**
    * Play the given audio file, allowing playback to be interrupted by a DTMF digit. This command is similar to the GET DATA 
    * command but this command returns after the first DTMF digit has been pressed while GET DATA can accumulated any number of 
    * digits before returning.
    *
    * @example examples/ping.php Ping an IP address
    *
    * @link http://www.voip-info.org/wiki-stream+file
    * @param string $filename without extension, often in /var/lib/asterisk/sounds
    * @param string $escape_digits
    * @param integer $offset
    * @return array, see evaluate for return information. ['result'] is -1 on hangup or error, 0 if playback completes with no 
    * digit received, otherwise a decimal value of the DTMF tone.  Use chr() to convert to ASCII.
    */
    function stream_file($filename, $escape_digits='', $offset=0)
    {
      return $this->evaluate("STREAM FILE $filename \"$escape_digits\" $offset");
    }

   /**
    * Enable or disable TDD transmission/reception on the current channel.
    *
    * @link http://www.voip-info.org/wiki-tdd+mode
    * @param string $setting can be on, off or mate
    * @return array, see evaluate for return information. ['result'] is 1 on sucess, 0 if the channel is not TDD capable.
    */
    function tdd_mode($setting)
    {
      return $this->evaluate("TDD MODE $setting");
    }

   /**
    * Sends $message to the Asterisk console via the 'verbose' message system.
    *
    * If the Asterisk verbosity level is $level or greater, send $message to the console.
    *
    * The Asterisk verbosity system works as follows. The Asterisk user gets to set the desired verbosity at startup time or later 
    * using the console 'set verbose' command. Messages are displayed on the console if their verbose level is less than or equal 
    * to desired verbosity set by the user. More important messages should have a low verbose level; less important messages 
    * should have a high verbose level.
    *
    * @link http://www.voip-info.org/wiki-verbose

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -