AudioCodes SBC in Microsoft Teams Environment Essentials & Configuration
AudioCodes SBC in Microsoft Teams Environment Essentials & Configuration
in
Microsoft Teams Environment
Essentials & Configuration
Itzik Mey-Tal
[email protected]
AudioCodes Academy
https://www.audiocodes.com/services-support/audiocodes-academy
Course Objectives
2
Lessons & Course Timetable
Day 1 Day 3
AudioCodes Introduction Teams System Overview
AudioCodes Management Interface Introduction SBC Configuration for Teams
AudioCodes Documentation Hands-on Lab 3 – Teams to SIP Trunk Connection
GWs & SBC Product Line SBC Number & Message Manipulation Introduction
Hands-on Lab 1 – Management Interface Usage Hands-on Lab 4 – SBC Message Manipulation
Day 2 Day 4
SBC Application Description Digital GWs Basic Configuration
SBC Basic Terminology SBC Survivability
SBC Configuration SBC High Availability
Debugging Tools Hands-on Lab 5 – SBC Survivability
SBC Wizard (optional)
Hands-on Lab 2 – SBC Routing Certification Exam
3
Lesson 1
AudioCodes Introduction
AudioCodes in a glance
https://www.audiocodes.com/corporate/about-audiocodes 5
Global Presence and Support
• Worldwide presence:
• Headquarters: Israel
• North America: USA and Canada
• APAC: Singapore, China, Japan, India, Korea, Australia, Hong Kong, etc.
• EMEA: Germany, UK, France, Netherland, Russia, Italy, South Africa, Poland, Sweden, etc.
• CALA: Brazil, Mexico, Argentina, Colombia, etc.
• Global Distribution Network covering more than 100 countries
• Support Centers covering all time zones
• 3 Logistics Centers in North America, EMEA and APAC
6
Broadest Portfolio of Products
Management/Apps
Routing Manager OVOC CloudBond 365/SBA UMP Apps
Room Solutions
& IP Phones All-In-One
405 445 450/C450 470 Video Collaboration Bar Personal Webcam UC-HRS Speakers Conference Phone
Pure SBC
Mediant 2600/B Mediant 4000/B Mediant 90xx Mediant SE Software Edition
Hybrid SBC/Gateway
Mediant 500/L Mediant 800B/C Mediant 1000B Mediant 3100
Gateways/Adaptors
MP-2xx MP-1xx MP-124 MP1288
7
The Voice Experts @ Your Service
Test
5 10 20 25 30 35
9 3
12
End to End 9 3
Managed Services 6
8
Technical Training – Career Certifications
• Two types of Certification Levels:
10
AudioCodes Website
https://www.audiocodes.com 11
Lesson 2
13
Management and Maintenance Options
Embedded Web Server Command Line Interface (CLI)
14
Assigning Networking Parameters
15
Default Factory IP Address
Product Default
MP-11x FXS and FXS/FXO devices – 10.1.10.10/16
MP-124 FXO devices – 10.1.10.11/16
MP-1288
Mediant 500/L/Li E-SBC
Mediant 800B/C E-SBC
Mediant 1000B E-SBC
Mediant 2600 SBC 192.168.0.2/24
Mediant 3100 SBC
Mediant 4000/B SBC
Mediant 9030/9080 SBC
Software SBC (Mediant SE/VE/CE)
16
Assigning IP Address – HTTP
17
Assigning IP Address – HTTP
18
Assigning IP Address – Console/CLI
• Establish a Console (VGA or COM) or CLI (Telnet/SSH) session with the device
• Use these communications port settings:
• Baud Rate: 115,200 bps
• Data bits: 8
• Parity: None
• Stop bits: 1
• Flow control: None
• At the CLI prompt, type the following (case sensitive):
• Default Username: Admin
• Default Password: Admin
19
Assigning IP Address – RS-232
Username: Admin
Username: Admin
Password: Admin Password: *****
Mediant 800#
20
Assigning IP Address – DHCP
• Dynamic Host Control Protocol – provides a mechanism for allocating IP addresses dynamically so that
addresses can be reused
• After the Device is powered up if DHCP is enabled (DHCPEnable = 1), the Device attempts to obtain its IP
address and other network parameters from the DHCP server
21
Assigning IP Address – BootP
22
Configuration File (ini file)
23
Configuration File (ini file)
Stand-alone Parameters
Table Parameters
24
ini File Parameters
• The ini file can be loaded via BootP/TFTP, Web interface, or using the automatic update mechanism
• Case insensitive
• Lines beginning with semi-colon (;) as first character are ignored
• Carriage Return must be each line’s final character
• Number of spaces before and after equal ( = ) is irrelevant
• Values of string parameters must be placed between two single quotes ( ‘ ’ )
• Syntax errors in value can cause unexpected errors (may be set to wrong values)
• Syntax error in the parameter name is ignored (error message is generated)
• When a parameter is missing from the ini file, its default is assigned
• Subsection names are optional [Optional Sub Section Name]
Parameter_Name1 = Parameter_Value
Parameter_Name2 = Parameter_Value
Parameter_Name3 = ‘String’
; REMARK
25
ini File Table Parameters
• Tables are used in ini files to represent parameters that have several instances
(e.g., Coders, Proxy servers, Routing tables, etc.)
• Examples:
26
AudioCodes INI Viewer & Editor
• A simple viewer and editor for configuration (INI) files used by AudioCodes Media
Gateway and Session Border Controller (SBC) products
• Two Modes:
• View Mode:
• Standalone and Table parameters can be viewed
in a very friendly way
• Edit Mode:
• Standalone and Table parameters can be edited
(modified, added, removed, etc.) for a very easy
way of changing their contents
• Once this is done, the new INI file can be saved
and uploaded to the device in order to apply the
new configuration
27
Accessing the Web Interface
Toolbar providing
Company Logo Menu Bar Containing the Menus frequently required
• Setup command buttons
• Monitor
• Troubleshoot
Button displaying
the username of
the currently
logged in user
29
GUI Areas
Navigation Tree
30
GUI Areas
Work pane:
Where configuration pages are displayed
31
GUI Areas
32
Tool Bar
Button Description
• If you click the Apply button after modifying parameters a red rectangle appears
surrounding the Save button
• This is a reminder to save your settings to flash memory
• If you click the Apply button after modifying parameters that take effect only after
a device reset, a red rectangle appears surrounding the both, the Save and Reset
buttons
• This is a reminder to later save your settings to flash memory and reset the device
35
Stand-alone Parameters Indications Meaning
36
Table Parameters – General Description
Page title (name of table) Navigation bar for scrolling Search tool for searching
Also displays the number of through the table's pages parameters and values
configured rows as well as the Sort can be done
number of invalid rows by any column
38
Numbers Notation for Routing and Manipulation
• Flexible numbers notations for describing the prefix and/or suffix source
and/or destination phone numbers and SIP URI usernames:
▪ Prefix [n,m,...] or Suffix (n,m,...) Destination Username Pattern Source Username Pattern
▪ Represents multiple numbers 5 7x*
▪ Multiple ranges such as [n-m,s-t] are also supported 5* 1xxx
▪ Up to three digits can be used to denote each number 5# 1xxx#
(5) 976[4,5,7-9]xxx#
▪ x (letter ‘x’) 2[1-4,7,9] 2[2,6,7,9]
▪ Represents any single digit [100-150,222,244,300-499] 2[1-4]
6[100-300] (555)
▪ * (asterisk symbol)
▪ Represents any number
6[100-300]# [1-5][12,34][500-599]
976(99) *
▪ # (Pound symbol) (88[1-4])
▪ Represents the end of a number
39
Numbers Notation – Examples
• [2,3,4,5,8]xxx
• represents four-digit numbers or more that start with 2, 3, 4, 5 or 8
• Can write: [2-5,8]xxx
• [5200-5299]#
• represents four-digit numbers that start with 5200 to 5299
• 12345
• represents any number that starts with 12345
• 12345xx#
• represents seven-digit numbers that start with 12345 (from 1234500 to 1234599)
• 123[100-200]#
• represents six-digit numbers that start with 123 [123100 to 123200]
• (100)
• represents any number that finishes with 100
• (266[1-9])
• represents any number that finishes with 2661 to 2669
• 1[2,7][33,66]
• represents any number that start with 1233, 1266, 1733 or 1766 40
Fields to Match
• Device attempts to match patterns at the top of the table first (first match)
• More specific rules should be at the top and more generic ones at the bottom
• Tables may contain parameters assigned a value which is a row referenced from
another table
42
Table Parameters Invalid Values Indications
• When adding a row:
• If a mandatory parameter’s value, which is a row referenced from another table is not assigned,
after clicking Apply, an error message is displayed at the bottom of the dialog box
• Clicking Cancel closes the dialog box and the row is not added to the table
• To add the row, you must configure the parameter
43
Table Parameters Invalid Values Indications
• When editing a row:
• If a parameter’s configuration is changed so that it's no longer assigned with a referenced
row from another table, when the dialog box is closed, the Invalid Line icon appears for
the table in which the parameter is configured, in the shown locations:
Item in the Navigation tree that Page title of the table. The total number of invalid rows in the
opens the table table is also displayed with the icon
44
Table Parameters Invalid Values Indications
Page title of the table. The total number of invalid rows in the table
is also displayed with the icon
• Parameter names (standalone or table) and values can be searched in the Web
interface
• The search key can include the full parameter name (Web or ini file name) or a substring
of it
• For a substring, all parameters containing the substring in their names are listed in the
search result
• The search key for a parameter value can include alphanumeric and certain characters
• The key can be a complete value or a partial value
• When the device completes the search, it displays a list of found results based on
the search key
• Each possible result, when clicked, opens the page on which the parameter or value is
located
46
Searching for Configuration Parameters
47
Setup Menu: IP Network Option
• Home Page: NETWORK VIEW
Ethernet Groups
can be, edited
or viewed
Physical Ports
can be, edited
or viewed
48
Setup Menu: Signaling & Media Option
• Home Page: TOPOLOGY VIEW
Trunk Groups
can be added IP top view (i.e.
Tel view
related to the WAN)
(i.e. related to the PSTN)
SIP Interfaces can be added SIP Interfaces can be added Media Realms can
and shown at the top or and shown at the top or be added and shown
bottom (GW application) bottom (SBC application) at the top or bottom
49
Setup Menu: Signaling & Media Option
• Home Page: TOPOLOGY VIEW
Click to edit,
show, or delete
parameters or
tables
50
Setup Menu: Signaling & Media Option
• Home Page: TOPOLOGY VIEW
51
Setup Menu: Administration Option
• Home Page: TIME & DATE
52
Web Local Users Table
User levels:
• Monitor
• Administrator
• Security Administrator
• Master 53
Maintenance Actions
• Reset Device: After a Web reset, the device starts from Flash
• Lock: The device doesn't accept any new incoming calls
• Save to Flash: Save the running configuration to the memory
• Graceful Option: Shutdown will perform only after X configured sec. or no more active traffic exists
• Yes: The device locks only after a user-defined duration, configured in the 'Lock • Enable to terminate (close) existing TLS/TCP client
Timeout' field. During this interval, no new traffic is accepted, allowing only connections and reject new incoming TLS/TCP client
existing calls to continue until the timeout expires. If at any time during this connections during the locked state.
timeout there are no active calls, the device locks. If there are still active calls • Disable (default), existing client connections will
when the timeout expires, the device terminates them and locks remain, and incoming TLS/TCP client connections
• No: The device locks immediately, terminating all existing traffic will be accepted during the locked state
54
Maintenance: Configuration File
55
Configuration Package Files
• ini.ini (ini configuration file)
• LOGO.dat (image file used as the logo in the Web interface)
• FAVICON.dat (favicon file used for Web browsers)
• CPT.dat (Call Progress Tone file)
• PRT.dat (Pre-recorded Tone file)
• AMD.dat (Answer Machine Detection file)
• SBC_Wizard.dat (SBC Configuration Wizard template file)
• CAS file – present only if a CAS file was previously loaded to the device
• Certificate files (<ctx_id>.crt, <ctx_id>.root, <ctx_id>.pkey)
• DialPlanRule.csv (Dial Plan file)
56
Maintenance: Auxiliary Files
• Various auxiliary files can be
loaded to the device
57
Maintenance: Upgrading & Downgrading Software
• The device can be updated with software (cmp file), configuration (ini file), auxiliary files and
license key using:
• Web interface
• BootP/TFTP utility
• Automatic Update Mechanism
58
Maintenance: License Key
• Supplied with SBC and digital gateways (not relevant for MP-1xx)
• Determines features, capabilities and available resources
• Provided in string format or in a txt file to be loaded to the device
• Stored in the device's non-volatile flash memory
• After loading the new key, the device must be reset
• Two options for manage the license:
• Local on the SBC
• By AudioCodes OVOC
59
License Types for SBCs
• Local License
• By loading a license key to the device, without requiring the OVOC
• Fixed License
• Allows a 'tenant' operator to update licenses from a central pool in a simple process
• The operator can allocate and de-allocate the licenses for the devices in the pool according to their capacity
requirements
• Requires SBCs loaded with version 7.0 or later
60
Local License Key
61
Device License Key in Fixed Pool Mode
62
Device License Key in Cloud Mode
63
Device License Key in Flex Pool Mode
64
Monitor Menu
• Home Page: MONITOR
65
Device Information
66
Troubleshoot Menu
67
Auto-Completion Editor
• Auto-completion for parameters whose values are configured using a special syntax
• An Editor button is displayed alongside their fields, which when clicked, opens a syntax editor
• As text is typed in the field, the user is prompted with optional syntax
68
AdminPage
69
Lesson 3
AudioCodes Documentation
Lesson Objectives
71
Obtaining AudioCodes Documentation
• You can access all AudioCodes' documentation from AudioCodes Web site
• This includes:
• Technical documentation (user manuals, hardware installation manuals, configuration
and release notes)
• Homologation material (regulatory information)
• Partner/channel material (interoperability guides etc.)
• Marketing material (white papers, application notes, product notices, etc.)
72
Obtaining Document
73
Obtaining Document (Cont.)
74
Specific Documentation
• For each product, the User’s Manual documents are published per release:
• Analog Gateways (MediaPack family):
• MP-11x & MP-124, MP-1288
75
Hardware Installation Manual
76
Enterprise Gateways and SBCs User’s Manual
78
Additional Documentation
• Complementary Guides
• Includes
• Reference Guides
• Design Guides
• Security Guidelines
• Utilities Guides
• Others
79
Additional Documentation – Configuration Notes
• Configuration Notes
• Document providing a detailed description on how
to configure a specific feature/function/application
for a product
• Normally referenced by the User’s Manual
80
Lesson 4
82
Analog Gateways Overview
• Firmware file:
• MP-11x gateways (FXS and FXO) use the same firmware (.cmp) file *
• MP-124 gateway requires it own firmware file *
• MP-1288 gateway requires it own firmware file
Note: The latest maintenance firmware version for MP-11x and MP-124 is 6.6
83
Analog Gateways Portfolio
Power Supply AC AC AC AC / DC AC / DC
84
Digital Gateways Overview
Mediant 5000
Mediant 8000
Note:
• The latest maintenance firmware version for Mediant 5000 and 8000 is 6.6
85
SBC Portfolio
Hybrid SBC/Gateway
Mediant 500/L Mediant 800B/C Mediant 1000B Mediant 3100
Pure SBC
Mediant 2600 Mediant 4000/B Mediant 90xx Mediant SE Software Edition
86
Hybrid SBC Portfolio
Mediant 500L/Li E-SBC Mediant 500 E-SBC Mediant 800B/C E-SBC Mediant 1000B E-SBC Mediant 3100 SBC
MSBR √ √ √ X X
OSN X X √ √ X
87
Pure SBC Portfolio
Mediant 2600 SBC Mediant 4000/B SBC Mediant 9030/9080 SBC Mediant SE
Large Enterprise, Large Enterprise,
Enterprise, Service Providers,
End customer Service Providers, Service Providers,
Contact Center OEM
Contact Centers Contact Centers
SIP trunking, SIP trunking, SIP Trunking,
Application SIP Trunking
Service Provider Access SBC Service Provider Access SBC SP Access SBC
Sessions 600 5000 30000/70000 70000
SRTP-RTP 600 3000/5000 30000/40000 40000
600 2400/5000 9080 only - 30000 25000
Transcoding
(with MPM4) (with MPM) (with Media Component) (with Media Component)
Registers Up to 8000 Up to 20000 Up to 200000/500000 Up to 500000
OSN √ √ X X
88
Virtual & Cloud SBC Portfolio
89
Open Solutions Network (OSN) Server Hosted Mediant
• Mediant 1000B
Mediant • Mediant 800B
• Mediant 2600B (just for SBA)
Types • Mediant 800C
• Mediant 4000B
90
Multi-Service Business Routers – MSBR
• Products:
• Mediant 500/L/Li
• Mediant 800B/C
91
Media Processing Module (MPM)
92
Media Transcoder (MT) and Media Transcoding Cluster (MC)
93
Media Transcoding Cluster (MC)
• The Media Transcoding Clusters are "hidden" from the endpoints being serviced by the SBC
• Requires a suitable License Key
94
SBCs journey to the cloud
30000 1.2
Fixed
25000 1
• Sizing an SBC for worst-case scenario
is cost prohibitive 20000 0.8
Active Calls
• SBC elasticity is key for resource
Active calls
Dynamic
optimization – you can start small 15000 allocation 0.6
and grow as needed
10000 0.4
5000 0.2
0 0
calls Resources
95
Mediant Cloud Edition SBC (Mediant CE)
• Separated signaling and media processing (built out of dedicated functional blocks)
• Elastic Media Cluster (traffic-based scalability)
• Full SBC functionality
• Single management point
• Multi Cloud (Amazon AWS and Microsoft Azure)
• Built-in HA
CLI
SC SC REST
Stack API
Manager
MC MC MC MC MC … Automation
- New SBC Stack Manager
- REST API for all actions
media media media - CLI for scripting languages
Virtual infrastructure - NFV and DevOps API
(compute, storage, networking)
96
Hands-on Lab 1
• SBC functions
99
SBC Definition
• A device/application which:
• Manages a VoIP session by performing:
• Session setup
• Call conducting
• Session tear down
• Enforces Security, QoS and Call Admission Control (CAC)
• Often installed at a demarcation point between one network segment (Un-Trusted)
and another (Trusted)
100
What are Session Border Controllers For?
101
SBC Implementations
102
Applications / Topologies
Enterprise
Network
IP-Phones users
FEU
IP-PBX ITSP
103
Applications / Topologies
• Hosted IP-PBX
Enterprise
Network
IP-Phone users
SBC
LAN WAN
Hosted
IP-PBX
104
Applications / Topologies
IP-Phones Enterprise
Network
LAN 1
SBC
IP-Phones
LAN 2
IP-PBX
105
Logical SBC Connections – One Leg LAN
IP-Phone
Firewall
LAN WAN
IP-PBX
DMZ
ITSP
106
Logical SBC Connections – One Leg DMZ
IP-Phone
Firewall
LAN WAN
IP-PBX
DMZ
ITSP
107
Logical SBC Connections – One-Leg DMZ and One-Leg LAN
IP-Phone
Firewall
LAN WAN
IP-PBX
DMZ
ITSP
108
Physical SBC Connections
• VLAN-Aware Switch
LAN
• Only 1 port required (1 cable)
• Optional: 2 ports, 1+1 redundancy (2 cables)
DMZ
109
SBC VoIP Features
• NAT Traversal
• Transcoding
• Topology Hiding
• VoIP Firewall
• SIP Routing
• SIP Normalization
• Survivability
110
NAT Traversal
IP-PBX
FW Public IP address
182.30.15.20
Enterprise WAN
LAN
111
NAT Traversal (cont’d.)
Public
IP PBX
Internet
Enterprise LAN
FEU
• Coder Transcoding
• RTP <-> SRTP
• Fax/Modem translations
• RFC 2833 <-> Transparent DTMF <-> SIP INFO
• Transrating
• Voice gain adjustments
SRTP RTP
G.711 G.729
IP/PBX ptime:20 T.38 ITSP
SfB RFC 2833 ptime:30 Soft Switch
SIP INFO
113
Topology Hiding
114
VoIP Firewall
• SIP Signaling
SIP Invite
• SIP classification
• Deep Stateful Packet Inspection (SPI) of all SIP signaling packets
• Packets not belonging to a valid SIP dialog are discarded
Layer 3-4
• RTP Firewall
Discard Message
• Opening pin holes according to Offer/Answer negotiation Authenticate
• DPI of all RTP packets
Layer 5-7
SBC
Firewall
Message admitted
115
Comprehensive Security
IDS Security
Abnormal behavior detection Server
Enterprise
Core
CAC
Classification #calls,
Message /Routing call rate,
TLS and Policy SIP layer bit rate,…
Internet/Peers SRTP Malformed access list
SIP SIP
Context
Identification
116
SBC Routing
117
SIP Normalization
118
SBC Survivability
• 3 survivability features:
• Routing calls to alternative routes such as:
• ITSP
• IP-PBX
• Routing calls between user agents in the local network using a dynamic DB
(built according to registrations of SIP user agents)
• Fallback to the PSTN based on E1/T1 connection (Hybrid devices)
119
Lesson 6
121
Main SBC Operation Modes
• B2BUA
• Maintains independent sessions toward the endpoints
• Processing an incoming request as a User Agent Server (UAS) on the inbound leg
• Processing the outgoing request as a User Agent Client (UAC) on the outbound leg
• SIP messages are modified regarding headers between the legs
• The device's interworking features may be applied
UAC UAS UAC UAS
Request Request
122
Signaling Routing Domain (SRD)
123
Media Realms
124
SIP Interface
125
IP Group
• An entity with a set of definitions and behaviors which represents a SIP Group in the IP
Network
• 3 Types of IP Group:
• Server: Used when the destination address is known
• User: Represents a group of users where their location is dynamically obtained by the device when
REGISTER
• Gateway: Applicable where the SBC receives requests to and from a gateway representing multiple users
• Used to classify incoming SIP dialog-initiating requests to a source IP Group, based on Proxy
Set ID
• Used in IP-to-IP routing rules to denote the source and destination of the call
• It is highly recommended not do modify IP Group ID 0
• You should configure this specific IP Group when it is used for the Gateway Interface (e.g., PSTN fallback)
126
Proxy Set
• IP-to-IP routing rules define the routes for routing calls between SIP entities
• The routing rules typically employ IP Groups to denote the source and destination
of the call
• Various other source and destination methods can be used
• For example, the source can be a source host name while the destination can be an IP
address or based on an LDAP query
128
SBC Routing
IP-to-IP call destination can be:
• Registration Database and User IP Group
• Proxy Set associated with the destination IP Group
(allows redundancy and/or load balancing)
• IP Group Set
• Destination Tag
• Based on incoming Request-URI
• Destination address based on:
• IP-Address
• Host Name (FQDN)
• Port
• Transport Type
• SIP Interface
• Based on Hunt Group
• Based on Dial Plan File
• External ENUM server query
• External LDAP server query
• Third-party Routing Server
• Gateway
• Internal
129
SBC IP-to-IP Routing
• Alternative routing
• Re-routing of SIP requests
• Least Cost Routing (LCR)
• Call Forking
130
Inbound and Outbound Number Manipulation
• IP-to-IP Inbound and Outbound manipulation lets you manipulate the user part of
the SIP URI in the SIP message for a specific entity
• Inbound manipulation is done on messages received from the SIP entity
• Outbound manipulation is done on messages sent to the SIP entity
User@Host
[email protected]
131
Message Manipulation Set (MMS)
132
Classification Process
Reject Dialog
Leg1
Incoming Outgoing
SIP Interface Classification Routing
Message Message
Leg2
Pre-Parsing
Manipulation Inbound Outbound
(SIP Interface) Message Manipulation Set Message Manipulation Set
(IP Group) (IP Group)
Pre-Classification
Manipulation
(SIP Interface)
Inbound Outbound
Source and/or Destination Source and/or Destination
Number Manipulation Number Manipulation
(Optional)
134
SIP Trunk Example
IP-PBX
TLS 5061
SBC
DefaultSRD
Analog Lines
PSTN
PSTN
135
Lesson 7
SBC Configuration
Lesson Objectives
137
Topology Configuration Example – One Leg LAN
Configuration Stage:
SBC IP: 10.15.11.1 /16 ITSP 1. IP Interface
IP-PBX
Server 1: 200.100.10.5 2. SRD
IP: 10.15.11.2 /16
Server 2: 200.100.10.1 3. Media Realms
Transport Type: TCP 4. SIP Interface
Transport Type: UDP
Listening Port: 5050 5. Proxy Set
Listening Port: 5060
Media Realm: 7000 (50 legs) 6. IP-Group
Media Realm: 8000 (50 legs) 7. IP Profile
Coder: G.711Alaw
Coder: G.711Alaw 8. Routing
9. NAT Translation
10. Classification
Firewall
LAN IP: 10.15.0.1
WAN: 200.100.10.2
138
Configure IP Addresses – IP Interface Table
139
IP Address – Physical to Interface
140
Initial Topology View
141
SRD Table
• Default SRD is already pre-configured
142
Media Realm Table
• The default Media Realm is used for SIP Interfaces and IP Groups for which you have not
assigned a Media Realm
• Ports are allocated in chunks of 4, 5 or 10 (device dependent) called media session legs
143
Media Realm Extensions
• Media Realm Extensions let you configure a Media Realm with different port ranges or/and
different interfaces
• This means that the Media Realm is distributed across multiple interfaces
• The number of Media Realm Extensions that can be configured depend on the platform
144
Configuring Media Realms – Example
145
SIP Interface Table
• Default SIP Interface is already pre-configured and assigned to the default SRD
• Bounded to Layer-3 network
• Defines a local listening port for SIP signaling traffic on a local logical IP network
146
SIP Interface Table Record
• By default, if you do not configure a name, the device
automatically assigns the name • Assigns a Media Realm
• Defines the SIP response code that the device sends if a received SIP request (OPTIONS, REGISTER, or
INVITE) fails the SBC Classification process
• The valid value can be a SIP response code from 400 through 699, or it can be set to 0 to not send any
response at all (recommended for security reasons)
• The default response code is 500 (Server Internal Error)
147
Configure SIP Interface Table – Example
148
IP to Local Signaling and Media Resources
• Multiple SIP Interfaces represent multiple layer 3 networks
• Media Realm shared between multiple SIP Interfaces
SIP Interface 1
Media Realm 1
LAN
IP Interface 1
Physical Network 1
SIP Interface 2
Media Realm 2
SIP Interface 3
DefaultSRD_0
SIP Interface 4
IP Interface 3
Media Realm 4
WAN/DMZ
Physical Network 2
SIP Interface 5
SIP Interface 6
149
Proxy Sets Table
150
Proxy Sets Table
Parking or Homing
Defines an arbitrary
name to easily identify
the Proxy Set Set Hot Swap
Enable Keep-Alive
Defines how the device classifies IP calls to the Proxy Set
This parameter is applicable only if the IP Group table's
parameter, 'Classify by Proxy Set' is set to Enable
151
Proxy Address Child Table
152
Define Proxy Set IP-PBX – Example
153
Define Proxy Set ITSP – Example
154
IP Group Table
155
IP Group Table – General Parameters
IP Group Name
• Defines a hostname, which the device uses to overwrite the hostname of the URI in certain SIP headers. When the device forwards a SIP message
to this IP Group, the configured hostname overwrites the host part in SIP headers that are concerned with the source of the message
• The parameter is applicable only when the IP Group is the destination of the call
• This parameter has higher priority than the 'SIP Group Name' parameter of the source IP Group
157
IP Group Table – SBC Other Tabs
158
Define IP Group 1 (IP-PBX) – Example
159
Define IP Group 2 (ITSP) – Example
160
IP Profile
161
IP Profile
• The configurable parameters for the IP Profile are divided into sections:
• General parameters
• Media Security parameters Related to SRTP
• SBC Signaling parameters
• SBC Early Media parameters
• SBC Registration parameters
• SBC Forward and Transfer parameters Related to SIP Signaling on the SBC
• SBC Hold parameters
• SBC Media parameters
• SBC Fax parameters
• Media parameters Related to Media on the SBC
• Quality of Service parameters
• Jitter Buffer parameters
• Gateway General parameters
• Voice
• Gateway DTMF parameters
• Gateway Fax and Modem parameters
• Answer Machine Detection parameters
• Local Tones parameters
162
IP Profile
163
IP to IP Routing Table
164
IP to IP Routing Table – General and Match Sections
Route Row / Alternative Route / Forking Group
165
IP to IP Routing Table – Action Section
Determines the destination type to which the outgoing SIP dialog is sent.
This can be IP Group, Destination Address, ENUM, LDAP, Request URI, Gateway, etc.
Defines a SIP response code (e.g., 200 OK) or a redirection response. The
parameter is applicable only when the 'Destination Type' parameter in this
table is configured to Internal – example: Reply(Response='200') 166
Configuring IP-to-IP Call Routing Rules – Example
167
Define NAT Translation – Example
• NAT rules for translating source IP addresses per VoIP interface:
• SIP Control
• Media Traffic
• The Global address is set in the SIP Via and Contact headers as well as in the o= and c= SDP fields
168
First Incoming Packet Mechanism for Remote Users
• The device identifies whether the UA is located behind NAT by comparing the
source IP address of the first received media packet with the IP address and UDP
port of the first received SIP Invite message (Contact header's IP address) when the
SIP session was started
169
Define Classification Rules (Optional)
170
Message Conditions (Optional)
171
Lesson 8
Debugging Tools
Troubleshooting Guidelines
• Collecting data
173
Collecting Data
174
What is Syslog?
175
Syslog Message Format - Example
08:59:10.239 10.15.11.1 local0.notice [S=1974] [SID=a929c9:21:24] ( lgr_sbc)( 1773) Classification Succeeded - Source IP Group #2 (ITSP), - Dest Routing Policy #0
08:59:10.239 10.15.11.1 local0.notice [S=1975] [SID=a929c9:21:24] ( lgr_flow)( 1774) (#3091)SBCRoutesIterator::Change State From: InitialCSRRouting To : InitialRouting
08:59:10.240 10.15.11.1 local0.notice [S=1976] [SID=a929c9:21:24] ( lgr_flow)( 1775) (#3091)SBCRoutesIterator::Change State From: InitialRouting To : AlternativeRouting
08:59:10.241 10.15.11.1 syslog.error 4 packets missing
08:59:10.241 10.15.11.1 local0.notice [S=1981] [SID=a929c9:21:24] ( media_service)( 1780) ServicesMngr: Allocate SBC leg. current active: 1 and max is: 120
08:59:10.242 10.15.11.1 local0.notice [S=1982] [SID=a929c9:21:24] ( lgr_flow)( 1781) (#3091)SBCRoutesIterator::Next route found: Rule #1, Route by: IPGroup , IP Group ID: 1 (SfB), Live:True
08:59:10.242 10.15.11.1 local0.notice [S=1983] [SID=a929c9:21:24] ( lgr_sbc)( 1782) Routing Succeeded -IP2IPRouting Rule #1
Timestamp Message Sequence Number Unique SIP call session and device identifier
and IP Address In this example 4 messages Example: SID=a929c9:21:24
were lost <last 6 characters of device's MAC address>
<number of times device has reset>
<unique SID counter indicating the call session
Type of Message
Syslog generates the following types of messages:
• error: Indicates that a problem has been identified that requires immediate handling
• warning: Indicates an error that might occur if measures are not taken to prevent it
• notice: Indicates that an unusual event has occurred
• info: Indicates an operational message
• debug: Messages used for debugging
176
Enabling Syslog
• Enable Syslog
• Set Syslog Server IP
address and port
• Select the Syslog level
(recommended ‘Detailed’)
177
Message Log
• View the Syslog messages sent by the device
178
AudioCodes Syslog Viewer
• A Syslog application provided with the student utilities kit
179
AudioCodes Syslog Viewer
Stop/Start Writing Log Pause/Resume Logging Flow Diagram
Clear On-Line Syslog Zoom In/Out Disable Auto scroll Options Search Text
Open Saved File Open External Viewer Freeze Display Search Options Search
180
AudioCodes Syslog Viewer
• Syslog can be enabled simultaneously in several devices, reporting to the same Syslog Server
181
AudioCodes Syslog Viewer
• SIP/SDP messages are properly arranged to be easily identified for analysis
182
AudioCodes Syslog Viewer
• The SIP/SDP flow diagram can be viewed, refreshed and exported
SIP Flow
Diagram
183
AudioCodes Syslog Viewer
• The SIP/SDP <-> ISDN flow diagram can be viewed
184
AudioCodes Syslog Viewer
• Each arrow on the SIP/SDP flow diagram points to the right place in the trace
Highlighted
Points to
SIP Flow
Diagram
185
AudioCodes Syslog Viewer
• CDR info
186
AudioCodes Syslog Viewer
• Extracting Single Call
187
AudioCodes Syslog Viewer
Options
188
Wireshark
189
Wireshark
• Freeware packet sniffer application enabling you to view traffic passed over the
network
• Advantages:
• Used for live/offline network troubleshooting and analysis
• Strong filtering
• SIP Call flow and Play sound
• And more
• AudioCodes add advance filtering for DTM/DSP debug
190
Capture Interfaces
191
Capture Output & Options
192
Wireshark Main Window
Filter Bar
Packet list
pane
Packet bytes
pane
193
Coloring Rules
194
Generating Call Flow
195
Playing RTP Stream
196
Analyzing RTP Data Stream
197
Debug Recording
198
What is Debug Recording (DR)?
• A feature used to capture and record traffic sent and/or received by the device
• It is used for advanced debugging when you need to analyze internal messages and
signals
• The device can send debug recording packets to a debug capturing server
• Can record different types of traffic such as
• Media streams (RTP, T.38 and PCM)
• PSTN signaling (ISDN, CAS, SS7)
• Control messages (SIP, MGCP, MEGACO)
• Networking streams (such as HTTP and SCTP)
• Other internal information (such as DSP Events)
199
Debug Recording Advantages
200
Viewing DR Messages in Wireshark
• Start Wireshark ACDR Filter
201
Activating the Debug Recording (DR)
• To set the address/port of the debug recording server:
202
Configuring filtering rules
203
Configuring filtering rules
• User-friendly online tool designed to get AudioCodes Mediant SBC up and running
quickly and easily
• Step-by-step setup process, presenting the configuration options in a clear way
• Eliminates configuration errors and troubleshooting
• Easy to install Windows-based application
• Includes predefined configurations for a wide range SBC deployments (SIP trunk,
hosting etc.) with a variety of service providers and IP-PBXs
• Automatic software updates
• Built-in online help
• Available as web built-in and stand-alone application
206
Welcome Page
207
SIP Trunk Configuration
208
System Parameters
209
Interfaces
210
IP-PBX Parameters
211
ITSP Parameters
212
Number Manipulation
213
Remote Users (FEU)
214
Summary
215
Finish
216
Hands-on Lab 2
SBC Routing
Lesson 10
Connectivity
PSTN
Endpoint Trunk
PBX
• Endpoints
• Desktop clients running on PC, MAC and Web
• Mobile clients running on iOS and Android OSs
• IP Phones Phone System
Office 365 & Teams
• Phone System
• Provide PBX features for all Teams users (appropriate license is required)
• Trunk
• Calling Plan
• Direct Routing
221
Connecting Phone System to the PSTN
• Calling Plan
• Calling in Teams is powered by Phone System (formerly known as Cloud PBX)
• PSTN connectivity provided directly by Microsoft
• No on-premises equipment required
• New phone numbers from Microsoft or port existing numbers (if available)
• Direct Routing
• Connecting Office 365 with the customer infrastructure
• Using existing customer phone numbers
• SBC on-premises integrates with existing PSTN connectivity or/and old PBX
222
Microsoft Teams Direct Routing
Customer Network
Telephony Trunk Internet
SBC Phone System
PSTN Office 365 & Teams
Provider
Analog
Devices IP-PBX
223
How MSFT connect to Office 365 over the Internet
224
Teams Direct Routing Signaling Path
Teams Services
Call
Controller PSTN HUB SIP Proxy
Azure
Media
Processor
Azure
Teams Services
Call
Controller PSTN HUB SIP Proxy
Azure
Internet
Internet User outside
corporate
network
DMZ
Firewall with
Corporate NAT
Network LAN
Certified Session Border
HTTP REST signaling User on Controller(s) ITSP
SRTP Media corporate
SIP signaling network
227
Teams Direct Routing call with Media ByPass (2)
Call
Controller PSTN HUB SIP Proxy
Internet
Internet User outside
corporate
network
Firewall with
NAT
Corporate
Network LAN
Certified Session Border
HTTP REST signaling User on Controller(s) ITSP
SRTP Media corporate
SIP signaling network
228
Interactive Connectivity Establishment (ICE)
• Typically, all devices located behind NAT (home network, office network, etc.)
• For devices behind NATs and/or firewalls to send media (RTP) between one
another, they need to discover each other's IP address and port as seen by the
"outside" world
• Media bypass leverages protocols called ICE on the Microsoft Teams client and ICE
lite on the SBC
• These protocols enable Direct Routing to choose the best optimized media path
• ICE and ICE Lite are WebRTC standards
• For detailed information about these protocols, see RFC 5245
229
STUN, TURN and ICE
230
Dial Plans
• Teams has a built in rules for the most common normalization rules
232
Voice Routing Basics
User from Germany makes Usage evaluated in order
a call to the USA Every usage can have multiple routes
Voice
Yes
Voice Routing Policy Try the call via SBC(s)
routing At least one route
policy PSTN Usage Record 1 matches the dialed in the route(s)
exists ? PSTN Usage Record 2 pattern
PSTN Usage Record 3
No
success
No match All SBC’s not
User
functional
has MS No
Calling
Plan ?
Yes
International
Call via MS Calling Plan Call Failed Call via Direct Routing 233
Direct Routing Benefits
Less Hardware
Where Calling Can be combined Footprint
Plans not available with Calling Plans (compared to
Skype for Business)
234
Direct Routing Enterprise Model
Enterprise Network
DMZ
Management
Station (OAMP) Internet Phone System
LAN
Firewall
SIP Trunk
ATA
ITSP
PSTN
Analog Devices IP-PBX
235
Direct Routing Hosting Model
Service Provider Network
Customer 1
DMZ
SIP Trunk
ITSP
Phone System
Customer 3
PSTN
236
Direct Routing Solution Components
PSTN Provider Customer Network
Private Connection
or Internet
Internet
PSTN Network
• sbc1.contoso.com
contoso.com • ussbcs15.contoso.com
• Non-valid name: sbc1.customers.contoso.com
• sbc1.customers.contoso.com
customers.contoso.com • sbc2.customers.contoso.com
• Non-valid name: test.sbc3.customers.contoso.com
238
Add Domain in Office 365
• Login to the admin center at https://admin.microsoft.com as a Tenant Administrator
• On the left menu,
click Settings,
then Domains
• Go through wizard
for adding new
domain
239
Public Trusted Certificate for the SBC
• Microsoft strongly recommends that you request the certificate for the SBC by generating a
Certification Signing Request (CSR)
• The certificate needs to have the SBC FQDN in the subject, Common Name (CN), and Subject
Alternate Name (SAN) fields
• Alternatively, Direct Routing supports a wildcard in the common name or SAN, and the
wildcard needs to conform to standard RFC HTTP Over TLS
• An example would be using *.contoso.com in the CN and SAN, which would match the SBC FQDN
sbc.contoso.com, but wouldn’t match with sbc.test.contoso.com
*.contoso.com
240
SBC Domain Names in Enterprise Model
Internet
Phone System
IP: 10.10.10.10 Office 365 & Teams
DNS Name: sbc1.contoso.com
241
SBC Domain Names in Hosting Model
Default SIP Domain: Service Provider Default SIP Domain:
Enterprise1.fr Enterprise 1 Enterprise 3 Enterprise3.nl
Default SIP Domain:
Registered Domain: contoso.com Registered Domain:
sbc1.customers.contoso.com sbc3.customers.contoso.com
Domain for customers:
Default SIP Domain: customers.contoso.com Default SIP Domain:
Enterprise2.com Enterprise4.net
• Know the relevant SBC parameters needed for Teams to SIP trunk configuration
244
Prerequisites (1)
• Before getting started make sure that the following License Keys exist:
• TEAMS: enables working with Microsoft Teams and add support of SILK and OPUS voice coders
(from 7.20A.25x.xxx firmware release)
• MediaEncryption, StrongEncryption and EncryptControlProtocol: enable working with TLS and SRTP
• SBC Sessions: enables SBC (IP-to-IP) feature
245
Prerequisites (2)
❖ This configuration section will cover only the relevant parts related to Teams Direct Routing
SIP trunk connectivity
246
Create SBC instance on the
Office 365 Tenant
in Enterprise Model
247
Login to the Teams Admin Center
• Login at https://admin.teams.microsoft.com as a Tenant Administrator
248
Add new SBC to Direct Routing
• Select Voice and then select Direct Routing
• Under SBCs click Add
249
Add new SBC to Direct Routing (cont.)
• Fill SBC FQDN and port, enable the GW and configure rest of required parameters, then click Save
User
+11115551005
Voice Policy
PSTN Usage
Route
PSTN Gateway
• Notes:
• FQDN must be part from the added domains to the tenant
• For enabling MediaBypass use PowerShell command 250
Add Voice Routing
• Add, Assign or edit your Voice Routing to the added SBC
User
+11115551005
Voice Policy
PSTN Usage
Route
PSTN Gateway
251
Add Voice Routing (cont.)
• Assign SBC and PSTN Usage to the ‘Voice Routing’
User
+11115551005
Voice Policy
PSTN Usage
Route
PSTN Gateway
252
Add Voice Routing Policy
• Navigate to Voice Routing Policies and add a new Routing Policy
User
+11115551005
Voice Policy
PSTN Usage
Route
PSTN Gateway
253
Add Voice Routing Policy (cont.)
• Create the Voice Policy and assign the PSTN Usage
User
+11115551005
Voice Policy
PSTN Usage
Route
PSTN Gateway
254
Connect to Office 365 Tenant
• All Teams users should be enabled for Enterprise Voice and an assigned DID
• Currently, this can be done only by using Microsoft CLI PowerShell commands
• From PowerShell connect to Office 365 tenant:
• $credential = Get-Credential -UserName [Admin]@[Tenant] -Message "Enter your Password:"
• Connect-MicrosoftTeams -Credential $credential
255
Assign the user to the Voice Routing Policy
• Navigate to Teams Users, select the relevant user/s, then click Edit Settings
User
+11115551005
Voice Policy
PSTN Usage
Route
PSTN Gateway
256
Assign the user to the Voice Routing Policy (cont.)
• Change the Voice routing policy and click Apply
User
+11115551005
Voice Policy
PSTN Usage
Route
PSTN Gateway
257
Configuring SBC
for Enterprise Model
258
SBC Configuration
Vlan ID 1 Vlan ID 2
LAN DMZ
Phone System
WAN
Management Firewall
Station (OAMP)
ITSP
259
Configure VLAN’s & IP Interface’s
• IP Interface Table
260
NTP Servers
• Network Time Protocol (NTP)
• Synchronizes the system time to a time source within the network
• Eliminating any potential issues should the local system clock 'drift' during operation
• The client requests a time update from the user-defined
261
TLS Contexts
262
Creating TLS Context
263
How to Configure Certificate
• The Procedure:
• Generating a Certificate Signing Request (CSR)
• Requesting Device Certificate from CA
• Obtaining Trusted Root Certificate from CA
• Deploying Device and Trusted Root Certificates on the SBC
264
Creating CSR
265
Signed Certificate
Note: Be aware that described above method will create signed certificate for only one device,
on which Certificate Sign Request was generated (and signed with private key). In order to be
able to use the same wildcard certificate on “multiple devices”, use alternative methods.
266
Trusted root certificate
267
Device Certificate Information
• Certificate details
268
Proxy Sets Table
Defines an arbitrary
name to easily identify
the Proxy Set Set Hot Swap
Enable Load
Balancing
Select TLS Context
Enable Keep-Alive
Defines the DNS query record type for resolving the proxy
server’s host name (FQDN) into an IP address(es)
Options: Not configured, A-Record, SRV, NAPTR
269
Proxy Address Child Table
• Enter Microsoft Teams Direct Routing FQDN
270
Media Security
271
Coder Group
• The Coder Group ID for this entity will be assigned to its corresponding IP Profile
• Microsoft Teams Direct Routing supports the SILK and OPUS coders
• SILK Payload Type
to be changed to:
• SILK-NB = 103
• SILK-WB = 104
272
Teams & ITSP IP Profiles
Parameter Value Parameter Value
Name Teams (arbitrary descriptive name)
Name SIPTrunk (arbitrary descriptive name)
Media Security
SBC Media Security Mode Secured (SRTP only) Media Security
SBC Early Media
SBC Media Security Mode Not Secured (RTP only)
By Media (required, as Microsoft Teams
Remote Early Media RTP Detection Direct Routing does not send RTP SBC Media
Mode immediately to remote side when it sends a
SIP 18x response) Allowed Audio Coders SIPTrunk Allowed Coders
SBC Media
Preference (lists Allowed Coders first
Extension Coders Group AudioCodersGroups_1
Allowed Coders Mode and then original coders in received SDP
RFC 2833 Mode Extend offer)
Lite (required only when Media Bypass
ICE Mode SBC Signaling
enabled on Microsoft Teams)
SBC Signaling P-Asserted-Identity Header
Add (required for anonymous calls)
SIP Update Support Not Supported Mode
Remote re-INVITE Support Supported Only With SDP SBC Forward and Transfer
Remote Delayed Offer Support Not Supported
SBC Forward and Transfer Remote REFER Mode Handle Locally
Remote REFER Mode Handle Locally
Remote Replaces Mode Handle Locally
Remote 3xx Mode Handle Locally
SBC Hold Remote 3xx Mode Handle Locally
Inactive (Microsoft Media Stack doesn’t
support format with a=inactive and
Remote Hold Format
IP=0.0.0.0. So, the SBC will replace 0.0.0.0
with its IP address)
273
Teams IP Profile
• SBC Media Security Mode = Secured
• Mandatory – SRTP only
• Remote Early Media RTP Detection Mode = By Media
• Teams does not send RTP/SRTP immediately to the remote side when it sends a SIP 18x response
• SIP Update Support = Not Supported
• UPDATE method not supported before and after the call is connected
• Remote re-INVITE = Supported Only With SDP
• Re-INVITE is supported, but only with SDP
• If the incoming re-INVITE arrives without SDP, the SBC creates an SDP and adds it to the outgoing re-INVITE
• Remote Delayed Offer Support = Not Supported
• The SBC does not allow INVITE requests without SDP
• The SBC creates an SDP and adds it to the outgoing offer
• RFC 2833 Mode = Extend
• Each outgoing offer/answer includes RFC 2833 in the offered SDP
• Remote Refer Mode = Handle Locally
• Teams does not support receiving SIP REFER messages
• Incoming REFER request message is handled without forwarding it to the Teams
• Remote 3xx Mode = Handle Locally
• Teams does not support receiving SIP 3xx messages 274
SDP Codecs offered list manipulation
• Allowed coders:
• Determine coders to be used for a specific SBC leg
• Excluded coders are removed from the SDP offer
• Extension codes:
• Extends the Media offering’s coders
• Extended coders are added only on the outgoing leg
275
Coder Transcoding Flow
SBC Leg 1 SBC Leg 2
SBC
276
ICE Lite
• The SBC is located at the WAN (one leg in the WAN or DMZ) and has global address
• Hence SBC required to implement only ICE Lite
• SBC as Lite agent only use host candidates and do not generate connectivity checks
• It supports remote endpoints that initiate ICE connectivity checks to discover their
workable public IP address with the SBC
• Therefore, the device supports the receipt of STUN binding requests for
connectivity checks of ICE candidates and responds to them with STUN responses
• Note that in the response to the INVITE message received from the remote
endpoint, the device sends only a single candidate for its own IP address
• This is the IP address that the client uses as a remote IP address
277
ICE and Candidates
278
Candidates
Transport IP + Port
1 – for RTP
Foundation
2 – for RTCP
IP address
Priority
type
IP address type:
host = Host Candidates: the local IP address and ports of all active network cards on the device
srflx = Reflexive Candidates (STUN): list of IP-address & ports allocated by a NAT device
relay = Relay Candidates (TURN): list of IP-addresses & ports of the TURN servers (used when STUN cannot be used)
279
Generic call flow from SIP Trunk to Teams
280
Invite Message (1)
SBC → Teams
281
SIP 200 OK Message (2)
Teams → SBC
282
STUN Message – Binding Request (3)
Teams → SBC
283
STUN Message – Binding Success Response (4)
SBC → Teams
284
Re-Invite Message from Teams (5)
Teams → SBC
285
IP Group Table – SBC Other Parameters
• Defines the host name (FQDN) that SBC uses in the SIP
message's Via and Contact headers
• This is specially required by Microsoft
288
Condition Table
289
IP to IP Routing Table (For Enterprise Model)
290
Number Manipulation Tables – Examples
291
Hands-on Lab 3
294
Reminder: CMR Process
Reject Dialog
Leg1
Incoming Outgoing
SIP Interface Classification Routing
Message Message
Leg2
Pre-Parsing
Manipulation Inbound Outbound
(SIP Interface) Message Manipulation Set Message Manipulation Set
(IP Group) (IP Group)
Pre-Classification
Manipulation
(SIP Interface)
Inbound Outbound
Source and/or Destination Source and/or Destination
Number Manipulation Number Manipulation
(Optional)
295
SBC Number Manipulation
296
SBC Inbound Number Manipulations
• Configure rules to manipulate SIP URI user part (source and destination)
of inbound SIP dialog requests
• Rules can be applied to user-defined SIP request type (INVITE,
SUBSCRIBE and/or REGISTER)
• Manipulation of Destination URI user part performed on these SIP
headers:
• Request URI
• To
• Remote-Party-ID (if it exists)
• Manipulation of Source URI user part is performed on these SIP
headers:
• From
• P-Asserted (if it exists)
• P-Preferred (if it exists)
• Remote-Party-ID (if it exists)
297
SBC Inbound Number Manipulations
298
SBC Inbound Number Manipulations – Match Area
• Name
• Additional Manipulation: use same matching
condition as row listed above
• Manipulation Purpose: Defines the purpose
of the manipulation
• Request Type: SIP request type to which the
rule is applied
• Source IP Group: the IP Group from where the
incoming INVITE is received
• Source Username Pattern
• Source Host
• Destination Username Pattern
• Destination Host
299
SBC Inbound Number Manipulations – Action Area
• Manipulated Item: Determines whether the Source or Destination SIP URI user part is
manipulated
• Remove From Left
• Remove From Right
• Leave From Right: Defines the number of characters that you want retained from
the right of the user part
• Prefix to Add
• Suffix to Add
300
SBC Outbound Number Manipulations
• Configure rules to manipulate SIP URI user part (Source and Destination)
of outbound SIP dialog requests
• Rules can be applied to user-defined SIP request type (INVITE,
SUBSCRIBE and/or REGISTER)
• Manipulation of Destination URI user part performed on these SIP
headers:
• Request URI
• To
• Remote-Party-ID (if it exists)
• Manipulation of Source URI user part is performed on these SIP
headers:
• From
• P-Asserted (if it exists)
• P-Preferred (if it exists)
• Remote-Party-ID (if it exists)
301
SBC Outbound Number Manipulations
302
SBC Outbound Number Manipulations Match Area
303
SBC Outbound Number Manipulations Action Area
• Same parameters as in Inbound except for:
• Manipulated Item
• Determines whether the Source, Destination SIP URI or Calling Name user part is manipulated
• Privacy Restriction Mode
• Determines user privacy handling by restricting source user identity in outgoing SIP dialogs
Transparent (default)
Don’t change privacy
Restrict
Remove Restriction
304
Message Manipulation
305
Why SIP Message Manipulation?
306
Message Manipulation
• Post-classification Process:
• On inbound and/or outbound SIP messages after the call has been successfully classified
• The Manipulation Set ID is assigned to the relevant IP Group in the IP Group table
307
Message Manipulation Set (MMS)
308
Inbound/Outbound Manipulation
• Applied per message and not per call
• For example:
• IP Group 1 has 2 Message Manipulation Sets, one for Outbound and one for Inbound, for the same call:
• Incoming INVITE goes through Inbound MMS
• 100, 180 and 200 OK responses go through Outbound MMS
• IP Group 2 has 2 Message Manipulation Sets, one for Outbound and one for Inbound, for the same call:
• Outgoing INVITE goes through Outbound MMS
• 100, 180 and 200 OK responses go through Inbound MMS
Invite Invite
309
Message Manipulation Configuration
• Message Manipulation Table used to configure rules and relate them to a set of rules
• Rule configuration enables adding, modifying or removing most message content
• A rule can be conditionally applied
• Removing/Adding mandatory SIP Headers is not allowed
• Modifying Mandatory SIP Headers is allowed, performed only on requests to initiate new
dialogs
• Mandatory Headers include:
• Request URI, To, From, Contact, Via, CSeq, Call-Id and Max-Forwards
• Mandatory SDP headers include:
• v, o, s, t ,c, m
• When multiple rules apply to the same header, the second rule applies to the first rule’s
result string
310
Message Manipulation – Manipulation Set ID
311
Message Manipulation – Syntax
312
Message Manipulation – Message Type
• The Message Type to manipulate General Match Action
• Rule applied only if this is the message type Manipulation Row Message Action Action Action
Name Condition
Set ID Role Type Subject Type Value
• Syntax: method.message-role.response-code
• Method
• Invite, Subscribe, Refer – rule applies only to specific messages
• Unknown – Unknown methods also allowed
• Any (or empty) – No limitation on method type
• Message-role
• Request – Rule applies only on requests
• Response – Rule applies only on Response message
• Response-code Examples:
• 3xx – Any redirection response • Invite
• 200 – Only 200 OK response
• Invite.Request
• Invite.Response.180
• Register
• Any
313
Message Manipulation – Condition
• Rule-matching criteria (conditions) General Match Action
• If criterion (condition) exists, rule applies Manipulation Row Message Action Action Action
Name Condition
Set ID Role Type Subject Type Value
Examples:
• header.contact contains ‘audiocodes.com’
• header.from.url.user == ‘100’ OR header.from.url.user == ‘200’ OR header.from.url.user == ‘300’
• header.from.url.user == ‘100’ AND header.to.url.user == ‘200’
314
Message Manipulation – Action Element
• SIP Header on which manipulation is performed General Match Action
• Message element that changes Manipulation Row Message Action Action Action
Name Condition
Set ID Role Type Subject Type Value
• Syntax:
• Add = adds a new header (or parameter or body)
• Remove = removes a header (or parameter or body)
• Modify = sets the element to the new value (replace the entire element)
• Normalize = removes unknown SIP message elements before forwarding the message
• Add Prefix = adds the value at the beginning of the element string
• Remove Prefix = removes the value from the beginning of the element string Recommended:
• Add Suffix = adds the value at the end of the element string Regular expression
• Remove Suffix = removes the value from the end of the element string
316
Message Manipulation – Action Value
• Syntax: (string/message-element/param)("+"(string/message-element/param))
• String
• ‘test.local’, ‘<sip:[email protected]:5067>’
• Message-element
• header.from.user, header.contact.url.user
• Param Examples:
• param.ipg.src.user, param.call.dst.host • '3600‘
• Combination • ‘Bob’
• param.ipg.dst.host + ‘.com’ • header.to.url.host
• 'Mike@'+Header.To.URL.Host.Name
• Param.IPG.Dst.User+'com'
317
Message Manipulation – Row Role
318
SIP Message Normalization
• Feature that can be enabled per manipulation rule when Action Type is set to "Normalize“
• Removes unknown or non-standard SIP message elements before forwarding the message
• These elements can include SIP headers, SIP header parameters, and SDP body fields
• The device normalizes the following SIP elements:
• URLs:
• User part is normalized
• Headers:
• Unknown header parameters are removed
• URLs are normalized
• SDP Body:
• Removes unnecessary SDP fields (except m=, v=, o=, s=, c=, t=, and r=)
• Removes unknown media with all its attributes
319
SIP Message Normalization – Examples
• Example 1:
• To header before normalization:
• To: <sip:1-800-300-500;[email protected];user=phone;UnknownUrlParam>
• To header after normalization:
• To: <sip:[email protected];user=phone>
• Example 2:
• All the headers to be normalized
320
SIP Message Normalization – Body Example
General Match Action
Manipulation Set
Name Row Role Message Type Condition Action Element Action Type Action Value
ID
Use Current
Example 3 4 invite body.sdp Normalize
Condition
322
SIP Message Manipulation – Example Rules
323
Example: Change Referred-By to Diversion
• ITSP expects Diversion and not Referred-By
324
SIP Interface Pre-Classification
325
SIP Interface Pre-Parsing Manipulation Sets
• Messages can be manipulated in their original format (plain text) as received from
the network
• Pre-Parsing Manipulation is done before Pre-Classification Manipulation and
Classification
• Pre-parsing rules assigned to the SIP Interface
• Regular expression (regex) is used to search for (match) in the incoming message as
well as to replace the matched pattern
• Parent – Child Table type
326
SIP Interface Pre-Parsing
• Messages can be manipulated in their original format (plain text) as received from the network
• Pre-Parsing Manipulation is done before Pre-Classification Manipulation and Classification
• Pre-parsing rules assigned to the SIP Interface
• Regular expression (regex) is used to search for (match) in the incoming message as well as to replace the matched
pattern
• Parent – Child Table type
327
Hands-on Lab 4
330
Configuring TDM Bus
• TDM Bus Clock Source (Network/Internal)
• Clock source on which the gateway synchronizes
• TDM Bus Local Reference
• Determines the Trunk ID used to synchronize the
gateway’s clock when using external clock
• TDM Bus PSTN Auto Clock Reverting
• Enables the PSTN trunk Auto-Fallback Reverting
feature
• TDM Bus PSTN Auto FallBack Clock
• Disable = Recovers the clock from the E1/T1 line
defined by parameter ‘TDM Bus Local Reference’
• Enable = Recovers the clock from any connected
synchronized slave E1/T1 line
• Apply only if the TDM Bus Clock Source parameter is
set to Network and TDM Bus PSTN Auto Clock
Reverting is set to Enable
• PCM Law Select (A-law/µ-law)
• Usually A-Law for E1 and µ-Law for T1
331
Configuring Key Trunk Parameters
• Protocol Type
• Sets the PSTN protocol to be used for this trunk
• If ‘Protocol Type’ of all PRI trunks displays 'None', select the protocol type (E1/T1) for a single
trunk and reset the gateway
• Only after the reset you will be able to continue configuring the trunks
• Clock Master
• Determines Tx clock source of E1/T1 line
• Recovered (0) = Generate clock according to Rx of E1/T1 line
• Generated (1) = Generate clock according to internal TDM bus
• ISDN Termination Side
• User side = ISDN User Termination Side (TE)
• Network side = ISDN Network Termination Side (NT)
• Select 'User side' when the PSTN or PBX side is configured as 'Network side’ and
vice-versa
332
Configuring Key Trunk Parameters
333
Configuring Key Trunk Parameters
334
Digital Trunk Points of Information
• All Trunk spans must be of the same Line Type (all E1 or all T1)
• Different flavors of same Line Type (E1/T1) can be configured on available Trunks
(e.g., E1 Euro ISDN and E1 QSIG)
• Trunks are referenced in ini file and Syslog messages as ‘0-7’ regardless of whether
physical Trunks are numbered ‘1-8’
335
Trunk Group Table – E1/T1 and/or FXS
• Used to assign Trunk Groups, Profiles and logical telephone numbers to the
gateway's channels
• Trunks or B-Channels that are not defined are disabled
336
Trunk Group Settings
• Determines the method by which new calls are assigned to channels within each Trunk
Group ID
• If such a rule doesn't exist (for a specific Trunk Group), the global rule defined by the
Gateway General Settings’ Channel Select Mode parameter applies
337
Coder Group Table
• Allows you to configure coders for the Gateway
• The first coder in the list has the highest priority
• A coder can appear only once in the table
• The Packetization Time determines how many coder payloads are combined into a single RTP packet
• The Gateway always uses the packetization time requested by the remote side for sending RTP packets
• Enable/Disable the Silence Suppression option per coder
338
Outbound IP Routing Table (Tel2IP)
• Used to route outgoing calls from Tel to IP
339
IP to Trunk Group Routing (IP2Tel)
• Used to route incoming IP calls to trunk groups
• Route the call to Trunk Group ID
340
Number Manipulation
• Manipulation can occur before or after a routing decision is made
• Number Manipulation tables for incoming and outgoing calls are
provided
• Used to modify Destination and Source telephone numbers so that
calls can be routed correctly
• Using Manipulation Tables, you can:
• Allow/Restrict Caller ID information
• Assign NPI/TON to IP-to-Tel calls
341
Routing Mode Parameters
• The Tel to IP Routing Mode and IP to Tel Routing Mode parameters determine the
order between routing calls to Trunk Groups and manipulation of the number
• Route calls before manipulation (default)
• Route calls after manipulation
342
Lesson 14
SBC Survivability
Lesson Objectives
344
SBC Survivability
• 3 survivability features:
• Routing calls to alternative routes such as:
• ITSP
• IP-PBX
• Routing calls between user agents in the local network using a dynamic DB
(built according to registrations of SIP user agents)
• Fallback to the PSTN based on E1/T1 connection (Hybrid devices)
345
SBC Survivability
• Continuous VoIP service for enterprise users on WAN isolation
Soft Switch 2
2
PSTN WAN Soft Switch 1
E1/T1 1
4
3
SIP Signaling + Media (RTP)
346
Survivability Methodology
348
Define Alternative Reasons Set Table
• The Alternative Reasons Set table lets you configure groups of SIP response codes for SBC call release
(termination) reasons that trigger alternative routing
• This feature works together with the Proxy Hot Swap feature, which is configured in the Proxy Sets table
• If no response, or ICMP or SIP 408 response is received, the SBC attempts to use the alternative route
even if no entries are configured in the ‘Alternative Reasons Set table‘
349
Define Alternative Reasons Rules Table
350
Assign the Alternative Reasons Set to Destination IP Group
• To apply your configured alternative routing reason rules, you need to assign the
Alternative Reasons Set for which you configured the rules, to the relevant IP Group
in the IP Groups table, using the 'SBC Alternative Routing Reasons Set' parameter
351
SBC Survivability for IP-PBX Users
Normal Mode
Survivability Mode
Fallback to PSTN
352
Define Media Realms
353
Define SIP Interfaces
354
Define Proxy Set – IP-PBX
355
Define Proxy Set – ITSP1
356
Define Proxy Set – ITSP2
357
Define IP Groups
358
IP to IP Routing Table – Options Termination
359
IP to IP Routing Table – IP-PBX to ITSP1 (Primary Route)
360
IP to IP Routing Table – IP-PBX to ITSP2 (Alternative Route)
361
IP to IP Routing Table – Calls to IP-PBX
362
Define Alternative Routing Set
• If no response, or ICMP or SIP 408 response is received, the SBC attempts to use the
alternative route even if no entries are configured in the ‘Alternative Routing Set‘
363
Assign the Alternative Reasons Set to Destination IP Group
364
Configure the TDM Bus for the Gateway
365
Configure the Digital Trunk
366
Configure the Trunk Group – E1/T1
• Used to assign Trunk Groups, Profiles and logical telephone numbers to the
gateway's channels
367
Configure the Trunk Group Settings
• Determines the method by which new calls are assigned to channels within each Trunk Group
368
IP to Trunk Group Routing (IP2Tel)
369
Tel to IP Routing (Tel2IP)
370
Define IP to IP Routing Table
• Add the Gateway entry to SBC IP-to-IP Routing Table:
371
SBC Survivability for LAN Users
Server IP-Group
Hosted IP-PBX
Server 1: 201.10.1.1
Server 2: 201.10.1.2
User IP-Group
Normal Mode
Survivability Mode
372
Define IP Group – LAN Users
373
User IP Group Classification
374
Define IP to IP Routing Table
• Terminate Options
375
Define IP to IP Routing Table
376
Define IP to IP Routing Table
377
Define IP to IP Routing Table
378
Define IP to IP Routing Table
379
Define IP to IP Routing Table
380
Lesson 15
382
High Availability Overview
• The device's High Availability (HA) feature provides 1+1 system redundancy using
two Mediant devices
• If failure occurs in the active device, a switchover occurs to the redundant device
which takes over the call handling process ensuring the continuity of call services
• All active calls (signaling and media) are maintained upon switchover
• Only IP calls are maintained during a switchover
• For those devices supporting the Gateway function, PSTN calls are dropped by sending
a SIP BYE message to the IP side. This is because only the active device is physically
connected to the PSTN interfaces
383
High Availability Architecture
384
Two Box Redundancy flow
ITSP
Active Mediant
SYNC
IP-PBX
New Active
Standby Mediant
Mediant
Enterprise
LAN
385
Two Box Redundancy flow
ITSP
Active
New Mediant
Standby Mediant
IP-PBX
SYNC
New Active Mediant
Enterprise
LAN
386
HA License Key
387
High Availability Configuration
• Since both devices have the same IP address, in the initial configuration stage,
they cannot both be connected to the network
• To initially configure HA:
1. Configure HA on the first device
2. Burn the configuration to flash and power down
3. Configure HA on the second device
4. Burn the configuration to flash and reset
5. Power up the first device
388
IP Interfaces
Maintenance
Interface
389
Physical Network Connections
Maintenance
390
HA Setting
• The remote maintenance IP Interface
• Devices Names
• Network Monitor:
• The SBC can monitor a specified network entity, using pings
• If the device does not receive a ping response from the entity, a switchover to the redundant device occurs
392
Preempt Mode
393
Preempt Mode
394
HA Status in the Monitor Page
395
Initialization Process
396
HA Software Upgrade
397
High Availability Maintenance
398
Hands-on Lab 5
SBC Survivability
Thank You