Brancher un agent développé par vos soins
(LiveKit Agents, Pipecat, votre orchestrateur SIP) : déclarez le serveur en Streamable HTTP et envoyez sur chaque requête Authorization et X-Call-Id, l’identifiant de votre appel (avec LiveKit Agents, MCPServerHTTP(url, headers=…, client_session_timeout_seconds=90) : sans ce réglage, chaque requête est coupée au bout de 5 secondes). Relayez la fin d’appel de même.
Sur chaque requête
Section intitulée « Sur chaque requête »| En-tête | Valeur |
|---|---|
Authorization |
Bearer vz_<préfixe>_… |
X-Call-Id |
L’identifiant de votre appel, le même pendant tout l’appel |
L’identifiant de l’appel lie la session à cet appel : une session ne se pilote que depuis l’appel qui l’a ouverte. Laissez au serveur au moins 90 secondes pour répondre : take_photo répond en 25 secondes au plus, record_video en 85.
Avec LiveKit Agents
Section intitulée « Avec LiveKit Agents »from livekit.agents import mcp
serveur_vizalia = mcp.MCPServerHTTP( url="https://mcp.vizalia.ai/mcp", transport_type="streamable_http", headers={ "Authorization": f"Bearer {CLE_VIZALIA}", "X-Call-Id": identifiant_appel, }, # 5 secondes par défaut : take_photo et record_video seraient coupés. client_session_timeout_seconds=90,)client_session_timeout_seconds est le délai de chaque requête au serveur MCP (LiveKit Agents 1.8). À sa valeur par défaut, 5 secondes, l’agent abandonne une photo ou une vidéo avant sa fin.
Relayer la fin d’appel
Section intitulée « Relayer la fin d’appel »Au raccroché, prévenez Vizalia ; sans ce relais, la session se ferme d’elle-même 16 minutes après la dernière requête de l’appel.
Relais de fin d’appel, pour Retell et pour un agent développé par vos soins :
POST https://mcp.vizalia.ai/webhooks/genericAuthorization: Bearer vz_<préfixe>_…Content-Type: application/json
{"event": "call_ended", "call_id": "<identifiant de l'appel>"}Une plateforme qui ne parle pas MCP, comme un serveur vocal qui ne sait appeler qu’une adresse HTTP,
démarre la vidéo par l’API : POST /sessions avec le numéro de l’appelant.
