Liigu sisu juurde

Juhendid

Tooge oma agent

Soovite ühendada volai numbriga oma häälplatvormi - ElevenLabs Conversational AI oma tööruumis, Vapi, Retell või lihtsalt Asterisk/FreeSWITCH IVR-i - sisseehitatud agendi asemel? See leht käsitleb mõlemat suunda: sissetulevaid ja väljaminevaid kõnesid. Väljamineva kõne puhul jääb ära ka agendi lisatasu 2,50 kr/min (≈ 0,10 EUR) - agenti käitate (ja selle eest maksate) ise oma platvormil.

Kiire ülevaade

Sissetulevad kõned seadistatakse, suunates numbri teie platvormi SIP-aadressile - uusi mehhanisme pole. Väljaminevad kõned liiguvad läbi lühiajalise relee-ühenduse, sest platvorm ise ei saa hoida liini püsivalt SIP-kliendina registreerituna.

Vajate: volai numbrit, API võtit (vk_...) ja kontot oma platvormil (ElevenLabs, Vapi, oma telefonikeskjaam...).

1Oma agent vs. sisseehitatud agent

Mõlemad võimalused töötavad samal numbril ja samal saldol - erinevad ainult selle poolest, KES vestluse loogikat juhib ja kui palju see lisaks maksab:

KriteeriumSisseehitatud agentTeie oma agent
Kes vestlust juhibMeie - üks systemPrompt, meie hääl ja meie ElevenLabsi tööruum.Teie - mis tahes platvorm, teie oma prompt, teie oma hääl, teie oma tööriistad.
SeadistusÜks POST /v1/agents kõne.Numbri SIP-andmed + teie platvormi konfiguratsioon (see leht).
Kõne hind0,92 kr/min (≈ 0,04 EUR) väljaminev, 0,50 kr/min (≈ 0,02 EUR) sissetulevsama - 0,92 kr/min (≈ 0,04 EUR) väljaminev, 0,50 kr/min (≈ 0,02 EUR) sissetulev
Agendi lisatasu+ 2,50 kr/min (≈ 0,10 EUR)puudub (0 CZK) - maksate ainult kõneminutite eest
Transkriptsioon, kokkuvõte, kõneposti tuvastusJah, automaatselt.Ei - tegeleb sellega teie oma platvorm (või mitte).

Agendi lisatasu jääb ära, kuid midagi lisaks meilt tasuta ei saa - oma platvormi (ElevenLabs, Vapi...) eest maksate otse selle enda hindade järgi. Meie arveldame ainult kõneminuteid volai liinil, nagu SIP-kliendi või sisseehitatud agendi puhulgi. Hinnad on ilma käibemaksuta, nagu kogu hinnakiri.

2Sissetulevad kõned teie oma agendile

