Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія | Остання ревізія По сторонах наступні версії | ||
askoziaintro [2018/03/07 18:41] |
askoziaintro [2022/09/24 14:39] 127.0.0.1 зовнішнє редагування |
||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
+ | ====== Упрощаем жизнь колл-центру ====== | ||
+ | Данная механика предназначена для предварительного оповещения пользователя голосом о состоянии его счета, возможном недостатке средств, | ||
+ | ...... | ||
+ | |||
+ | Тут должен быть долгий и печальный расказ, | ||
+ | |||
+ | ....... | ||
+ | |||
+ | <code php> | ||
+ | <?php | ||
+ | |||
+ | /** | ||
+ | * Config section | ||
+ | */ | ||
+ | //Ubilling serial number | ||
+ | $ubillingSerial = ' | ||
+ | //Full Ubilling URL for API connection | ||
+ | $ubillingApiUrl = ' | ||
+ | |||
+ | //user state => file_name to playback | ||
+ | $userStates = array( | ||
+ | ' | ||
+ | ' | ||
+ | ); | ||
+ | /** | ||
+ | * End of config section | ||
+ | */ | ||
+ | |||
+ | /** | ||
+ | * Returns some channel variable value | ||
+ | * | ||
+ | * @param object $agi | ||
+ | * @param string $_varName | ||
+ | * | ||
+ | * @return string | ||
+ | */ | ||
+ | function GetVarChannnel($agi, | ||
+ | $v = $agi-> | ||
+ | if (!$v[' | ||
+ | $agi-> | ||
+ | return $v[' | ||
+ | } else { | ||
+ | $agi-> | ||
+ | return ""; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | require(' | ||
+ | $agi = new AGI(); | ||
+ | |||
+ | //answering incoming call | ||
+ | $agi-> | ||
+ | //getting incoming number | ||
+ | $number = GetVarChannnel($agi, | ||
+ | //getting user state from billing API | ||
+ | $url = $ubillingApiUrl . '? | ||
+ | $user = file_get_contents($url); | ||
+ | $user = trim($user); | ||
+ | //play some file according to recieved user state | ||
+ | if (isset($userStates[$user])) { | ||
+ | $agi-> | ||
+ | } | ||
+ | |||
+ | ?> | ||
+ | |||
+ | </ | ||
+ | |||
+ | а вот тут, как это все использовать в контексте редактора маршрутов | ||
+ | |||
+ | |||
+ | {{: |