Ukraine · NCEC

SIP Trunk in Ukraine — Kyiv, Kharkiv or Lviv Inbound + Outbound

A Ukraine SIP trunk with real +380 Ukraine DIDs, NCEC-compliant allocation, Frankfurt + London ingress POPs, TLS:5061 with SRTP, every standard PBX integration. From $10.00/mo per DID plus per-minute usage, activation in 5-10 business days after KYC.

Real Ukraine DIDs allocated through licensed carriers TLS + SRTP end-to-end 5–200 channel scale per trunk

1. What a SIP trunk in Ukraine actually is

A SIP trunk is the IP delivery pipe between a carrier and your PBX, AI voice agent, or call-control platform; signaling over SIP, audio over RTP. A Ukraine SIP trunk is the same thing carrying +380 Ukraine DIDs allocated under NCEC.

DIDHub provides the trunk authentication and SIP transport; NCEC-compliant number allocation is coordinated through our in-region carrier partners. Your PBX or platform sees a standard SIP trunk; we handle the regulator-side paperwork.

2. Ukraine regulation: NCEC, KYC, compliance

NCEC requires KYC documentation before any Ukraine DID can be allocated. Activation typically takes 5-10 business days. DIDHub handles the document submission and regulator coordination on your behalf.

What people typically use a Ukraine SIP trunk for:

  • Ukrainian customer presence, Kyiv 44 for B2B credibility with Ukrainian buyers and partners.
  • Diaspora communications, large Ukrainian diaspora in Poland, Germany, Canada, US since 2022.
  • Tech and outsourcing, Ukraine has a major IT services and software development sector.
  • Toll-free 800, free for Ukrainian callers, used for support.

Ukraine's regulator NCEC requires light KYC for foreign customers, incorporation documents and an authorized contact. Activation 5-10 business days. Inbound voice and SMS work reliably; portability is currently limited due to operator coordination.

For the broader picture across countries, see our guide to international DID compliance & KYC bundles. For the SIP-trunk concept end-to-end, see the DID Number Provider guide.

3. Number types you can route over the trunk

DIDHub supports the standard Ukraine number types over the SIP trunk:

CodeTypeNational dialingInternational dialingMobileFrom
44, 57, 48, 32, 56 …Geographic44 XXXX XXXX+380 44 XXXX XXXXYes$10.00/mo + usage
800Toll-free800 XXXX XXXX+380 800 XXXX XXXXYes$30.00/mo + usage

For a deeper look at how number types differ globally, see DID number types explained.

4. How DIDHub's SIP trunk works in Ukraine

The technical surface of the trunk is standardised; the Ukraine-specific choices are the POP, the codec list, and the failover topology.

Ingress POPs

  • Frankfurt (primary), lowest in-region latency to Ukraine endpoints.
  • London (failover), secondary route used if the primary path degrades.

Transport & security

  • TLS:5061 recommended for any production trunk; UDP allowed for legacy.
  • SRTP for media via DTLS-SRTP or SDES.
  • SIP authentication: digest registration (PBX behind NAT) or IP-ACL (static peering). See SIP authentication.

Codecs

  • G.711 a-law (PCMA), the European default.
  • G.722, wideband HD voice on capable endpoints.
  • Opus, for AI voice agents and IP-native softphones.
  • G.729, available on request.

For the codec deep-dive, see voice codecs explained.

DTMF

  • RFC 4733 (telephone-events over RTP) is the default. SIP INFO and in-band DTMF available for legacy interop on request.

Channel concurrency

  • Trunks start at 5 concurrent channels and scale to 200 per trunk off the shelf. Larger requires a custom arrangement.
  • Channels are independent of DID count; you can carry 200 numbers on a 10-channel trunk if your concurrent-call peak is 10. See multiple concurrent calls on one DID.

STIR/SHAKEN

  • Not applicable. The North-American STIR/SHAKEN attestation framework is a US/Canada construct that doesn't exist in Europe. EU trust signals come through national regulator registration and operator-side caller-ID validation.

