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条)

报告相同问题?

悬赏问题

  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 arduino控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题