In-App-Anrufe
Mit In-App Calling können Sie mithilfe der Voice API Echtzeit-Sprachkommunikation direkt in Ihre mobilen oder Web-Anwendungen einbetten. Sie basiert auf der WebRTC-Technologie und bietet die Kernfunktionen, die erforderlich sind, um reichhaltige, interaktive Anruferlebnisse zwischen Nutzern innerhalb Ihrer App zu schaffen, während gleichzeitig Anrufe bei Bedarf mit externen Endpunkten verbunden werden können.
Mit In-App Calling können Benutzer Ihrer Applications Sprachanrufe tätigen und entgegennehmen, ohne die Oberfläche der App zu verlassen. Es unterstützt sowohl Einzel- als auch Gruppengespräche und bietet Steuerelemente und Ereignisse, die Ihnen helfen, ein nahtloses Kommunikationserlebnis zu schaffen.
Diese Fähigkeit wird durch die Voice API und die clientseitigen SDKs unterstützt, die zusammen das Medien-Streaming, die Anrufsignalisierung und die Verwaltung des Anruflebenszyklus übernehmen.
Kernkompetenzen
Benutzerkontrollen
Applications können integrierte Audiosteuerungen bieten, damit die Benutzer ihre Anrufe in Echtzeit steuern können. Zu den üblichen Steuerelementen gehören:
- Stummschalten und Aufheben der Stummschaltung des Mikrofons
- Ohrstöpselfunktion zum Stummschalten eingehender Audiosignale ohne Beendigung des Gesprächs
Diese Steuerelemente ermöglichen eine flexible Interaktion und verbessern die Benutzerfreundlichkeit bei Anrufen.
Anrufbenachrichtigungen
Sie können Benutzer über eingehende Anrufe mit Push-Benachrichtigungen informieren. So bleiben die Nutzer auch dann erreichbar, wenn die App im Hintergrund läuft oder das Gerät gesperrt ist.
1:1 und Gruppenanrufe
In-App Calling unterstützt sowohl direkte Anrufe zwischen zwei Benutzern als auch dynamische Gruppenanrufe. Sie können Anrufe so konfigurieren, dass Teilnehmer in Echtzeit hinzugefügt oder entfernt werden können, um Konferenzen und Zusammenarbeit zu ermöglichen.
DTMF-Unterstützung
Die Funktion unterstützt das Senden von DTMF-Tönen während eines Anrufs und ermöglicht die Interaktion mit IVR-Systemen oder anderen Telefondiensten.
Kontinuierliche Anrufe
Sie können die Zuverlässigkeit und Benutzerfreundlichkeit mit Funktionen wie diesen verbessern:
- Automatische Wiederherstellung der Verbindung bei unterbrochenen Anrufen
- Verschieben eines aktiven Anrufs zwischen verschiedenen Geräten desselben Benutzers
Diese Funktionen tragen zur Aufrechterhaltung einer unterbrechungsfreien Kommunikation bei Netzwerkänderungen oder Geräteumstellungen bei.
Erweiterungsmöglichkeiten durch die Voice API
In-App Calling ist Teil der breiteren Voice API-Plattform von Vonage. Diese Integration ermöglicht es Ihnen, In-App-Anrufe über die App-zu-App-Kommunikation hinaus zu erweitern und mit externen Telefonie- und Echtzeitdiensten zu verbinden.
Die Voice API verfügt über die folgenden Funktionen:
- Anrufe an Telefone (PSTN)
- Anrufe an SIP-fähige Geräte
- Verbindung zu anderen Diensten über Websockets
- Verwaltung der Anrufe
- Komplexe Anrufflusskonfigurationen
- Aufzeichnung von Voice-Streams
- Konferenzanrufe
- Text-to-Speech-Nachrichten
Dank dieser Flexibilität können Sie In-App-Kommunikation mit herkömmlicher Telefonie und automatisierten Sprachworkflows kombinieren.
Aufbewahrung und Speicherung von Daten
Standardmäßig werden durch Anrufe erstellte Konversationen und die zugehörigen Gesprächsabschnitte für 2 Tage gespeichert. Sie können diesen Aufbewahrungszeitraum ändern, indem Sie die TTL für Konversationen oder die Persistenzzeit für Legs im API-Dashboard unter den erweiterten Einstellungen für Voice-Funktionen konfigurieren.
Durch die Anpassung dieser Werte können Sie die Datenspeicherung an die Betriebs- und Compliance-Anforderungen Ihrer Anwendung anpassen.
Einen Benutzer erstellen
Erstellen Sie einen Benutzer, der sich beim Vonage Client anmeldet und an der In-App Calling-Funktion teilnimmt: Konversationen, Anrufe und so weiter.
Führen Sie den folgenden Befehl in Ihrem Terminal aus, um einen Benutzer namens Alice zu erstellen:
vonage users create `
--name='Alice'
✅ Creating User
User ID: USR-00000000-0000-0000-0000-000000000000
Name: Alice
Display Name: Not Set
Image URL: Not Set
Time to Live: Not Set
Channels:
None Set
vonage users create ^
--name='Alice'
✅ Creating User
User ID: USR-00000000-0000-0000-0000-000000000000
Name: Alice
Display Name: Not Set
Image URL: Not Set
Time to Live: Not Set
Channels:
None Set
Die Benutzer-ID wird für die Durchführung von Aufgaben durch das SDK verwendet, z. B. für die Anmeldung, das Starten eines Anrufs und mehr.
Erzeugen eines Benutzer-JWTs
JWTs werden verwendet, um einen Benutzer beim Client SDK zu authentifizieren.
Um ein JWT für Alice zu generieren, führen Sie den folgenden Befehl aus (ersetzen Sie ihn durch Ihre Informationen):
# A command with parameters
vonage jwt create `
--app-id='00000000-0000-0000-0000-000000000000' `
--private-key=./private.key `
--sub='Alice' `
--acl='{\"paths\":{\"\/*\/users\/**\":{},\"\/*\/conversations\/**\":{},\"\/*\/sessions\/**\":{},\"\/*\/devices\/**\":{},\"\/*\/push\/**\":{},\"\/*\/knocking\/**\":{},\"\/*\/legs\/**\":{}}}'
# Will produce a token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2wiOnsicGF0aHMiOnsiLyovcnRjLyoqIjp7fSwiLyovdXNlcnMvKioiOnt9LCIvKi9jb252ZXJzYXRpb25zLyoqIjp7fSwiLyovc2Vzc2lvbnMvKioiOnt9LCIvKi9kZXZpY2VzLyoqIjp7fSwiLyovcHVzaC8qKiI6e30sIi8qL2tub2NraW5nLyoqIjp7fSwiLyovbGVncy8qKiI6e319fSwiZXhwIjoxNzQxMTgyMzA3LCJzdWIiOiJBbGljZSIsImp0aSI6Ijg1MTViNzk2LTA1YjktNGFkMS04MTRkLTE1NWZjZTQzZWM1YiIsImlhdCI6MTc0MTE4MTQwNywiYXBwbGljYXRpb25faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAifQ.BscMdDXZ1-nuLtKyPJvw9tE8E8ZjJvTPJPMT9y0TjPz4Q7qqNaqxcjglc5QPtYEjh2YpZH6btSKbUF4XTClI026Hl5_QOBlnayYo7jXwhba16fa5PeyzSf30QFGFrHbANwrQJFVCjd329SZUpwK4GxgB1gf230NhbfmkhegKezqicru2WTGCKm8kQncYliFwIEYUlcRAb2c8xcaVrn_6QNNahyeJRwGFfWpIkX0Oe-S4RDlPjoq47_gYWac9MmaetB4Dd3Yp531AuniGV5JiIShkaEwuY4Zyov4Hcmajm4Lm_UFY119la7vzHis0P7cT9pPUDe5cyPj7eT8-VhitfQ
REM A command with parameters
vonage jwt create ^
--app-id='00000000-0000-0000-0000-000000000000' ^
--private-key=./private.key ^
--sub='Alice' ^
--acl="{\"paths\":{\"\/*\/users\/**\":{},\"\/*\/conversations\/**\":{},\"\/*\/sessions\/**\":{},\"\/*\/devices\/**\":{},\"\/*\/push\/**\":{},\"\/*\/knocking\/**\":{},\"\/*\/legs\/**\":{}}}"
REM Will produce a token
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2wiOnsicGF0aHMiOnsiLyovcnRjLyoqIjp7fSwiLyovdXNlcnMvKioiOnt9LCIvKi9jb252ZXJzYXRpb25zLyoqIjp7fSwiLyovc2Vzc2lvbnMvKioiOnt9LCIvKi9kZXZpY2VzLyoqIjp7fSwiLyovcHVzaC8qKiI6e30sIi8qL2tub2NraW5nLyoqIjp7fSwiLyovbGVncy8qKiI6e319fSwiZXhwIjoxNzQxMTgyMzA3LCJzdWIiOiJBbGljZSIsImp0aSI6Ijg1MTViNzk2LTA1YjktNGFkMS04MTRkLTE1NWZjZTQzZWM1YiIsImlhdCI6MTc0MTE4MTQwNywiYXBwbGljYXRpb25faWQiOiIwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAifQ.BscMdDXZ1-nuLtKyPJvw9tE8E8ZjJvTPJPMT9y0TjPz4Q7qqNaqxcjglc5QPtYEjh2YpZH6btSKbUF4XTClI026Hl5_QOBlnayYo7jXwhba16fa5PeyzSf30QFGFrHbANwrQJFVCjd329SZUpwK4GxgB1gf230NhbfmkhegKezqicru2WTGCKm8kQncYliFwIEYUlcRAb2c8xcaVrn_6QNNahyeJRwGFfWpIkX0Oe-S4RDlPjoq47_gYWac9MmaetB4Dd3Yp531AuniGV5JiIShkaEwuY4Zyov4Hcmajm4Lm_UFY119la7vzHis0P7cT9pPUDe5cyPj7eT8-VhitfQ
Mit dem obigen Befehl wird der Ablauf des JWT standardmäßig auf 24 Stunden festgelegt. Sie können den Ablauf auf eine kürzere Zeitspanne ändern, indem Sie die --exp Flagge.
ANMERKUNG: In produktiven Anwendungen wird erwartet, dass Ihr Backend einen Endpunkt bereitstellt, der JWT für Ihre Client-Anfrage generiert.