ืื—ืกื•ืŸ ื‘ืขืœ ืขืจืš ืžืคืชื—, ืื• ื›ื™ืฆื“ ื”ื™ื™ืฉื•ืžื™ื ืฉืœื ื• ื”ืคื›ื• ืœื ื•ื—ื™ื ื™ื•ืชืจ

ืื—ืกื•ืŸ ื‘ืขืœ ืขืจืš ืžืคืชื—, ืื• ื›ื™ืฆื“ ื”ื™ื™ืฉื•ืžื™ื ืฉืœื ื• ื”ืคื›ื• ืœื ื•ื—ื™ื ื™ื•ืชืจ

ื›ืœ ืžื™ ืฉืžืคืชื— ื‘-Voximplant ืžื•ื“ืข ืœืžื•ืฉื’ "ื™ื™ืฉื•ืžื™ื" ื”ืžื—ื‘ืจื™ื ื‘ื™ื ื™ื”ื ืกืงืจื™ืคื˜ื™ื ื‘ืขื ืŸ, ืžืกืคืจื™ ื˜ืœืคื•ืŸ, ืžืฉืชืžืฉื™ื, ื›ืœืœื™ื ื•ืชื•ืจื™ ืฉื™ื—ื•ืช. ื‘ืžื™ืœื™ื ืคืฉื•ื˜ื•ืช, ื™ื™ืฉื•ืžื™ื ื”ื ืื‘ืŸ ื”ื™ืกื•ื“ ืฉืœ ื”ืคื™ืชื•ื— ื‘ืคืœื˜ืคื•ืจืžื” ืฉืœื ื•, ื ืงื•ื“ืช ื”ื›ื ื™ืกื” ืœื›ืœ ืคืชืจื•ืŸ ืžื‘ื•ืกืก Voximplant, ืฉื›ืŸ ื”ื›ืœ ืžืชื—ื™ืœ ื‘ื™ืฆื™ืจืช ืืคืœื™ืงืฆื™ื”.

ื‘ืขื‘ืจ, ื™ื™ืฉื•ืžื™ื ืœื "ื–ื›ืจื•" ืœื ืืช ื”ืคืขื•ืœื•ืช ืฉื‘ื™ืฆืขื• ืกืงืจื™ืคื˜ื™ื ื•ืœื ืืช ืชื•ืฆืื•ืช ื”ื—ื™ืฉื•ื‘ื™ื, ื›ืš ืฉื”ืžืคืชื—ื™ื ื ืืœืฆื• ืœืื—ืกืŸ ืขืจื›ื™ื ื‘ืฉื™ืจื•ืชื™ ืฆื“ ืฉืœื™ืฉื™ ืื• ื‘-backend ืฉืœื”ื. ืื ืื™ ืคืขื ืขื‘ื“ืช ืขื ืื—ืกื•ืŸ ืžืงื•ืžื™ ื‘ื“ืคื“ืคืŸ, ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื”ื—ื“ืฉื” ืฉืœื ื• ื“ื•ืžื” ืžืื•ื“ ืœื–ื”, ื›ื™. ืžืืคืฉืจ ืœืืคืœื™ืงืฆื™ื•ืช ืœื–ื›ื•ืจ ืฆืžื“ื™ ืžืคืชื—-ืขืจืš ื”ื™ื™ื—ื•ื“ื™ื™ื ืœื›ืœ ืืคืœื™ืงืฆื™ื” ื‘ื—ืฉื‘ื•ืŸ ืฉืœืš. ืคืขื•ืœืช ื”ืื—ืกื•ืŸ ื”ืชืืคืฉืจื” ื”ื•ื“ื•ืช ืœืžื•ื“ื•ืœ ื”ื—ื“ืฉ ApplicationStorage - ืžืชื—ืช ืœื’ื–ืจื” ืชืžืฆืื• ืžื“ืจื™ืš ืงืฆืจ ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื•, ื‘ืจื•ืš ื”ื‘ื!

ืชืฆื˜ืจืš

  • ื—ืฉื‘ื•ืŸ ื•ื•ืงืกื™ืžืคืœื ื˜. ืื ืื™ืŸ ืœืš ืืช ื–ื”, ืื– ื”ืจื™ืฉื•ื ื—ื™ ื›ืืŸ;
  • ื”ื™ื™ืฉื•ื Voximplant, ื›ืžื• ื’ื ืกืงืจื™ืคื˜, ื›ืœืœ ื•ืžืฉืชืžืฉ ื™ื—ื™ื“. ืืช ื›ืœ ื–ื” ื ื™ืฆื•ืจ ื‘ืžื“ืจื™ืš ื–ื”;
  • ืœืงื•ื— ืื™ื ื˜ืจื ื˜ ืœื‘ื™ืฆื•ืข ืฉื™ื—ื” - ื”ืฉืชืžืฉ ื‘ื˜ืœืคื•ืŸ ื”ืื™ื ื˜ืจื ื˜ ืฉืœื ื• phone.voximplant.com.

