Elastisches SIP-Trunking
Der Einstieg: Konfigurieren Sie den Twilio Elastic SIP-Trunk
Vorbereitung
Bevor Sie das elastische SIP-Trunking von Twilio verwenden können, benötigen Sie ein Twilio-Konto. Melden Sie sich für ein kostenloses Twilio-Konto an, falls Sie noch keins haben.
Konfigurieren Sie den Elastic SIP-Trunk:
- Trunks konfigurieren
- Verbinden Sie Ihr Netzwerk über
- Twilio Interconnect
- IP-Adressen von Twilio
- Leistungsmerkmale
Verbinden Sie sich mit Ihrer IP-Kommunikationsinfrastruktur:
Dokumentation zur REST-API:
Voraussetzungen
Um das elastische SIP-Trunking von Twilio zu verwenden, brauchen Sie Folgendes:
- Ein SIP-fähiges Netzwerkelement (z. B. Session Border Controller, SIP Call Server, IP-PBX, SIP-PRI IAD usw.) mit Internetzugang.
-
Ausreichende Internetbandbreite zur Unterstützung des höchsten Anrufdatenaufkommens. Die maximale Bandbreite kann wie folgt bestimmt werden:
- Maximale Bandbreite des SIP-Trunks = max. gleichzeitige Anrufe mal 100 Kbit/s
Der Wert von 100 Kbit/s entspricht der erforderlichen Bandbreite für den Codec G711 plus ausreichend Overhead.
Dashboard
Melden Sie sich an der Konsole an und gehen Sie zum Abschnitt "Elastisches SIP-Trunking". Ihr Dashboard wird angezeigt und bietet eine allgemeine Übersicht über die Trunking-Nutzung: Minuten, Anrufe und Kosten.
Im linken Navigationsmenü finden Sie Links zu:
- Überblick: Beginnen Sie hier, lesen Sie Tutorial-Dokumente oder sehen Sie sich Leistungsmerkmale und Preise an.
- Verwalten: Zugriff auf Trunks, Listen für die IP-Zugriffssteuerung, Anmeldedatenlisten oder Netzwerkinformationen.
Verwalten
Im Menü "Verwalten" haben Sie Zugriff auf die gesamte Konfiguration aller Aspekte der Trunks. Sie haben insbesondere Links zu:
- Trunks: Liste der vorhandenen SIP-Trunks. Erstellen, löschen und konfigurieren Sie Trunks.
- Listen für IP-Zugriffssteuerung: Verwalten Sie Ihre Listen für IP-Zugriffssteuerung (eine Gruppe von IPs mit Zugriffserlaubnis für Ihre SIP-Domain).
- Anmeldedatenlisten: Verwalten Sie Ihre Anmeldedaten (eine Reihe von Namen und Passwörtern mit Zugriffserlaubnis für Ihre SIP-Domain).
- Netzwerkinformationen: Wichtige Informationen über die Plattform von Twilio, die Sie brauchen, um Ihre Kommunikationsinfrastruktur zu konfigurieren.
Trunks
Elastisches SIP-Trunking von Twilio ist eine cloudbasierte Lösung mit Konnektivität für IP-basierte Kommunikationsinfrastruktur für die Verbindung zum PSTN. Damit tätigen und empfangen Sie Telefonanrufe weltweit über eine beliebige Breitbandinternetverbindung.
Ein Trunk besteht aus den folgenden Einstellungen:
- Allgemein: Geben Sie einen Anzeigenamen für den Trunk an und sehen Sie sich die eindeutige Kennung an (Trunk-SID).
- Terminierung: Konfigurieren Sie die Einstellungen für die Platzierung des ausgehenden Datenverkehrs von der Kommunikationsinfrastruktur zum PSTN.
- Ursprung: Konfigurieren Sie die Einstellungen für den Empfang von eingehendem Anrufverkehr auf den Twilio-Nummern, um Anrufe an die Kommunikationsinfrastruktur aus dem PSTN zu senden.
- Nummern: Ermöglicht das Verknüpfen von Nummern mit einem bestimmten Trunk und das Anzeigen aller Nummern, die derzeit mit einem Trunk verknüpft sind.
Über die Navigationsleiste Trunks können Sie eine vollständige Liste der elastischen SIP-Trunks abrufen. Sie können dann auf die einzelnen Trunks klicken, um ihre Konfiguration zu ändern. Sie haben auch die Möglichkeit, bestimmte Trunks aus dieser Ansicht zu löschen.
Erstellen Sie einen Trunk
Klicken Sie in der Navigationsleiste Trunks auf "Neuen Trunk erstellen", um einen neuen Trunk zu erstellen. Dies kann auch über den Abschnitt Los geht‘s erfolgen.
Allgemeine Einstellungen
Diese Einstellungen gelten unabhängig von der Richtung des Verkehrs für den gesamten Trunk.
Anzeigename
Geben Sie einen Anzeigenamen für den Trunk ein.
Trunk-SID
Dies ist die eindeutige Kennung dieses Trunks und wird automatisch zugewiesen, sobald Sie einen Trunk erstellen.
Anrufaufzeichnung
In diesem Dropdown-Menü können Sie die Anrufaufzeichnung für diesen Trunk aktivieren. Wenn diese Option aktiviert ist, werden alle Anrufe aufgezeichnet (sowohl bei ein- als auch bei ausgehendem Datenverkehr). Sie zahlen nach Verbrauch (Pay as you go). Aufzeichnungsoptionen können für einen oder beide Kanäle ausgewählt werden. Die Standardeinstellung für einen Trunk ist „Nicht aufzeichnen“. Sie können wählen:
- Nicht aufzeichnen: Die Aufzeichnung ist auf diesem Trunk deaktiviert.
- Ab Klingeln aufzeichnen: Die Aufzeichnung beginnt, wenn das Klingeln beginnt.
- Ab Antwort aufnehmen: Die Aufzeichnung beginnt, wenn ein Anruf entgegengenommen wird.
- Duale Aufzeichnung ab Klingeln: Die Aufzeichnung beginnt, wenn das Klingeln beginnt. Beide Tonspuren werden separat dargestellt.
- Duale Aufzeichnung ab Antwort: Die Aufzeichnung beginnt, wenn ein Anruf entgegengenommen wird. Beide Tonspuren werden separat dargestellt.
- Aufzeichnung trimmen: Wenn diese Option aktiviert ist, werden Stille-Zeiten aus der Aufzeichnung ausgeschnitten. Wenn diese Option deaktiviert ist, werden Stille-Zeiten nicht aus der Aufzeichnung ausgeschnitten.
Erweiterte Anrufdauer
Twilio hat die maximale Dauer für Anrufe mit elastischem SIP-Trunking von 4 Stunden auf 24 Stunden verlängert. So können Unternehmen Gespräche führen, die länger als 4 Stunden dauern. Details finden Sie hier.
Sicheres Trunking
Verschlüsselung stellt sicher, dass die Anrufmedien und die zugehörige Signalisierung während der Übertragung privat bleiben. TLS (Transport Layer Security) bietet Verschlüsselung für SIP-Signalisierung und SRTP (Secure Real-Time Transport Protocol) bietet Verschlüsselung für Anrufinhalte/Medienpakete. In diesem Blog erfahren Sie, wie Sie TLS aktivieren und Probleme beheben können.
Das TLS-Protokoll dient dazu, eine sichere Verbindung zwischen einem Client und einem Server herzustellen, der über einen unsicheren Kanal kommuniziert. RFC 5246, das TLS-Protokoll (Transport Layer Security), Version 1.2, spezifiziert Version 1.2 des TLS-Protokolls (Transport Layer Security).
TLS-Spezifikationen:
- Unterstützte TLS-Versionen:
TLSv1.0
,TLSv1.1
undTLSv1.2
. - Unterstützte Cipher:
ECDHE-ECDSA-AES128-GCM-SHA256
,ECDHE-RSA-AES128-GCM-SHA256
,ECDHE-ECDSA-AES128-SHA256
,ECDHE-RSA-AES128-SHA256
,ECDHE-ECDSA-AES256-GCM-SHA384
,ECDHE-RSA-AES256-GCM-SHA384
,ECDHE-ECDSA-AES256-SHA384
,ECDHE-RSA-AES256-SHA384
,AES128-GCM-SHA256
,AES128-SHA256
,AES128-SHA
,AES256-GCM-SHA384
,AES256-SHA256
,AES256-SHA
HINWEIS: Twilio empfiehlt dringend die Verwendung von TLS Version 1.2
SRTP bietet einen Rahmen für die Verschlüsselung von RTP und RTCP. RFC 4568, SDP (Session Description Protocol) SDES (Security Description) for Media Streams, definiert ein solches Protokoll, das speziell für den Austausch von kryptografischem Material unter Verwendung eines neu definierten SDP-Krypto-Attributs entwickelt wurde.
SRTP-Spezifikationen:
- Trunking-Ursprung: Es wird nur eine einzige Crypto-Suite eingesetzt:
AES_CM_128_HMAC_SHA1_80
- Trunking-Terminierung: Zu den unterstützten Crypto-Suites gehören
AES_CM_128_HMAC_SHA1_80
undAES_CM_128_HMAC_SHA1_32
. Beide können in einer Präferenzreihenfolge enthalten sein. - Der optionale Parameter MKI (Master Key Identifier) wird nicht unterstützt.
Wenn „Sicheres Trunking“ aktiviert ist, werden alle nicht verschlüsselten Anrufe abgelehnt. Stellen Sie sicher, dass Sie die Verwendung von TLS in den
Ursprungseinstellungen konfigurieren, indem Sie den Parameter transport=tls
einschließen. Wenn der Transportparameter auf einem der URIs vorhanden ist, die einen anderen Transport angeben (z. B. transport=udp
), wird er ignoriert und TLS verwendet. Standardmäßig wird Port 5061 für TLS verwendet. Sie können jedoch den Port angeben, den Sie in Ihrem Ursprungs-URI verwenden möchten.
Importieren Sie ein Root-CA-Zertifikat von Twilio
TLS wird zur Verschlüsselung der SIP-Signalisierung zwischen SIP-Endpunkten verwendet. Damit dies ordnungsgemäß funktioniert, ist es erforderlich, dass bestimmte Geräte im Netzwerk ein SSL-Zertifikat importieren. Twilio verwendet Zertifikate von einer Zertifizierungsstelle (Certificate Authority). Es ist wichtig, dass Sie der Kommunikationsinfrastruktur das folgende Stammzertifikat hinzufügen, um dessen Authentizität im Netzwerk zu etablieren. CA-Zertifikat von Twilio herunterladen.
Es ist wichtig zu beachten, dass Twilio ein Platzhalterzertifikat verwendet, das für mehrere Subdomains einer Domain (*.pstn.twilio.com
) verwendet werden kann. Wenn Ihr Netzwerkelement keine Zertifikate mit Platzhalterzeichen unterstützt, deaktivieren Sie die Zertifikatüberprüfung.
TLS/SRTP-Unterstützung mit Asterisk
Asterisk wird standardmäßig mit dem Treiber chan_sip
ausgeliefert und funktioniert gut mit Twilio. Wenn Sie jedoch einen Grund haben, den PJSIP
-Treiber mit Asterisk auszuführen, beachten Sie Folgendes:
- Asterisk 13.8 cert2 ist standardmäßig auf
PJSIP 2.5
eingestellt und funktioniert nicht mit Twilio für TLS/SRTP-Zwecke. Nicht verschlüsselte Anrufe funktionieren. - Asterisk 13.8 cert2 kann auch den neuesten
PJSIP
-Treiber verwenden, der aktuell 2.5.5 ist. Twilio funktioniert gut damit, obwohl die folgende Meldung im Protokoll angezeigt wird:
PJSIP 2.5.5
gibt den folgenden Fehler aus, aber der Anruf funktioniert trotzdem nachweislich.
Sep 27 13:03:56] ERROR[10886]: pjproject:0 >: tlsc0x7f217c03 RFC 5922 (Abschnitt 7.2) lässt keine TLS-Platzhalterzertifikate zu. Bitte informieren Sie den SIP-Anbieter!
Der folgende Link führt zu einer Anleitung zur Installation einer nicht gebündelten Version von PJSIP
. Ändern Sie die Version in den Schritten auf 2.5.5.
Installieren Sie den PJSIP-Kanaltreiber
Anrufweiterleitung über SIP REFER
Wenn die Anrufweiterleitung aktiviert ist, verbraucht Twilio einen eingehenden SIP REFER aus der Kommunikationsinfrastruktur und erstellt eine INVITE-Nachricht an die Adresse im Refer-To-Header. Weitere Informationen finden Sie hier.
Medieneinstellungen
Symmetrisches RTP
Im Allgemeinen sollte Ihre IP-Kommunikationsinfrastruktur Ihre öffentliche IP-Adresse im SDP verwenden. Dies ist dann das EINZIGE Ziel, an das Twilio Medien sendet. Wenn Sie jedoch ein NAT ohne SIP-Erkennung durchlaufen, kennen Sie möglicherweise Ihre öffentliche IP nicht und Ihr SDP enthält Ihre private IP-Adresse, was in der Regel zu Problemen mit Einweg-Audiodaten führt. Mit Twilio können Sie dies beheben. Dazu wird der eingehende RTP-Medienstrom genutzt, um RTP an dieses Ziel zu senden und symmetrisches RTP zu aktivieren.
Wenn symmetrisches RTP aktiviert ist, erkennt Twilio, woher der Remote-RTP-Stream kommt, und beginnt, RTP an dieses Ziel zu senden statt an das im SDP ausgehandelte Ziel. Bitte beachten Sie, dass diese Einstellung anfälliger für RTP-Angriffe ist.
Wenn symmetrisches RTP deaktiviert ist, sendet Twilio RTP an das im SDP ausgehandelte Ziel. Diese Einstellung gilt als sicherer und wird daher empfohlen.
Terminierungseinstellungen
Durch die Konfiguration der Terminierungseinstellungen können Sie ausgehenden Datenverkehr von der Kommunikationsinfrastruktur zum PSTN platzieren. Um einen Trunk für die Terminierung zu verwenden, muss er einen Terminierungs-SIP-URI und mindestens ein Authentifizierungsschema haben (IP-Zugriffssteuerungslisten und/oder Anmeldedatenlisten).
Terminierungs-URI
Konfigurieren Sie einen SIP-Domainnamen, um den Terminierungs-SIP-URI für diesen Trunk eindeutig zu identifizieren. Dieser URI wird von der Kommunikationsinfrastruktur zum Weiterleiten des SIP-Datenverkehrs zu Twilio verwendet.
{example}.pstn.twilio.com
Twilio empfiehlt, dass Sie anstelle eines Punktes einen Bindestrich verwenden, um die Lesbarkeit der Domain zu verbessern. In einigen Fällen bevorzugen Sie jedoch vielleicht eine Subdomain wie a.b.pstn.twilio.com der übergeordneten Domain b.pstn.twilio.com.
Eine Subdomain wie a.b.pstn.twilio.com kann unter den folgenden Voraussetzungen erstellt werden:
- Die übergeordnete Domain (b.pstn.twilio.com) muss zuerst angelegt werden.
- Die übergeordnete Domain (b.pstn.twilio.com) muss vom selben Konto oder vom übergeordneten Konto erstellt werden.
Konfigurieren Sie einen Trunk in Ihrer Kommunikationsinfrastruktur (z. B. IP-PBX oder SBC)
Konfigurieren Sie einen Trunk in der Kommunikationsinfrastruktur und richten Sie ihn auf
{example}.pstn.twilio.com
den ausgehenden Datenverkehr in Richtung Twilio.
Lokalisierte Terminierungs-URIs
Wenn Sie manuell eine Verbindung zu einem bestimmten geografischen Edge-Standort herstellen möchten, der am nächsten zum Standort der Kommunikationsinfrastruktur liegt, können Sie dies durch Ausrichten der Kommunikationsinfrastruktur auf einen der folgenden lokalisierten Terminierungs-SIP-URIs tun:
{example}.pstn.ashburn.twilio.com
(North America Virginia){example}.pstn.umatilla.twilio.com
(North America Oregon){example}.pstn.dublin.twilio.com
(Europe Ireland){example}.pstn.frankfurt.twilio.com
(Europe Frankfurt){example}.pstn.singapore.twilio.com
(Asia Pacific Singapore){example}.pstn.tokyo.twilio.com
(Asia Pacific Tokyo){example}.pstn.sao-paulo.twilio.com
(South America São Paulo){example}.pstn.sydney.twilio.com
(Asia Pacific Sydney)
Die Liste der älteren lokalisierten URIs finden Sie hier. Beispiel: {example}.pstn.us1.twilio.com
Redundanz mit Terminierungs-URIs
Das elastische SIP-Trunking von Twilio verwendet einen FQDN ({example}.pstn.twilio.com
) als Terminierungs-URI, der von der Kommunikationsinfrastruktur verwendet wird, um SIP-Datenverkehr an Twilio zu leiten. Wie im vorherigen Abschnitt erläutert, stehen lokalisierte Terminierungs-URIs zur Verfügung.
Beispiel: {example}.pstn.ashburn.twilio.com
. Dieser spezifische FQDN wird im folgenden DNS-A-Eintrag aufgelöst:
Typ | IP-Adresse | TTL |
---|---|---|
A | 54.172.60.3 | 10 min |
A | 54.172.60.0 | 10 min |
A | 54.172.60.2 | 10 min |
A | 54.172.60.1 | 10 min |
Für jeden Edge-Standort stehen 3–4 IP-Adressen zur Verfügung, die für mehr Zuverlässigkeit verwendet werden (siehe IP-Adressen). Jede dieser IP-Adressen stellt einen einzigartigen öffentlichen Edge-Standort für unsere Elastic SIP-Trunking-Services der Twilio Cloud dar, die aus Gründen der Zuverlässigkeit über mehrere Verfügbarkeitszonen verteilt sind.
Es wird dringend empfohlen, dass Sie sich nicht auf eine einzelne IP-Adresse beschränken, sondern alle IP-Adressen nutzen und ein Failover ermöglichen, falls eine IP nicht reagiert.
Eine gemeinsame Strategie, die wir intern implementieren und die unsere Netzbetreiber auch uns gegenüber einsetzen sollen, ist: Wenn keine Antwort auf einen INVITE erfolgt, wird nach 4 Sekunden zur nächsten IP-Adresse gegangen. Eine einzelne Maschine hinter einer einzigen IP-Adresse schlägt immer irgendwann fehl, daher muss die Gesamtlösung dies berücksichtigen und sich vor diesen Ausfällen schützen.
Außerdem wird empfohlen, bei einem kompletten Ausfall von Ashburn ein Failover auf einen anderen Edge-Standort durchzuführen (z. B. wenn Sie eine Verbindung zu ashburn
herstellen, erfolgt ein Failover auf umatilla
). Beachten Sie dabei, dass der Edge-Standort aus Gründen der Zuverlässigkeit auf 3–4 verschiedene IP-Adressen auflöst.
Authentifizierung
Konfigurieren Sie die Authentifizierungsdetails, um die Sicherheit/Authentizität Ihres Terminierungsdatenverkehrs zu gewährleisten. Sie müssen mindestens eine ACL- oder Anmeldedatenauthentifizierung konfigurieren. Wenn Sie beides konfigurieren, werden sowohl ACLs als auch Anmeldedaten erzwungen.
Es wird dringend empfohlen, die Anmeldedaten zu konfigurieren. IP ACLs allein schützen nicht vor bestimmten Arten von Angriffen.
So erstellen Sie eine neue Zugriffssteuerungsliste (ACL):
- Klicken Sie im Abschnitt "Authentifizierung" auf "IP-Zugriffssteuerungsliste erstellen".
- Geben Sie der Zugriffssteuerungsliste einen Anzeigenamen, der diese Liste von IP-Adressen beschreibt. Beispiel: "Dallas Datacenter IPs".
- Fügen Sie IP-Adressen zu der neuen IP-Zugriffssteuerungsliste hinzu (dies sollten die IP-Adressen sein, die für ausgehenden SIP-Datenverkehr über die Grenze der Kommunikationsinfrastruktur hinaus verwendet werden, z. B. SBC).
- Geben Sie den IP-Adressen einen Anzeigenamen, der sie beschreibt, z. B. "Production SBC".
- Klicken Sie auf "ACL erstellen".
So erstellen Sie eine neue Anmeldedatenliste:
- Klicken Sie im Abschnitt "Authentifizierung" auf "Anmeldedatenliste erstellen".
- Geben Sie der Anmeldedatenliste einen Anzeigenamen, der die zu authentifizierende Person beschreibt. Beispiel: "Admin, Twilio".
- Geben Sie einen Namen ein (dies sollte der Name der anwendenden Person sein, der für die Digest-Authentifizierung für ausgehenden SIP-Datenverkehr über die Grenze der Kommunikationsinfrastruktur hinaus verwendet wird, z. B. SBC).
- Geben Sie das entsprechende Passwort für diese anwendende Person ein.
- Klicken Sie auf "Anmeldedatenliste erstellen".
Wenn Sie Anmeldedaten verwenden, werden mit
407 Proxy Authentication Required
die entsprechenden Anmeldedaten für Ihren SIP-INVITE abgefragt.
Am Ende dieses Schritts kann Ihr Trunk Terminierungsanrufe aus der Kommunikationsinfrastruktur über Twilio zum PSTN verarbeiten.
ID-Nummern zulässiger Anrufender bei Terminierungsanrufen
Sie müssen eine Anrufenden-ID-Nummer angeben, die entweder einer Twilio DID in Ihrem Konto oder einer Anrufenden-ID-Nummer entspricht, die auf der Konsole oder mit der API für ausgehende Anrufenden-IDs überprüft wurde.
Wenn im Absender-Feld des SIP-INVITE keine Anrufenden-ID angegeben ist, wird die Remote-Party-ID oder die P-Asserted-Identity verwendet.
Bei Testkonten verwenden Sie nur verifizierte Anrufenden-IDs und können nur Nummern anrufen, die ebenfalls verifiziert sind. Um diese Einschränkung zu entfernen, führen Sie ein Konto-Upgrade über die Konsole durch.
Tätigen Sie den ersten ausgehenden Anruf:
INVITE sip:+15108675309@{example}.pstn.ashburn.twilio.com SIP/2.0
Stellen Sie sicher, dass alle Telefonnummern, die über SIP an Twilio gesendet werden, immer
E.164-formatiert sind (Beispiel: +12128675309
). Wenn das E.164-Format nicht verwendet wird, wird der
Anruf mit der SIP-Antwort 400 Bad Request
abgelehnt.
Stellen Sie sicher, dass Ihre E.164-formatierte Nummer immer ein +
enthält. Dieses Pluszeichen darf nicht weggelassen werden.
Ursprungseinstellungen
Durch die Konfiguration der Ursprungseinstellungen können Sie eingehenden Anrufverkehr vom PSTN zu einer Twilio-Nummer empfangen, der an die Kommunikationsinfrastruktur gesendet wird. Mit Telefonnummern in über 100 Ländern bietet Ihnen Twilio einen wirklich globalen SIP-Trunk. Es sollte mindestens eine Twilio-Nummer diesem Trunk zugeordnet sein, wenn Sie ihn für die Ursprungskonfiguration einrichten.
Die in diesem Abschnitt konfigurierten Ursprungseinstellungen gelten für alle Nummern, die mit diesem Trunk verknüpft sind.
Ursprungs-SIP-URI
Konfigurieren Sie den Ursprungs-SIP-URI, der den Eintrittspunkt des Netzwerkelements in Ihre Kommunikationsinfrastruktur identifiziert (z. B. IP-PBX, SBC). Der Host-Teil vom SIP-URI kann entweder eine IP-Adresse oder ein vollständig qualifizierter Domainname (FQDN) sein.
sip:172.56.42.132
sip:mysbc.com
Twilio füllt automatisch den Anwendendenteil vom SIP-URI ausgehend von der Twilio-Nummer aus, für die der Anruf aus dem PSTN bestimmt ist. Wenn z. B. der Anruf vom PSTN für die Twilio-Nummer +14158675309 eingeht, die mit diesem Trunk verknüpft ist, wird folgender URI an Ihre Kommunikationsinfrastruktur gesendet:
sip:+14158675309@172.56.42.132
sip:+14158675309@mysbc.com
Alternativ können Sie auch einen bestimmten Anwendendenteil (z. B. "anniebp") innerhalb des Ursprungs-SIP-URIs konfigurieren. Beachten Sie, dass derselbe URI für alle mit diesem Trunk verknüpften Nummern verwendet wird. Daher gilt: Wenn der Anruf vom PSTN für die Twilio-Nummer +14158675309 eingeht, die mit diesem Trunk verknüpft ist, ist der resultierende URI für die Kommunikationsinfrastruktur weiterhin folgender für alle Telefonnummern:
sip:anniebp@172.56.42.132
sip:anniebp@mysbc.com
Hinweis: Die gewählte Twilio-Nummer (+14158675309) wird immer in einem
SIP-Diversion
-Header für Trunking-Ursprungsanrufe übermittelt.
X-Header
Es ist möglich, jeden SIP-Header mit dem Präfix X-
zu senden, indem
Sie ihn an den Ursprungs-SIP-URI anfügen. Sie können beispielsweise Folgendes konfigurieren:
sip:+14158675309@mysbc.com?X-myheader=foo
,
um X-myheader:foo
mit allen Ursprungsanrufen zu senden.
Parameter transport
Standardmäßig sendet Twilio Ursprungs-SIP-Anforderungen an Ihre Kommunikationsinfrastruktur über UDP. Dies kann dahingehend angepasst werden, dass es über TCP anstatt über UDP gesendet wird. Ändern Sie dies mithilfe des Parameters „transport“ im Ursprungs-SIP-URI:
sip:anniebp@172.56.42.132;transport=tcp
Alternativ können Sie das so anpassen, dass TLS für die SIP-Signalisierung verwendet wird. Bei Verwendung von TLS ist der Standardport 5061, es kann jedoch ein anderer angegeben werden. Ändern Sie dies mithilfe des Parameters „transport“ im Ursprungs-SIP-URI und geben Sie optional eine andere Portnummer an:
sip:anniebp@172.56.42.132:5062;transport=tls
Hinweis: Ursprungs-URI-Konfigurationen für elastisches SIP-Trunking mit dem URI-Schema sips
zur Aktivierung der End-to-End-Verschlüsselung werden von Twilio NICHT unterstützt. Wir unterstützen jedoch sip
-URI-Schemata, die transport=tls
für die Punkt-zu-Punkt-Verschlüsselung verwenden.
Wenn Sie Ihre URIs für Ursprungs-URIs für elastisches SIP-Trunking so konfigurieren, dass sie sips
-Schemata verwenden, werden diese sips
-URIs so behandelt, als wären sie sip
-URIs, die TLS-Transport verwenden. Twilio passt den URI effektiv intern an, sodass er stattdessen mithilfe des sip
-Schemas und transport=tls
auf den ausgehenden Nachrichten geroutet wird, was zu einer Punkt-zu-Punkt-Verschlüsselung zwischen Twilio und den Endgeräten führt.
Twilio empfiehlt nachdrücklich, in den Twilio SIP-Konfigurationen keine sips
-Schemata zu verwenden, da dies aufgrund der Verarbeitung solcher URIs möglicherweise unbeabsichtigtes Verhalten verursacht. Stattdessen empfehlen wir die Verwendung von sip
-Schemata mit TLS-Transport. Diese Methode ist zusammen mit der Sicherheit unserer Spracharchitektur und Super Network eine effektive Möglichkeit, Ihre Twilio SIP-Verbindungen zu verschlüsseln.
Parameter edge
Um den geografischen Edge-Standort anzugeben, von dem aus Twilio den Ursprungs-SIP-Datenverkehr an Ihre Kommunikationsinfrastruktur senden soll, müssen Sie den Parameter edge
in Ihren Ursprungs-SIP-URI einfügen. Wenn beispielsweise der Parameter edge=dublin
im Ursprungs-SIP-URI enthalten ist, sendet Twilio den SIP-Datenverkehr vom Edge-Standort Europa Irland:
sip:anniebp@172.56.42.132;edge=dublin
Wenn der Parameter edge
nicht angegeben wird, sendet Twilio den Ursprungs-SIP-Datenverkehr von dem Edge-Standort, an dem der eingehende PSTN-Anruf eintrifft.
Hinweis: Sie müssen sicherstellen, dass Sie die IP-Adressen des Twilio-Edge-Standorts für SIP-Signalisierung und RTP-Medienverkehr freigeben.
Dieser Parameter wurde zuvor als region
bezeichnet und wird weiterhin unterstützt. Hier finden Sie eine Liste der alten Region-IDs. Beispiel: sip:anniebp@172.56.42.132;region=ie1
Verwenden Sie mehrere Ursprungs-SIP-URIs
Es können bis zu zehn (10) Ursprungs-SIP-URIs mit unterschiedlicher Priorität und Gewichtung konfiguriert werden.
Das Prioritätsfeld bestimmt die Priorität der Verwendung des SIP-URIs. Twilio verwendet immer zuerst den SIP-URI mit dem am niedrigsten nummerierten Prioritätswert und verwendet andere SIP-URIs mit dem gleichen oder höheren Wert, wenn die Verbindung zu diesem SIP-URI fehlschlägt.
Wenn ein Dienst mehrere SIP-URIs mit demselben Prioritätswert hat, verwendet Twilio das Feld „Gewichtung“, um zu bestimmen, welcher SIP-URI verwendet werden soll. Der Gewichtungswert ist nur in Bezug auf andere SIP-URIs mit dem gleichen Prioritätswert relevant.
Priority
ordnet die Wichtigkeit des URI ein. Die Werte reichen von 0 bis 65535, wobei die niedrigste Zahl die höchste Bedeutung darstellt. Weight
wird verwendet, um den Lastanteil zu bestimmen, wenn mehr als ein URI die gleiche Priorität hat. Die Werte liegen zwischen 1 und 65535. Je höher der Wert, desto mehr Last wird einem URI zugewiesen.
Es ist möglich, einen Ursprungs-SIP-URI zu aktivieren oder zu deaktivieren. Wenn ein Ursprungs-SIP-URI aktiviert ist, ist er in der Routenauswahl aktiv. Wenn er nicht aktiviert ist, wird er nicht für die Weiterleitung von Anrufverkehr an Ihre Kommunikationsinfrastruktur verwendet.
Im folgenden Beispiel werden sowohl die Felder „Priorität“ als auch „Gewichtung“ verwendet, um eine Kombination aus Lastenausgleich- und Failover-Services bereitzustellen.
Ursprungs-SIP-URI | Priorität | Gewichtung |
---|---|---|
sip:mysbc1.com | 10 | 60 |
sip:mysbc2.com | 10 | 20 |
sip:mysbc3.com | 10 | 20 |
sip:mysbc-backup.com | 20 | 10 |
Die ersten drei SIP-URIs haben die Priorität 10, sodass der Wert des Gewichtungsfelds verwendet wird, um zu bestimmen, welcher Server kontaktiert werden soll. Die Summe aller drei Werte ist 100, daher wird sip:mysbc1.com
in 60 % der Fälle verwendet. Die beiden SIP-URIs sip:mysbc2.com
und sip:mysbc3.com
werden für jeweils 20 % der Anfragen verwendet. Wenn sip:mysbc1.com
nicht verfügbar ist, teilen sich diese beiden verbleibenden Maschinen die Last gleichmäßig und werden jeweils in 50 % der Fälle ausgewählt.
Wenn alle drei Server mit Priorität 10 nicht verfügbar sind, wird der Datensatz mit dem nächstniedrigsten Prioritätswert ausgewählt: sip:mysbc-backup.com
.
Hinweis: Wenn einer der folgenden SIP-Statuscodes zurückgegeben wird ("2xx", "400", "404", "405", "410", "416", "482", "484", "486", "6xx"), führt Twilio kein Failover zum nächsten Ursprungs-SIP-URI durch. Wenn von einem bestimmten Server keine SIP-Antwort erfolgt, führt Twilio nach 4 Sekunden ein Failover durch.
Disaster Recovery URL
Wenn ein schwerwiegender Fehler verhindert, dass Ihre Anrufe an den Ursprungs-SIP-URI oben weitergeleitet werden, können Sie eine Disaster Recovery URL konfigurieren, die auf eine Anwendung verweist, die auf das leistungsstarke Skript-Tool TwiML von Twilio aufbaut. Sie können TwiML verwenden, um eine Anwendung zu erstellen, die Anrufe nach den Vorgaben des Disaster-Recovery-Plans verwaltet, einschließlich der Replikation der Funktionen des PBX (z. B. IVR).
http://fallback.mycompany.com/index
Weitere Informationen zum Erstellen einer TwiML-Anwendung finden Sie [in der Twilio Schnellstart-Anleitung][im Schnellstart] und [im TwiML-API-Handbuch][unter TwiML]. Bitte beachten Sie, dass für Anrufe, die zur Disaster Recovery URL umgeleitet werden, die normalen Twilio Voice-Tarife gelten: siehe Voice- Preise.
CNAM Lookups
CNAM ist ein Akronym, das für den Anrufenden-ID-Namen steht. CNAM wird verwendet, um den Namen von Anrufenden neben der Telefonnummer anzuzeigen, um Anwendenden die einfache Identifizierung von Anrufenden zu erleichtern.
Wenn Sie CNAM Lookup aktivieren, wird der Anrufenden-ID-Name über die Felder „Von“, „Kontakt“ und (falls zutreffend) „P-Asserted-Identity“ für jeden Anrufer in den SIP INVITE eingefügt.
Beachten Sie, dass CNAM Lookups für USA-amerikanische/kanadische Nummern pro Lookup berechnet werden, auch wenn Daten möglicherweise nicht verfügbar sind. Derzeit werden bei der Abfrage des Anrufenden-ID-Namens für internationale Nummern Nullwerte zurückgegeben, jedoch nicht in Rechnung gestellt.
Aktivieren Sie diese Funktion mit der Twilio-Konsole:
Um CNAM Lookup über die Konsole zu aktivieren, melden Sie sich an der Konsole an und gehen Sie zum Abschnitt "Elastisches SIP-Trunking".
Wenn Sie einen Trunk ausgewählt haben, navigieren Sie zu den Einstellungen für die Ursprungseinstellung (über das linke Untermenü). Hier sehen Sie einen Schalter, mit dem Sie CNAM Lookup aktivieren können. Sie erkennen, dass die Einstellung aktiviert wurde, wenn der Schalter „blau“ ist und das Wort „AKTIVIERT“ angezeigt wird.
- CNAM Lookup muss pro Trunk aktiviert werden.
- CNAM Lookup wird nur für Telefonnummern in Nordamerika unterstützt.
- CNAM Lookup wird nach erfolgreichem Lookup abgerechnet (dies schließt den Fall ein, dass der Name für eine Nummer in den nationalen CNAM-Datenbanken nicht verfügbar ist). Es ist bekannt, dass viele AT&T-Nummern nicht in den nationalen CNAM-Datenbanken veröffentlicht werden.
- CNAM Lookup wird nach erfolgreicher Suche abgerechnet, auch wenn der Anruf selbst fehlschlägt.
Anrufumleitung
Mit der Anrufumleitung können Sie einen Trunking-Ursprungsanruf umleiten. Ihre Kommunikationsinfrastruktur kann einen eingehenden INVITE umleiten, indem sie mit einem SIP 302 (Moved Temporarily) antwortet. Diese Antwort enthält ein Kontakt-Header-Feld mit den neuen Adressen, die angewählt werden sollen.
- Twilio unterstützt eine einzelne Umleitung pro Anruf:
- Sendet ein Zielpunkt, auf den umgeleitet wurde, auch eine SIP 302-Antwort mit einem anderen Ziel, wird der Anruf von Twilio mit Fehler beendet.
- Twilio verwendet den ersten URI der SIP 302-Antwort: Mehrere URIs im SIP-
Contact
-Header mit Ausnahme des ersten oder mehrere SIP-Contact
-Header mit Ausnahme des ersten werden ignoriert.
- Anrufumleitungen zu Twilio-Domains (
*.sip.twilio.com
oder*.pstn.twilio.com
) werden nicht unterstützt. - Wenn der Anruf an einen registrierten SIP-Endpunkt erfolgt, ist eine Umleitung nicht zulässig.
- Der Parameter
edge
wird in einem Kontakt-URI mit SIP 302 nicht unterstützt. Der umgeleitete Anruf verwendet denselben ausgehenden Edge-Standort wie der ursprüngliche Anruf. - Der Parameter
tnx
wird in einem Kontakt-URI mit SIP 302 nicht unterstützt. Der umgeleitete Anruf verwendet dieselbe Interconnect-Verbindung wie der ursprüngliche Anruf. - Wenn Sicheres Trunkingfür den ursprünglichen INVITE verwendet wurde, verwendet der umgeleitete Anruf auch TLS/SRTP.
- Wenn Anrufaufzeichnung für den ursprünglichen INVITE verwendet wurde, wird der umgeleitete Anruf auch aufgezeichnet.
SIP-Diversion
-Header
Trunking-Ursprung
Wenn Twilio eingehenden Anrufverkehr auf den Twilio-Nummern vom PSTN zur Weiterleitung an die Kommunikationsinfrastruktur empfängt, fügt es einen SIP-Diversion
-Header hinzu, der die Twilio-Nummer angibt, die gewählt wurde. Dieser Header dient als Verlaufsdatensatz, der angibt, dass der Anruf von der gewählten Nummer an den Ursprungs-SIP-URI des SIP-Trunks umgeleitet wurde. Ein Beispiel dafür, wie dieser Diversion
-Header aussehen könnte, ist unten dargestellt.
Diversion: <sip:+14155550000@twilio.com>
Trunking-Terminierung
Wenn Twilio ausgehenden Datenverkehr von der Kommunikationsinfrastruktur zum PSTN empfängt, kann Ihre SIP-Nachricht manchmal SIP-Diversion
-Header enthalten, wenn der Anruf zuvor weitergeleitet wurde. Twilio leitet die empfangenen SIP-Diversion
-Header an die Netzbetreiber weiter.
Bald verfügbar!
Um das böswillige Hinzufügen von Diversion
-Headern zu bekämpfen, überprüft Twilio alle empfangenen Diversion
-Header, die die Twilio-Domain enthalten. Twilio überprüft, ob die im Header enthaltene Telefonnummer mit der Telefonnummer übereinstimmt, die mit Ihrem Twilio-Konto verknüpft ist (entweder eine zum Konto gehörige Twilio-Nummer oder eine verifizierte Anrufenden-ID). Wenn der Header diese Prüfung nicht besteht, entfernt Twilio den Header.
Telefonnummern
Auf dieser Registerkarte können Sie:
- eine neue Twilio-Nummer für den Trunk kaufen
- alle Twilio-Nummern anzeigen, die derzeit mit diesem Trunk verknüpft sind
- eine vorhandene Twilio-Nummer mit diesem Trunk verknüpfen
- eine Twilio-Nummer von diesem Trunk lösen
alle Twilio-Nummern anzeigen, die derzeit mit diesem Trunk verknüpft sind
Im Bereich "Nummern" können Sie alle Nummern anzeigen, die aktuell
mit diesem Trunk verknüpft sind. Denken Sie daran, dass alle diese Nummern denselben
Ursprung und dieselben allgemeinen Einstellungen verwenden.
Sie können auf eine bestimmte Nummer klicken, um deren Konfiguration anzuzeigen/zu ändern.
Kaufen Sie eine neue Twilio-Nummer für den Trunk
Es ist mindestens eine Twilio-Telefonnummer erforderlich, um
eingehende Anrufe vom PSTN zur Kommunikationsinfrastruktur über den
Twilio-Trunk empfangen zu können.
Stellen Sie sicher, dass alle Änderungen an der Trunking-Konfiguration gespeichert sind. Wählen Sie dann
im Abschnitt "Nummern" die Option "Nummer kaufen".
Wählen Sie den Ländercode aus und suchen Sie nach verfügbaren Nummern, die mit einem bestimmten Muster übereinstimmen,
das Sie für Ihre Nummer möchten (z. B. +14158675309).
Sobald Sie die Twilio-Nummer gefunden haben, die Sie kaufen möchten, können Sie sie erwerben
und weiter einrichten.
Dadurch gelangen Sie zur Nummernansicht, in der Sie die Konfiguration
für diese Nummer ändern können.
Wählen Sie im Abschnitt "Voice" das Optionsfeld "SIP-Trunking" aus. Wählen Sie dann aus der
Dropdown-Liste unten den gewünschten SIP-Trunk aus, mit dem Sie
diese Nummer verknüpfen möchten. Denken Sie daran, Ihre Konfigurationsänderungen zu speichern.
Verknüpfen Sie eine vorhandene Twilio-Nummer mit diesem Trunk
Wählen Sie im Abschnitt "Nummern" die Option "Nummer mit diesem Trunk verknüpfen" aus.
Das zeigt eine Liste aller vorhandenen Twilio-Nummern an. Klicken Sie auf die Nummer,
die Sie mit diesem Trunk verknüpfen möchten.
Dadurch gelangen Sie zur Nummernansicht, um für diese Nummer die
Konfiguration zu ändern. Wählen Sie im Abschnitt "Voice" das Optionsfeld "SIP-Trunking"
aus. Wählen Sie dann aus der Dropdown-Liste unten den gewünschten SIP-Trunk aus, mit dem Sie
diese Nummer verknüpfen möchten. Denken Sie daran, Ihre Konfigurationsänderungen
zu speichern.
eine Twilio-Nummer von diesem Trunk lösen
Sie können die Verknüpfung einer Nummer mit einem Trunk auf verschiedene Arten aufheben:
- Im Abschnitt "Nummern" eines Trunks können Sie direkt die Verknüpfung einer
Telefonnummer aus der Nummernliste aufheben, die angezeigt wird. Klicken Sie dazu auf die Papierkorbschaltfläche. - Sie können die "Voice"-Konfiguration einer bestimmten Nummer einem anderen Trunk zuweisen
oder sie mit einer Anwendung oder URL konfigurieren. - Sie können den Trunk löschen, der mit dieser Nummer verknüpft ist.
Beachten Sie, dass die Nummer in diesem Fall zwar nicht mehr mit dem Trunk verknüpft ist,
aber nicht aus Ihrem Konto entfernt wird.
Twilio-Telefonnummern werden monatlich abgerechnet. Wenn Sie eine Nummer nicht aktiv nutzen
oder für die zukünftige Verwendung reservieren möchten, können Sie
Kosten senken, indem Sie ungenutzte Nummern freigeben. Um eine Nummer freizugeben,
gehen Sie zum Abschnitt "Voice und Messaging", klicken Sie auf "Nummern" und
geben Sie die gewünschte Nummer auf dieser Seite frei.
Nehmen Sie den ersten Ursprungs-Anruf entgegen
Führen Sie den ersten Testanruf durch, indem Sie die Twilio-Nummer Ihres Trunks wählen, z. B.
+14158675309
, und prüfen Sie, ob die entsprechende Durchwahl der Kommunikationsinfrastruktur
läutet.
Löschen Sie einen Trunk
Sie können einen Trunk löschen:
- Aus dem Bereich "Trunks", über die angezeigte Liste der Trunks. Beachten Sie, dass alle Nummern, die mit diesem Trunk verknüpft sind, automatisch vom Trunk getrennt, aber nicht freigegeben werden. Um sie freizugeben, gehen Sie zum Abschnitt "Voice und Messaging", klicken Sie auf "Nummern" und geben Sie die gewünschte Nummer aus diesem Abschnitt frei.
- Von jedem Bildschirm mit trunkspezifischen Konfigurationen haben Sie die Option: "Diesen Trunk löschen".
Beachten Sie dabei, dass alle Nummern, die zuvor mit diesem Trunk verknüpft waren, vom Trunk getrennt, aber nicht aus Ihrem Konto entfernt werden. Twilio-Telefonnummern werden monatlich abgerechnet. Wenn Sie eine Nummer nicht aktiv nutzen oder für die zukünftige Verwendung reservieren möchten, können Sie Kosten senken, indem Sie ungenutzte Nummern freigeben. Um eine Nummer freizugeben, gehen Sie zum Abschnitt "Voice und Messaging", klicken Sie auf "Nummern", und geben Sie die gewünschte Nummer aus diesem Abschnitt frei.
Ihr Netzwerk
Bereiten Sie Ihre Kommunikationsinfrastruktur vor, um sicherzustellen, dass Ihre SIP- Infrastruktur eine Verbindung zu Twilio und umgekehrt hat.
- Konfigurieren Sie die Terminierungs-URIs für den Twilio Trunk, optional mit einem lokalisierten Terminierungs-URI, wenn Sie manuell eine Verbindung zu einem bestimmten geografischen Edge-Standort der Twilio-Plattform herstellen möchten.
- Geben Sie alle Signalisierungs- und Medien-IP-Adressen und -Ports von Twilio in Ihrer Firewall frei.
- Konfigurieren Sie die Infrastruktur so, dass sie sich nicht für diesen Trunk registriert.
- Stellen Sie sicher, dass Ihre Infrastruktur einen Mindestwert von 20 für
Max-Forwards
sendet, damit Ihr Anruf erfolgreich verarbeitet wird. - Stellen Sie sicher, dass alle Telefonnummern, die über SIP an Twilio gesendet werden, immer E.164-formatiert sind.
- Richten Sie optional die Kommunikationsinfrastruktur zur Ausgabe von SIP-OPTIONS-Nachrichten ein, als Ping-Mechanismus an den Elastic SIP-Trunk (senden Sie die Nachrichtenanfrage an: den Terminierungs-URI, den Sie erstellt haben (
example.pstn.twilio.com
)). Die Twilio-Plattform antwortet entsprechend. Bitte halten Sie den Ping niedriger als 1 SIP OPTION alle 10–15 Sekunden, um zu vermeiden, dass Ihre Anfragen von unserer Plattform gesperrt werden.
Einsatz hinter einer NAT
Für den Betrieb hinter einer NAT ohne Session Border Controller ist es wichtig, die NAT-Übersetzungsbindung offen zu halten.
- Für Signalisierung kann dies bei Verwendung von UDP erreicht werden, indem in regelmäßigen Abständen SIP OPTIONS an Twilio gesendet werden, die mit „200 OK“ beantwortet werden.
- Für Signalisierung kann dies bei Verwendung von TCP oder TLS durch das regelmäßige Senden von SIP OPTIONS an Twilio oder CR-LF Keep-Alives erreicht werden (das regelmäßige Senden eines Doppel-CRLF ("Ping"), dann warten, bis ein einzelnes CRLF ("Pong") von Twilio empfangen wird), letzteres hat den geringsten Overhead.
- Bei RTP ist dies in der Regel weniger ein Problem, da Medienpakete häufiger gesendet werden.
IP-Adressen
Sie MÜSSEN ALLE der folgenden IP-Adressbereiche und Ports von Twilio in der Firewall für SIP-Signalisierung und RTP-Medienverkehr freigeben. Dies ist wichtig, wenn Sie Nummern an verschiedenen Edge-Standorten haben und dient der Ausfallsicherheit (wenn z. B. North America Virginia Gateways ausgefallen sind, werden North America Oregon Gateways verwendet). Twilio garantiert nicht, von welchem Edge-Standort aus das Medium gesendet wird, wenn Sie den Parameter edge
nicht verwenden, da es davon abhängen kann, welches PSTN-SIP-Gateway den Anruf an welchen Edge-Standort von Twilio sendet.
Die vollständige Liste finden Sie unter IP-Adressen für elastisches SIP-Trunking von Twilio.
Weitere Informationen zur Konfiguration der Infrastruktur mit dem Twilio Elastic SIP-Trunk, siehe SIP-Trunking – Konfigurationsanleitungen.