Ugrás a fő tartalomhoz

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:

  1. Az ügynök meghívja a Hívásátadás Toolt.
  2. Az IntraCord feloldja a célt a statikus beállításból vagy a dinamikus HTTP-feloldó válaszából.
  3. Igény szerint lejátssza az átadás előtti üzenetet.
  4. A telefóniai szolgáltatón keresztül tárcsázni kezdi a célt.
  5. A hívó várakoztató zenét hall, amíg a céloldali hívásszár felépül.
  6. 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 POST ké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_type vagy requested_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:

  1. Az IntraCord feloldja a statikus vagy sablonból származó célt.
  2. Ha van beállítva, lejátssza az átadás előtti üzenetet.
  3. Elindítja a szolgáltatói átadást.

Dinamikus átadásnál:

  1. A feloldó meghívása közben lejátszhatja a várakozási üzenetet.
  2. Ha a feloldó custom_message értéket ad vissza, az IntraCord ezt az üzenetet játssza le.
  3. Ha nincs custom_message, a beállított átadás előtti üzenetet használja.
  4. 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_context vagy gathered_context alatt 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.