ื”ื’ื“ืจื•ืช Voximplant

ื›ื ื™ืกื” ืจืืฉื•ื ื” ืœื—ืฉื‘ื•ืŸ ืฉืœืš: manage.voximplant.com/auth. ื‘ืชืคืจื™ื˜ ื‘ืฆื“ ืฉืžืืœ, ืœื—ืฅ ืขืœ "ืืคืœื™ืงืฆื™ื•ืช", ื•ืœืื—ืจ ืžื›ืŸ ืขืœ "ืืคืœื™ืงืฆื™ื” ื—ื“ืฉื”" ื•ืฆื•ืจ ืืคืœื™ืงืฆื™ื” ื‘ืฉื ืื—ืกื•ืŸ. ืขื‘ื•ืจ ืœืืคืœื™ืงืฆื™ื” ื”ื—ื“ืฉื”, ืขื‘ื•ืจ ืœืœืฉื•ื ื™ืช ืกืงืจื™ืคื˜ื™ื ื›ื“ื™ ืœื™ืฆื•ืจ ืกืงืจื™ืคื˜ CountingCalls ืขื ื”ืงื•ื“ ื”ื‘ื:

require(Modules.ApplicationStorage);

VoxEngine.addEventListener(AppEvents.CallAlerting, async (e) => {
let r = {value: -1};

    try {
        r = await ApplicationStorage.get('totalCalls');
        if (r === null) {
            r = await ApplicationStorage.put('totalCalls', 0);
        }
    } catch(e) {
        Logger.write('Failure while getting totalCalls value');
    }

    try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    } catch(e) {
        Logger.write('Failure while updating totalCalls value');
    }
    
    e.call.answer();
    e.call.say(`ะŸั€ะธะฒะตั‚ัั‚ะฒัƒัŽ.  ะšะพะปะธั‡ะตัั‚ะฒะพ ะฟั€ะพัˆะปั‹ั… ะทะฒะพะฝะบะพะฒ: ${r.value}. `, Language.RU_RUSSIAN_MALE);

    e.call.addEventListener(CallEvents.PlaybackFinished, VoxEngine.terminate);

});

ื”ืฉื•ืจื” ื”ืจืืฉื•ื ื” ืžื—ื‘ืจืช ืืช ืžื•ื“ื•ืœ ApplicationStorage, ืฉืืจ ื”ื”ื™ื’ื™ื•ืŸ ืžืžื•ืงื ื‘ืžื˜ืคืœ ื”ืื™ืจื•ืข ื”ืชืจืืช ืฉื™ื—ื”.

ืจืืฉื™ืช, ืื ื• ืžื›ืจื™ื–ื™ื ืขืœ ืžืฉืชื ื” ื›ื“ื™ ืฉื ื•ื›ืœ ืœื”ืฉื•ื•ืช ืืช ื”ืขืจืš ื”ื”ืชื—ืœืชื™ ืขื ืกืคื™ืจืช ื”ืฉื™ื—ื•ืช. ืœืื—ืจ ืžื›ืŸ ืื ื• ืžื ืกื™ื ืœืงื‘ืœ ืืช ื”ืขืจืš ืฉืœ ืžืคืชื— totalCalls ืžื”ื—ื ื•ืช. ืื ืขื“ื™ื™ืŸ ืื™ืŸ ืžืคืชื— ื›ื–ื”, ืื ื• ื™ื•ืฆืจื™ื ืื•ืชื•:

try {
    r = await ApplicationStorage.get('totalCalls');
    if (r === null) {
        r = await ApplicationStorage.put('totalCalls', 0);
    }
}

ืœืื—ืจ ืžื›ืŸ, ืขืœื™ืš ืœื”ืขืœื•ืช ืืช ืขืจืš ื”ืžืคืชื— ื‘ืื—ืกื•ืŸ:

try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    }

ื”ืขืจื”

ืขื‘ื•ืจ ื›ืœ ื”ื‘ื˜ื—ื”, ืขืœื™ืš ืœืฆื™ื™ืŸ ื‘ืžืคื•ืจืฉ failover, ื›ืคื™ ืฉืžื•ืฆื’ ื‘ืจืฉื™ืžื” ืœืžืขืœื” - ืื—ืจืช ื”ืกืงืจื™ืคื˜ ื™ื•ืคืกืง ื•ืชืจืื” ืฉื’ื™ืื” ื‘ื™ื•ืžื ื™ื. ืคืจื˜ื™ื ื›ืืŸ.

