---
title: "Ühenda Five9-st"
description: "Suunake Five9 kõned AI Agent Connecti kaudu SIP-i abil ThunderPhone'i häälagendile ja saate need tagasi marsruutimisepäistega, mida teie IVR-i skript loeb."
---

Sinu Five9 IVR-skript suunab helistaja agendile koos Five9 kõneandmetega. Kui agent lõpetab, katkestab see kõne SIP `BYE` marsruutimispäistega, mille skript loeb kõnemuutujatesse, et helistaja suunata.

## Enne alustamist

- ThunderPhone'i agent ja organisatsiooni [API-võti](/et/guides/api-keys).
- Five9 **AI Agent Connect** lisandmoodul. Five9 piirab selle kasutamist enda akrediteeritud tehisintellekti pakkujatega ning Five9 juurutusmeeskond seadistab selle: impordib pakkuja IVR-skripti malli, loob kõnemuutujad ja suunab skripti **Kolmanda osapoole edastamise** mooduli pakkujale. ThunderPhone ei ole veel Five9 akrediteeritud loendis: enne selle ümber planeerimist küsi oma Five9 kontomeeskonnalt või ThunderPhone'i toelt.

## 1. Loo SIP-lõpp-punkt

Five9 kolmanda osapoole edastamise moodul valib telefoninumbri, mitte SIP-aadressi, ning teiste pakkujate Five9 integratsioonid autentivad Five9 lähteaadressi, mitte parooli alusel. Seega loo `ip_allowlist` lõpp-punkt, kus Five9 valitav number on sissehelistamisnumber (vt
[Platvormid, mis valivad telefoninumbri](/et/guides/sip-addresses)):

```bash
curl -X POST https://api.thunderphone.com/v1/sip-endpoints \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": 12,
    "name": "Five9",
    "auth": "ip_allowlist",
    "allowed_source_cidrs": ["FIVE9_SIGNALLING_RANGE_1", "FIVE9_SIGNALLING_RANGE_2"],
    "dial_in_numbers": ["+14155550188"]
  }'
```

- `allowed_source_cidrs`: sinu Five9 andmekeskuste SIP-signalisatsiooni vahemikud, mille saad Five9-lt. Igaüks peab olema avalik IPv4 vahemik `/16` või kitsam (IPv6 puhul `/48` või kitsam).
- `dial_in_numbers`: number, mille Five9 skript valib, kirjutatuna kujul, milles Five9 selle saadab. See ei pea olema päris telefoninumber. Seda ei tohi juba ThunderPhone'is kasutada telefoninumbrina ega mõnes teises lõpp-punktis: sel juhul tagastatakse `409`.

Five9 aadresse jagavad kõik selle kliendid, seega jõuab iga teine Five9 klient, kes sellele numbrile helistab, sinu agendini. Kui valid numbri ise, vali pikk number, mida keegi ei arvaks ära (kuni 15 numbrit), veendu, et Five9 saadab selle ThunderPhone'i, mitte telefonivõrku, ning ära avalda seda.

## 2. Saada kõned koos kontekstiga

Palu Five9 juurutusmeeskonnal teha järgmist.

- Saata kõne **Kolmanda osapoole edastamise** moodulist aadressile
  `sip:+14155550188@sip.thunderphone.com`, nii et number oleks nii päringu URI-s kui ka `To` päises. Moodul kasutab numbrit koos pakkuja SIP-domeeniga päises.
- Saata see TLS-i kaudu (port 5061) või TCP kaudu (port 5060). Lõpp-punkt keeldub UDP-st ning Five9 ei avalda, millist transporti ta kasutab, seega veendu, et see ei ole UDP.
- Lülitada sisse **Naase pärast kolmanda osapoole kõnet**, et skript jätkuks, kui agent kõne katkestab (Five9 lubab kolmanda osapoole kõne kestuseks kuni 3600 sekundit).

