SIP-Client einrichten
Jeder SIP-Client, der über einen Proxy telefonieren kann, kann einen Bird-Trunk nutzen. Das schließt Telefonanlagen, Desktop-Softphones und Kommandozeilen-Tools ein. Diese Seite ordnet die Verbindungsdaten des Trunks gängigen Client-Feldern und Authentifizierungseinstellungen zu.
Was ein Client braucht
Vier Werte, alle von der Trunk-Seite:
| Client-Feld | Einzutragender Wert |
|---|---|
| SIP-Server, Domain, Host oder Proxy | Die SIP-Domain des Trunks |
| Port und Transport | Einer der unterstützten Ports des Trunks |
| Authentication User, Auth User oder Login | bird |
| Passwort oder Secret | Das Secret eines API-Schlüssels, der für den Trunk zugelassen ist |
Ein Trunk, der nur seine IP-Erlaubnisliste nutzt, braucht die ersten beiden Werte. Die Zugangsdaten kommen durch die API-Schlüssel-Authentifizierung hinzu.
Die Beispiele verwenden YOUR_TRUNK_DOMAIN, YOUR_CALLER_ID und YOUR_API_KEY_SECRET. Kopieren Sie die vollständige Domain von der Trunk-Seite. Bird lehnt Anrufe an eine andere Domain ab, bevor sie Ihr Anrufprotokoll erreichen. Wenn Sie mit der Bird CLI angemeldet sind, führen Sie bird voice tools test-call --dry-run aus, um diese Werte als baresip-Account-Zeile auszugeben.
Lassen Sie Realm oder Authentication Domain leer, damit der Client den Realm aus der Challenge von Bird verwendet. Falls ein Client einen Wert verlangt, verwenden Sie die Workspace-ID ohne das Präfix wsp_, gefolgt von .sip.bird.com. Der Workspace-Realm unterscheidet sich von der SIP-Domain des Trunks.
Anrufe ohne Registrierung tätigen
Bird authentifiziert jeden INVITE anhand der IP-Erlaubnisliste des Trunks oder über eine Passwort-Challenge. Clients registrieren sich nicht beim Trunk.
Prüfen Sie die Registrierung, bevor Sie einen Anruf tätigen:
- Konfigurieren Sie Bird in einer Telefonanlage als Trunk und lassen Sie die Registrierung deaktiviert. Bei Asterisk bedeutet das: keine type=registration-Sektion; bei FreeSWITCH: register=false am Gateway; FreePBX und 3CX haben einen Registrierungsmodus, den Sie auf „none
- Schalten Sie in einem Softphone die Registrierung in den erweiterten Kontoeinstellungen aus, sofern die Option vorhanden ist. Fehlt sie, ist der fehlgeschlagene Registrierungsversuch nur kosmetisch – das Wählen funktioniert trotzdem, weil wir auf den INVITE reagieren und nicht auf die Registrierung.
Zwei Identitäten, zwei Felder
Ihr Client muss zwei verschiedene Identitäten senden:
- Die Anrufer-ID steht im From-Header und muss eine Nummer sein, die Sie verifiziert haben, im E.164-Format: ein führendes +, gefolgt von Ländervorwahl und nationaler Nummer. In den meisten Clients ist das das Benutzer- oder Anrufer-ID-Feld des Kontos.
- Der Digest-Benutzername ist immer bird. In den meisten Clients ist das das Feld für den Authentifizierungsbenutzer oder Login.
Wählen Sie ebenfalls im E.164-Format, da Bird danach routet und abrechnet.
Softphones
Ein Softphone ist der schnellste Weg, um zu prüfen, ob ein neuer Trunk funktioniert, bevor Sie Produktions-Traffic darüber leiten.
baresip
Fügen Sie eine Zeile in ~/.baresip/accounts hinzu, mit Ihrer Anrufer-ID als Kontobenutzer und bird als Auth-Benutzer:
Codebeispiel
<sip:YOUR_CALLER_ID@YOUR_TRUNK_DOMAIN>;auth_user=bird;auth_pass=YOUR_API_KEY_SECRET;regint=0;outbound="sip:YOUR_TRUNK_DOMAIN;transport=udp"regint=0 verhindert, dass sich baresip registriert. Starten Sie es und wählen Sie mit /dial +31612345678.
Zoiper
Fügen Sie ein SIP-Konto manuell hinzu. Setzen Sie Domain auf die SIP-Domain des Trunks, Username auf Ihre verifizierte Anrufer-ID und Password auf das API-Key-Secret. Deaktivieren Sie in den erweiterten Einstellungen die Registrierung beim Start, setzen Sie Auth username auf bird und wählen Sie den Transport.
Linphone
Fügen Sie ein Konto hinzu, mit bird als Auth-Benutzer der SIP-Identität und Ihrer Anrufer-ID als Benutzername, und deaktivieren Sie dann die Registrierung für das Konto. In linphonerc ist dasselbe Konto ein [proxy_N]-Abschnitt mit reg_sendregister=0.
MicroSIP
Unter Account: SIP server ist die SIP-Domain des Trunks, Username Ihre verifizierte Anrufer-ID, Login bird, Password das API-Key-Secret. Lassen Sie Domain identisch mit dem SIP-Server.
Telefonanlagen
Asterisk
In pjsip.conf ein Endpoint mit ausgehender Authentifizierung und ohne Registrierungsabschnitt:
Codebeispiel
[bird-auth]
type=auth
auth_type=userpass
username=bird
password=YOUR_API_KEY_SECRET
[bird-aor]
type=aor
contact=sip:YOUR_TRUNK_DOMAIN:5060
[bird]
type=endpoint
context=from-internal
outbound_auth=bird-auth
aors=bird-aor
from_user=YOUR_CALLER_ID
from_domain=YOUR_TRUNK_DOMAINfrom_user ist die Anrufer-ID, die Bird prüft, daher muss es eine verifizierte Nummer sein. Wählen Sie mit Dial(PJSIP/+31612345678@bird).
FreePBX
Fügen Sie unter Connectivity > Trunks einen SIP (chan_pjsip)-Trunk hinzu. Setzen Sie in den pjsip Settings Username auf bird, Secret auf das API-Key-Secret, SIP Server auf die SIP-Domain des Trunks, Authentication auf outbound und Registration auf none. Setzen Sie die ausgehende Anrufer-ID des Trunks auf eine verifizierte Nummer.
FreeSWITCH
Ein Gateway in conf/sip_profiles/external/bird.xml:
Codebeispiel
<include>
<gateway name="bird">
<param name="proxy" value="YOUR_TRUNK_DOMAIN"/>
<param name="register" value="false"/>
<param name="username" value="bird"/>
<param name="password" value="YOUR_API_KEY_SECRET"/>
<param name="from-domain" value="YOUR_TRUNK_DOMAIN"/>
<param name="caller-id-in-from" value="true"/>
</gateway>
</include>Mit gesetztem caller-id-in-from wird die Anrufer-ID auf dem Leg zur From-Nummer. Setzen Sie sie daher beim Aufbau auf eine verifizierte Nummer.
3CX
Fügen Sie einen generischen SIP-Trunk hinzu und deaktivieren Sie die Registrierung. Setzen Sie den Host auf die SIP-Domain des Trunks, die Authentifizierungs-ID auf bird und das Passwort auf das API-Key-Secret. Setzen Sie die ausgehende Anrufer-ID auf eine verifizierte Nummer.
Nächste Schritte
| Seite | Inhalt |
|---|---|
| Voice-Fehlerbehebung | Diagnose eines Anrufs, der nicht durchkommt, ausgehend vom Symptom |
| SIP-Trunks | Verbindungsdetails, Zulassungslisten und das Digest-Angebot |
| Anrufe tätigen | Was Bird beim INVITE erwartet und wie ein Anruf abgerechnet wird |
| Anrufer-IDs | Eine Nummer registrieren und per Verifizierungsanruf nachweisen, dass sie Ihnen gehört |
| Anrufprotokoll | Bestätigen, dass ein Anruf rausgegangen ist, und was er gekostet hat |
Verwandte Ressourcen
Weiter mit der Dokumentation, Anleitungen und Beispielen zu diesem Thema. Die Ressourcen sind auf Englisch.
Das Konzept verstehenWhat is a voice API?Die Funktion erkundenVoiceImplementierungsleitfadenVoice overview
Implementierungs-Briefing erhalten