...
Technische Voraussetzungen & Vorbereitende Maßnahmen
Für die Umsetzung der Anbindung einer STARFACE an Microsoft Teams mit Hilfe eines Patton SmartNodes sind folgende Voraussetzungen bzw. Anforderungen zu erfüllen:
Selbstverständlich müssen der SBC und die anzubindende STARFACE per SIP und RTP unbeschränkt miteinander kommunizieren können.
Lizenzierung
Die Patton SmartNode SBC müssen über Lizenzen mit der gewünschten Anzahl SIP-Sessions (gleichzeitige Gespräche) sowie SRTP-Channels (Anzahl verschlüsselter Kanäle) ausgerüstet werden. Da die Kommunikation mit Microsoft zwingend Verschlüsselung voraussetzt, müssen für die zu erwartende Anzahl gleichzeitiger Gespräche sowohl SIP-Sessions, wie auch SRTP-Channels in gleichem Maße lizenziert werden.
Die Modelle der Serie SmartNode SN5500 lassen sich so auf bis zu 200 gleichzeitige Gespräche aufrüsten.
Das Modell SmartNode SN5600 ist für bis zu 1.000 parallele Gespräche ausgelegt.
Der virtualisierte SmartNode kennt keine Beschränkungen – diese sind von der Leistungsfähigkeit der virtuellen Hardware abhängig.
Die von Patton ausgestellte Lizenzdatei sieht hierbei wie folgt aus und kann direkt per Copy&Paste auf der Kommandozeile des Geräts eingegeben werden:
Codeblock |
---|
language | js |
---|
title | CLI: Eingabe auf der Kommandozeile per SSH/Telnet |
---|
linenumbers | true |
---|
|
# SIP Sessions [sip-sessions], license serial number: 44879, system serial number: 00aabb0f2439
# Additional SIP Sessions: 20 [extra-sessions=20]
install license YdDBmT/IKgN3CZyBjNDJ6S1m+0yyXlneLhjVeNnWyl3SC
# SRTP Channels [srtp-channels], license serial number: 44880, system serial number: 00aabbcc2439
# Additional SRTP Channels: 20 [extra-channels=20]
install license Gure82bMZFNNe229ee+rEWaV2eVfOe2PJfIFzt60uKwEe |
Ob die Lizenzen erfolgreich eingespielt wurden, kann anschließend über die Eingabe von show system licenses überprüft werden:
Codeblock |
---|
0F2439(cfg)#show system licenses
Local Licenses
==============
The following licenses are available on the local device:
Serial Number: 00A0BA0F2439
-------------------------------------------------------------------------------
Source: Available: Usage:
License Name Blt-In + Inst. + Leased = Total = Alloc + Free
-------------------------------------------------------------------------------
sip-sessions 4 20 57 81 81
srtp-channels 8 20 28 28
voice-channels 4 4 4
-------------------------------------------------------------------------------
iprouter Y Y
sip-registrar Y Y
sip-tls-srtp Y Y
transcoding Y Y
------------------------------------------------------------------------------- |
VoIP Profile
Das VoIP-Profile bestimmt die Parameter, mit denen die Audiokommunikation zwischen SBC und Teams respektive SBC und STARFACE abläuft.
Codeblock |
---|
title | VoIP Profile für die Kommunikation mit Microsoft Phone System / Teams |
---|
linenumbers | true |
---|
|
profile voip pf_voip_microsoft
codec 1 g711alaw64k rx-length 20 tx-length 20 silence-suppression voice-update-frames
srtp key-lifetime 31
media-processing forced
srtp transmission forced
rtp rtcp-multiplexing |
Erweitern |
---|
|
- Zeile 2: Es wird der Audio-Codec G.711alaw gegenüber dem Microsoft SBC angeboten. Weitere Codecs werden nicht konfiguriert, damit keine Codec-Transkodierung notwendig wird (hierfür werden Hardware DSPs in Patton SmartNodes benötigt, die in begrenzter Anzahl in physikalische Geräten vorhanden sind; virtualisierte SmartNodes werden Software DSPs mit Transkodierung zu einem späteren Zeitpunkt unterstützen; vgl. Patton Roadmap).
Microsoft verlangt von Teams-zertifizierten Geräten die Erzeugung von Komfortrauschen, weshalb Stille im Audiodatenstrom erkannt und durch Rauschen ersetzt werden soll ("silence-suppression"). - Zeile 3: Zur Verbesserung der Sicherheit wird nach 231 Paketen der für die Verschlüsselung verwendete SRTP-Schlüssel ausgetauscht.
Diese Konfigurationsoption steht ausschließlich auf physikalischen SBCs zur Verfügung und wird auf virtualisierten SmartNodes eine Fehlermeldung erzeugen, die jedoch ignoriert werden kann. - Zeile 4: Erzwingt die Verwendung von DSP Ressourcen, die für die Verschlüsselung benötigt werden.
Diese Konfigurationsoption steht ausschließlich auf physikalischen SBCs zur Verfügung und wird auf virtualisierten SmartNodes eine Fehlermeldung erzeugen, die jedoch ignoriert werden kann. - Zeile 5: SRTP-Verschlüsselung ist zwingend zwischen Microsoft und SBC.
- Zeile 6: RTP und RTCP Multiplexing nach RFC5761 (Verwendung der selben Portnummern; Anforderung von Microsoft).
|
Codeblock |
---|
title | VoIP Profile für die Kommunikation mit STARFACE |
---|
linenumbers | true |
---|
|
profile voip pf_voip_starface
codec 1 g711alaw64k rx-length 20 tx-length 20 silence-suppression voice-update-frames
media-processing forced
rtp rtcp-multiplexing |
Erweitern |
---|
|
- Zeile 2: Es wird der Audio-Codec G.711alaw gegenüber der STARFACE angeboten. Weitere Codecs werden nicht konfiguriert, damit keine Codec-Transkodierung notwendig wird.
- Zeile 3: Erzwingt die Verwendung von DSP Ressourcen, die für die Verschlüsselung benötigt werden.
Diese Konfigurationsoption steht ausschließlich auf physikalischen SBCs zur Verfügung und wird auf virtualisierten SmartNodes eine Fehlermeldung erzeugen, die jedoch ignoriert werden kann.
|
Routing Tabellen
Routingtabellen definieren, zwischen welchen Schnittstellen (Interfaces) Anrufvermittlung stattfindet. Die Vermittlung von Anrufen kann von verschiedenen Parametern abhängig gemacht werden und es können Regelwerke (Complex-Functions oder Mappingtabellen) auf den vermittelten Anruf angewendet werden.
Codeblock |
---|
title | Routingtabellen für die Weiterleitung von Anrufen zwischen STARFACE und Microsoft Phone System / Teams |
---|
linenumbers | true |
---|
|
routing-table called-e164 rt_from_teams
route default dest-interface if_sip_starface cf_teams2starface
routing-table called-e164 rt_from_starface
route default dest-service hg_microsoft-teams cf_starface2teams |
Erweitern |
---|
|
- Zeile 1-2: Die Routingtabelle rt_from_teams sendet alle Anrufe von Teams zum Interface if_sip_starface (dieses wird im folgenden Abschnitt beschrieben) und wendet die Complex-Function cf_teams2starface mit den darin enthaltenen Mappings an.
- Zeile 4-5: Die Routingtabelle rt_from_starface sendet alle Anrufe der STARFACE zur Hunting-Group hg_microsoft-teams (die der Reihe nach drei verschiedene georedundante Microsoft-Peers anspricht) und wendet die Complex-Function cf_starface2teams mit den darin enthaltenen Mappings an.
|
Interfaces und SIP-Gateways
Codeblock |
---|
title | Schnittstelle zu Microsoft Phone System / Teams |
---|
linenumbers | true |
---|
|
interface sip if_sip_microsoft-directrouting-primary
bind context sip-gateway gw_sip_wan_5062
route call dest-table rt_from_teams
remote sip.pstnhub.microsoft.com 5061
local sbc.meinefirma.de 5062
hold-method direction-attribute inactive
no call-transfer accept
privacy
address-translation outgoing-call contact-header user-part fix sbc.meinefirma.de
use profile voip pf_voip_microsoft
srtp renegotiate-on-connect
penalty-box sip-option-trigger interval 60 timeout 60 force tls
session-timer 3600
trust remote
trust 52.114.0.0/16
interface sip if_sip_microsoft-directrouting-secondary
bind context sip-gateway gw_sip_wan_5062
route call dest-table rt_from_teams
remote sip2.pstnhub.microsoft.com 5061
local sbc.meinefirma.de 5062
hold-method direction-attribute inactive
no call-transfer accept
privacy
address-translation outgoing-call contact-header user-part fix sbc.meinefirma.de
use profile voip pf_voip_microsoft
srtp renegotiate-on-connect
penalty-box sip-option-trigger interval 60 timeout 60 force tls
session-timer 3600
trust remote
trust 52.114.0.0/16
interface sip if_sip_microsoft-directrouting-tertiary
bind context sip-gateway gw_sip_wan_5062
route call dest-table rt_from_teams
remote sip3.pstnhub.microsoft.com 5061
local sbc.meinefirma.de 5062
hold-method direction-attribute inactive
no call-transfer accept
privacy
address-translation outgoing-call contact-header user-part fix sbc.meinefirma.de
use profile voip pf_voip_microsoft
srtp renegotiate-on-connect
penalty-box sip-option-trigger interval 60 timeout 60 force tls
session-timer 3600
trust remote
trust 52.114.0.0/16
service hunt-group hg_microsoft-directrouting
timeout 3
drop-cause normal-unspecified
drop-cause no-circuit-channel-available
drop-cause network-out-of-order
drop-cause temporary-failure
drop-cause switching-equipment-congestion
drop-cause access-info-discarded
drop-cause circuit-channel-not-available
drop-cause resources-unavailable
route call 1 dest-interface if_sip_microsoft-directrouting-primary
route call 2 dest-interface if_sip_microsoft-directrouting-secondary
route call 3 dest-interface if_sip_microsoft-directrouting-tertiary
location-service ls_microsoft
domain 1 microsoft.com
domain 2 sip-du-a-eu.pstnhub.microsoft.com
domain 3 sip-du-a-us.pstnhub.microsoft.com
domain 4 sip-du-a-as.pstnhub.microsoft.com
domain 5 pstnhub.microsoft.com
domain 6 sip.pstnhub.microsoft.com
domain 7 sip2.pstnhub.microsoft.com
domain 8 sip3.pstnhub.microsoft.com
identity-group DEFAULT
user phone
authentication inbound
authenticate none
registration outbound
register none
call outbound
transport-protocol force tls
call inbound |
Erweitern |
---|
|
- Zeile 1: Primärer Microsoft Phone System/Direct Routing Peer.
- Zeile 2: Das Interface wird an das Gateway gw_sip_wan_5062 gebunden.
- Zeile 3: Anrufe von Microsoft Phone System werden an die Routingtabelle rt_from_teams übergeben und dort in Richtung STARFACE geroutet.
- Zeile 4: FQDN und Portnummer des Microsoft Peers
- Zeile 5: Lokale Identität und Portnummer des SBCs
- Zeile 9: Im SIP-Contact-Header für ausgehende Anrufe den FQDN des SBCs setzen.
- Zeile 10: Zuvor konfiguriertes VoIP-Profil verwenden
- Zeile 12: In Intervallen von 60 Sekunden ein SIP-Options-Paket an Microsoft senden (zwingend)
- Zeile 17, 33: Sekundärer und Tertiärer Microsoft Phone System/Direct Routing Peer. Identische Konfiguration wie beim primären Peer; lediglich abweichende Remote-Adresse.
- Zeile 49: Hunting Group, die der Reihe nach die einzelnen Microsoft Peers anspricht (Hochverfügbarkeit); Timeout von 3 Sekunden, falls ein Peer nicht antwortet
- Zeile 63: Location Service, der Pakete von Microsoft von den angegebenen Domänen akzeptiert, "user=phone" der SIP-URI hinzufügt und als Transportprotokoll TLS erzwingt.
|
Codeblock |
---|
title | Schnittstelle zur STARFACE |
---|
linenumbers | true |
---|
|
interface sip if_sip_starface
bind context sip-gateway gw_sip_lan_5060
route call dest-table rt_from_starface
remote starface.meinefirma.de
hold-method direction-attribute sendonly
early-disconnect
no call-transfer accept
no call-transfer emit
address-complete-indication accept set
address-translation incoming-call calling-e164 from-header
address-translation incoming-call calling-uri from-header
address-translation incoming-call calling-name from-header
use profile voip pf_voip_starface
trust remote
authentication-service as_starface-sipaccounts
username user.01 password meingeheimessippasswort01
username user.02 password meingeheimessippasswort02
username user.03 password meingeheimessippasswort03
location-service ls_starface
domain 1 starface.meinefirma.de
identity-group teams
authentication outbound
authenticate 1 authentication-service as_starface-sipaccounts
authentication inbound
authenticate none
registration outbound
registrar starface.meinefirma.de
lifetime 180
register auto
call outbound
call inbound
identity user.01 inherits teams
identity user.02 inherits teams
identity user.03 inherits teams |
Codeblock |
---|
title | SIP-Gateways |
---|
linenumbers | true |
---|
|
context sip-gateway gw_sip_lan_5060
bind location-service ls_starface
interface if_gw_sip_lan_5060
transport-protocol udp+tcp 5060
no transport-protocol tls
bind ipaddress ROUTER if_eth00 if_eth00
context sip-gateway gw_sip_lan_5060
no answer-untrusted-hosts
no shutdown
context sip-gateway gw_sip_wan_5062
use profile tls pf_tls_default
bind location-service ls_microsoft
interface if_gw_sip_wan_5062
no transport-protocol udp+tcp
transport-protocol tls 5062
bind ipaddress ROUTER if_eth01 if_eth01
spoofed contact-header manual sbc01.fluxpunkt.de port 5062
spoofed via-header manual sbc01.fluxpunkt.de port 5062
context sip-gateway gw_sip_wan_5062
no answer-untrusted-hosts
connection-reuse
no shutdown
|
IP-Router und physikalische Netzwerkport-Konfiguration
Codeblock |
---|
title | IP Router Konfiguration |
---|
linenumbers | true |
---|
|
context ip ROUTER
interface if_eth00
ipaddress if_eth00 192.168.1.1/24
tcp adjust-mss rx mtu
tcp adjust-mss tx mtu
interface if_eth01
ipaddress if_eth01 123.123.123.123/28
tcp adjust-mss rx mtu
tcp adjust-mss tx mtu |
Codeblock |
---|
title | Physikalische Portkonfiguration |
---|
|
...
port ethernet 0 0
bind interface ROUTER if_eth00
no shutdown
port ethernet 0 1
bind interface ROUTER if_eth01
no shutdown
...
Contenu
Avant-propos
Ce document est destiné aux partenaires d'intégration qui utilisent un Patton SmartNode pour connecter STARFACE aux MS Teams et qui souhaitent l'exploiter ou le fournir au client.
À titre d'exemple, les hypothèses suivantes sont formulées:
...
Données de l'utilisateur:
...
La configuration réelle du Patton SmartNode SBC dépend fortement du projet. Cette documentation sert donc uniquement de recueil des composants de configuration pertinents qui doivent être adaptés à l'environnement spécifique du client par un partenaire d'intégration. Fluxpunkt ne fournit pas de services d'assistance aux clients finaux ou aux partenaires STARFACE qui ne sont pas des partenaires d'intégration sélectionnés.
La base de ces éléments de configuration est la certification par Patton des SBC pour le Microsoft Teams avec le firmware Trinity 3.18.1 (à partir de novembre 2020) avec Microsoft.
...
...
Pour la mise en œuvre de l'intégration des équipes, nous vous recommandons de choisir des partenaires d'intégration sélectionnés qui ont le savoir-faire approprié dans le domaine des équipes, de STARFACE et de Patton.
Les "partenaires phares" suivants ont été sélectionnés par Fluxpunkt pour soutenir les autres partenaires STARFACE et les clients finaux dans l'intégration:
Erweitern |
---|
title | Partenaires d'intégration sélectionnés... |
---|
|
Ordre alphabétique sans notation |
Exigences techniques et mesures préparatoires
Pour mettre en œuvre la connexion d'une STARFACE aux équipes Microsoft à l'aide d'un Patton SmartNode, les conditions préalables ou exigences suivantes doivent être remplies:
- Patton SmartNode SBC (ou IAD ou Gateway) avec firmware Trinity 3.18.1 ou supérieur; SN5500, SN5600 ou Virtual SmartNode avec licences Teams de préférence.
- Adresse IP publique pour le SBC (les scénarios DNAT/transfert de port ne sont pas pris en charge).
- FQDN ou nom de domaine entièrement qualifié pour le SBC (par exemple sbc01.monentreprise.com) avec référence dans le DNS à son adresse IP publique.
- Le certificat X.509 pour le SBC d'une autorité de certification racine publique et de confiance et l'accès à la clé privée associée. Le certificat doit être délivré à la FQDN de la SBC.
- Le Patton SmartNode SBC doit avoir une configuration date/heure correcte et, au mieux, se synchroniser avec une source de temps précise via NTP.
- Les informations suivantes sont également requises pour la configuration:
- Adresse IP de STARFACE
- Liste de tous les utilisateurs STARFACE qui doivent utiliser la connexion Teams, y compris leurs numéros de téléphone (interne/externe) et les données du compte SIP (nom d'utilisateur et mot de passe).
Bien entendu, le SBC et la STARFACE à connecter doivent pouvoir communiquer entre eux via SIP et RTP sans aucune restriction.
Licences
Le Patton SmartNode SBC doit être équipé de licences pour le nombre souhaité de sessions SIP (appels simultanés) et de canaux SRTP (nombre de canaux cryptés). Étant donné que la communication avec Microsoft nécessite un cryptage, les sessions SIP et les canaux SRTP doivent être autorisés dans la même mesure pour le nombre prévu d'appels simultanés.
Les modèles de la série SmartNode SN5500 peuvent ainsi être mis à niveau pour permettre jusqu'à 200 appels simultanés.
Le modèle SmartNode SN5600 est conçu pour un maximum de 1 000 appels parallèles.
Le SmartNode virtualisé ne connaît pas de limites - celles-ci dépendent des performances du matériel virtuel.
Le fichier de licence délivré par Patton ressemble à ceci et peut être saisi directement par copier-coller sur la ligne de commande de l'appareil:
Codeblock |
---|
language | js |
---|
title | CLI: Saisie sur la ligne de commande via SSH/Telnet |
---|
linenumbers | true |
---|
|
# SIP Sessions [sip-sessions], license serial number: 44879, system serial number: 00aabb0f2439
# Additional SIP Sessions: 20 [extra-sessions=20]
install license YdDBmT/IKgN3CZyBjNDJ6S1m+0yyXlneLhjVeNnWyl3SC
# SRTP Channels [srtp-channels], license serial number: 44880, system serial number: 00aabbcc2439
# Additional SRTP Channels: 20 [extra-channels=20]
install license Gure82bMZFNNe229ee+rEWaV2eVfOe2PJfIFzt60uKwEe |
Il est alors possible de vérifier si les licences ont été importées avec succès en entrant la commande: show system licenses:
Codeblock |
---|
0F2439(cfg)#show system licenses
Local Licenses
==============
The following licenses are available on the local device:
Serial Number: 00A0BA0F2439
-------------------------------------------------------------------------------
Source: Available: Usage:
License Name Blt-In + Inst. + Leased = Total = Alloc + Free
-------------------------------------------------------------------------------
sip-sessions 4 20 57 81 81
srtp-channels 8 20 28 28
voice-channels 4 4 4
-------------------------------------------------------------------------------
iprouter Y Y
sip-registrar Y Y
sip-tls-srtp Y Y
transcoding Y Y
------------------------------------------------------------------------------- |
Profils de TLS
Le cryptage est obligatoire pour les communications avec Microsoft via le routage direct. Premièrement, le SBC doit être équipé d'un certificat X.509 et de la clé privée associée afin de s'identifier auprès de Microsoft. Pour importer le certificat, la clé privée et les certificats des AC intermédiaires (chacun au format PEM), les lignes suivantes doivent être saisies sur la ligne de commande de l'appareil
Codeblock |
---|
language | js |
---|
title | CLI: Saisie sur la ligne de commande via SSH/Telnet |
---|
linenumbers | true |
---|
|
0F2439#import pki:certificate/MYCERTIFICATE
Paste the contents of the file (enter an empty line when done):
-----BEGIN CERTIFICATE-----
MIIGZjCCBU6gAwIBAgIQDfw+rcYnGBfoqe36UQFQPzANBgkqhkiG9w0BAQsFADBH
QswCQYDVQQGEDJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEgMB4GN1UEVxMX
UmF aWRTU0wgU0hBMjU2IENBIC0gRzIwHhcNMTYxMjI1MDAwMDAwWhcNMjAwMTA1
................................................................
bD8l3HKHS/7u2lOzu/Ja0C5u6CSXdmPeq9Zof77vempXQHx0BwI+b5bzOAza28p5
KBbWfi+fdh6kJz2ydXUXWGbGZuBykeu1F+M65FchP7/b7EIpKgtFJJyS3EvYH1iY
1wuJqHHBIOB+3Q==
-----END CERTIFICATE-----
0F2439#import pki:private-key/myprivate.key
Paste the contents of the file (enter an empty line when done):
-----BEGIN RSA PRIVATE KEY-----
/iqCw7vgv+SuzqcCIBtmZ0iH1XAC8fs5RfoM5yeAfv/kOpjGMNg+3hB0f8MVAHcA
................................................................
AiEA+DtGLCgvVangxIyhXbWRbxGGEY4wmNCi7x5ib7yYGBACIQCRQlmlL2SHRlED
-----END RSA PRIVATE KEY-----
0F2439#import pki:certificate/CA
Paste the contents of the file (enter an empty line when done):
-----BEGIN CERTIFICATE-----
MChjKSAyMDA4IEdlb1RydXN0IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25s
................................................................
a2qiimBpwFd9svIxDJhlMuwIWs7GmOkhlz8seSkD9faUK1Mx85NoV+HXTzrRYaFg
-----END CERTIFICATE-----
|
Erweitern |
---|
|
- Ligne 1: Importation du propre certificat X.509. Le nom MYCERTIFICATE peut être choisi librement et est utilisé dans ce qui suit pour faire référence à ce certificat. Le certificat lui-même (à partir de -----BEGIN CERTIFICATE-----) est inséré par copier-coller. Le certificat se termine à -----END CERTIFICATE----- et doit être terminé par une ligne blanche.
- Ligne 13: Importation de la clé privée qui appartient à la clé publique du certificat X.509.
- Ligne 21: importation d'une AC intermédiaire pour former la "chaîne de confiance" d'une AC racine de confiance vers le propre certificat.
|
Les paramètres de la communication cryptée sont configurés dans un profil TLS.
Codeblock |
---|
theme | Confluence |
---|
title | Profil TLS : Paramètres pour la communication cryptée avec le système téléphonique de Microsoft |
---|
linenumbers | true |
---|
|
profile tls pf_tls_default
no protocol tls-v1.0
no protocol tls-v1.1
compression
authentication incoming
authentication outgoing
private-key pki:private-key/myprivate.key
own-certificate 1 pki:certificate/MYCERTIFICATE
own-certificate 2 pki:certificate/CA
diffie-hellman-parameters pki:diffie-hellman-parameters/DEFAULT-4096
require certificate-type server |
Erweitern |
---|
|
- Ligne 2-3: en désactivant les protocoles TLS 1.0/1.1, TLS 1.2 est appliqué.
- Ligne 7: référence à la clé privée
- Ligne 8: référence au certificat X.509 avec lequel le SBC s'identifie.
- Ligne 9: référence à la/aux CA intermédiaire(s) précédemment importée(s).
|
Hinweis |
---|
Après avoir saisi la commande d'importation correspondante (lignes 1, 13 et 21), les certificats sont insérés au format PEM via le copier-coller et se terminent par une ligne vierge. La représentation des certificats et la clé privée à gauche sont des exemples et servent à l'illustration. |
Profils VoIP
Le profil VoIP détermine les paramètres avec lesquels la communication audio entre SBC et les équipes ou SBC et STARFACE fonctionne.
Codeblock |
---|
title | Profils VoIP pour la communication avec le système téléphonique de Microsoft / Teams |
---|
linenumbers | true |
---|
|
profile voip pf_voip_microsoft
codec 1 g711alaw64k rx-length 20 tx-length 20 silence-suppression voice-update-frames
srtp key-lifetime 31
media-processing forced
srtp transmission forced
rtp rtcp-multiplexing |
Erweitern |
---|
|
- Ligne 2 : le codec audio G.711alaw est proposé sur le SBC de Microsoft. D'autres codecs ne sont pas configurés de manière à ce que le transcodage du codec ne soit pas nécessaire (cela nécessite des DSP matériels dans les SmartNodes de Patton, qui sont disponibles en nombre limité dans les appareils physiques ; les SmartNodes virtualisés prendront en charge les DSP logiciels avec transcodage à une date ultérieure ; voir la feuille de route de Patton).
Microsoft exige que les appareils certifiés Team génèrent un bruit de confort, de sorte que le silence dans le flux audio sera détecté et remplacé par du bruit ("suppression du silence"). - Ligne 3 : pour améliorer la sécurité, la clé SRTP utilisée pour le cryptage est remplacée après 231 paquets.
- Ligne 4 : force l'utilisation des ressources DSP nécessaires au cryptage.
- Ligne 5 : le cryptage SRTP est obligatoire entre Microsoft et SBC.
- Ligne 6 : multiplexage RTP et RTCP selon la norme RFC5761 (en utilisant les mêmes numéros de port ; exigence de Microsoft).
|
Codeblock |
---|
title | Profils VoIP pour la communication avec STARFACE |
---|
linenumbers | true |
---|
|
profile voip pf_voip_starface
codec 1 g711alaw64k rx-length 20 tx-length 20 silence-suppression voice-update-frames
media-processing forced
rtp rtcp-multiplexing |
Erweitern |
---|
|
- Ligne 2: Le codec audio G.711alaw est proposé en face du STARFACE. Les autres codecs ne sont pas configurés de sorte qu'aucun transcodage de codec n'est nécessaire.
|
Mapping Tables
Entre STARFACE et Microsoft Phone System, le SBC doit traduire le numéro de téléphone appelé ou sa représentation URI dans les formats ou destinations attendus. Un numéro de téléphone du côté de MS Teams doit être converti en un nom de compte SIP du côté des STARFACE et vice versa:
Codeblock |
---|
title | Traduction des numéros de téléphone de MS Teams en noms de compte STARFACE |
---|
linenumbers | true |
---|
|
mapping-table calling-uri to calling-e164 mt_teams2starface-a-e164
map sip:(.%) to \1
map tel:(.%) to \1
mapping-table calling-e164 to calling-uri mt_teams2starface-a-uri
map \+497123222 to sip:[email protected]
map \+497123223 to sip:[email protected]
map \+497123224 to sip:[email protected]
mapping-table called-e164 to called-e164 mt_teams2starface-b-internalCalls
map (00)?49(...?)$ to \2 |
Erweitern |
---|
|
- Zeile 1-3: Lignes 1 à 3 : le mapping calling-uri vers calling-e164 mt_teams2starface-a-e164 prend le numéro d'appel du SIP URI et le fixe comme numéro d'appel dans le champ calling-e164.
- Ligne 5: conversion de calling-e164 en calling-uri mt_teams2starface-a-uri convertit un numéro de téléphone concret en un SIP URI appelant.
- Lignes 6-8: Les numéros de téléphone concrets sont traduits en URI SIP (du compte SIP STARFACE respectif) afin que l'appel puisse être attribué par STARFACE au bon compte terminal. L'adresse IP de l'URI SIP doit correspondre à l'adresse IP de la STARFACE, sinon la STARFACE ne peut pas mettre en correspondance les appels entrants des équipes avec le compte SIP du terminal correct.
- Ligne 10-12: la cartographie appelée e164 à mt_teams2starface-b-internalCalls convertit les numéros de destination à deux ou trois chiffres signalés par les équipes (auxquels le code de pays a été ajouté par les équipes) en numéros de destination à deux ou trois chiffres sans code de pays. De cette façon, les abonnés internes de STARFACE peuvent être joints avec des numéros internes à deux ou trois chiffres.
|
Codeblock |
---|
title | Traduction des noms de comptes STARFACE SIP en numéros de téléphone de MS Teams |
---|
linenumbers | true |
---|
|
mapping-table called-uri to called-e164 mt_starface2teams-b-e164
map sip:(.+)@(.+) to +4971234567890
map sip:user.01@.+ to +497123222
map sip:user.02@.+ to +497123223
map sip:user.03@.+ to +497123224 |
Erweitern |
---|
|
- Ligne 1: la cartographie appelée uri-appelé à e164 convertit un béton appelé SIP URI en un numéro de téléphone appelé.
- Ligne 2: exemple de mise en correspondance de tout compte SIP avec un numéro de téléphone spécifique (par exemple, pour un lieu de dépôt).
- Lignes 3-5: Les comptes SIP concrets sont traduits en un numéro de téléphone basé sur le nom du compte afin que l'appel puisse être attribué au bon utilisateur de l'équipe.
|
Pour faciliter l'extensibilité, toutes les adaptations nécessaires sont réparties dans les tableaux de correspondance individuels mentionnés ci-dessus et résumées par une fonction complexe pour une direction d'appel spécifique:
Codeblock |
---|
title | Collecte des ajustements pour la direction respective de la conversation |
---|
linenumbers | true |
---|
|
complex-function cf_teams2starface
execute 1 mt_teams2starface-a-e164
execute 2 mt_teams2starface-a-uri
execute 3 mt_teams2starface-b-internalCalls
complex-function cf_starface2teams
execute 1 mt_starface2teams-b-e164 |
Erweitern |
---|
|
Complex-Functions sont des ensembles de fonctions de cartographie qui s'exécutent dans l'ordre spécifié et ajustent les paramètres SIP. |
Hinweis |
---|
Les valeurs respectives des noms de compte SIP et des numéros de téléphone doivent être adaptées à l'application spécifique. L'adresse IP du calling-uri doit correspondre à l'adresse IP de la STARFACE! |
Routing Table
Les tables de routage définissent entre quelles interfaces la commutation des appels a lieu. La commutation d'appel peut être rendue dépendante de divers paramètres et des ensembles de règles (fonctions complexes ou tables de correspondance) peuvent être appliqués à l'appel commuté.
Codeblock |
---|
title | Tables de routage pour le transfert d'appels entre STARFACE et Microsoft Phone System / Teams |
---|
linenumbers | true |
---|
|
routing-table called-e164 rt_from_teams
route default dest-interface if_sip_starface cf_teams2starface
routing-table called-e164 rt_from_starface
route default dest-service hg_microsoft-teams cf_starface2teams |
Erweitern |
---|
|
- Lignes 1-2: La table de routage rt_from_teams envoie tous les appels des équipes à l'interface if_sip_starface (ceci est décrit dans la section suivante) et applique la fonction complexe cf_teams2starface avec les mappages qu'elle contient.
- Lignes 4-5: la table de routage rt_from_starface envoie tous les appels de STARFACE au groupe de chasse hg_microsoft-teams (qui s'adresse dans l'ordre à trois pairs Microsoft géorédonants différents) et applique la fonction complexe cf_starface2teams avec les mappages qu'elle contient.
|
Interfaces und SIP-Gateways
Codeblock |
---|
title | Schnittstelle zu Microsoft Phone System / Teams |
---|
linenumbers | true |
---|
|
interface sip if_sip_microsoft-directrouting-primary
bind context sip-gateway gw_sip_wan_5062
route call dest-table rt_from_teams
remote sip.pstnhub.microsoft.com 5061
local sbc.meinefirma.de 5062
hold-method direction-attribute inactive
no call-transfer accept
privacy
address-translation outgoing-call contact-header user-part fix sbc.meinefirma.de
use profile voip pf_voip_microsoft
srtp renegotiate-on-connect
penalty-box sip-option-trigger interval 60 timeout 60 force tls
session-timer 3600
trust remote
trust 52.114.0.0/16
interface sip if_sip_microsoft-directrouting-secondary
bind context sip-gateway gw_sip_wan_5062
route call dest-table rt_from_teams
remote sip2.pstnhub.microsoft.com 5061
local sbc.meinefirma.de 5062
hold-method direction-attribute inactive
no call-transfer accept
privacy
address-translation outgoing-call contact-header user-part fix sbc.meinefirma.de
use profile voip pf_voip_microsoft
srtp renegotiate-on-connect
penalty-box sip-option-trigger interval 60 timeout 60 force tls
session-timer 3600
trust remote
trust 52.114.0.0/16
interface sip if_sip_microsoft-directrouting-tertiary
bind context sip-gateway gw_sip_wan_5062
route call dest-table rt_from_teams
remote sip3.pstnhub.microsoft.com 5061
local sbc.meinefirma.de 5062
hold-method direction-attribute inactive
no call-transfer accept
privacy
address-translation outgoing-call contact-header user-part fix sbc.meinefirma.de
use profile voip pf_voip_microsoft
srtp renegotiate-on-connect
penalty-box sip-option-trigger interval 60 timeout 60 force tls
session-timer 3600
trust remote
trust 52.114.0.0/16
service hunt-group hg_microsoft-directrouting
timeout 3
drop-cause normal-unspecified
drop-cause no-circuit-channel-available
drop-cause network-out-of-order
drop-cause temporary-failure
drop-cause switching-equipment-congestion
drop-cause access-info-discarded
drop-cause circuit-channel-not-available
drop-cause resources-unavailable
route call 1 dest-interface if_sip_microsoft-directrouting-primary
route call 2 dest-interface if_sip_microsoft-directrouting-secondary
route call 3 dest-interface if_sip_microsoft-directrouting-tertiary
location-service ls_microsoft
domain 1 microsoft.com
domain 2 sip-du-a-eu.pstnhub.microsoft.com
domain 3 sip-du-a-us.pstnhub.microsoft.com
domain 4 sip-du-a-as.pstnhub.microsoft.com
domain 5 pstnhub.microsoft.com
domain 6 sip.pstnhub.microsoft.com
domain 7 sip2.pstnhub.microsoft.com
domain 8 sip3.pstnhub.microsoft.com
identity-group DEFAULT
user phone
authentication inbound
authenticate none
registration outbound
register none
call outbound
transport-protocol force tls
call inbound |
Erweitern |
---|
|
- Ligne 1: Système téléphonique principal de Microsoft / pair de routage direct.
- Ligne 2: l'interface est liée à la passerelle gw_sip_wan_5062.
- Ligne 3: les appels provenant du système téléphonique de Microsoft sont transmis à la table de routage rt_from_teams et y sont acheminés vers STARFACE.
- Ligne 4: FQDN et numéro de port du pair Microsoft
- Ligne 5: Identité locale et numéro de port de la SBC
- Ligne 9: Définissez le FQDN du SBC dans l'en-tête du contact SIP pour les appels sortants.
- Ligne 10: utiliser le profil VoIP précédemment configuré
- Ligne 12: envoyer un paquet d'options SIP à Microsoft à intervalles de 60 secondes (obligatoire)
- Lignes 17, 33: Système téléphonique Microsoft secondaire et tertiaire/pair d'acheminement direct. Configuration identique à celle du pair principal ; seule l'adresse distante est différente.
- Ligne 49: Groupe de chasse, qui s'adresse à tour de rôle aux différents pairs de Microsoft (haute disponibilité) ; délai d'attente de 3 secondes si un pair ne répond pas.
- Ligne 63: Service de localisation qui accepte les paquets de Microsoft provenant des domaines spécifiés, ajoute "user=phone" à l'URI du SIP, et applique le TLS comme protocole de transport.
|
Codeblock |
---|
title | Interface vers STARFACE |
---|
linenumbers | true |
---|
|
interface sip if_sip_starface
bind context sip-gateway gw_sip_lan_5060
route call dest-table rt_from_starface
remote starface.meinefirma.de
hold-method direction-attribute sendonly
early-disconnect
no call-transfer accept
no call-transfer emit
address-complete-indication accept set
address-translation incoming-call calling-e164 from-header
address-translation incoming-call calling-uri from-header
address-translation incoming-call calling-name from-header
use profile voip pf_voip_starface
trust remote
authentication-service as_starface-sipaccounts
username user.01 password meingeheimessippasswort01
username user.02 password meingeheimessippasswort02
username user.03 password meingeheimessippasswort03
location-service ls_starface
identity-group teams
authentication outbound
authenticate 1 authentication-service as_starface-sipaccounts
authentication inbound
authenticate none
registration outbound
registrar starface.meinefirma.de
lifetime 180
register auto
call outbound
call inbound
identity user.01 inherits teams
identity user.02 inherits teams
identity user.03 inherits teams |
Codeblock |
---|
title | SIP-Gateways |
---|
linenumbers | true |
---|
|
context sip-gateway gw_sip_lan_5060
bind location-service ls_starface
interface if_gw_sip_lan_5060
transport-protocol udp+tcp 5060
no transport-protocol tls
bind ipaddress ROUTER if_eth00 if_eth00
context sip-gateway gw_sip_lan_5060
no answer-untrusted-hosts
no shutdown
context sip-gateway gw_sip_wan_5062
use profile tls pf_tls_default
bind location-service ls_microsoft
interface if_gw_sip_wan_5062
no transport-protocol udp+tcp
transport-protocol tls 5062
bind ipaddress ROUTER if_eth01 if_eth01
spoofed contact-header manual sbc01.fluxpunkt.de port 5062
spoofed via-header manual sbc01.fluxpunkt.de port 5062
context sip-gateway gw_sip_wan_5062
no answer-untrusted-hosts
connection-reuse
no shutdown
|
Configuration du routeur IP et des ports du réseau physique
Codeblock |
---|
title | IP Router Configuration |
---|
linenumbers | true |
---|
|
context ip ROUTER
interface if_eth00
ipaddress if_eth00 192.168.1.1/24
tcp adjust-mss rx mtu
tcp adjust-mss tx mtu
interface if_eth01
ipaddress if_eth01 123.123.123.123/28
tcp adjust-mss rx mtu
tcp adjust-mss tx mtu |
...
|
port ethernet 0 0
bind interface ROUTER if_eth00
no shutdown
port ethernet 0 1
bind interface ROUTER if_eth01
no shutdown |