5. Outbound calling from your Ukraine trunk

Outbound from a Ukraine-allocated DID to Ukraine destinations is allowed within approved use cases. The per-minute economics:

DestinationPer-minuteBilling incrementNotes
Ukraine landline (geographic)€0.020/min1+1 secondStandard use cases
Ukraine mobile€0.10/min1+1 secondStandard use cases
International from Ukraine DIDPer destination rate1+1 secondSee global rates

Outbound caller-ID rules

  • Your outbound CLI must match a DID you've allocated through the trunk. Setting an arbitrary caller ID is rejected at the SBC.
  • Origin-based rating (OBR) applies on cross-border outbound, the regulated EEA tier may apply depending on the source carrier.
  • For multi-region operators, see origin-based rating savings.

6. Setup in 6 steps

Sign up & submit details

Create a DIDHub account, supply your business details and the intended use case for Ukraine numbers.

NCEC compliance review

We coordinate with NCEC and our in-region carrier; typical timeline 5-10 business days.

Allocate DIDs & channel capacity

You pick the Ukraine number types you need and how many. Channel capacity allocated at the same time.

Receive trunk credentials

SIP URI (defaults to sip.didhub.io, terminating to Frankfurt), digest username/password or IP-ACL details, TLS cert verification fingerprint, and your assigned DIDs.

Wire up your PBX or platform

Standard SIP trunk configuration on Asterisk, FreePBX, 3CX, Kamailio, OpenSIPS, or any modern stack. For Teams Direct Routing, Vapi, Retell, or other BYOC platforms, paste credentials into their BYOC config.

Test inbound + outbound

Place a test call to one of your DIDs from a Ukraine mobile or landline; place a test outbound back. Confirm caller-ID resolves correctly, codec negotiates as expected, and audio quality is acceptable.

Asterisk pjsip example

; /etc/asterisk/pjsip.conf
[transport-tls]
type=transport
protocol=tls
bind=0.0.0.0:5061
cert_file=/etc/asterisk/keys/asterisk.crt
priv_key_file=/etc/asterisk/keys/asterisk.key
method=tlsv1_2

[didhub-ukraine]
type=auth
auth_type=userpass
username=YOUR_DIDHUB_USERNAME
password=YOUR_DIDHUB_PASSWORD

[didhub-ukraine]
type=aor
contact=sip:sip.didhub.io:5061;transport=tls
qualify_frequency=30

[didhub-ukraine]
type=endpoint
transport=transport-tls
context=from-didhub
disallow=all
allow=g711a,g722,opus
outbound_auth=didhub-ukraine
aors=didhub-ukraine
dtmf_mode=rfc4733
media_encryption=sdes
direct_media=no

3CX SIP trunk template snapshot

# 3CX -> SIP Trunks -> Add SIP Trunk -> Generic SIP Trunk
Trunk name:        DIDHub Ukraine
Registrar:         sip.didhub.io
Transport:         TLS
Port:              5061
Authentication:    Register/Account based
Auth ID:           YOUR_DIDHUB_USERNAME
Auth password:     YOUR_DIDHUB_PASSWORD
Outbound caller ID: +380 ... (one of your allocated DIDs)
Codecs (priority):  G.711a / G.722 / Opus

7. Integration patterns

Every modern PBX, UC platform, and AI voice stack can authenticate against the trunk:

Microsoft Teams Direct Routing

Managed SBC-as-a-Service. The standard alternative to Microsoft Calling Plans for Ukraine users.

See Teams DR →

Asterisk / FreePBX

Standard pjsip trunk config (snippet below). FreePBX trunk module maps cleanly to DIDHub's IP-ACL or registration modes.

Asterisk → · FreePBX →

3CX

Generic SIP trunk template with TLS:5061. Outbound caller ID per extension; per-DID inbound routing rules.

3CX guide →

AI voice agents (Vapi, Retell, ElevenLabs)

BYOC SIP trunk with Frankfurt ingress for tight latency. Bind specific Ukraine DIDs to specific agents.

