Technische Voraussetzungen & Vorbereitende MaßnahmenFü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.
LizenzierungDie 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 ProfileDas 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.
- Zeile 4: Erzwingt die Verwendung von DSP Ressourcen, die für die Verschlüsselung benötigt werden.
- 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.
|
Routing TabellenRoutingtabellen 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 |
---|
linenumbers | true |
---|
| port ethernet 0 0
bind interface ROUTER if_eth00
no shutdown
port ethernet 0 1
bind interface ROUTER if_eth01
no shutdown |
|