Microsoft Teams Direct Routing
Managed SBC-as-a-Service in 5 PowerShell commands. Microsoft Calling Plans don't cover China; Direct Routing through DIDHub is the standard path.
See Teams DR →A China SIP trunk with real +86 Chinese DIDs, MIIT-compliant allocation, Hong Kong + Singapore ingress POPs, TLS:5061 with SRTP, every standard PBX integration. From $16.00/mo per DID plus per-minute usage, activation in 5–15 business days after KYC.
A SIP trunk is the IP delivery pipe between a carrier and your PBX, AI voice agent, or call-control platform; it carries signaling over SIP and audio over RTP, replacing the old TDM hand-off. A China SIP trunk is the same thing but with one critical wrinkle: the numbers riding it are +86 mainland Chinese DIDs allocated under the Ministry of Industry and Information Technology (MIIT), the strictest national telecom regulator most foreign operators will ever interact with.
That regulatory layer changes everything about how the trunk is provisioned, who can hold the numbers, what use cases are allowed, and how outbound CLI is verified. The technical layer underneath is standard SIP. The compliance layer on top is where the work happens.
DIDHub delivers Chinese DIDs via two operator routes: a regulated MIIT-licensed partner inside mainland China handles the number-holder relationship, and we route the SIP leg through edge SBCs in Hong Kong (primary) and Singapore (failover). The result is a single SIP trunk you authenticate against, with Chinese numbers behaving like any other DIDs in your PBX while we handle the Beijing-side paperwork.
If you've used Twilio, Telnyx, or Bandwidth for China: you'll notice the same regulatory friction. China is the country every multi-country SIP trunk provider treats specially. The honest version is that no foreign carrier directly holds Chinese numbers; everyone routes through licensed mainland partners. DIDHub's edge is shorter timelines (5–15 business days) and clearer pricing.
MIIT registration is the first thing that has to happen before any Chinese DID rings. The requirements are stricter than EU GDPR-style KYC and unique to China.
For the broader regulatory 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.
China uses 2–4 digit area codes with trunk prefix 0; the international format drops the leading 0 and prefixes +86. The trunk can carry any of these number types simultaneously:
| Code | Type | National dialing | International dialing | Mobile | From |
|---|---|---|---|---|---|
010 | Beijing geographic | 010 XXXX XXXX | +86 10 XXXX XXXX | Yes | $16.00/mo + usage |
021 | Shanghai geographic | 021 XXXX XXXX | +86 21 XXXX XXXX | Yes | $16.00/mo + usage |
020 | Guangzhou geographic | 020 XXXX XXXX | +86 20 XXXX XXXX | Yes | $16.00/mo + usage |
0755 | Shenzhen geographic | 0755 XXXX XXXX | +86 755 XXXX XXXX | Yes | $16.00/mo + usage |
0571 | Hangzhou geographic | 0571 XXXX XXXX | +86 571 XXXX XXXX | Yes | $16.00/mo + usage |
400 | National service number | 400 XXX XXXX | +86 400 XXX XXXX | Yes | $24.00/mo + usage |
800 | Toll-free (landline only) | 800 XXX XXXX | +86 800 XXX XXXX | No | $60.00/mo + usage |
Two specifically Chinese pitfalls to know up front. 800 toll-free in China is reachable only from Chinese landlines (Chinese mobile users cannot dial 800 numbers; it's a regulatory carve-out that surprises every Western operator). Almost every modern Chinese consumer use case wants 400 instead, which is reachable from both mobile and landline and where the caller pays the normal long-distance rate.
Chinese mobile DIDs (147/152/170/171/178 ranges and others) are extremely restricted; allocation to non-carriers is severely limited and most foreign operators cannot get them at all. If your use case requires sending or receiving SMS, plan around 400 or geographic numbers, or coordinate with us upfront.
For a deeper look at how number types differ globally, see DID number types explained.
The technical surface of the trunk is standardised; the China-specific choices are the POP, the codec list, and the failover topology.
For the codec deep-dive, see voice codecs explained.
Outbound from a China-allocated DID to Chinese landline and mobile destinations is allowed within approved use cases. The per-minute economics:
| Destination | Per-minute | Billing increment | Notes |
|---|---|---|---|
| China landline (geographic) | $0.09/min | 1+1 second | Standard MIIT-approved use cases |
| China mobile | $0.20/min | 1+1 second | Standard MIIT-approved use cases |
| China 400 destination | $0.09/min | 1+1 second | Caller pays long-distance share |
| International from China DID | Per destination rate | 1+1 second | See global rates |
Create a DIDHub account, supply your business details and the intended use case for Chinese numbers. We'll send back a short MIIT-compliance questionnaire.
We translate and submit the filing to our mainland operator partner. The mainland operator runs MIIT vetting in parallel with carrier-side allocation. This is the long part: 5–15 business days, sometimes faster, occasionally longer.
You pick the city codes (010 Beijing, 021 Shanghai, 0755 Shenzhen, …) and how many of each. Trunk channel capacity is allocated at the same time.
SIP URI (defaults to sip.didhub.io; Hong Kong POP), 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 the trunk credentials into their BYOC configuration.
Place a test call to one of your DIDs from a Chinese mobile or landline; place a test outbound back. Confirm caller-ID resolves correctly, codec negotiates as expected, and audio quality is acceptable round-trip.
; /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-china] type=auth auth_type=userpass username=YOUR_DIDHUB_USERNAME password=YOUR_DIDHUB_PASSWORD [didhub-china] type=aor contact=sip:sip.didhub.io:5061;transport=tls qualify_frequency=30 [didhub-china] type=endpoint transport=transport-tls context=from-didhub disallow=all allow=alaw,g722,opus outbound_auth=didhub-china aors=didhub-china dtmf_mode=rfc4733 media_encryption=sdes direct_media=no
# 3CX -> SIP Trunks -> Add SIP Trunk -> Generic SIP Trunk Trunk name: DIDHub China 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: +86 10 XXXX XXXX (one of your allocated DIDs) Codecs (priority): G.711 a-law, G.722, Opus
Every modern PBX, UC platform, and AI voice stack can authenticate against the trunk:
Managed SBC-as-a-Service in 5 PowerShell commands. Microsoft Calling Plans don't cover China; Direct Routing through DIDHub is the standard path.
See Teams DR →Standard pjsip trunk config (snippet below). FreePBX has a Chunk module that 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 Hong Kong ingress for tight latency to your inference region. Bind specific Chinese DIDs to specific agents.
AI voice integrations →Per-trunk DNID auto-correct, SRV-based POP failover (HK primary / SG failover), dispatcher-module load balancing.
Kamailio →Per-extension digest registration; useful for distributed support teams routing Chinese DIDs to remote agents.
Softphones →Live in 5–15 business days. Real Chinese DIDs, no setup fee after KYC, no contract.
Four line items: per-DID monthly rental, per-minute inbound usage on every China DID (even landline geographic numbers carry an inbound MOU charge in China), channel capacity, and per-minute outbound. Setup is $0 once MIIT paperwork is approved.
| Type | From | Notes |
|---|---|---|
| Geographic (Tier 1 cities: 010, 021, 020, 0755) | $16.00/mo + usage | Inbound per-minute applies; standard use cases |
| Geographic (Tier 2: 022, 028, 023, 027, …) | $20.00/mo + usage | Inbound per-minute applies; subject to allocation availability |
| 400 national service | $24.00/mo + usage | Reachable from mobile and landline; usage billed per-minute |
| 800 toll-free (landline only) | $60.00/mo + usage | Not reachable from Chinese mobile; usage billed 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.
Porting in mainland China is rare, possible, and slow. Realistic expectations:
For the full porting playbook (US/UK/EU + the global gotchas), see number porting explained.
Not directly under current MIIT rules. The number is held by a licensed mainland Chinese entity (DIDHub's regulated partner, or your own WFOE / Chinese subsidiary if you have one) and routed to you over SIP. The trunk authentication and SIP delivery to your platform looks identical to any other DIDHub trunk.
5 to 15 business days after KYC documents are received and the use case is approved. The variability is on MIIT and the underlying mainland carrier; the SIP-side provisioning is hours, not days.
Hong Kong is the recommended primary for almost everyone. Singapore is the standard failover. Mainland Shanghai ingress is available for enterprise customers with their own ICP-licensed Chinese entity.
400 is a national service number reachable from both mobile and landline; caller pays the normal long-distance rate. 800 is true toll-free for the caller, but reachable only from Chinese landlines. Chinese mobile users cannot dial 800 numbers. Almost every modern B2C use case wants 400.
Yes, via Microsoft Teams Direct Routing through DIDHub's managed SBC. Microsoft Calling Plans don't cover mainland China, so Direct Routing through DIDHub is the standard path for Teams users operating in China.
G.711 a-law (PCMA) as the default, G.722 for HD voice on capable endpoints, Opus for AI voice agents and IP-native softphones. G.729 available on request. Always offer G.711 a-law before mu-law on China-bound trunks.
No. STIR/SHAKEN is a US/Canada framework that doesn't exist in China. Trust signals in China come through MIIT registration and operator-side caller-ID validation against the registered number holder.
SMS is a separate provisioning track from voice. In China, commercial SMS is heavily regulated. Inbound works on most numbers; outbound requires content pre-approval and is restricted to MIIT-licensed templates. DIDHub manages SMS compliance for legitimate use cases.
The DID itself is just an address; concurrent-call capacity is set by the channel count on the trunk. A 50-channel trunk with 1 Chinese 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.
Cold outbound calling, unsolicited SMS campaigns, anonymous-relay setups, and anything touching MIIT's restricted-content categories (gambling, adult content, political advocacy). Customer service, opted-in callbacks, transactional 2FA, inbound AI voice agents, and Teams Direct Routing for registered entities are routinely approved.
Live in 5–15 business days. Real Chinese DIDs, every standard PBX and AI-voice integration, no setup fee after KYC, no contract.