เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบฅเบฐเบซเบฑเบ”เบกเบนเบ™เบ„เปˆเบฒ, เบซเบผเบทเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบชเบฐเบ”เบงเบเบเบงเปˆเบฒ

เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบฅเบฐเบซเบฑเบ”เบกเบนเบ™เบ„เปˆเบฒ, เบซเบผเบทเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบชเบฐเบ”เบงเบเบเบงเปˆเบฒ

เปƒเบœเบเปเปˆเบ•เบฒเบกเบ—เบตเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™ Voximplant เบฎเบนเป‰เบเปˆเบฝเบงเบเบฑเบšเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡ "เปเบญเบฑเบšเบฏ" เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ cloud scripts, เป€เบšเบตเป‚เบ—เบฅเบฐเบชเบฑเบš, เบœเบนเป‰เปƒเบŠเป‰, เบเบปเบ”เบฅเบฐเบšเบฝเบšเปเบฅเบฐเบชเบฒเบเป‚เบ—เป€เบŠเบดเปˆเบ‡เบเบฑเบ™เปเบฅเบฐเบเบฑเบ™. เป€เบงเบปเป‰เบฒเบ‡เปˆเบฒเบเป†, เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปเบกเปˆเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบ™เป€เบงเบ—เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบˆเบธเบ”เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ Voximplant, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบชเป‰เบฒเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบšเปเปˆเป„เบ”เป‰ "เบˆเบทเปˆ" เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆ scripts เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบผเบทเบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป‰เบ–เบทเบเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบกเบนเบ™เบ„เปˆเบฒเปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ‚เบญเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบกเบซเบผเบทเปƒเบ™ backend เบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบ„เบตเบเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปƒเบ™เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบซเบ™เป‰เบฒเบ—เบตเปˆเปƒเบซเบกเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบ™เบตเป‰, เป€เบžเบฒเบฐเบงเปˆเบฒ เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เปเบญเบฑเบšเบฏเบˆเบทเปˆเบˆเปเบฒเบ„เบนเปˆเบ„เบต-เบ„เปˆเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเปเบญเบฑเบšเบฏเปƒเบ™เบšเบฑเบ™เบŠเบตเบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เปเบ‚เบญเบšเปƒเบˆเบเบฑเบšเป‚เบกเบ”เบนเบ™เปƒเบซเบกเปˆ ApplicationStorage โ€“ เบ‚เป‰เบฒเบ‡โ€‹เบฅเบธเปˆเบกโ€‹เบ™เบตเป‰โ€‹เบ•เบฑเบ”โ€‹เบ—เปˆเบฒเบ™โ€‹เบˆเบฐโ€‹เบžเบปเบšโ€‹เป€เบซเบฑเบ™โ€‹เบ„เบนเปˆโ€‹เบกเบทโ€‹เบชเบฑเป‰เบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบกเบฑเบ™โ€‹, เบเบดเบ™โ€‹เบ”เบตโ€‹เบ•เป‰เบญเบ™โ€‹เบฎเบฑเบšโ€‹!

เป€เบˆเบปเป‰เบฒเบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™

  • เบšเบฑเบ™เบŠเบต Voximplant. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบกเบตเบกเบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบญเบฒเป„เบชเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰;
  • เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ Voximplant, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบชเบฐเบ„เบดเบš, เบเบปเบ”เบฅเบฐเบšเบฝเบšเปเบฅเบฐเบœเบนเป‰เปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเป‰เบฒเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เปƒเบ™ tutorial เบ™เบตเป‰;
  • web client เป€เบžเบทเปˆเบญเป‚เบ—เบญเบญเบ - เปƒเบŠเป‰ webphone เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ phone.voximplant.com.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Voximplant

เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบšเบšเบฑเบ™เบŠเบตเบ‚เบญเบ‡เบ—เปˆเบฒเบ™: manage.voximplant.com/auth. เปƒเบ™เป€เบกเบ™เบนเบ”เป‰เบฒเบ™เบŠเป‰เบฒเบ, เปƒเบซเป‰เบ„เบฅเบดเบเปƒเบชเปˆ "เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ", เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ "เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปƒเบซเบกเปˆ" เปเบฅเบฐเบชเป‰เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ. เป„เบ›เบ—เบตเปˆเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเปเปˆ, เบ›เปˆเบฝเบ™เป„เบ›เบ—เบตเปˆเปเบ–เบš Scripts เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบชเบฐเบ„เบฃเบดเบšเบ™เบฑเบšเบเบฒเบ™เป‚เบ—เบ”เป‰เบงเบเบฅเบฐเบซเบฑเบ”เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

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, เบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเบ‚เบญเบ‡เป€เบซเบ”เบœเบปเบ™เปเบกเปˆเบ™เบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เป€เบซเบ”เบเบฒเบ™ เป‚เบ—เป€เบ•เบทเบญเบ™.

เบ—เปเบฒเบญเบดเบ”เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบเบฒเบ”เบ•เบปเบงเปเบ›เป€เบžเบทเปˆเบญเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบ›เบฝเบšเบ—เบฝเบšเบกเบนเบ™เบ„เปˆเบฒเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบเบฑเบšเบ•เบปเบงเบ™เบฑเบšเบเบฒเบ™เป‚เบ—. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบžเบฐเบเบฒเบเบฒเบกเป€เบญเบปเบฒเบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ” calls เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฒเบเบฎเป‰เบฒเบ™. เบ–เป‰เบฒเบฅเบฐเบซเบฑเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเบฑเบ‡เบšเปเปˆเบกเบต, เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบกเบฑเบ™:

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

เบ•เปเปˆเป„เบ›, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบžเบตเปˆเบกเบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ:

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

เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹

เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ„เปเบฒเบชเบฑเบ™เบเบฒ, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบฅเบฐเบšเบธเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบง, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™เบฅเบฒเบเบเบฒเบ™เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡ - เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™ script เบˆเบฐเบขเบธเบ”เป€เบฎเบฑเบ”เบงเบฝเบ, เปเบฅเบฐเบ—เปˆเบฒเบ™เบˆเบฐเป€เบซเบฑเบ™เบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบšเบฑเบ™เบ—เบถเบ. เบฅเบฒเบเบฅเบฐเบญเบฝเบ” เบ—เบตเปˆเบ™เบตเป‰.

เบซเบผเบฑเบ‡เบˆเบฒเบเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™, เบชเบฐเบ„เบฃเบดเบšเบˆเบฐเบ•เบญเบšเบชเบฒเบเป‚เบ—เป€เบ‚เบปเป‰เบฒเป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เบชเบฑเบ‡เป€เบ„เบฒเบฐเบชเบฝเบ‡ เปเบฅเบฐเบšเบญเบเป€เบˆเบปเป‰เบฒเบงเปˆเบฒเป€เบˆเบปเป‰เบฒเป‚เบ—เบซเบฒเบเปˆเบญเบ™เปœเป‰เบฒเบ™เบตเป‰เบˆเบฑเบเป€เบ—เบทเปˆเบญ. เบซเบผเบฑเบ‡เบˆเบฒเบเบ‚เปเป‰เบ„เบงเบฒเบกเบ™เบตเป‰, script เบชเบดเป‰เบ™เบชเบธเบ”เบเบญเบ‡เบ›เบฐเบŠเบธเบก.

เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบชเบฐเบ„เบฃเบดเบšเปเบฅเป‰เบง, เปƒเบซเป‰เป„เบ›เบ—เบตเปˆเปเบ–เบš Routing เบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐเบ„เบฅเบดเบ New Rule. เป‚เบ—เบซเบฒเบกเบฑเบ™ startCounting, เบฅเบฐเบšเบธเบชเบฐเบ„เบดเบš countingCalls, เปเบฅเบฐเบญเบญเบเบˆเบฒเบเบซเบ™เป‰เบฒเบเบฒเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ (.*).

เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบฅเบฐเบซเบฑเบ”เบกเบนเบ™เบ„เปˆเบฒ, เบซเบผเบทเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบชเบฐเบ”เบงเบเบเบงเปˆเบฒ
เบชเบดเปˆเบ‡เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบœเบนเป‰เปƒเบŠเป‰. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เป„เบ›เบ—เบตเปˆ "เบœเบนเป‰เปƒเบŠเป‰", เปƒเบซเป‰เบ„เบฅเบดเบเปƒเบชเปˆ "เบชเป‰เบฒเบ‡เบœเบนเป‰เปƒเบŠเป‰", เบฅเบฐเบšเบธเบŠเบทเปˆ (เบ•เบปเบงเบขเปˆเบฒเบ‡, user1) เปเบฅเบฐเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบซเป‰เบ„เบฅเบดเบเปƒเบชเปˆ "เบชเป‰เบฒเบ‡". เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบˆเบฐโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ„เบนเปˆโ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบชเบนเปˆโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบ™เบตเป‰โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เปƒเบ™โ€‹เป‚เบ—เบฅเบฐโ€‹เบชเบฑเบšโ€‹เป€เบงเบฑเบšโ€‹เป„เบŠโ€‹เบ•โ€‹เปŒโ€‹.

เบเบฒเบ™เบเบงเบ”เบเบฒ

เป€เบ›เบตเบ” webphone เป‚เบ”เบเปƒเบŠเป‰เบฅเบดเป‰เบ‡ phone.voximplant.com เปเบฅเบฐโ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบชเบนเปˆโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เป‚เบ”เบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบŠเบทเปˆโ€‹เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบ‚เบญเบ‡โ€‹เบ—เปˆเบฒเบ™โ€‹, เบŠเบทเปˆโ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹เปเบฅเบฐโ€‹เบ„เบนเปˆโ€‹เบŠเบทเปˆโ€‹เบœเบนเป‰โ€‹เปƒเบŠเป‰โ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เบœเปˆเบฒเบ™โ€‹เบˆเบฒเบโ€‹เบ„เปเบฒโ€‹เบฎเป‰เบญเบ‡โ€‹เบชเบฐโ€‹เบซเบกเบฑเบโ€‹. เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบชเบนเปˆโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เบชเบปเบšโ€‹เบœเบปเบ™โ€‹เบชเปเบฒโ€‹เป€เบฅเบฑเบ”โ€‹, เปƒเบชเปˆโ€‹เบŠเบธเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เปƒเบ”โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เปƒเบ™โ€‹เบžเบฒเบโ€‹เบชเบฐโ€‹เบซเบ™เบฒเบกโ€‹เบ›เป‰เบญเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เปเบฅเบฐโ€‹เบ„เบฅเบดเบโ€‹เปƒเบชเปˆโ€‹เป‚เบ—โ€‹. เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เบธเบโ€‹เบชเบดเปˆเบ‡โ€‹เบ—เบธเบโ€‹เบขเปˆเบฒเบ‡โ€‹เป€เบฎเบฑเบ”โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ•เป‰เบญเบ‡โ€‹, เบ—เปˆเบฒเบ™โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบเบดเบ™โ€‹เบเบฒเบ™โ€‹เบ—เบฑเบโ€‹เบ—เบฒเบโ€‹เบชเบฑเบ‡โ€‹เบฅเบงเบกโ€‹!

เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบ—เปˆเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ Voximplant เบ—เบตเปˆเบเบดเปˆเบ‡เปƒเบซเบเปˆเปเบฅเบฐเบ•เบดเบ”เบ•เบฒเบกเบ‚เปˆเบฒเบงเป€เบžเบตเปˆเบกเป€เบ•เบตเบก - เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบกเบตเบซเบผเบฒเบเบ‚เบถเป‰เบ™ ๐Ÿ˜‰

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™