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

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


askoziaintro

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Остання ревізія По сторонах наступні версії
askoziaintro [2018/03/14 16:43]
askoziaintro [2022/09/24 14:39]
127.0.0.1 зовнішнє редагування
Рядок 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|}}
askoziaintro.txt · Востаннє змінено: 2023/06/16 12:23 повз borisov