Dane SIP ACTIO, które wpisujesz w Vapi
| Gateway / registrar | sip.actio.pl |
| Port | 5060 UDP/TCP (zalecane na start), 5070 TLS |
| Username / Auth ID | numer użytkownika, np. 48XXXXXXXXX |
| Hasło | hasło SIP z konta (inne niż hasło do panelu) |
| CLI / From | E.164 z +48, np. +48457XXXXXX |
| Kodeki | G.711u (PCMU), G.711a (PCMA); G.722 jeśli obie strony |
Pod agenta AI bierz numer komórkowy +48, nie stacjonarny: na komórce masz od razu dwukierunkowy SMS. Stacjonarny tego nie da. Zakresy wirtualne ACTIO to +48 457 i +48 720.
1 Konto SIP i numer w ACTIO
Zakładasz konto SIP i numer, z którego bot ma dzwonić i na który ma odbierać. To ten numer widzi klient jako CLI.
- Numer geograficzny (22, 12, 61…) albo wirtualny komórkowy +48 457/720 – ten drugi, jeśli potrzebujesz SMS na tym samym numerze.
- Z panelu albo od BOK bierz: registrar, username 48XXXXXXXXX, hasło SIP.
- Nie prezentuj na wyjściu numeru, którego nie masz na trunku. Polskie sieci odrzucają obcy CLIP (SIP 603).
2 Credential byo-sip-trunk w Vapi
Vapi opisuje to w dokumentacji SIP Trunking jako Custom BYO SIP Trunk: podajesz gateway i dane uwierzytelniające. Organizacja w UE – klucz i credential przez https://api.eu.vapi.ai, host SIP sip.eu.vapi.ai. US: api.vapi.ai / sip.vapi.ai. Nie mieszaj regionów.
Vapi odradza samą autoryzację po IP na współdzielonych bramkach. Z ACTIO używamy digest: username i hasło SIP.
export VAPI_API_BASE_URL="https://api.eu.vapi.ai"
curl -X POST "$VAPI_API_BASE_URL/credential" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_VAPI_PRIVATE_KEY" \
-d '{
"provider": "byo-sip-trunk",
"name": "ACTIO Poland",
"gateways": [{
"ip": "sip.actio.pl",
"port": 5060,
"inboundEnabled": false,
"outboundEnabled": true
}],
"outboundLeadingPlusEnabled": true,
"outboundAuthenticationPlan": {
"authUsername": "48XXXXXXXXX",
"authPassword": "HASLO_SIP"
}
}'
Zapisz id z odpowiedzi – to credentialId. To samo da się kliknąć w panelu Vapi (SIP trunk / BYO), pola są te same: gateway, port, username, password, leading plus.
3 Numer byo-phone-number
Numer w Vapi to nie zakup u Vapi. To wskazanie DID-u, który już masz w ACTIO.
curl -X POST "$VAPI_API_BASE_URL/phone-number" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_VAPI_PRIVATE_KEY" \
-d '{
"provider": "byo-phone-number",
"name": "ACTIO +48",
"number": "+48457XXXXXX",
"numberE164CheckEnabled": true,
"credentialId": "YOUR_CREDENTIAL_ID"
}'
Format numeru musi być spójny z tym, co ACTIO wysyła w INVITE (E.164 z +48). Zapisz id numeru do testu wychodzącego.
4 Test połączenia wychodzącego
Z panelu Vapi albo API wywołujesz agenta na swój telefon testowy. CLI, które zobaczysz na słuchawce, to numer ACTIO.
curl -X POST "$VAPI_API_BASE_URL/call/phone" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_VAPI_PRIVATE_KEY" \
-d '{
"assistantId": "YOUR_ASSISTANT_ID",
"customer": { "number": "+48600XXXXXX" },
"phoneNumberId": "YOUR_PHONE_NUMBER_ID"
}'
- Brak dźwięku: kodek G.711, UDP RTP. ACTIO nie kompresuje HD pod G.729, jeśli obie strony mają G.711.
- 401/403 na wyjściu: złe hasło SIP albo username bez prefiksu 48.
- 603 Decline: prezentujesz CLIP, którego nie masz na trunku.
5 Połączenia przychodzące na agenta
Vapi nie rejestruje się jako telefon na sip.actio.pl. To ACTIO ma wysłać INVITE na URI Vapi. W dokumentacji Vapi ten adres to:
UE: {numer}@{credential_id}.sip.eu.vapi.ai
US: {numer}@{credential_id}.sip.vapi.ai
- Przekazujesz BOK-owi credential_id i region (UE albo US). Ustawiamy kierowanie DID-u na ten URI.
- Inbound w Vapi wymaga numerycznych IPv4 sygnalizacji ACTIO (hostname nie wystarczy do matchowania źródła). Adresy podajemy przy wdrożeniu – bez tego bywa 401 na przychodzących.
- IP sygnalizacji Vapi UE: 63.182.83.170/32. US: 44.229.228.186/32, 44.238.177.138/32. RTP UDP 40000–60000. Źródło: dokumentacja sieciowa Vapi.
6 SMS na tym samym numerze
Vapi obsługuje głos. SMS idzie osobno, przez ACTIO, na wirtualnym numerze komórkowym. Agent po rozmowie może dostać webhook z treścią SMS albo wysłać SMS z REST API (platforma Sendly). Numer stacjonarny tego nie ma.
Szerzej: głos i SMS dla agentów AI oraz SMS API.
Transfer (SIP REFER)
Jeśli agent ma oddać rozmowę człowiekowi, Vapi wysyła SIP REFER. URI transferu ma iść na domenę ACTIO, np. sip:[email protected]. CLIP na transferze – numer ACTIO, nie numer oryginalnego dzwoniącego, jeśli tego numeru nie masz na trunku.
Najczęstsze pytania
Jaki SIP trunk do VAPI, żeby dzwonić na +48 i mieć polski CLI?
SIP Trunk ACTIO, pod voicebota SIP Trunk AI (150 / 129 / 100 zł netto/mc). W Vapi: byo-sip-trunk + byo-phone-number, gateway sip.actio.pl, CLI +48. Inwentarz Twilio w PL to 73/79 i 800 – nie da 22/12/61.
Czy Vapi potrzebuje polskiego operatora, czy wystarczy Twilio?
Twilio wystarczy przy ich inwentarzu. Polski CLI, zwykła komórka +48 albo SMS bez nadpisania Sender ID wymaga polskiego SIP. ACTIO jest tą warstwą; agent zostaje w Vapi.
Czy na numerze Vapi + ACTIO działa SMS?
Tak, jeśli numer jest komórkowy ACTIO. SMS nie idzie przez Vapi, tylko przez API ACTIO / Sendly na tym samym DID.
Potrzebujesz pomocy?
Przy pierwszym trunku Vapi ustawiamy przychodzące URI i IP sygnalizacji. Napisz, z jakiego numeru +48 ma dzwonić agent.