
Teilen Sie:
Rafay ist Senior Software Engineer bei Vonage und arbeitet im Video Media-Team der Abteilung API Engineering. Sein Schwerpunkt liegt auf der Entwicklung und Wartung der geschäftskritischen Infrastruktur, die die Echtzeit-Videokommunikation in großem Maßstab ermöglicht – vom Management des Sitzungslebenszyklus über Signalisierungsprotokolle bis hin zu KI-gestützten Integrationen und Entwicklertools.
China Relay EOL: Bauen Sie Ihr eigenes Relais mit der Vonage Video API
Lesedauer: 8 Minuten
Hinweis: Dieser Leitfaden richtet sich an Kunden der Vonage Video API, die zuvor China Relay genutzt haben, sowie an alle Kunden, die Nutzer auf dem chinesischen Festland bedienen möchten.
Hintergrund
Das Auslaufen von China Relay markiert zwar einen Wandel, eröffnet aber gleichzeitig neue Möglichkeiten: die vollständige Eigenverantwortung und Kontrolle über Ihre Relay-Infrastruktur. Anstatt auf einen von einem Drittanbieter verwalteten Dienst angewiesen zu sein, können Sie nun eine Lösung entwickeln, die ganz Ihnen gehört – eine Lösung, die Ihnen direkten Einblick in Ihren Compliance-Status bietet und Ihnen die Flexibilität gibt, sich an die sich weiterentwickelnden gesetzlichen und regulatorischen Anforderungen in China anzupassen. Dieser Leitfaden zeigt Ihnen genau, wie Sie dies mithilfe der Plattformfunktionen der Vonage Video API umsetzen können.
Die „China Relay“-Funktion von Vonage stellte eine verwaltete Relay-Infrastruktur bereit, die auf dem chinesischen Festland (AWS-Region Peking) gehostet wurde, um Kunden dabei zu unterstützen, ihre Endnutzer innerhalb der Netzwerkgrenzen Chinas zu bedienen. Sie bestand aus drei Komponenten: einer Lambda@Edge-Geo-Erkennungsschicht, einem WebSocket-Proxy für die API-Signalisierung und einem TURN-Server (Traversal Using Relays around NAT) für die Medienweiterleitung. Alle drei Komponenten wurden innerhalb von AWS China bereitgestellt und unter der Domain nexmoproxy.cn betrieben.
China Relay hat im 2. Quartal 2026 das Ende seiner Lebensdauer erreicht und wurde endgültig aus dem Programm genommen.
In diesem Artikel wird erläutert, wie Kunden der Vonage Video API mithilfe der Plattformfunktionen von Vonage – insbesondere „Configurable TURN“ und „IP Proxy“ – in Kombination mit Ihrer eigenen, in China gehosteten Infrastruktur eine gleichwertige Relay-Lösung rechtmäßig aufbauen und betreiben können.
Warum Sie für China eine spezielle Konfiguration benötigen
Wenn Sie die Anforderungen in China verstehen, haben Sie alles im Griff. Hier erfahren Sie, was Sie beachten müssen, um Ihren Nutzern ein vollständig konformes und hochwertiges Erlebnis zu bieten:
Alle Dienste mit Internetanbindung müssen über eine gültige ICP-Lizenz (Internet Communication Provider) verfügen.
Der Datenverkehr zu und von internationalen Cloud-Infrastrukturen wird von der Great Firewall stark gefiltert, was bei WebRTC-Medienstreams zu hohem Paketverlust und hoher Latenz führt.
Ohne die entsprechenden Lizenzen ist es rechtlich nicht zulässig, den Datenverkehr chinesischer Nutzer über ausländische Server zu leiten.
Sowohl die Standard-WebRTC-Signalisierung (WebSocket-Verbindungen zu den Vonage-API-Servern) als auch der Medienverkehr (TURN-Relay) sind davon betroffen und müssen über einen lokalen Proxy geleitet werden, der innerhalb Chinas gehostet wird. Beachten Sie, dass der Proxy als lokaler Zwischenknoten dient, um die Erreichbarkeit zu verbessern. Der Signalisierungsverkehr verlässt letztendlich weiterhin China, um die globale Infrastruktur von Vonage zu erreichen, und es gibt keine Garantie für eine lokale Terminierung.
Die gute Nachricht: Die Vonage Video API bietet Ihnen die richtigen Funktionen, mit denen Sie diese Infrastruktur selbst verwalten und steuern können, was Ihnen vollständige Transparenz, Flexibilität und langfristige Sicherheit hinsichtlich der Einhaltung gesetzlicher Vorschriften gewährleistet.
Die Ersatzarchitektur
Anstatt auf von Vonage verwaltete Relay-Server in China zurückzugreifen, können Sie mit den folgenden Komponenten eine eigene Relay-Ebene aufbauen:
Komponente | Funktionsweise | Wer bietet es an? |
Konfigurierbares TURN | Richtet das Vonage Video SDK auf Ihre eigenen, in China gehosteten TURN-Server aus, anstatt auf die globale TURN-Flotte von Vonage. | Vonage-Add-on-API-Funktion |
IP-Proxy | Leitet den gesamten Signalisierungsdatenverkehr der Vonage Video API – einschließlich API-Aufrufe, WebSocket-Verbindungen und Protokollierung – über Ihren Proxy-Server in China. | Vonage-Add-on-API-Funktion |
Chinesische Cloud-Infrastruktur | Hostet Ihren TURN-Server und Ihren Proxy innerhalb Chinas und trägt so dazu bei, den Datenverkehr innerhalb der vorgeschriebenen Grenzen zu halten. | Sie nutzen einen Anbieter wie Alibaba Cloud, Tencent Cloud oder Huawei Cloud |
ICP-Lizenz | Dies ist nach chinesischem Recht erforderlich, um einen internetbasierten Dienst auf dem chinesischen Festland rechtmäßig zu betreiben. | Sie, die von den zuständigen chinesischen Behörden ausgestellt wurde |
Hinweis: Sowohl „Configurable TURN“ als auch „IP-Proxy“ sind Zusatzfunktionen, die in Ihrem Vonage-Account aktiviert werden müssen. Wenden Sie sich an Ihren Vonage-Kundenbetreuer, um diese Funktionen aktivieren zu lassen.
Schritt-für-Schritt-Anleitung
Schritt 1: Beantragung einer ICP-Lizenz
Zunächst müssen Sie die erforderlichen Genehmigungen der chinesischen Regierung einholen:
ICP-Registrierung (备案 / Beian): Erforderlich für Websites und Applications, auf die von China aus zugegriffen werden kann. Wird in der Regel über Ihren chinesischen Cloud-Anbieter beantragt.
ICP-Lizenz (许可证): Erforderlich für Internet-Mehrwertdienste, zu denen auch die Echtzeitkommunikation gehört. Dies ist die Lizenz, die Vonage für China Relay nicht erhalten und aufrechterhalten konnte.
Wichtig: Nur Unternehmen mit einer chinesischen Rechtsform oder einem zugelassenen lokalen Partner können eine ICP-Lizenz erhalten. Wir empfehlen dringend, einen lokalen Rechtspartner zu beauftragen, der mit dem chinesischen Telekommunikationsrecht vertraut ist.
⚠ Ohne eine gültige ICP-Lizenz ist der Betrieb eines Relays oder Proxys in China nicht rechtskonform.
Schritt 2: Richten Sie Ihren TURN-Server in China ein
Führen Sie die folgenden Schritte aus, um einen TURN-Server bei einem chinesischen Cloud-Anbieter Ihrer Wahl bereitzustellen:
Wählen Sie einen Cloud-Anbieter mit Rechenzentren auf dem chinesischen Festland (z. B. Alibaba Cloud, Tencent Cloud oder Huawei Cloud).
Stellen Sie einen TURN-Server bereit. Der Open-Source- „coturn“ Server ist eine weit verbreitete und gut unterstützte Option.
Stellen Sie sicher, dass Ihr Server über eine stabile öffentliche IP-Adresse innerhalb Chinas und eine unter Ihrer ICP-Lizenz registrierte Domain verfügt.
Konfigurieren Sie Ihren TURN-Server mit den entsprechenden Anmeldedaten und Sicherheitseinstellungen (TLS wird dringend empfohlen).
Auf Ihrem TURN-Server müssen die folgenden Ports geöffnet sein:
UDP/TCP 3478 (Standard-TURN)
TCP 443 (TURN über TLS, empfohlen für die Kompatibilität mit der Great Firewall)
Tipp: Testen Sie die Erreichbarkeit Ihres TURN-Servers über mehrere chinesische Internetdienstanbieter (China Telecom, China Unicom und China Mobile), da Leistung und Erreichbarkeit je nach Anbieter erheblich variieren können.
Schritt 3: Konfigurieren der Vonage Video API mit „Configurable TURN“
Mit der konfigurierbaren TURN-Funktion von Vonage können Sie die standardmäßige Zuweisung des TURN-Servers für Sitzungen und Verbindungen überschreiben und den den clientseitigen SDK auf Ihre eigenen TURN-Server in China statt auf die globale Serverflotte von Vonage umzuleiten.
Hinweis: „Configurable TURN“ wird in den Client-SDKskonfiguriert, nicht in den Server-SDKs. Die folgenden Beispiele decken alle unterstützten Client-Plattformen ab.
Übergeben Sie die folgende Konfiguration bei der Initialisierung einer Sitzung in Ihrem clientseitigen Vonage Video SDK. Ersetzen Sie YOUR_TURN_SERVER_HOSTNAME, YOUR_TURN_USERNAME, und YOUR_TURN_CREDENTIAL durch die Werte aus Ihrer TURN-Server-Konfiguration.
JavaScript (OpenTok.js)
const session = OT.initSession(API_KEY, SESSION_ID, {
iceConfig: {
includeServers: 'custom',
transportPolicy: 'relay',
customServers: [
{
urls: ['turns:YOUR_TURN_SERVER_HOSTNAME:443?transport=tcp'],
username: 'YOUR_TURN_USERNAME',
credential: 'YOUR_TURN_CREDENTIAL'
}
]
}
}); Android-SDK
List<IceServer> serverList = new IceServer(
"turns:YOUR_TURN_SERVER_HOSTNAME:443?transport=tcp", // TURN server URL
"YOUR_TURN_USERNAME", // Username
"YOUR_TURN_CREDENTIAL" // Credential
);
mSession = new Session.Builder(this, API_KEY, SESSION_ID)
.setCustomIceServers(serverList, IncludeServers.Custom)
.setIceRouting(TransportPolicy.TURN)
.build();
mSession.setSessionListener(this);
mSession.connect(token); iOS-SDK
OTSessionICEConfig *myICEServerConfiguration = [[OTSessionICEConfig alloc] init];
myICEServerConfiguration.includeServers = OTSessionICEIncludeServersCustom;
myICEServerConfiguration.transportPolicy = OTSessionICETransportForceTurn;
NSError *error = nil;
[myICEServerConfiguration addICEServerWithURL:@"turns:YOUR_TURN_SERVER_HOSTNAME:443?transport=tcp"
userName:@"YOUR_TURN_USERNAME"
credential:@"YOUR_TURN_CREDENTIAL"
error:&error];
OTSessionSettings *settings = [[OTSessionSettings alloc] init];
settings.iceConfig = myICEServerConfiguration;
_session = [[OTSession alloc] initWithApiKey:kApiKey
sessionId:kSessionId
delegate:self
settings:settings]; Windows-SDK
List<IceServer> iceServers = new List<IceServer>() {
new IceServer(
"turns:YOUR_TURN_SERVER_HOSTNAME:443?transport=tcp", "YOUR_TURN_USERNAME", "YOUR_TURN_CREDENTIAL"
)
};
IceConfig iceConfig = new IceConfig(
iceServers,
ICETransport.Relayed,
ICEIncludeServers.Custom
);
session = new Session.Builder(context, API_KEY, SESSION_ID){
IceConfig = iceConfig
}.Build(); Linux-/macOS-SDK
// Provide the ICE configuration here.
struct otc_custom_ice_config ice_config;
ice_config.num_ice_servers = 1;
ice_config.ice_url = (char **)malloc(sizeof(char *) * ice_config.num_ice_servers);
ice_config.ice_url[0] = strdup("turns:YOUR_TURN_SERVER_HOSTNAME:443?transport=tcp");
ice_config.ice_user = (char **)malloc(sizeof(char *) * ice_config.num_ice_servers);
ice_config.ice_user[0] = strdup("YOUR_TURN_USERNAME");
ice_config.ice_credential = (char **)malloc(sizeof(char *) * ice_config.num_ice_servers);
ice_config.ice_credential[0] = strdup("YOUR_TURN_CREDENTIAL");
ice_config.force_turn = OTC_TRUE;
ice_config.use_custom_turn_only = OTC_TRUE;
otc_session_settings *session_settings = otc_session_settings_new();
if (session_settings != NULL) {
otc_session_settings_set_custom_ice_config(session_settings, &ice_config);
}
otc_session *session = otc_session_new_with_settings(API_KEY,
SESSION_ID,
&session_callbacks,
session_settings);
if (session == NULL) {
printf("Could not create session successfully");
return EXIT_FAILURE;
}
otc_session_connect(session, TOKEN); React Native SDK
<OTSession
applicationId="your-application-id"
sessionId="your-session-id"
token="your-session-token"
options={{
iceConfig: {
includeServers: 'custom',
transportPolicy: 'relay',
customServers: [
{
urls: [
'turns:YOUR_TURN_SERVER_HOSTNAME:443?transport=tcp'
],
username: 'YOUR_TURN_USERNAME',
credential: 'YOUR_TURN_CREDENTIAL'
}
]
}
}}
>
<OTPublisher/>
<OTSubscriber/>
</OTSession> Weitere Informationen finden Sie in der Dokumentation zur konfigurierbaren TURN-Funktion der Vonage Video API , um alle plattformspezifischen Details zu erfahren.
Schritt 4: API-Signalisierungsdatenverkehr über einen IP-Proxy leiten
Standardmäßig stellen sich Vonage Video API-Clients mit der globalen Signalisierungsinfrastruktur von Vonage her (API-Aufrufe, WebSocket-Verbindungen und Protokollierungsdatenverkehr), die jedoch durch die chinesische Firewall blockiert oder stark gedrosselt werden kann.
Verwenden Sie einen IP-Proxy, um den gesamten Signalisierungsdatenverkehr, der nicht medienbezogen ist, über einen Server zu leiten, den Sie in China kontrollieren.
Hinweis: Der IP-Proxy leitet den gesamten Datenverkehr mit Ausnahme von Medienströmen weiter. Medienströme werden separat über Configurable TURN (Schritt 3) verarbeitet. Für eine vollständige, den chinesischen Vorschriften entsprechende Konfiguration benötigen Sie beide Funktionen.
Befolgen Sie diese Schritte, um Ihren IP-Proxy einzurichten:
Stellen Sie einen HTTP/WebSocket-Reverse-Proxy in Ihrer chinesischen Cloud-Infrastruktur bereit. Dieser kann auf demselben Host wie Ihr TURN-Server oder auf einem separaten Host ausgeführt werden.
Ein schlanker Reverse-Proxy reicht aus. Siehe die Beispiel für eine Proxy-Server-Implementierung als Referenz.
Sichern Sie Ihren Proxy so ab, dass er nur für autorisierte Vonage-Kunden zugänglich ist (Firewall-Regeln, tokenbasierte Authentifizierung).
Konfigurieren Sie das Vonage Video SDK mithilfe der unten aufgeführten plattformspezifischen Codeausschnitte so, dass Ihr Proxy für alle API-Aufrufe und WebSocket-Verbindungen verwendet wird.
Ersetzen Sie YOUR_CHINA_PROXY_URL in jedem Ausschnitt durch die URL Ihres bereitgestellten Proxy-Servers.
JavaScript (OpenTok.js)
Rufen Sie diese Nummer vor allen anderen Vonage-Methoden an.
// Must be called before any other Vonage methods
OT.setProxyUrl('YOUR_CHINA_PROXY_URL'); Android-SDK
Geben Sie beim Aufbau Ihrer Sitzung die Proxy-URL an.
mSession = new Session.Builder(context, API_KEY, SESSION_ID)
.setProxyUrl("YOUR_CHINA_PROXY_URL")
.build(); iOS-SDK
Legen Sie die Proxy-URL in Ihrem Sitzungskonfigurationsobjekt fest.
OTSessionSettings *settings = [[OTSessionSettings alloc] init];
settings.proxyURL = @"YOUR_CHINA_PROXY_URL";
session = [[OTSession alloc] initWithApiKey:kApiKey
sessionId:kSessionId
delegate:self
settings:settings]; Windows-SDK
Legen Sie die Proxy-URL im Session Builder fest.
Session = new Session.Builder(Context.Instance, API_KEY, SESSION_ID) {
ProxyUrl = "YOUR_CHINA_PROXY_URL"
}.Build(); Linux-/macOS-SDK
Konfigurieren Sie die Proxy-URL in den Sitzungseinstellungen.
otc_session_settings_set_proxy_url(session_settings, "YOUR_CHINA_PROXY_URL");
otc_session *session = otc_session_new_with_settings(API_KEY, SESSION_ID,
&session_callbacks, session_settings); React Native SDK
Übergeben Sie die Proxy-URL in der Eigenschaft „session options“.
<OTSession
apiKey="your-api-key"
sessionId="your-session-id"
token="your-session-token"
options={{
proxyUrl: 'YOUR_CHINA_PROXY_URL',
}}
>
<OTPublisher/>
<OTSubscriber/>
</OTSession> Weitere Informationen finden Sie in der Dokumentation zur Vonage Video API IP-Proxy für vollständige Konfigurationsdetails.
Schritt 5: Testen Sie Ihre Konfiguration
Überprüfen Sie vor der Inbetriebnahme Ihre Konfiguration von Anfang bis Ende anhand der folgenden Checkliste:
Verify anhand der WebRTC-Statistiken, ob alle Medien über Ihren TURN-Server weitergeleitet werden (siehe
candidateType === "relay").
Verify anhand der Protokolle des Proxy-Servers, ob der Signalisierungsverkehr über Ihren IP-Proxy läuft.
Überwachen Sie die TURN-Serverprotokolle auf Authentifizierungs- und Relay-Aktivitäten.
Führen Sie Tests bei verschiedenen Internetanbietern (China Telecom, China Unicom und China Mobile) durch, da die Leistung erheblich variieren kann.
Testen Sie sowohl auf Mobilgeräten (iOS/Android) als auch auf Desktop-Geräten (Web).
Zusammenfassung
Da China Relay nicht mehr angeboten wird, haben Sie nun die Möglichkeit, eine vollständig selbstverwaltete, konforme Relay-Lösung aufzubauen, die Ihnen die vollständige Kontrolle über Ihre Infrastruktur ermöglicht und Ihnen hilft, mit den sich ständig ändernden regulatorischen Rahmenbedingungen in China Schritt zu halten. Der Weg in die Zukunft besteht darin, Ihren eigenen TURN-Relay und Signalisierungs-Proxy auf einer chinesischen Cloud-Infrastruktur zu betreiben und diese mithilfe der konfigurierbaren TURN- und IP-Proxy-Funktionen von Vonage mit der Vonage Video API zu verbinden.
Was China Relay getan hat | Was Sie jetzt tun sollten |
Vonage betrieb TURN-Server in China | Sie stellen TURN auf Alibaba Cloud, Tencent Cloud oder ähnlichen Plattformen bereit |
Vonage-verwaltetes Relay-Routing | Sie konfigurieren die Vonage Video API mit Ihrem TURN-Endpunkt über „Configurable TURN“ |
Vonage hat das Routing der API-Signalisierung übernommen | Sie stellen einen IP-Proxy bereit und konfigurieren das SDK |
Vonage war im Besitz der ICP-Lizenz (versucht) | Sie erhalten Ihre eigene ICP-Lizenz |
Vonage verwaltete die Domain (nexmoproxy.cn) | Sie registrieren und verwalten Ihre eigene .cn-Domain |
Sobald Ihr TURN-Server und Ihr IP-Proxy laufen, verfügen Sie über eine vollständig konforme, selbstverwaltete Relay-Lösung für Ihre Nutzer auf dem chinesischen Festland.
Ressourcen
Haben Sie eine Frage oder möchten Sie uns mitteilen, was Sie gerade bauen?
Abonnieren Sie den Entwickler-Newsletter
Folgen Sie uns auf X (früher Twitter) für Updates
Lieber ein Video? Schau dir Tutorials auf unserem YouTube-Kanal an
Verbinden Sie sich mit uns auf der Vonage Entwickler-Seite auf LinkedIn
Helfen Sie uns, unsere Entwicklererfahrung zu verbessern, indem Sie unser Feedback-Formular „Voice of the Developer“ aus.
Bleiben Sie auf dem Laufenden und halten Sie sich über die neuesten Nachrichten, Tipps und Veranstaltungen für Entwickler auf dem Laufenden.
Teilen Sie:
Rafay ist Senior Software Engineer bei Vonage und arbeitet im Video Media-Team der Abteilung API Engineering. Sein Schwerpunkt liegt auf der Entwicklung und Wartung der geschäftskritischen Infrastruktur, die die Echtzeit-Videokommunikation in großem Maßstab ermöglicht – vom Management des Sitzungslebenszyklus über Signalisierungsprotokolle bis hin zu KI-gestützten Integrationen und Entwicklertools.