in websocket-server/src/sessionManager.ts [78:103]
function handleTwilioMessage(data: RawData) {
const msg = parseMessage(data);
if (!msg) return;
switch (msg.event) {
case "start":
session.streamSid = msg.start.streamSid;
session.latestMediaTimestamp = 0;
session.lastAssistantItem = undefined;
session.responseStartTimestamp = undefined;
tryConnectModel();
break;
case "media":
session.latestMediaTimestamp = msg.media.timestamp;
if (isOpen(session.modelConn)) {
jsonSend(session.modelConn, {
type: "input_audio_buffer.append",
audio: msg.media.payload,
});
}
break;
case "close":
closeAllConnections();
break;
}
}