Hívásátadás
A Hívásátadás Toollal az AI-ügynök egy aktív telefonhívást telefonszámra vagy SIP endpointra adhat át. Beállíthatsz rögzített célt, használhatsz híváskontextusból származó sablont, vagy a saját HTTP endpointod meghívásával az átadás pillanatában is meghatározhatod a célt.
Akkor használd, ha a hívónak emberi operátorral, részleggel, eszkalációs vagy támogatási várólistával, illetve másik telefonrendszerrel kell beszélnie.
Támogatott szolgáltatók
A hívásátadás Twilio, Telnyx és Asterisk ARI szolgáltatóval lebonyolított telefonhívásoknál érhető el.
A hívásátadás működése
Amikor az LLM úgy dönt, hogy átadásra van szükség, meghívja a Hívásátadás Toolt. Az IntraCord feloldja a célt, ellenőrzi a beállításokat, majd elindítja az átadást a telefóniai szolgáltatónál.
Sikeres átadáskor:
- Az ügynök meghívja a Hívásátadás Toolt.
- Az IntraCord feloldja a célt a statikus beállításból vagy a dinamikus HTTP-feloldó válaszából.
- Igény szerint lejátssza az átadás előtti üzenetet.
- A telefóniai szolgáltatón keresztül tárcsázni kezdi a célt.
- A hívó várakoztató zenét hall, amíg a céloldali hívásszár felépül.
- Amikor a cél válaszol, az IntraCord összekapcsolja a hívóval, és az AI-ügynök befejezi a részvételét.
Ez vak átadás. Az IntraCord jelenleg nem továbbítja automatikusan a beszélgetés kontextusát a fogadó embernek.
A cél forrása
Minden Hívásátadás Toolnál egyetlen célforrást kell választanod.
Statikus érték vagy sablon
Akkor használd, ha az átadás célja már az átadás előtt ismert.
Statikus cél lehet:
- rögzített E.164 telefonszám, például
+1234567890; - SIP endpoint, például
PJSIP/sales-queue; - kontextusból származó sablonérték, például
{{initial_context.transfer_destination}}.
Ez a legegyszerűbb megoldás rögzített ügyfélszolgálati számokhoz és részlegekhez, illetve akkor, ha a cél már a hívás kezdete előtt rendelkezésre áll.
Dinamikus HTTP-feloldó
Akkor használd, ha a célt a beszélgetés során kell eldönteni.
Az IntraCord az átadás indítása előtt POST kérést küld a feloldó endpointodnak. Az endpoint visszaadja a célt, és opcionálisan egy egyedi üzenetet is, amely tárcsázás előtt hangzik el.
Gyakori felhasználási esetek:
- útválasztás régió, időzóna vagy nyelv alapján;
- a megfelelő ügyfélkapcsolati csapat lekérése az ügyfélrendszerből;
- útválasztás ügyfélkategória vagy fiókállapot alapján;
- útválasztás problématípus, nyelv vagy részleg szerint;
- a backend üzleti logikájának használata telefonszámok rögzített beírása helyett.
A dinamikus feloldó kérése
A feloldó kérésének törzse egyszerű, lapos JSON-objektum.
Az IntraCord a következőkből állítja össze:
- LLM-paraméterek: az ügynök által a beszélgetésből kinyert értékek, amikor meghívja az átadási Toolt.
- Előre beállított paraméterek: rögzített értékekből vagy például
{{initial_context.account_id}}és{{gathered_context.billing_issue_type}}sablonból beillesztett értékek.
Ha ugyanazt a kulcsot mindkettő megadja, az előre beállított paraméter élvez elsőbbséget.
Példa a kérés törzsére:
{
"account_id": "acct_123",
"plan": "enterprise",
"billing_issue_type": "invoice_dispute"
}
A dinamikus feloldó válasza
A feloldónak olyan JSON-objektumot kell visszaadnia, amely tartalmazza a transfer_context.destination mezőt.
A transfer_context.custom_message mező opcionális.
{
"transfer_context": {
"destination": "+1234567890",
"custom_message": "Kérem, várjon, amíg kapcsolom a vállalati számlázási csapatunkat."
}
}
A mezők működése:
destination: kötelező E.164 telefonszám vagy SIP endpoint.custom_message: opcionális üzenet, amely a szolgáltatói átadás előtt hangzik el.
Ha a feloldó hibát ad, túllépi az időkorlátot, érvénytelen JSON-t küld, vagy kihagyja a transfer_context.destination mezőt, az átadás szabályosan meghiúsul, és az ügynök folytathatja a hívó kezelését.
A dinamikus feloldó beállítása
Dinamikus feloldó használatakor állítsd be:
- Feloldó URL-je: HTTP- vagy HTTPS endpoint, amelyet az IntraCord
POSTkéréssel hív meg. - Feloldó időkorlátja: ennyi ideig vár az IntraCord a válaszra.
- Várakozási üzenet: opcionális üzenet, amely a feloldó válaszára várva hangzik el, például: „Egy pillanat, megkeresem a megfelelő csapatot.”
- LLM-paraméterek: a beszélgetésből kinyerendő értékek, például
billing_issue_typevagyrequested_department. - Előre beállított paraméterek: kontextusból vagy rögzített értékből beillesztett adatok.
- Egyéni fejlécek: a feloldó endpointnak küldött statikus fejlécek.
- Credential: opcionális mentett Credential bejegyzés a feloldó kérésének azonosításához.
Átadás előtti üzenetek
A Hívásátadás Tool statikus és dinamikus cél esetén is támogat közös átadás előtti üzenetet.
Statikus átadásnál:
- Az IntraCord feloldja a statikus vagy sablonból származó célt.
- Ha van beállítva, lejátssza az átadás előtti üzenetet.
- Elindítja a szolgáltatói átadást.
Dinamikus átadásnál:
- A feloldó meghívása közben lejátszhatja a várakozási üzenetet.
- Ha a feloldó
custom_messageértéket ad vissza, az IntraCord ezt az üzenetet játssza le. - Ha nincs
custom_message, a beállított átadás előtti üzenetet használja. - Elindítja a szolgáltatói átadást.
A feloldó custom_message értéke az adott átadási kísérletnél felülírja a beállított átadás előtti üzenetet.
Átadási időkorlát
Az átadási időkorlát az a leghosszabb idő, ameddig az IntraCord a szolgáltatói átadás indítása után vár a cél válaszára.
Ez a statikus és a dinamikus átadásra egyaránt érvényes.
A feloldó időkorlátja ettől különálló beállítás: csak azt szabályozza, meddig vár az IntraCord a HTTP-feloldó válaszára a tárcsázás előtt.
Célformátumok
Twilio és Telnyx
E.164 telefonszámokat használj:
+1234567890
A számnak elérhetőnek kell lennie a telefóniai szolgáltatóból.
Asterisk ARI
SIP endpointokat használj:
PJSIP/sales-queue
SIP/1001
Példa: vállalati számlázási hívások útválasztása
Ezt a beállítást akkor használd, ha az ügynök azonosítja a számlázási problémát, a backend pedig eldönti, hogy a hívót az általános vagy vállalati számlázáshoz, esetleg a követeléskezeléshez irányítsa.
LLM-paraméterek:
[
{
"name": "billing_issue_type",
"type": "string",
"description": "The billing issue the caller needs help with, such as invoice_dispute, payment_failed, refund_request, or plan_change.",
"required": true
},
{
"name": "requested_department",
"type": "string",
"description": "The department the caller is asking for, if they explicitly mention one.",
"required": false
}
]
Előre beállított paraméterek:
[
{
"name": "account_id",
"type": "string",
"value_template": "{{initial_context.account_id}}",
"required": true
},
{
"name": "plan",
"type": "string",
"value_template": "{{initial_context.plan}}",
"required": true
}
]
A feloldó ezt kapja:
{
"billing_issue_type": "invoice_dispute",
"requested_department": "billing",
"account_id": "acct_123",
"plan": "enterprise"
}
A feloldó ezt adja vissza:
{
"transfer_context": {
"destination": "+18005550199",
"custom_message": "Kérem, várjon, amíg kapcsolom a vállalati számlázási csapatunkat."
}
}
Bevált gyakorlatok
- Tartsd alacsonyan a feloldó késleltetését; célozd meg a 2–3 másodpercet.
- Használj várakozási üzenetet, ha a feloldás érzékelhető ideig tarthat.
- Csak a feloldó számára szükséges paramétereket küldd el.
- Az
initial_contextvagygathered_contextalatt már elérhető értékekhez előre beállított paramétert használj. - Az LLM-paraméterek leírása legyen egyértelmű, hogy az ügynök tudja, mit kell kinyernie.
- Élesítés előtt teszteld a sikeres átadást és a feloldó hibáját is.
- Ha az útválasztás fiókadatoktól vagy üzleti szabályoktól függ, a cél ellenőrzését és az útválasztási logikát tartsd a backendedben.
Hibaelhárítás
Az átadási Tool nem hívódik meg
Ellenőrizd, hogy a Tool a megfelelő Node-hoz van-e rendelve, és a Node promptja világosan leírja-e, mikor kell átadni a hívást.
A statikus átadás cél nélkül meghiúsul
Statikus módban kötelező célt megadni. Használj rögzített célt vagy olyan sablont, amely nem üres értékre oldódik fel.
A dinamikus átadás tárcsázás előtt meghiúsul
Ellenőrizd a feloldó válaszát. Ennek tartalmaznia kell:
{
"transfer_context": {
"destination": "+1234567890"
}
}
Ellenőrizd továbbá a feloldó URL-jét, a hitelesítési fejléceket, a Credential bejegyzést és az időkorlátot.
A feloldó nem kap meg bizonyos paramétereket
Ellenőrizd, hogy a paraméter a megfelelő típusban van-e beállítva:
- LLM-paraméterként, ha az ügynöknek a beszélgetésből kell kinyernie;
- előre beállított paraméterként, ha a Dicendának a kontextusból kell beillesztenie.
Ismert kontextusértékekhez használj például {{initial_context.account_id}} vagy {{gathered_context.billing_issue_type}} sablont.
A cél nem kapcsolható
Ellenőrizd, hogy a telefonszám vagy SIP endpoint érvényes, és elérhető a beállított telefóniai szolgáltatóból.