Hívásátadás
A Call Transfer Toollal a Voice Agent aktív telefonhívást adhat át telefonszámra vagy SIP endpointra. Használhat fix destinationt, call contextből származó template-et, vagy saját HTTP endpoint meghívásával runtime is meghatározhatja a destinationt.
Használja akkor, ha a hívót emberi operátorhoz, részleghez, escalation/support queue-hoz vagy másik telefonrendszerhez kell kapcsolni.
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 Call Transfer Toolhoz egyetlen destination source-ot válasszon.
Statikus érték vagy sablon
Használja akkor, ha a transfer destination 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 fix support vonalakhoz és részlegekhez, illetve ha a destination már a hívás előtt rendelkezésre áll.
Context Mapping
Akkor használja, ha véges számú context value alapján kell kiválasztani a transfer destinationt. Több, sorrendezhető rule adható hozzá. Az IntraCord felülről lefelé értékeli őket, figyelmen kívül hagyva a kis- és nagybetűket, valamint a value körüli whitespace-t; az első egyező route-ot használja.
Minden rule-hoz adjon meg egy contextmezőt és egy vagy több value-to-destination mappinget. Prefix nélküli mező – például department – először a gathered_context.department értéket olvassa, ennek hiányában pedig az initial_context.department értéket. Ha csak az egyik contextből szeretne olvasni, használja a teljes gathered_context.department vagy initial_context.department pathot.
Mapped és fallback destination lehet:
- VICIdial in-group, például
sales - SIP endpoint, például
PJSIP/1001 - E.164 PSTN-szám, például
+1234567890 - Context template, például
{{initial_context.transfer_destination}}
Az IntraCord a Context Mapping kiértékelése előtt lefuttatja a végső variable extractiont. Ha nincs egyező rule, az opcionális fallback destinationt használja. Fallback hiányában, vagy ha a kiválasztott destination template üres értékre oldódik fel, a transfer még tárcsázás előtt meghiúsul, és a Voice Agent folytathatja a hívást.
Dinamikus HTTP-feloldó
Használja akkor, ha a destinationt a beszélgetés során kell meghatározni.
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 request bodyra:
{
"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
Dynamic resolver használatakor állítsa 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áljon:
+1234567890
A számnak elérhetőnek kell lennie a telefóniai szolgáltatóból.
Asterisk ARI
SIP endpointokat használjon:
PJSIP/sales-queue
SIP/1001
Példa: vállalati számlázási hívások útválasztása
Ezt a configot akkor használja, ha a Voice Agent azonosítja a számlázási problémát, a backend pedig eldönti, hogy a hívót általános vagy vállalati számlázáshoz, esetleg követeléskezeléshez kell irányítani.
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 resolver számára szükséges paramétereket küldje el.
- Az
initial_contextvagygathered_contextalatt már elérhető értékekhez preset paramétert használjon. - 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őrizze, 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őrizze a resolver response-t. Ennek tartalmaznia kell:
{
"transfer_context": {
"destination": "+1234567890"
}
}
Ellenőrizze továbbá a resolver URL-t, az auth headereket, a Credential bejegyzést és a timeoutot.
A feloldó nem kap meg bizonyos paramétereket
Ellenőrizze, hogy a parameter megfelelő type-pal 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 context value-khoz használjon például {{initial_context.account_id}} vagy {{gathered_context.billing_issue_type}} template-et.
A cél nem kapcsolható
Ellenőrizze, hogy a telefonszám vagy SIP endpoint érvényes, és elérhető a konfigurált telephony providerből.