dsf5632 2013-12-18 10:12
浏览 51
已采纳

存储在asterisk / freepbx中的扩展的内部通信状态在哪里?

I want to add a checkbox in the application/extensions section(in freepbx admin panel) which when checked enables intercom mode and when unchecked disables intercom mode. I want to do the same thing in another page too.I already did this much but I can't find where intercom mode value( or auto answer value) is stored/ how is it stored.

  • 写回答

2条回答 默认 最新

  • doumou5109 2013-12-19 06:38
    关注

    I figured it out finally. It s in the asterisk's SQLite Database. The code for storing/reading this is located in /var/www/html/admin/modules/core/functions.inc.php. This file includes a lot more stuffs and core functions.

    I wrote two functions for setting and getting the intercom status

    <?php
    
    function setIntercomStatus($extension,$status)
    {
        global $db;
        global $amp_conf;
        global $astman;
    
    
    
        if($extension!='')
        {
    
            if($astman)
            {
    
            $result = $astman->database_put("AMPUSER",$extension."/answermode","\""
                . (isset($status) ? $status : '')
                . "\"");
    
            }
            else 
                { 
                    die("Error connecting to database");
                }
    
        }
    }
    function getIntercomStatus($extension)
    {
        global $db;
        global $amp_conf;
        global $astman;
    
        if($extension != '' and $astman)
        {
    
    
              $answermode=$astman->database_get("AMPUSER",$extension."/answermode");
    
              if($answermode)
              {
                return (trim($answermode) == '') ? 'disabled' : $answermode;;
              }
              else {
                  return "Extension Not Found";  
              }
    
    
        }
    
    
    }
    
    ?>
    

    $status in set function may be 'intercom' or 'disabled'

    $astman is an instance of AGI_AsteriskManager in package phpAGI (located at /var/www/html/admin/libraries/php-asmanager.php). The intercom status for an extension is stored in database "AMPUSER" / extension_number / answermode.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?