Uusi mehhanisme pole - ainult olemasolev mode: "sip" suunamine (sama mis teie oma softphone'i puhul, vt SIP) teie platvormi sipUri aadressiga. ElevenLabsi SIP-trunk'i numbri puhul, mis on registreeritud TEIE ENDA tööruumis, on see selline, millel on sama number mis teie volai liinil:

bash
curl -X PATCH "https://volai.cz/v1/numbers/+420601234567" \
  -H "Authorization: Bearer vk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"routing": {"mode": "sip", "sipUri": "sip:+420601234567@sip.rtc.elevenlabs.io"}}'

Ja oma ElevenLabsi kontol (Settings → Phone Numbers → Import → SIP trunk) registreerite selle numbri väärtusega inbound_trunk_config:

json
{
  "provider": "sip_trunk",
  "phone_number": "+420601234567",
  "label": "Minu oma agent",
  "inbound_trunk_config": {
    "allowed_addresses": ["81.31.45.0/24"],
    "media_encryption": "allowed"
  }
}

allowed_addresses on ülal meie signalisatsiooni vahemik (81.31.45.0/24) - turvalisem kui universaalne 0.0.0.0/0, mis laseb INVITE'i sisse kust tahes. Mõlemad lasevad kõne läbi, kuid andmeteta impordi korral on lubatud aadresside loend AINUS kontroll - seepärast kasutage vahemikku, mitte 0.0.0.0/0.

Kasutate muud platvormi kui ElevenLabs? Põhimõte on sama - uurige, millisele SIP-aadressile see teie numbri kõnesid ootab, ja pange see väljale sipUri. Vapi puhul läheb sama vahemik BYO trunk'i väljale gateways.

Vapi puhul on suunamisaadress sip:<E164>@<credentialId>.sip.vapi.ai - <credentialId> leiate oma BYO SIP-trunk'ilt Vapis; EL-i regiooni organisatsioon kasutab domeeni sip.vapi.ai asemel domeeni sip.eu.vapi.ai. Paljas sip.vapi.ai kuulub Vapi enda numbritele ega tööta meie numbriga. BYO trunk'i puhul jätke kasutajanimi ja parool tühjaks - Vapi tunneb meie kõned ära gateway'des oleva IP järgi.

Gateway'des sisestage vahemik eraldi: IP 81.31.45.0 ja võrgumask 24. Vaikemaskiga 32 lubaks Vapi ainult ühe aadressi ja lükkaks meie kõned tagasi.

3Väljaminevad kõned teie oma agendilt (relee)

See on vastupidine suund - teie platvorm valib numbri ise. Enamik tehisintellekti häälplatvorme (ElevenLabs kaasa arvatud) ei saa telefoniliini püsivalt SIP-kliendina registreerida - nad saadavad vaid ühe autentitud kõne teie liini andmetega. Telefonivõrk sellist kõnet otse sihtnumbrile ei lase, seepärast suunate selle läbi lühiajalise relee-ühenduse:

Miks relee, mitte otsekõne

Sihtnumbri valimine otse läbi trunk'i ei tööta ühelgi juhul: meie võrgust väljas olevale numbrile kõnet üldse ei teki (platvorm teatab ebaõnnestumisest, ilma et sellest kuskil jälgi jääks), ja teisele volai numbrile meie võrgus ühendub see ainult SISEMISELT anonüümse kõnena - tegelikult ei lahku see meie võrgust, kuigi näib ühendatud. Relee on ainus viis kõne tegelikult välja saada.

1. Suunake platvorm oma liinile

Hankige oma liini SIP-andmed:

bash
curl "https://volai.cz/v1/numbers/+420601234567/sip" \
  -H "Authorization: Bearer vk_YOUR_KEY"
json
{
  "server": "sip.volai.cz",
  "username": "123456",
  "password": "a1b2c3d4e5f6",
  "outboundTrunkAddress": "sip.volai.cz",
  "port": 5060,
  "transport": "tcp",
  "inboundSignallingCidrs": ["81.31.45.0/24"]
}

Vastus tagastab server (softphone'i REGISTER'i jaoks, vt SIP) ja outboundTrunkAddress ERALDI - need ei ole omavahel asendatavad.

Ja määrake outboundTrunkAddress - MITTE server - oma platvormi väljamineva trunk'ina. ElevenLabsis on see asjaomase telefoninumbri outbound_trunk_config (Settings → Phone Numbers → teie number → Outbound calling), täpselt sellisel kujul:

json
{
  "outbound_trunk_config": {
    "address": "sip.volai.cz",
    "transport": "tcp",
    "media_encryption": "allowed",
    "credentials": {
      "username": "123456",
      "password": "a1b2c3d4e5f6"
    }
  }
}

Kasutage täpselt outboundTrunkAddress

Väljamineva trunk'i aadress peab olema täpselt vastuse väärtus outboundTrunkAddress - sõltumata sellest, kas see langeb kokku väljaga server. Teine aadress tähendab, et kõnet võrgus ei suunata ja platvorm teatab sellest kui 1011 sip request timed out - kõneajalukku ei jää midagi.

2. Looge relee-ühendus

Vahetult enne kõnet (ühendusel on lühike eluiga, vt allolevaid piiranguid) kutsuge:

bash
curl -X POST https://volai.cz/v1/relay \
  -H "Authorization: Bearer vk_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to": "+420777123456", "from": "+420601234567"}'
