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

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


askoziaintro

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Попередня ревізія
askoziaintro [2018/03/07 18:43]
askoziaintro [2023/06/16 12:23] (поточний)
borisov
Рядок 1: Рядок 1:
 +====== Спрощуємо життя кол-центру ======
 +Ця механіка призначена для попереднього сповіщення користувача голосом про стан його рахунку, можливу нестачу коштів, замороженості etc, перед/замість передання його дзвінка до кол-центру.
  
 +......
 +
 +Тут має бути довга і сумна розповідь, про створення AGI додатка і як знайти його реальний ідентифікатор.
 +
 +.......
 +
 +<code php>
 +<?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]);
 +}
 +
 +?>
 +
 +</code>
 +
 +а ось тут, як це все використовувати в контексті редактора маршрутів
 +
 +
 +{{:askozianumcfe.jpg?800|}}