Microsoft Teams Direct Routing
Managed SBC-as-a-Service. The standard alternative to Microsoft Calling Plans for Denmark users.
See Teams DR →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.
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.
DEA doesn't require KYC for standard Denmark number allocation. Activation is Instant.
What people typically use a Denmark SIP trunk for:
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.
DIDHub supports the standard Denmark number types over the SIP trunk:
| Code | Type | National dialing | International dialing | Mobile | From |
|---|---|---|---|---|---|
3-7 (landline) | Landline | 3-7 (landline) XXXX XXXX | +45 3-7 (landline) XXXX XXXX | Yes | $3.00/mo + usage |
2-5 (mobile) | Mobile | 2-5 (mobile) XXXX XXXX | +45 2-5 (mobile) XXXX XXXX | Yes | $10.00/mo + usage |
80 | Toll-free | 80 XXXX XXXX | +45 80 XXXX XXXX | Yes | $14.00/mo + usage |
For a deeper look at how number types differ globally, see DID number types explained.
The technical surface of the trunk is standardised; the Denmark-specific choices are the POP, the codec list, and the failover topology.
For the codec deep-dive, see voice codecs explained.
Outbound from a Denmark-allocated DID to Denmark destinations is allowed within approved use cases. The per-minute economics:
| Destination | Per-minute | Billing increment | Notes |
|---|---|---|---|
| Denmark landline (geographic) | €0.020/min | 1+1 second | Standard use cases |
| Denmark mobile | €0.10/min | 1+1 second | Standard use cases |
| International from Denmark DID | Per destination rate | 1+1 second | See global rates |
Create a DIDHub account, supply your business details and the intended use case for Denmark numbers.
Allocation through our in-region carrier; typically Instant.
You pick the Denmark number types you need and how many. Channel capacity allocated at the same time.
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.
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.
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.
; /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 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
Every modern PBX, UC platform, and AI voice stack can authenticate against the trunk:
Managed SBC-as-a-Service. The standard alternative to Microsoft Calling Plans for Denmark users.
See Teams DR →Standard pjsip trunk config (snippet below). FreePBX trunk module maps cleanly to DIDHub's IP-ACL or registration modes.
Asterisk → · FreePBX →Generic SIP trunk template with TLS:5061. Outbound caller ID per extension; per-DID inbound routing rules.
3CX guide →BYOC SIP trunk with Frankfurt ingress for tight latency. Bind specific Denmark DIDs to specific agents.
AI voice integrations →Per-trunk DNID auto-correct, SRV-based POP failover (Frankfurt primary / London failover).
Kamailio →Per-extension digest registration; useful for distributed support teams routing Denmark DIDs to remote agents.
Softphones →Live in Instant. Real Denmark DIDs, no setup fee after KYC, no contract.
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.
| Type | From | Notes |
|---|---|---|
| Geographic (Denmark city codes) | $3.00/mo + usage | Inbound per-minute applies; standard use cases |
| Non-geographic / national | $20.00/mo + usage | Subject to regulator allocation |
| Toll-free | $14.00/mo + usage | Free for callers; you pay inbound per-minute |
| Channels | Monthly | Suited for |
|---|---|---|
| 5 | Included with first DID | SMB / single office |
| 25 | $95/mo | Small contact centre, AI agent low concurrency |
| 50 | $180/mo | Mid-size contact centre, AI agent medium concurrency |
| 100 | $330/mo | Large contact centre, multi-tenant SaaS |
| 200 | $580/mo | Enterprise; larger by arrangement |
See section 5 above and the full global rate sheet.
Existing Denmark number? Porting timeline is 2-3 weeks.
For the full porting playbook (US/UK/EU + the global gotchas), see number porting explained.
Frankfurt is the recommended primary; London is the standard failover. Both terminate to Denmark via in-region carriers.
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.
G.711a / G.722 / Opus as the negotiation list, in that order. G.711a is the regional default for Denmark interop.
Yes, via Microsoft Teams Direct Routing through DIDHub's managed SBC. See Teams Direct Routing.
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.
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.
N/A (regional construct). Trust signals come instead through national regulator registration and operator-side caller-ID validation.
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.
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.
Live in Instant. Real Denmark DIDs, every standard PBX and AI-voice integration, no setup fee after KYC, no contract.