Входящий звонок → обрабатывается /входящим, который соединяет призыв к Ultravox ai через. /transfercall/:fromnumber.
< /li>
Transfer Call → /Transfercall Возвращает Plivo xml с A to /Aagentdial.
< /li>
Ожидаемый следующий шаг → plivo должен вызовать /агент, с которым отвечает на подключение к человеку. /> < /li>
< /ol>
Проблема на шаге 3 → 4: < /p>
/Transfercall запускает и возвращает AS AS ORD. /> Я не уверен, что проблема заключается в том, как я использую (может быть, я должен вернуть непосредственно внутри /Transfercall?) Или я что -то упускаю в настройке потока вызовов Plivo. Конечная точка. < /p>
< /li>
В /Transfercall я возвращаю xml, указывающее на /агендиал.образной Ожидается, что Plivo немедленно сделает сообщение в /AgentDial, который затем запустил бы мою логику, чтобы подключить вызывающего абонента к человеческому агенту. < /p>
< /li>
< /ul>
То, что я ожидал < /p>
после /transpercall. /agentdial.
< /li>
Конечная точка /Agentdial должна отвечать и подключить вызывающего абонента с настроенным человеком_агентом_number. < /p>
< /li>
Вызов должен беспрепятственно перенести из агента AI к человеческому агенту. />import express from "express";
import plivo from "plivo";
const app = express();
const PUBLIC_URL = process.env.PUBLIC_URL;
const PLIVO_NUMBER = process.env.PLIVO_NUMBER;
const HUMAN_AGENT_NUMBER = process.env.HUMAN_AGENT_NUMBER;
// Transfer Call
app.post("/transferCall/:fromNumber", (req, res) => {
const fromNumber = req.params.fromNumber;
console.log(`Received transferCall for ${fromNumber}`);
res.type("text/xml").send(`
${PUBLIC_URL}/agentDial
`);
});
// Agent Dial
app.post("/agentDial", (req, res) => {
console.log("
try {
const response = new plivo.Response();
response.addSpeak("I will now transfer you to a human agent.");
const dial = response.addDial({
callerId: PLIVO_NUMBER,
action: `${PUBLIC_URL}/dial-status`,
method: "POST",
});
dial.addNumber(HUMAN_AGENT_NUMBER);
res.type("text/xml").send(response.toXML());
} catch (error) {
console.error(error);
res.type("text/xml").send(`
Could not connect to agent.
`);
}
});
app.listen(3000, () => console.log("Server running on port 3000"));
Подробнее здесь: https://stackoverflow.com/questions/797 ... l-redirect
Мобильная версия