Einführung in SIP
Vonage SIP Interconnect ermöglicht die Interoperabilität zwischen WebRTC-Endpunkten und bestehenden Telefoniesystemen, so dass Benutzer SIP-basierte Anrufe im Kontext tätigen können, während sie gleichzeitig auf der Website oder in einer mobilen Anwendung surfen.
Sie können die REST-API verwenden, um Ihre SIP-Plattform mit Sitzungen zu verbinden. Dadurch können Sie Audio (und optional Video) von einem SIP-Anruf als Stream in die Sitzung einfügen. Die Audiosignale aus anderen Streams in der Sitzung werden zusammengemischt und an Ihren SIP-Endpunkt gesendet. Wenn Sie Video in den SIP-Anruf einbeziehen, wird das Video aus den Streams der anderen Teilnehmer (bis zu 9) in einem Rasterlayout angeordnet und als einzelner Videostream an Ihren SIP-Endpunkt gesendet.
Die SIP-Interconnect-Funktion wird nur in gerouteten Sitzungen unterstützt (Sitzungen, die die Medien-Router).
Ziel Anwendungsfälle
Anwendungsfall Kontaktzentrum
Unternehmenskunden setzen im Rahmen ihrer Omnichannel-Strategie für die Kommunikation auf WebRTC, damit die Endnutzer dies nutzen können:
Nutzung von Browsern oder mobilen Anwendungen für die Verbindung mit Kontaktzentren, anstatt nur über Telefone, um eine allgegenwärtige und kontextbezogene Erfahrung zu bieten
Nutzen Sie Video/Kollaboration zusätzlich zu Audio, um die Effizienz zu steigern und die Kundenzufriedenheit und -bindung zu erhöhen.
PSTN-Fallback
Es gibt Fälle, in denen die Verbindung mit den regulären SDK-Clients nicht möglich ist:
- Wenn einer der Teilnehmer einen Browser hat, der WebRTC nicht unterstützt oder
- Wenn die Firewall zu restriktiv ist
Wenn die Konnektivität über IP/Vonage aus den oben genannten Gründen ausfällt, benötigen die Kunden einen Ausweichmechanismus. Mit SIP Interconnect können Kunden in einer Sitzung einen regulären Telefonanruf tätigen. Zu diesem Zweck müssen die Kunden ein SIP-PSTN-Gateway einrichten.
Einleiten eines SIP-Anrufs
Um den SIP-Anruf zu starten, verwenden Sie die REST-API. Stellen Sie eine HTTPS-POST-Anfrage an die folgende URL:
/v2/project/:app-id/dial
Ersetzen Sie :app-id mit Ihrem APP-ID.
Setzen Sie die Content-Type Kopfzeile zu application/json. Setzen Sie außerdem einen Header für die Authentifizierung des Trägers, d. h.: Authorization: Bearer <token> wobei <token> ist eine JWT Token, das mit Ihrem Berechtigungsnachweise.
Setzen Sie den Körper der Anfrage auf JSON-Daten des folgenden Formats:
{
"sessionId": "session ID",
"token": "A valid token",
"sip": {
"uri": "sip:user@sip.partner.com;transport=tls",
"from": "from@example.com",
"headers": {
"headerKey": "headerValue"
},
"auth": {
"username": "username",
"password": "password"
},
"secure": true|false,
"video": true|false,
"observeForceMute": true|false
}
}
Das JSON-Objekt enthält die folgenden Eigenschaften:
sessionId(erforderlich) - Die Sitzungs-ID für den SIP-Anruf, dem beigetreten werden soll.token(erforderlich) - Das Token, das für den angerufenen Teilnehmer verwendet werden soll. Sie können Token-Daten hinzufügen, um zu erkennen, dass der Teilnehmer ein SIP-Endpunkt ist, oder um andere identifizierende Daten, wie z. B. Telefonnummern, anzugeben. (Die Client-Bibliotheken enthalten Eigenschaften zur Überprüfung der Verbindungsdaten für einen mit einer Sitzung verbundenen Client). Siehe die Token-Erstellung Leitfaden.SIP
uri(erforderlich): Die SIP-URI, die als Ziel des von Vonage initiierten SIP-Anrufs zu Ihrer SIP-Plattform verwendet werden soll.
Wenn die SIP uri enthält eine transport=tls Header, wird die Verhandlung zwischen Vonage und dem SIP-Endpunkt sicher durchgeführt. Beachten Sie, dass dies nur für die Verhandlung selbst gilt, nicht aber für die Übertragung von Audio. Wenn Sie möchten, dass auch die Medienübertragung von Audio (und Video, falls vorhanden) verschlüsselt wird, setzen Sie die secure Eigenschaft zu true.
Dies ist ein Beispiel für eine sichere Anrufaushandlung:
Dies ist ein Beispiel für eine unsichere Anrufaushandlung:
Sie können auch die transport Kopfzeile zu transport=tcp oder transport=udp.
Der Standardtransport ist udp.
- SIP
from(optional): Die Nummer oder Zeichenfolge, die an die endgültige SIP-Nummer als der Anrufer. Es muss sich um eine Zeichenkette in der Form vonfrom@example.com, wobeifromkann eine Zeichenkette sein oder eine Zahl sein.
Wenn from auf eine Zahl gesetzt wird (zum Beispiel, "14155550101@example.com"), wird sie
auf PSTN-Telefonen als eingehende Nummer angezeigt. Wenn from undefiniert oder auf eine Zeichenkette gesetzt ist
(zum Beispiel, "joe@example.com"), wird +00000000 auf PSTN-Telefonen als eingehende Nummer angezeigt.
Wenn from undefiniert ist oder auf eine Zeichenkette gesetzt ist (zum Beispiel, "joe@example.com"), die
unerkannt oder eine nicht autorisierte Nummer ist, wird sie in den meisten Fällen in "Unknown"
bevor die Anfrage von SIP-Anbietern an einen Carrier zur PSTN-Terminierung weitergeleitet wird.
Je nach Anbieter, "Unknown" wird auf PSTN-Telefonen als eingehende Nummer angezeigt.
In einigen Fällen können die Anbieter diese Anrufe aus Sicherheitsgründen zurückweisen, um
Probleme wie Nummernspoofing zu vermeiden. Falls der Anruf von den Anbietern nicht abgewiesen wird,
wird +00000000 auf den PSTN-Telefonen als eingehende Nummer angezeigt.
Eine Nummer gilt als nicht erkannt, wenn sie nicht E.164 oder nicht eine Vonage virtuelle Nummer wenn die Verbindung zu der Vonage Voice API, zum Beispiel.
SIP
headers(optional) - Dieses Objekt definiert benutzerdefinierte Header, die der SIP-Datei hinzugefügt werden.INVITEAnfrage, die von OpenTok an Ihre SIP-Plattform gesendet wird.SIP
auth(optional) - Dieses Objekt enthält dieusernameundpasswordzu verwenden in dem SIPINVITEAnfrage für die HTTP-Digest-Authentifizierung, wenn dies von Ihrer SIP-Plattform verlangt wird.secure(optional) - Ein boolesches Flag, das angibt, ob die Medien verschlüsselt übertragen werden müssen verschlüsselt (true) oder nicht (false(die Standardeinstellung).
Ein erfolgreicher Aufruf führt zu einer HTTP 200-Antwort, wobei die Verbindungs-ID und die Stream-ID in den JSON-Antwortdaten enthalten sind:
{
"id": "b0a5a8c7-dc38-459f-a48d-a7f2008da853",
"connectionId": "e9f8c166-6c67-440d-994a-04fb6dfed007",
"streamId": "482bce73-f882-40fd-8ca5-cb74ff416036",
}
video(optional) - Ein boolesches Flag, das angibt, ob der SIP-Anruf ein Video enthalten wird (true) oder nicht (false(die Standardeinstellung). Bei der Option "Video enthalten" wird das Video des SIP-Clients in den Vonage-Stream aufgenommen, der an die Sitzung gesendet wird. SIP-Video ist auf 480p bei 800 kbps begrenzt. Der SIP-Client empfängt einen dynamisch zusammengestellten Videostream der veröffentlichten Streams in der Sitzung.observeForceMute(optional) - Ein boolesches Flag, das angibt, ob der SIP-Endpunkt dieforce mute moderation(true) oder nicht (false(die Standardeinstellung). Auch mitobserveForceMuteeingestellt auftruekann der Anrufer die Taste "*6" drücken, um die Stummschaltung des veröffentlichten Tons aufzuheben bzw. zu deaktivieren. Damit die Stummschaltung mit "*6" funktioniert, MUSS der SIP-Anrufer RFC2833-DTMFs (RFC2833/RFC4733-Ziffern) aushandeln. Die Stummschaltung wird nicht mit SIP INFO oder In-Band-DTMFs unterstützt. Eine Nachricht (in englischer Sprache) wird dem Anrufer vorgespielt, wenn der Anrufer die Stummschaltung aufhebt oder wenn der SIP-Client durch eine Force-Mute-Aktion stummgeschaltet wird.streams(optional) - Ein Array von Stream-IDs für Streams, die in den den SIP-Anruf einschließen. Wenn Sie diese Eigenschaft nicht festlegen, werden alle Streams in der Sitzung in den Anruf einbezogen.
Ein erfolgreicher Aufruf führt zu einer HTTP 200-Antwort, die die Verbindungs-ID und die Stream-ID enthält in den JSON-Antwortdaten enthalten sind:
{
"id": "b0a5a8c7-dc38-459f-a48d-a7f2008da853",
"connectionId": "e9f8c166-6c67-440d-994a-04fb6dfed007",
"streamId": "482bce73-f882-40fd-8ca5-cb74ff416036",
}
Das JSON-Objekt enthält die folgenden Eigenschaften:
id- Eine eindeutige ID für den SIP-Anruf.connectionId- Die Verbindungs-ID für die Verbindung des SIP-Anrufs in der Sitzung. Sie können diese Verbindungs-ID verwenden, um den SIP-Anruf über die REST-API zu beenden. Siehe der nächste Abschnitt.
streamId - Die Stream-ID für den Stream des SIP-Anrufs in der Sitzung.
Das SIP-Gateway sendet eine Standard-SIP INVITE an die Adresse, die Sie im REST-Aufruf angeben. Wenn Ihr SIP-Endpunkt eine Verbindung herstellt, wird er als neue Verbindung zur Sitzung hinzugefügt, und sein Audio (und ggf. Video) wird zu einem neuen Stream in der Sitzung hinzugefügt. Die neue Verbindung wird sofort zur Sitzung hinzugefügt, ohne darauf zu warten, dass der SIP-Endpunkt den Anruf empfängt oder annimmt. Bei Clients, die mit der Sitzung verbunden sind, wird die Client SDK sendet Ereignisse, die die neue Verbindung und den Stream anzeigen (wie bei anderen Verbindungen und Streams). Clients können den Stream abonnieren, wie sie auch jeden anderen Stream in der Sitzung abonnieren würden.
Beenden eines SIP-Anrufs
Der Anruf endet, wenn Ihr SIP-Server eine BYE-Nachricht sendet (um den Anruf zu beenden). Sie können einen Anruf auch mit der REST-API-Methode beenden, um einen Kunden abmelden aus einer Sitzung. Verwenden Sie beim Aufruf dieser Methode die Verbindungs-ID des SIP-Anrufs. (Die REST-Methode für Initiierung des SIP Aufruf gibt die Verbindungs-ID als Teil der Antwortdaten zurück).
Wenn der SIP-Anruf endet, werden auch die Verbindung und der Stream für den SIP-Anruf beendet. In jedem Client, der mit der Sitzung verbunden ist, wird der Client-seitiges SDK sendet Ereignisse, die anzeigen, dass die Verbindung und der Stream beendet wurden (genauso wie bei anderen Clients, die die Verbindung trennen).
Das Vonage SIP-Gateway beendet einen Anruf automatisch nach 5 Minuten Inaktivität (5 Minuten ohne Medienempfang). Als Sicherheitsmaßnahme schließt das Vonage SIP-Gateway außerdem jeden SIP-Anruf, der länger als 6 Stunden dauert.
Senden von DTMF-Signalen
Über die REST-API können Sie DTMF-Signale (Dual-tone multi-frequency) an SIP-Endpunkte senden. Siehe Senden von DTMF-Ziffern an SIP-Clients.
Telefonieereignisse werden über SDP ausgehandelt und als RFC4733/RFC2833-Ziffern an den entfernten Endpunkt übertragen.
Überwachung des Gesprächsverlaufs
Registrieren Sie sich, um Echtzeit-Ereignisrückrufe für Ihren SIP-Anruf auf Ihrem Anwendungsserver zu erhalten.
Entwickler können die Vonage REST API verwenden, um ihre SIP-Plattform mit Sitzungen zu verbinden. Dadurch können Sie Audio (und ggf. Video) von einem SIP-Anruf als Stream in die Sitzung einfügen.
Mit der SIP-Anrufüberwachung können Entwickler den Fortschritt des SIP-Anrufs von ihrem App-Server aus überwachen. Durch die Registrierung für Callbacks erhält Ihre Callback-URL HTTP-POST-Anfragen mit Informationen über den Fortschritt des SIP-Anrufs.
Registrierung von Rückrufen
Informationen zu SIP-Anrufereignissen können an HTTP-Endpunkten auf Ihrem Server registriert werden. Immer wenn eine registrierte Aktivität auftritt, wird eine HTTP-Anfrage von der Vonage-Infrastruktur an Ihren Endpunkt gesendet.
So registrieren Sie eine Rückruf-URL:
Besuchen Sie Ihr Vonage Video API-Konto Seite.
Wählen Sie das Projekt aus, für das Sie einen Rückruf registrieren möchten.
Legen Sie die Callback-URL im Abschnitt SIP-Überwachung fest.
Überwachung der SIP-Anrufaktivität
Nach der ordnungsgemäßen Registrierung sendet die Infrastruktur HTTP-Anfragen für alle SIP-Anrufe für ein bestimmtes Projekt. Dies ist nützlich, um den Fortschritt von SIP-Anrufen zu verfolgen und Maßnahmen zu ergreifen, wenn ein Fehler auftritt. Das sollten Sie erwarten:
Mindestens eine
callCreatedEreignis pro AnrufMindestens eine
callDestroyedEreignis pro AnrufEine unbestimmte Anzahl von
callUpdatedEreignisse pro AnrufEine unbestimmte Anzahl von
muteForcedEreignisse pro Anruf
Aufruf Erstellt
Ihr Endpunkt erhält das folgende JSON für jeden erstellten SIP-Anruf:
{
"sessionId": "2_MX4xMzExMjU3MX5-MTQ3MDI1NzY3OTkxOH45QXRr",
"applicationId": "123456",
"event": "callCreated",
"timestamp": 1470257688309,
"call": {
"id": "<conference-id>",
"connectionId": "<sip-ot-connection-id>",
"createdAt": 1470257688143
}
}
Siehe JSON-Eigenschaften unten für Beschreibungen.
Aufruf Aktualisiert
Ihr Endpunkt erhält das folgende JSON, wenn der Status jedes SIP-Anrufs aktualisiert wird:
{
"sessionId": "2_MX4xMzExMjU3MX5-MTQ3MDI1NzY3OTkxOH45QXRr",
"applicationId": "123456",
"event": "callUpdated",
"state": "HANGUP",
"timestamp": 1470257688309,
"call": {
"id": "<conference-id>",
"connectionId": "<sip-ot-connection-id>",
"createdAt": 1470257688143
}
}
Siehe JSON-Eigenschaften unten für Beschreibungen.
Anruf vernichtet
Ihr Endpunkt erhält das folgende JSON, wenn ein SIP-Anruf endet:
{
"sessionId": "2_MX4xMzExMjU3MX5-MTQ3MDI1NzY3OTkxOH45QXRr",
"applicationId": "123456",
"event": "callDestroyed",
"reason_code": "400",
"reason_message": "Bad Request",
"timestamp": 1470257688309,
"call": {
"id": "<conference-id>",
"connectionId": "<sip-ot-connection-id>",
"createdAt": 1470257688143
}
}
Siehe JSON-Eigenschaften unten für Beschreibungen.
Stummschaltung Erzwungen
Ihr Endpunkt erhält das folgende JSON, wenn ein SIP-Anruf aufgrund eines Ereignisses zur Stummschaltung stummgeschaltet wird:
{
"sessionId": "2_MX4xMzExMjU3MX5-MTQ3MDI1NzY3OTkxOH45QXRr",
"applicationId": "123456",
"event": "muteForced",
"timestamp": 1470257688309,
"call": {
"id": "<conference-id>",
"connectionId": "<sip-ot-connection-id>",
"createdAt": 1470257688143
}
}
Siehe JSON-Eigenschaften unten für Beschreibungen.
Beachten Sie, dass Sie die Option observeForceMute Option (zu true), wenn Sie die SIP-Verbindung herstellen, damit sie ein Ereignis zur Erzwingung der Stummschaltung beobachtet.
JSON-Eigenschaften von SIP-Überwachungsereignissen
Das JSON-Objekt enthält die folgenden Eigenschaften:
sessionId-- Die mit diesem Ereignis verbundene Sitzungs-IDapplicationId-- Die mit diesem Ereignis verbundene Projekt-IDevent-- callCreated | callUpdated | callDestroyed | muteForcedreason_code-- Für eincallDestroyedVeranstaltung,reason_codeist auf einen der folgenden Werte eingestellt:- A Standard-SIP-Antwortcode um Fehler im SIP-Handshake zu erfassen
- 700 -- "Normales Löschen" -- Diese Ursache zeigt an, dass der Anruf gelöscht wird, weil einer der an dem Anruf beteiligten Benutzer das Löschen des Anrufs verlangt hat.
- 703 -- "Unerwartete Löschung" -- Diese Ursache zeigt an, dass der Anruf unerwartet gelöscht wird.
- 704 -- "Media Timeout" -- Dieser Code zeigt an, dass unsere SIP-Bridge keinen RTP-Verkehr von dem anderen SIP-Endpunkt empfangen konnte.
- 705 -- "Max Duration" -- Der Anruf hat die maximale Dauer erreicht.
- 706 -- "Max Inactive" -- Der Anruf hat die maximale Inaktivitätsdauer erreicht.
reason_message-- Für eincallDestroyedVeranstaltung,reason_messageist eine Zeichenkette, die den Grund für den Abbruch des Anrufs beschreibt.state-- Für eincallUpdatedVeranstaltung,stateist auf einen der folgenden Werte eingestellt:DIALING-- SIP-Anruf wurde eingeleitetRINGING-- Der SIP-Anruf läutet geradeON_HOLD-- SIP-Anruf wird gehaltenACTIVE-- Ein SIP-Anruf wurde angenommen und wird gerade ausgeführtHANGUP-- Ein SIP-Anruf abgeschlossen
timestamp-- Der Zeitstempel des Ereignisses, in Millisekunden seit der Unix-Epochecall-- Ein Objekt, das die Verbindung definiert und die folgenden Eigenschaften enthält:id-- Die Konferenz-IDconnectionId-- Die Verbindungs-ID des SIP-ClientscreatedAt-- Der Zeitstempelwert, in Millisekunden seit der Unix-Epoche, für den Zeitpunkt, an dem der Aufruf erstellt wurde
Überlegungen zur Sicherheit
Vonage empfiehlt einige Best Practices für die Verwendung der SIP-Schnittstelle mit Ihren SIP-Servern. Sie versuchen, mögliche Angriffe abzuschwächen, indem sie Mechanismen zur Authentifizierung und Autorisierung der auf Ihrem Server eingehenden SIP-Anrufe sowie zur Verschlüsselung der Signalisierung und der Medien bereitstellen:
- Verwenden Sie TLS und aktivieren Sie sichere Anrufe (SRTP) für die Signalisierung, um die Möglichkeit des Abhörens der Kommunikation zu vermeiden.
- Aktivieren Sie die SIP-Authentifizierung auf Ihrem Server. Andernfalls könnte jeder, der Ihre SIP-URI kennt, Anrufe an Ihren Server senden.
Kontakt wenn Sie weitere Fragen haben.
Technische Details
Unterstützung von RFC3550 (RTP/RTCP): Der Medienverkehr kann verschlüsselt (SRTP) oder nicht verschlüsselt (einfaches RTP) sein. Im Falle der Verschlüsselung werden sowohl DTLS- als auch SDES-Protokolle unterstützt.
Codec-Unterstützung: Das Vonage SIP-Gateway unterstützt die Audiocodecs OPUS, G.711 und G.722 sowie die Videocodecs H.264 und VP8. SIP-Video ist auf 480p bei 800 kbps begrenzt.
Signalisierung: Das Vonage SIP-Gateway unterstützt RFC 3261 (SIP) über UDP, TCP und TLS. Wenden Sie sich an Vonage, wenn Sie Informationen oder Unterstützung für eine bestimmte Erweiterung benötigen.
Das Vonage SIP-Gateway lehnt jede SIP-Nachricht ab, die von einer SIP-Plattform eines Drittanbieters kommt, es sei denn, sie ist Teil eines vom Vonage SIP-Gateway initiierten SIP-Dialogs. Anrufe, die über das Vonage SIP-Gateway initiiert wurden, können entweder mit einer re-INVITE mit dem sendonly/inactive Richtung im SDP oder eine re-INVITE mit Port 0 in der SDP.
Andere Überlegungen: Frühe Medien sind deaktiviert.
FAQ
Was ist SIP? Warum ist SIP wichtig?
Das Session Initiation Protocol (SIP) ist ein Kommunikationsprotokoll zur Signalisierung und Steuerung von Multimedia-Kommunikationssitzungen. Die häufigsten Applications von SIP sind die Internet-Telefonie für Sprach- und Videoanrufe sowie Instant Messaging über Internet Protocol (IP)-Netze.
In unserem Fall wird es verwendet, um einen Anruf von Sitzungen zu einem SIP-Server eines Drittanbieters aufzubauen. Sobald der Anruf aufgebaut ist, wird das Audio (und ggf. Video) über das RTP-Protokoll gesendet.
Was ist der Unterschied zwischen SIP und PSTN? Bietet Vonage ein PSTN-Gateway an?
Das PSTN ist das traditionelle Telefonnetz. Das PSTN ist kein IP-Netz und verwendet kein SIP, aber viele Anbieter, wie Nexmo, verfügen über Gateways, die SIP-Protokolle in PSTN-Protokolle umwandeln. Auf diese Weise wird ein SIP-Anruf über IP in einen Telefonanruf umgewandelt.
In der Praxis bedeutet das: Selbst wenn die Video API von Vonage keine PSTN-Anrufe unterstützt, ermöglichen wir dies durch die Unterstützung von SIP-Anrufen. Danach müssen Sie nur noch einen Anbieter finden, der SIP-Anrufe in PSTN-Anrufe umwandelt.
Kann ich mit der SIP-Interconnect-Funktion normale Telefone anrufen?
Vonage SIP Interconnect ermöglicht es Partnern, Anrufe an beliebige SIP-Endpunkte zu initiieren. Um Anrufe zu/von einem normalen Telefon zu tätigen/empfangen, benötigen die Kunden ein Gateway auf ihrer Seite, um den SIP-Anruf in die Protokolle umzuwandeln, die in Mobil-/Festnetztelefonen verwendet werden.
Gibt es eine Möglichkeit, die Aus- und Einwahl von einer normalen Telefonnummer (PSTN) zu steuern?
Mit SIP Interconnect können Kunden aus einer Sitzung heraus zu jedem SIP-Ziel wählen. Darüber hinaus können Kunden ein SIP-Gateway (ihr eigenes oder das eines Drittanbieters) konfigurieren, um sich zu einer regulären Telefonnummer auszuwählen.
Obwohl die SIP-Interconnect-API keine eingehenden SIP-Anrufe unterstützt, können Kunden die Einwahl von einem regulären Telefon (PSTN) implementieren, indem sie ein SIP-Gateway (ihr eigenes oder ein Drittanbieter) verwenden, um den von regulären Telefonen eingehenden Anruf mit dem von Vonage ausgehenden SIP-Anruf zu verbinden.
Unterstützt SIP Interconnect das Senden von Videos?
Ja. Stellen Sie die video Flagge zu true beim Einleiten des SIP-Anrufs über die REST-API-Verfahren. SIP-Video ist auf 480p bei 800 kbps beschränkt.
Gibt es einen spürbaren Unterschied in der wahrgenommenen Audioqualität am WebRTC-Endpunkt im Vergleich zum SIP-Endpunkt?
Es wird erwartet, dass die Qualität gleich bleibt, allerdings mit einer zusätzlichen Latenzzeit am SIP-Endpunkt.
Wie funktioniert die Archivierungsfunktion mit SIP Interconnect?
Die Archivierungsfunktion funktioniert genauso wie heute bei einer WebRTC-Sitzung. Bis zu 16 Videoströme und die ersten 50 Audioströme, einschließlich SIP-Audio- und Videoströme, sind Teil des Archivs.
Wie navigiert der Benutzer durch die IVR? Wird es eine Wähltastatur in der Web-/Mobil-App geben?
Sie können die REST-API verwenden, um DTMF-Signale an SIP-Clients zu senden, um Interactive Voice Response (IVR)-Systeme zu unterstützen. Siehe Senden von DTMF-Signalen.
Mit welchen SIP-Servern ist SIP Interconnect kompatibel?
Wir haben die Interoperabilität mit einigen der populärsten Telekommunikationsausrüstungen (ACME packet, Broadsoft), einigen populären SIP-Plattformen (Nexmo und andere) und dem populärsten Open-Source-SIP-Server (freeswitch) getestet. Es ist unmöglich, die Interoperabilität mit jedem einzelnen SIP-Server zu gewährleisten, aber wir versuchen, die Verwendung von SIP-Erweiterungen/Funktionen einzuschränken, um die Wahrscheinlichkeit von Fehlern zu verringern. Bisher mussten wir unsere Lösung noch nie ändern, um mit einem neuen SIP-Server zusammenzuarbeiten.
Wie kann man die Verbindung zu einem SIP-Client, der mit einer Sitzung verbunden ist, unterbrechen?
- Verwendung der vorhandenen Client-API - Ein Web- (JavaScript-) Client, der mit einer Sitzung mit Moderatorenrechten verbunden ist, kann andere Clients, einschließlich SIP-Clients, dazu zwingen, die Verbindung zu einer Sitzung zu trennen.
- Verwendung der REST-API für die serverseitige Moderation - Wenn sich die WebRTC-Clients auf mobilen Geräten befinden oder der Kunde den Clients keine Moderatorenrechte erteilen möchte, können Anwendungsserver ein HTTP-DELETE an einen verbundenen Client ausgeben, um eine Trennung der Verbindung von der Serverseite zu erzwingen.