json
{
  "id": "rl_4f2a91cd",
  "sipName": "volai_relay_2",
  "sipUri": "sip:volai_relay_2@sip.volai.cz",
  "expiresAt": 1756111760000,
  "callId": "c_9d4e2b7f"
}

Sihtnumbri annate MEILE väljal to - platvorm seda kunagi ei näe, ta saab vastusest ainult paljast sipName'i.

3. Käskige platvormil helistada sipName'ile

Paljas nimi, mitte täielik SIP URI

ElevenLabs to_number lükkab täieliku SIP URI tagasi teatega "SipCallTo should be a phone number or SIP user, not a full SIP URI" - seepärast tagastab ülaltoodud vastus sipName (paljas volai_relay_2) ja sipUri (täielik sip:volai_relay_2@sip.volai.cz) ERALDI. Väljale kuulub ainult esimene to_number - mitte kunagi täielik URI.

ElevenLabsi puhul tähendab see helistamist /v1/convai/sip-trunk/outbound-call väärtusega to_number määratud otse väärtuseks sipName:

json
{
  "agent_id": "agent_...",
  "agent_phone_number_id": "phnum_...",
  "to_number": "volai_relay_2"
}

agent_id leiate oma agendilt ElevenLabsis, agent_phone_number_id on imporditud numbri phone_number_id - impordi vastus tagastab selle või saate selle Phone numbers loendist maha lugeda.

Kasutate ElevenLabsi asemel oma SIP-klienti või telefonikeskjaama? Valige täielik sipUri otse, nagu tavalise SIP-kõne puhul - see piirang kehtib ainult platvormidele, mis soovivad paljast nime ilma sip: prefiksita.

4. Mis edasi saab

Telefonivõrk võtab kõne vastu nime all volai_relay_2, suunab selle teie to ja seab nähtava helistaja numbri teie from - kõne saaja näeb oma ekraanil teie volai liini, mitte relee-pesa sisemist nime (ainult siis, kui numbril on oma relee-nimed - vt allpool Arveldus, vastasel juhul näeb kõne saaja volai demonumbrit). Kõne lõppedes vabastatakse leping ja minutid arvestatakse täpselt nagu tavalise väljamineva kõne puhul - 0,92 kr/min (≈ 0,04 EUR), ilma agendi lisatasuta.

Kõne kinnitav vastus tuleb tagasi alles pärast kogu helisemistsüklit (kergesti kümneid sekundeid) - see ei ole viga, kuigi teie poolel lühike ajalõpp võib seda veaks pidada, kui kõne alles heliseb.

4Probleemide lahendamine

Kõige sagedasemad teated oma agendi puhul ja mida nende korral teha:

TeadePõhjusLahendus
1011 sip request timed outVäljamineva trunk'i aadress ei ole outboundTrunkAddress.Määrake ElevenLabsi outbound_trunk_config.address väärtuseks outboundTrunkAddress SIP-andmete vastusest, mitte server.
SipCallTo should be a phone number or SIP user, not a full SIP URIto_number sisaldab täielikku sipUri'd paljaste nime asemel.Väljale to_number kuulub ainult sipName vastusest POST /v1/relay.
Kõne ebaõnnestub platvormil kohe (failed on ElevenLabs), meie poolel ei ole midagiValisite telefoninumbri otse, mitte läbi relee.Looge relee-ühendus (POST /v1/relay) ja valige tagastatud sipName.
max auth retry attempts reached for SIP invitePlatvorm ei saanud sisse logida: kas väljamineva trunk'i kasutajanimi või parool ei klapi või jõudis kõne meieni telefoninumbrina sipName'i asemel - võrk nõuab siis uut sisselogimist, mida platvorm edastada ei oska.Kopeerige kasutajanimi ja parool täpselt numbri SIP-andmetest (username, password). Pange väljale to_number ainult sipName päringust POST /v1/relay ja käivitage kõne API kaudu (POST /v1/convai/sip-trunk/outbound-call) või ElevenLabsi MCP tööriistaga make_outbound_call, mitte vormi kaudu, mis nõustub ainult telefoninumbritega. Leping ootab kõnet ainult ttlSecs (vaikimisi 120 s).
404 from_number_not_ownedfrom päringus POST /v1/relay ei ole teie oma volai number.Määrake from täpselt selleks volai numbriks, kust helistate.
400 relay_lease_limitSellel numbril (1) või kontol (2) juba töötab aktiivne leping.Oodake, kuni leping vabaneb, või tühistage kasutamata leping (DELETE /v1/relay/{id}).
503 capacity_busyJagatud relee-pesade kogum on ajutiselt täis.Midagi ei arvestata - proovige varsti uuesti.
Sissetulevad kõned ei heliseNumber ei ole ElevenLabsi imporditud, allowed_addresses ei luba meie vahemikku või suunamist ei ole volais salvestatud.Kontrollige kõiki kolme ülaltoodud sammu; kui telefonikeskjaam nõuab 401-ga autentimist, täitke suunamisel kasutajanimi ja parool.
Kõne saaja näeb teie liini asemel volai liiniNumbril ei ole veel oma relee-nimesid. Need seadistatakse kohe pärast ostu ja seekord see ei õnnestunud.Järgmine kõne proovib seadistust ise uuesti. Kui kõne saaja näeb tunni aja pärast ikka volai numbrit, pöörduge toe poole.
Korduskõne lükatakse kohe tagasi (SIP 603)Teie platvorm valis sama sipName'i uuesti, tavaliselt pärast vastamata kõnet. Üks leping ühendab täpselt ühe kõne.Looge enne iga katset uus leping (POST /v1/relay), ka kordusproovi puhul pärast vastamata kõnet, ja lülitage oma platvormil automaatne kordusvalimine välja.

