Voximplant Voice AI Integration

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1 servicesAll 1566 services
Voximplant Voice AI Integration
Medium
from 1 week to 3 months
FAQ
AI Development Areas
AI Solution Development Stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1212
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    852
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_logo-advance_0.png
    B2B Advance company logo design
    561
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    822

Voximplant Integration for Voice AI Voximplant is a Russian cloud telephony platform with a built-in Java

Script engine (VoxEngine) for call management. Advantages: infrastructure in Russia, excellent integration with Russian operators, no issues with cross-border data transfer. ### Architecture with VoxEngine Voximplant runs a JavaScript script for every call. From the script, we communicate with the AI backend via WebSocket:```javascript // VoxEngine сценарий (JavaScript) VoxEngine.addEventListener(AppEvents.CallAlerting, (e) => { const call = e.call; call.answer();

// Создаём WebSocket соединение с нашим AI-бэкендом
const wsConn = VoxEngine.createWSClient(`wss://api.yourapp.com/voxi-stream`);

// Привязываем аудио звонка к WebSocket
call.sendMediaTo(wsConn);
wsConn.sendMediaTo(call);

wsConn.addEventListener(WSClientEvents.ConnectionClosed, () => {
    call.hangup();
});

call.addEventListener(CallEvents.Disconnected, () => {
    wsConn.close();
});

}); Python backend for audio processingpython from fastapi import FastAPI, WebSocket import asyncio

@app.websocket("/voxi-stream") async def voximplant_stream(websocket: WebSocket): await websocket.accept() session = VoiceSession()

# Отправляем приветствие
greeting_audio = await tts.synthesize("Здравствуйте! Чем могу помочь?")
await websocket.send_bytes(greeting_audio)

audio_buffer = bytearray()
silence_frames = 0

async for chunk in websocket.iter_bytes():
    audio_buffer.extend(chunk)
    silence_frames = 0  # сбрасываем при получении аудио

    # Обрабатываем каждые 1.5 секунды накопленного аудио
    if len(audio_buffer) >= 24000 * 2:  # 1.5 sec @ 16kHz 16-bit
        response = await process_utterance(bytes(audio_buffer), session)
        if response:
            audio_response = await tts.synthesize(response)
            await websocket.send_bytes(audio_response)
        audio_buffer = bytearray()

### Outgoing calls via Voximplantpython import requests

def start_outbound_campaign(contacts: list[dict]): """Запускаем массовый обзвон через Voximplant API""" for contact in contacts: response = requests.post( "https://api.voximplant.com/platform_api/StartScenarios/", data={ "account_name": VOXI_ACCOUNT, "api_key": VOXI_API_KEY, "rule_name": "outbound_bot", "script_custom_data": json.dumps({ "phone": contact["phone"], "customer_name": contact["name"], "context": contact.get("context", {}) }), "reference_to_call_id": contact["phone"] } )