ืœืื—ืจ ื”ืขื‘ื•ื“ื” ืขื ื”ืžืื’ืจ, ื”ืกืงืจื™ืคื˜ ืขื•ื ื” ืœืฉื™ื—ื” ื”ื ื›ื ืกืช ื‘ืืžืฆืขื•ืช ืกื™ื ืชื–ื” ืงื•ืœื™ืช ื•ืžืกืคืจ ืœืš ื›ืžื” ืคืขืžื™ื ื”ืชืงืฉืจืช ื‘ืขื‘ืจ. ืœืื—ืจ ื”ื•ื“ืขื” ื–ื•, ื”ืกืงืจื™ืคื˜ ืžืกื™ื™ื ืืช ื”ื”ืคืขืœื”.

ืœืื—ืจ ืฉืฉืžืจืช ืืช ื”ืกืงืจื™ืคื˜, ืขื‘ื•ืจ ืœืœืฉื•ื ื™ืช ื ื™ืชื•ื‘ ืฉืœ ื”ื™ื™ืฉื•ื ืฉืœืš ื•ืœื—ืฅ ืขืœ ื›ืœืœ ื—ื“ืฉ. ืชืŸ ืœื–ื” ืฉื startCounting, ืฆื™ื™ืŸ ืืช ื”ืกืงืจื™ืคื˜ countingCalls ื•ื”ืฉืื™ืจ ืืช ืžืกื™ื›ืช ื‘ืจื™ืจืช ื”ืžื—ื“ืœ (.*).

ืื—ืกื•ืŸ ื‘ืขืœ ืขืจืš ืžืคืชื—, ืื• ื›ื™ืฆื“ ื”ื™ื™ืฉื•ืžื™ื ืฉืœื ื• ื”ืคื›ื• ืœื ื•ื—ื™ื ื™ื•ืชืจ
ื”ืื—ืจื•ืŸ ื”ื•ื ืœื™ืฆื•ืจ ืžืฉืชืžืฉ. ืœืฉื ื›ืš, ืขื‘ื•ืจ ืืœ "ืžืฉืชืžืฉื™ื", ืœื—ืฅ ืขืœ "ืฆื•ืจ ืžืฉืชืžืฉ", ื”ื–ืŸ ืฉื (ืœื“ื•ื’ืžื”, ืžืฉืชืžืฉ1) ื•ืกื™ืกืžื” ื•ืœืื—ืจ ืžื›ืŸ ืœื—ืฅ ืขืœ "ืฆื•ืจ". ื ืฆื˜ืจืš ืืช ืฆืžื“ ื”ื›ื ื™ืกื”-ืกื™ืกืžืช ื”ื–ื” ืœืื™ืžื•ืช ื‘ื˜ืœืคื•ืŸ ื”ืื™ื ื˜ืจื ื˜.

ื‘ื“ื•ืง

ืคืชื— ืืช ื˜ืœืคื•ืŸ ื”ืื™ื ื˜ืจื ื˜ ืžื”ืงื™ืฉื•ืจ phone.voximplant.com ื•ื”ื™ื›ื ืก ื‘ืืžืฆืขื•ืช ืฉื ื”ื—ืฉื‘ื•ืŸ, ืฉื ื”ืืคืœื™ืงืฆื™ื” ื•ืฆืžื“ ืฉื ืžืฉืชืžืฉ/ืกื™ืกืžื” ืžื”ืืคืœื™ืงืฆื™ื”. ืœืื—ืจ ื›ื ื™ืกื” ืžื•ืฆืœื—ืช, ื”ื–ืŸ ื›ืœ ืขืจื›ืช ืชื•ื•ื™ื ื‘ืฉื“ื” ื”ืงืœื˜ ื•ืœื—ืฅ ืขืœ ื”ืชืงืฉืจ. ืื ื”ื›ืœ ื ืขืฉื” ื ื›ื•ืŸ, ืชืฉืžืข ื‘ืจื›ื” ืžืกื•ื ืชื–ืช!

ืื ื• ืžืื—ืœื™ื ืœื›ื ื”ืชืคืชื—ื•ืช ื ื”ื“ืจืช ื‘ื•ื•ืงืกื™ืžืคืœื ื˜ ื•ื”ื™ืฉืืจื• ืžืขื•ื“ื›ื ื™ื - ื™ื”ื™ื• ืœื ื• ืขื•ื“ ื”ืจื‘ื” ๐Ÿ˜‰

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”