---
title: "Ühenda NICE CXone'ist"
description: "Suuna NICE CXone'i kõned Studio skriptist ThunderPhone'i häälagendile, lisades ContactID SIP-päisesse, ja otsi agendi üleandmine üles, kui skript jätkub."
---

Sinu CXone Studio skript teeb häälagendile kõne SIP-päistega, mis edastavad kontakti ID ja muu konteksti. Kui agent on lõpetanud, katkestab ta kõne ning skripti REST API toiming hangib üleandmise.

## Enne alustamist

- ThunderPhone'i agent ja organisatsiooni [API-võti](/et/guides/api-keys).
- CXone'i SIP-trunk-rühm, mis aktsepteerib kohandatud päiseid. Sinu NICE'i kontohaldur peab selle sätte sisse lülitama, enne kui CXone neid saadab.

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

Placecall valib telefoninumbri CXone'i trunk-rühma kaudu, mitte SIP-aadressi. NICE ei dokumenteeri selle SIP-mandaate ning teise AI-teenuse pakkuja CXone'i integratsioon kasutab TLS-i koos IP-lubatud loendiga. Seega loo `ip_allowlist`-lõpp-punkt numbriga, millele skript helistab, sissehelistamisnumbrina (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": "NICE CXone",
    "auth": "ip_allowlist",
    "allowed_source_cidrs": ["CXONE_SIGNALLING_RANGE_1", "CXONE_SIGNALLING_RANGE_2"],
    "dial_in_numbers": ["+14155550188"]
  }'
```

- `allowed_source_cidrs`: sinu CXone'i klastri SIP-signaalivahemikud, mille saad NICE'ilt. Igaüks peab olema avalik IPv4-vahemik `/16` või kitsam (IPv6 `/48` või kitsam).
- `dial_in_numbers`: number, mille Placecall valib, kirjutatud kujul, milles CXone selle saadab. See ei pea olema päris telefoninumber. See ei tohi olla ThunderPhone'is juba kasutusel telefoninumbrina ega mõnel muul lõpp-punktil: sel juhul tagastatakse `409`.

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

## 2. Saada kõned koos kontekstiga

Lisa oma Studio skriptis enne **Placecall**i:

1. **Sipputheader**i toiming päisega `X-Call-ID` ja väärtusega `ContactID`. CXone ei saada oma kõne ID päist; ThunderPhone salvestab selle kõne `external_call_id`-na.
2. **Sipputheader**i toiming iga muu väärtuse jaoks, mida agent peab teadma, näiteks `X-Skill` väärtusega `support`. See jõuab viipesse kujul `{{sip_x_skill}}`. Sipputheader aktsepteerib päist `User-to-User`, mis tahes `X-` päist ja enamikku `P-` päiseid; NICE soovitab kasutada kuni 256 märgi pikkuseid väärtusi.

Seejärel kasuta **Placecall**i sellele numbrile trunk-rühma kaudu, mis saadab selle aadressile `sip.thunderphone.com`, kus number on nii päringu URI-s kui ka `To` päises. Lõpp-punkt toetab TLS-i (port 5061) või TCP-d (port 5060) ja keeldub UDP-st ning NICE ei dokumenteeri trunk'i transporti, seega veendu, et see ei oleks UDP.

## 3. Võta kõne tagasi

CXone loeb SIP-päiseid ainult `INVITE`-is ja selle lõppvastuses, seega tagastab agent kõne: ta jätab hüvasti ja katkestab kõne ning sinu skript võtab helistaja uuesti üle. Lisa see edastusnumber (vt [Lisa edastusnumber](/et/guides/contact-centers/overview)):

```json
{"name": "NICE CXone", "action": "return"}
```

NICE ei dokumenteeri, et skript jätkub pärast Placecalli, kui algatatud kõne lõpeb. Teiste AI-teenuse pakkujate CXone'i integratsioonid annavad skriptile enne kõne katkestamist hoopis signaali CXone'i Signal API kaudu (`POST /interactions/{contactId}/signal`); ThunderPhone seda ei kutsu. Kinnita NICE'iga, kuidas sinu skript helistaja tagasi võtab, seejärel hangi üleandmine **REST API** toiminguga:

- `GET https://api.thunderphone.com/v1/calls/handoff?external_call_id=`
  millele järgneb `ContactID`.
- Päis `Authorization: Bearer sk_live_…`.
- Kontakti suunamiseks loe vastusest `handoff.summary` ja `handoff.intent`.

Vaata [Antud kõne otsimine](/api-reference/calls#look-up-a-handed-off-call).

## Testi seda

Helista numbrile, mis käivitab skripti, küsi agendilt inimest ja kontrolli, et
skript jätkub ning REST API toiming tagastab üleandmise. Kui kõne ei jõua kunagi
agendini, kontrolli CXone'i saadetavat numbrit, et selle lähteaadress oleks
`allowed_source_cidrs` loendis ning et kõne oleks tulnud TCP või TLS-i kaudu. Seejärel ava
kõne käsuga `GET /v1/calls/{call_id}`: `sip_headers` peaks sisaldama `x-call-id` ja
`external_call_id` peaks võrduma väärtusega `ContactID`.

## Piirangud

- CXone saadab ja loeb päiseid ainult `INVITE`-il ja selle lõplikul `2xx`-il, seega
  miski agendi `BYE`-l ei jõua skriptini.
- NICE ei dokumenteeri agendilt saadetud `REFER`-i vastuvõtmist.
- REST API toimingu ajalõpp on vaikimisi 10 sekundit (maksimaalselt alla 90 sekundi)
  ning see loeb vastuseid kuni 32 KB ulatuses.