AI voice integrations →

Kamailio / OpenSIPS

Per-trunk DNID auto-correct, SRV-based POP failover (Frankfurt primary / London failover).

Kamailio →

Softphones (Zoiper, Bria, Linphone)

Per-extension digest registration; useful for distributed support teams routing Ukraine DIDs to remote agents.

Softphones →

Start your Ukraine SIP trunk today

Live in 5-10 business days. Real Ukraine DIDs, no setup fee after KYC, no contract.

8. Pricing

Four line items: per-DID monthly rental, per-minute inbound usage on every Ukraine DID (even landline geographic numbers carry an inbound MOU charge in Ukraine), channel capacity, and per-minute outbound. Setup is $0 once NCEC paperwork is approved.

Per-DID monthly

TypeFromNotes
Geographic (Ukraine city codes)$10.00/mo + usageInbound per-minute applies; standard use cases
Non-geographic / national$44.00/mo + usageSubject to regulator allocation
Toll-free$30.00/mo + usageFree for callers; you pay inbound per-minute

Channel capacity

ChannelsMonthlySuited for
5Included with first DIDSMB / single office
25$95/moSmall contact centre, AI agent low concurrency
50$180/moMid-size contact centre, AI agent medium concurrency
100$330/moLarge contact centre, multi-tenant SaaS
200$580/moEnterprise; larger by arrangement

Per-minute outbound

See section 5 above and the full global rate sheet.

9. Porting an existing Ukraine number

Existing Ukraine number? Porting timeline is Limited (ongoing operator coordination).

  • Typical port time: Limited (ongoing operator coordination)
  • Required documents: phone bill + LOA + ID + proof of address (NCEC requirements)
  • Cost: port-in fee per number; carrier-side fees may apply

For the full porting playbook (US/UK/EU + the global gotchas), see number porting explained.

10. FAQ

Which POP should I connect to for a Ukraine SIP trunk?

Frankfurt is the recommended primary; London is the standard failover. Both terminate to Ukraine via in-region carriers.

How long does activation take for a Ukraine SIP trunk?

5-10 business days after KYC documents are accepted (or instantly where KYC isn't required). Provisioning the SIP side itself is hours, not days; the variability is on the NCEC/carrier side.

What codecs should I configure for a Ukraine SIP trunk?

G.711a / G.722 / Opus as the negotiation list, in that order. G.711a is the regional default for Ukraine interop.

Can I use my Ukraine SIP trunk with Microsoft Teams?

Yes, via Microsoft Teams Direct Routing through DIDHub's managed SBC. See Teams Direct Routing.

Can I use my Ukraine SIP trunk with AI voice agents (Vapi, Retell, ElevenLabs)?

Yes, BYOC SIP trunk works with every major AI voice platform. Bind specific Ukraine DIDs to specific agents; outbound CLI must match an allocated DID.

How many concurrent calls can one Ukraine DID handle?

The DID is an address; concurrent-call capacity is set by the channel count on the trunk. A 50-channel trunk with 1 DID can carry 50 concurrent calls to that one number; the same trunk with 200 DIDs can carry 50 concurrent calls across any combination of those numbers.

Does STIR/SHAKEN apply in Ukraine?

N/A (regional construct). Trust signals come instead through national regulator registration and operator-side caller-ID validation.

Can I port my existing Ukraine number to a DIDHub SIP trunk?

Yes. Typical Ukraine port timeline is Limited (ongoing operator coordination). Required documents vary by number type; contact us for the specific checklist. See number porting explained for the global picture.

What use cases get approved most easily?

Customer service inbound, opted-in callbacks, transactional 2FA, inbound AI voice agents, and Microsoft Teams Direct Routing for registered entities. Cold outbound, unsolicited SMS campaigns, and anonymous-relay setups are routinely rejected.

Start your Ukraine SIP trunk today

Live in 5-10 business days. Real Ukraine DIDs, every standard PBX and AI-voice integration, no setup fee after KYC, no contract.