5Arveldus

Relee kaudu tehtud väljaminevat kõnet arvestatakse sama hinnaga kui tavalist väljaminevat kõnet - 0,92 kr/min (≈ 0,04 EUR) - ilma igasuguse agendi lisatasuta. Hinnad on ilma käibemaksuta, nagu kogu hinnakiri.

Samaaegsus on piiratud (vt allolevaid piiranguid): korraga kuni 1 aktiivne kõne ühe teie numbri kohta ja kuni 2 konto kohta.

Kõne saaja näeb teie volai liini ainult siis, kui numbril on oma relee-nimed (relayNames) - number saab need kohe pärast ostu. Kuni neid ei ole, langeb leping tagasi jagatud kogumisse ja kõne saaja näeb volai demonumbrit. Kui see kestab kauem kui tund aega, pöörduge toe poole.

6Piirangud, kvoodid ja turvalisus

Ülempiir on 1 aktiivne leping numbri kohta ja kuni 2 konto kohta - teadlik kaitse selle vastu, et üks klient hõivab kogu jagatud relee-pesade kogumi:

MisVäärtus
Esimest kõnet ootav leping (pending)vaikimisi 120 s, ttlSecs 15 kuni 300 s
Käimasolev kõne (active)15 minutit
Aktiivne leping ühe teie numbri kohtakuni 1
Aktiivseid lepinguid konto kohtakuni 2
Lepingu kasutusühekordne - teine kõne samal lepingul lükatakse tagasi, ka kordusproov pärast vastamata kõnet vajab uut lepingut
  • from peab olema teie oma volai number - muidu from_number_not_owned. Ilma selle kontrollita saaksite helistaja numbrina võltsida kellegi teise liini.
  • Samad tõkked mis tavalise kõne puhul - mittehelistamise loend (ainult kõned, mitte SMS-id), automaatne 30-päevane blokeering pärast 3 ebaõnnestunud katset samale numbrile 24 tunni jooksul, kõrgendatud tasuga liinid, kaitse volai numbrite vaheliste silmuste vastu, kõne saaja numbri lukk ja üldine kõnede kiiruspiirang. Ühtegi neist ei saa relee kaudu mööda minna.
  • Kogum täis -> 503 capacity_busy - relee-pesad on jagatud samaaegsuse ülempiir KOGU platvormile, mitte ainult teie kontole. Olekul capacity_busy midagi ei arvestata, proovige varsti uuesti.
  • Täielik REST-viide (veakoodid, GET/DELETE lepingute kohta) on REST API viites.

Iga API viga kannab välju cause (kes selle parandab) ja action (mida teha) - vt Vea vorming REST API viites.