Five9 juhend loetleb saadetavad väärtused (`call.ANI`, `call.DNIS`,
`call.call_id`, `call.session_id`, `call.campaign_name` ja muud), kuid mitte nende päiste nimesid. Teiste tehisintellekti pakkujate Five9 integratsioonide dokumentatsioonis on need edastatud kujul
`X-CallANI`, `X-CallDNIS`, `X-CallID`, `X-CallSessionID`, `X-CallCampaign`
ja `X-AgentID`; kontrolli neid oma esimesel testkõnel. Iga väärtus jõuab viibani muutujana, näiteks
`{{sip_x_callcampaign}}`. `X-CallID` salvestatakse kõne
`external_call_id` väärtusena.

## 3. Edasta kõne tagasi

Häälagent tagastab kõne: jätab hüvasti ja lõpetab kõne ning `BYE` sisaldab
nelja päist, mida Five9 skript loeb. Lisa see edastusnumber (vt
[Edastusnumbri lisamine](/et/guides/contact-centers/overview)):

```json
{
  "name": "Five9 agent",
  "action": "return",
  "headers": {
    "X-RouteType": "SkillTransfer",
    "X-RouteValue": "Support",
    "X-RouteReason": "{{handoff_intent}}",
    "X-CustomMetaData": "handoff_id={{handoff_id}}"
  }
}
```

- `X-RouteType` ja `X-RouteValue` määravad skriptile, kuhu helistaja suunata,
  siin tugioskusesse. Teiste teenusepakkujate dokumenteeritud `X-RouteType`
  väärtused hõlmavad `SkillTransfer`, `PhoneTransfer`, `Hangup` ja
  `DispositionOnly`; kooskõlasta väärtused skripti haldajaga. Mitme sihtkoha
  korral lisa iga sihtkoha jaoks eraldi tagastus erineva nime ja
  `X-RouteValue` väärtusega.
- `X-RouteReason` sisaldab häälagendi kavatsuse silti, näiteks `billing_dispute`.
- `X-CustomMetaData` sisaldab üleandmise ID-d. `BYE` sisaldab seda ka päisena
  `X-TP-Handoff-Id`, mida Five9 ei loe.

Five9 skript vastendab neli päist kõnemuutujateks. Häälagendi kokkuvõtte jaoks
lase skriptil kutsuda üleantud kõne otsingut IVR-i **Päringu** mooduliga:
`GET https://api.thunderphone.com/v1/calls/handoff?external_call_id=` millele järgneb
`call.call_id`, ning autoriseerimisprofiiliga, mis saadab
`Authorization: Bearer` ja sinu API võtme. Vaata
[Üleantud kõne otsimine](/api-reference/calls#look-up-a-handed-off-call).

## Testi seda

Helista IVR-skripti, palu häälagendil ühendada inimesega ja kontrolli, et skript
suunab helistaja täidetud kõnemuutujatega. Kui kõne ei jõua kunagi häälagendini,
kontrolli, et päringu URI-s ja `To` päises olev number vastab
sissehelistamisnumbrile, et Five9 lähteaadress sisaldub loendis
`allowed_source_cidrs` ning et kõne tuli TCP või TLS-i kaudu. Seejärel ava kõne
päringuga `GET /v1/calls/{call_id}`: `sip_headers` peaks sisaldama `x-callid` ja
`external_call_id` peaks vastama Five9 väärtusele `call.call_id`.

## Piirangud

- Five9 juhend dokumenteerib marsruutimisandmed `BYE` päises ega maini
  `REFER`-i vastuvõtmist, seega on tagasiedastus skripti tehtav külmedastus.
- Five9 loeb päiseid `X-RouteType`, `X-RouteValue`, `X-RouteReason` ja
  `X-CustomMetaData`, mitte `User-to-User`. ThunderPhone saadab iga päise
  väärtuse pikkusega kuni 256 baiti.
- Five9 soovitab hoida kohandatud päiste arvu umbes kümne juures, et vältida
  pakettide fragmenteerumist.
