Користувальницькькі налаштування

Налаштування сайту


Сайдбар

Розділи

Загальний опис
Історія змін
Рекомендації до оновлення
Плани на майбутнє
Відомі проблеми
Онлайн демо
Відео
Допомога проекту
Люди
Трохи про безпеку

FAQ



Редагувати сайдбар

askoziaintro

Спрощуємо життя кол-центру

Ця механіка призначена для попереднього сповіщення користувача голосом про стан його рахунку, можливу нестачу коштів, замороженості etc, перед/замість передання його дзвінка до кол-центру.

……

Тут має бути довга і сумна розповідь, про створення AGI додатка і як знайти його реальний ідентифікатор.

…….

<?php
 
/**
 * Config section
 */
//Ubilling serial number
$ubillingSerial = 'UBxxxxxxxxxxxxxxxxxxx';
//Full Ubilling URL for API connection
$ubillingApiUrl = 'http://ourisp.com/billing/';
 
//user state => file_name to playback
$userStates = array(
    '2' => 'nomoney',
    '3' => 'frozen'
);
/**
 * End of config section
 */
 
/**
 * Returns some channel variable value
 *
 * @param object $agi
 * @param string $_varName
 *
 * @return string
 */
function GetVarChannnel($agi, $_varName) {
    $v = $agi->get_variable($_varName);
    if (!$v['result'] == 0) {
        $agi->verbose($_varName . ' ---> ' . $v['data'], 10);
        return $v['data'];
    } else {
        $agi->verbose($_varName . ' not set', 10);
        return "";
    }
}
 
require('phpagi.php');
$agi = new AGI();
 
//answering incoming call
$agi->answer();
//getting incoming number
$number = GetVarChannnel($agi, "CALLERID(num)");
//getting user state from billing API
$url = $ubillingApiUrl . '?module=remoteapi&key=' . $ubillingSerial . '&action=askozianum&param=' . $number;
$user = file_get_contents($url);
$user = trim($user);
//play some file according to recieved user state
if (isset($userStates[$user])) {
    $agi->exec('Playback', $userStates[$user]);
}
 
?>

а ось тут, як це все використовувати в контексті редактора маршрутів

askoziaintro.txt · Востаннє змінено: 2023/06/16 12:23 повз borisov