Denmark · DEA

SIP Trunk in Denmark — Copenhagen, Aarhus or Odense Inbound + Outbound

A Denmark SIP trunk with real +45 Denmark DIDs, DEA-compliant allocation, Frankfurt + London ingress POPs, TLS:5061 with SRTP, every standard PBX integration. From $3.00/mo per DID plus per-minute usage, activation in Instant after KYC.

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

1. What a SIP trunk in Denmark 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 Denmark SIP trunk is the same thing carrying +45 Denmark DIDs allocated under DEA.

DIDHub provides the trunk authentication and SIP transport; DEA-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. Denmark regulation: DEA, KYC, compliance

DEA doesn't require KYC for standard Denmark number allocation. Activation is Instant.

What people typically use a Denmark SIP trunk for:

  • Nordic market entry, Danish buyers expect Danish Caller IDs; +45 is the standard for Danish B2B.
  • EU pharma and biotech, Denmark hosts major life-sciences companies (Novo Nordisk, Lundbeck); local DIDs are essential.
  • Cross-Nordic operations, pair Denmark with Sweden, Norway, Finland DIDs for full Nordic coverage.
  • Maritime / logistics, Maersk and Danish shipping; local DIDs for industry presence.
  • Toll-free 80, free for Danish callers, common for customer service.

Denmark's regulator DEA (Danish Energy Agency) does not require KYC for standard landline or 80 toll-free numbers. Activation is instant. Denmark is one of the easier EU/Nordic markets.

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 Denmark number types over the SIP trunk:

CodeTypeNational dialingInternational dialingMobileFrom
3-7 (landline)Landline3-7 (landline) XXXX XXXX+45 3-7 (landline) XXXX XXXXYes$3.00/mo + usage
2-5 (mobile)Mobile2-5 (mobile) XXXX XXXX+45 2-5 (mobile) XXXX XXXXYes$10.00/mo + usage
80Toll-free80 XXXX XXXX+45 80 XXXX XXXXYes$14.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 Denmark

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

Ingress POPs

  • Frankfurt (primary), lowest in-region latency to Denmark 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 Denmark trunk

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

DestinationPer-minuteBilling incrementNotes
Denmark landline (geographic)€0.020/min1+1 secondStandard use cases
Denmark mobile€0.10/min1+1 secondStandard use cases
International from Denmark 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 Denmark numbers.

Allocation through our Denmark carrier partner

Allocation through our in-region carrier; typically Instant.

Allocate DIDs & channel capacity

You pick the Denmark 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 Denmark 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-denmark]
type=auth
auth_type=userpass
username=YOUR_DIDHUB_USERNAME
password=YOUR_DIDHUB_PASSWORD

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

[didhub-denmark]
type=endpoint
transport=transport-tls
context=from-didhub
disallow=all
allow=g711a,g722,opus
outbound_auth=didhub-denmark
aors=didhub-denmark
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 Denmark
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: +45 ... (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 Denmark 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 Denmark 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 Denmark DIDs to remote agents.

Softphones →

Start your Denmark SIP trunk today

Live in Instant. Real Denmark DIDs, no setup fee after KYC, no contract.

8. Pricing

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

Per-DID monthly

TypeFromNotes
Geographic (Denmark city codes)$3.00/mo + usageInbound per-minute applies; standard use cases
Non-geographic / national$20.00/mo + usageSubject to regulator allocation
Toll-free$14.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 Denmark number

Existing Denmark number? Porting timeline is 2-3 weeks.

  • Typical port time: 2-3 weeks
  • Required documents: phone bill + LOA + ID + proof of address (DEA 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 Denmark SIP trunk?

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

How long does activation take for a Denmark SIP trunk?

Instant 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 DEA/carrier side.

What codecs should I configure for a Denmark SIP trunk?

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

Can I use my Denmark SIP trunk with Microsoft Teams?

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

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

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

How many concurrent calls can one Denmark 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 Denmark?

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

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

Yes. Typical Denmark port timeline is 2-3 weeks. 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 Denmark SIP trunk today

Live in Instant. Real Denmark DIDs, every standard PBX and AI-voice integration, no setup fee after KYC, no contract.