Sunteți pe pagina 1din 80

Welcome to

Acme Packet
TechTalk!

We will begin the presentation shortly.

*** ACME PACKET PROPRIETARY AND CONFIDENTIAL ***


THIS MATERIAL IS INTENDED FOR REGISTERED TECHTALK PARTICIPANTS ONLY - DO NOT DISTRIBUTE
Disclaimer

Acme Packet has made no commitments or promises orally or in writing


with respect to delivery of any future software features or functions. All
presentations, RFP responses and/or product roadmap documents,
information or discussions, either prior to or following the date herein, are
for informational purposes only, and Acme Packet has no obligation to
provide any future releases or upgrades or any features, enhancements or
functions, unless specifically agreed to in writing by both parties.

2
Welcome to TechTalk!
• Each webinar in our series will offer a blend of the following:
– Feature education;
– Configuration best practices;
– Troubleshooting guidance; and
– Log analysis
• Sessions will be very technical in nature, and targeted towards an
audience of system operators and network engineers
• Our goal today is to pass along field experience with signaling
protocols, interoperability requirements, and network topologies to
you!

3
Agenda
• Part one: Session Agent Redundancy
– Using Session Agent Groups for Redundancy
• Part two: Enhancing Topology Hiding
– Customize HMRs to enhance Topology Hiding
• Part three: Numbering Formats
– Customize HMRs to handle Telephone
Number Format Interoperability
• Part four: Granular Session Routing
– Utilize Local Routing Tables to simplify
complex routing requirements
4
Logistics
• To preserve the user experience, we will mute all participant phone
lines
• Expect 80 minutes of presentation followed by 10 minutes of Q&A
• To submit a question, please use the GoToWebinar
“Questions/Chat” window
– You can access this by clicking on “Show Control Panel” on the
right side of your screen
– At the end of our presentation, we will answer as many
questions as possible
• An evaluation form will be emailed to you after the training. We
appreciate your feedback!

5
Questions
• Use the GoToWebinar “Questions/Chat”
window to ask the moderator a question…
Time permitting, it will be addressed

Use the instant message text


field to ask a question

6
Session Delivery Networks for
end-to-end IP communications
Palladion

Enterprise Network
IP PBX/UC service OTT &
suppliers providers social networks

Session delivery
network
IP transport network

7
Session Delivery Network solutions
encompass eight product categories

Session border controller Controls sessions at borders


Manages subscriber access & interfaces to
Session manager application servers (A-SBC + IMS
CSCFs + BGCF)
Secures session delivery (data & voice) over
Multiservice security gateway
untrusted networks
Diameter session controller Enables LTE data & voice session roaming
Scales session control at borders
Session-aware load balancer
(SBC, MSG & DSC)
routes sessions to/from access &
Session routing proxy
interconnect borders

Empowers Web 2.0 applications to


Application session controller
control sessions

Session recorder Provides session recording utility for SDN


8
High-Level Infrastructure Overview
Carrier
Cloud

Carrier HA SBC1 Carrier HA SBC2


30.40.40.40 30.50.50.50

Carrier Carrier
Customer Customer
Data Center 1 Data Center 2
30.30.30.3
LEGEND
Customer DC1 Customer DC2 SOLID Primary Path
HA Pair SBC (4500) HA Pair SBC (4500) DASHED Backup Path
10.1.1.3

Customer IP-PBX Customer IP-PBX


10.10.10.10 10.20.20.20
Acme Packet TechTalk 9
Infrastructure Overview
• Best Common Practices (BCP) SIP Trunking & High
Availability Pair
- BCP 520-0011-03 High Availability Configuration
- BCP 520-0046-00 SIP Trunking Configuration for Enterprise
• Basic IP-PBX and Carrier SIP Trunking Service
• SBC Network Interfaces
1. Management (wancom0)
2. Heartbeat (wancom1 & wancom2)
3. SIP & Media for untrusted networks (s0p0) – For Service Providers
4. SIP & Media for trusted networks (s1p0) – For the Enterprise Network

Acme Packet TechTalk 10


Local Infrastructure Logical Diagram

Acme Packet TechTalk 11


Our Base BCP Configuration
phy-interface realm-config
name s0p0 identifier peer-carrier1
operation-type Media addr-prefix 0.0.0.0
port 0 network-interfaces
slot 0 s0p0:0

network-interface sip-interface
name s0p0 state enabled
sub-port-id 0 realm-id peer-carrier1
hostname sip-port
ip-address 30.30.30.3 address 30.30.30.3
netmask 255.255.255.0 port 5060
gateway 30.30.30.254 transport-protocol UDP
allow-anonymous agents-only

steering-pool
ip-address 30.30.30.3
start-port 40000
end-port 49999
realm-id peer-carrier1

Acme Packet TechTalk 12


Our Base BCP Configuration
phy-interface realm-config
name s1p0 identifier core-pbx1
operation-type Media addr-prefix 0.0.0.0
port 0 network-interfaces
slot 1 s1p0:0

network-interface sip-interface
name s1p0 state enabled
sub-port-id 0 realm-id core-pbx1
hostname sip-port
ip-address 10.1.1.3 address 10.1.1.3
netmask 255.255.255.0 port 5060
gateway 10.1.1.254 transport-protocol TCP
allow-anonymous agents-only

steering-pool
ip-address 10.1.1.3
start-port 40000
end-port 49999
realm-id core-pbx1

Acme Packet TechTalk 13


Our Base BCP Configuration
session-agent session-agent
hostname 30.40.40.40 hostname 10.10.10.10
ip-address 30.40.40.40 ip-address 10.10.10.10
port 5060 port 5060
transport-method UDP transport-method StaticTCP
realm-id peer-carrier1 realm-id core-pbx1

session-agent session-agent
hostname 30.50.50.50 hostname 10.20.20.20
ip-address 30.50.50.50 ip-address 10.20.20.20
port 5060 port 5060
transport-method UDP transport-method StaticTCP
realm-id peer-carrier1 realm-id core-pbx1

Acme Packet TechTalk 14


Our Base BCP Configuration
local-policy local-policy
from-address * from-address *
to-address * to-address *
source-realm core-pbx1 source-realm peer-carrier1
policy-attribute policy-attribute
next-hop 30.40.40.40 next-hop 10.10.10.10
realm peer-carrier1 realm core-pbx1

Acme Packet TechTalk 15


Config Review – Elements
All elements shown in blue or green
are configured following current
Best Common Practices for Local Policies
Enterprise SIP Trunking
Local Routing Tables

SIP Manipulations
Additional elements in pink will be
used to enhance the configuration Session Groups
SIP
to meet outlined requirements Config
Session Agents

SIP Interfaces
Media
Manager
Steering Pools

System Config Realms

Redundancy Config Network Interfaces

Boot Parameters Physical Interfaces

Acme Packet TechTalk 16


Case Study Requirements

• Requirement 1 – Agent Redundancy


• Requirement 2 – Enhanced Topology Hiding
• Requirement 3 – Number Formatting
• Requirement 4 – Granular Session Routing

Acme Packet TechTalk 17


Requirement 1 – Agent Redundancy
• Enterprise IP-PBXs are Redundant for each other
• Carrier Border Element IPs are Redundant for each other
• SBC must be able to route to redundant equivalent devices
- If primary destination is unavailable
- If primary destination replies with an unexpected failure response code

Acme Packet TechTalk 18


Requirement 1 – Calls to Carrier
Carrier
Cloud

Carrier HA SBC1 Carrier HA SBC2


30.40.40.40 30.50.50.50

Carrier Carrier
Customer Customer
Data Center 1 Data Center 2
30.30.30.3
LEGEND
Customer DC1 Customer DC2 SOLID Primary Path
HA Pair SBC (4500) HA Pair SBC (4500) DASHED Backup Path
10.1.1.3

Branch NYC
Customer IP-PBX 212-555-1984 Customer IP-PBX
10.10.10.10 10.20.20.20
Acme Packet TechTalk 19
Requirement 1 – Calls to Carrier
Carrier
Cloud

Carrier HA SBC1 Carrier HA SBC2


30.40.40.40 30.50.50.50

Carrier
Customer
X Carrier
Customer
Data Center 1 Data Center 2
30.30.30.3
LEGEND
Customer DC1 Customer DC2 SOLID Primary Path
HA Pair SBC (4500) HA Pair SBC (4500) DASHED Backup Path
10.1.1.3

Branch NYC
Customer IP-PBX 212-555-1984 Customer IP-PBX
10.10.10.10 10.20.20.20
Acme Packet TechTalk 20
Requirement 1 – Calls to Carrier
Carrier
Cloud

Carrier HA SBC1 Carrier HA SBC2


30.40.40.40 30.50.50.50

Carrier
Customer
X Carrier
Customer
Data Center 1 Data Center 2
30.30.30.3
LEGEND
Customer DC1 Customer DC2 SOLID Primary Path
HA Pair SBC (4500) HA Pair SBC (4500) DASHED Backup Path
10.1.1.3

Branch NYC
Customer IP-PBX 212-555-1984 Customer IP-PBX
10.10.10.10 10.20.20.20
Acme Packet TechTalk 21
Requirement 1 – Calls from Carrier
Carrier
Cloud

Carrier HA SBC1 Carrier HA SBC2


30.40.40.40 30.50.50.50

Carrier Carrier
Customer Customer
Data Center 1 Data Center 2
30.30.30.3
LEGEND
Customer DC1 Customer DC2 SOLID Primary Path
HA Pair SBC (4500) HA Pair SBC (4500) DASHED Backup Path
10.1.1.3

Branch NYC
Customer IP-PBX 212-555-1984 Customer IP-PBX
10.10.10.10 10.20.20.20
Acme Packet TechTalk 22
Requirement 1 – Calls from Carrier
Carrier
Cloud

Carrier HA SBC1 Carrier HA SBC2


30.40.40.40 30.50.50.50

Carrier Carrier
Customer Customer
Data Center 1 Data Center 2
30.30.30.3
LEGEND
Customer DC1 Customer DC2 SOLID Primary Path
HA Pair SBC (4500) HA Pair SBC (4500) DASHED Backup Path
10.1.1.3

X
Branch NYC
Customer IP-PBX 212-555-1984 Customer IP-PBX
10.10.10.10 10.20.20.20
Acme Packet TechTalk 23
Requirement 1 – Calls from Carrier
Carrier
Cloud

Carrier HA SBC1 Carrier HA SBC2


30.40.40.40 30.50.50.50

Carrier Carrier
Customer Customer
Data Center 1 Data Center 2
30.30.30.3
LEGEND
Customer DC1 Customer DC2 SOLID Primary Path
HA Pair SBC (4500) HA Pair SBC (4500) DASHED Backup Path
10.1.1.3

X
Branch NYC
Customer IP-PBX 212-555-1984 Customer IP-PBX
10.10.10.10 10.20.20.20
Acme Packet TechTalk 24
Config Review – Session Groups
Logical Grouping of Session Agents
for Redundancy and/or Load
Balancing Local Policies
Local Policies point to SAGs as Local Routing Tables
next-hop devices
SIP Manipulations
session-router > session-group
Session Groups
SIP
Strategy Hunt Config
Session Agents
Always try first listed SA.
Only try other SA(s) during failure Media
SIP Interfaces
conditions Manager
Steering Pools

Sag-Recursion System Config Realms


Enabled so that if a Failure
Redundancy Config Network Interfaces
Response is received, the call
is sent to the other SA(s) Boot Parameters Physical Interfaces

Acme Packet TechTalk 25


Config Review – Session Groups
session-group
group-name carrierSBCs
description Carrier Primary and Secondary Border Elements
state enabled
app-protocol SIP
strategy Hunt
dest 30.40.40.40
30.50.50.50
sag-recursion enabled
stop-sag-recurse 401,407

session-group
group-name ipPBXs
description Primary and Secondary IP-PBXs
state enabled
app-protocol SIP
strategy Hunt
dest 10.10.10.10
10.20.20.20
sag-recursion enabled
stop-sag-recurse 401,407

Acme Packet TechTalk 26


Config Review – Local Policies
local-policy
from-address *
to-address *
source-realm core-pbx1
policy-attribute
next-hop 30.40.40.40 SAG:carrierSBCs
realm peer-carrier1

local-policy
from-address *
to-address *
source-realm peer-carrier1
policy-attribute
next-hop 10.10.10.10 SAG:ipPBXs
realm core-pbx1

Acme Packet TechTalk 27


Requirement 2 – Topology Hiding
• BCP Built-In HMR only changes host in To & From URI
• Most SIP Devices include many optional headers that also
need to be modified
- P-Asserted-Identity (PAI)
- P-Preferred-Identity (PPI)
- Diversion
• Many optional headers are not required by next-hop SAs
- Remote-Party-ID (RPID)
- Alert-Info
• Gather Requirements from IP-PBX vendor and Carrier

Acme Packet TechTalk 28


Config Review – SIP Manipulations
Add, Modify, and Delete SIP
Headers and Parts of SIP Headers
Local Policies
Also Known as Header
Manipulation Rules (HMR) Local Routing Tables
Uses POSIX Regular Expressions SIP Manipulations
session-router > sip-manipulation Session Groups
SIP
natIP Config
Session Agents
Outbound Header Manipulation
for interoperability with carrier SIP Interfaces
Media
Topology Hiding on headers
Manager
Deletion of headers Steering Pools

System Config Realms

Redundancy Config Network Interfaces

Boot Parameters Physical Interfaces

Acme Packet TechTalk 29


Config Review – HMR natIP
SIP Headers Before Manipulation
INVITE sip:19785551234@30.40.40.40:5060 SIP/2.0
Via: SIP/2.0/UDP 30.30.30.3:5060;branch=z9hG4bK8A68B6FF
Remote-Party-ID: <sip:12125559876@10.10.10.10>
From: <sip:12125559876@10.10.10.10>;tag=33D4A388-344
To: <sip:19785551234@10.1.1.3>
P-Asserted-Identity: <sip:12125559876@10.10.10.10>
P-Preferred-Identity: <sip:12125559876@10.10.10.10>
Diversion: <sip:16465551234@10.10.10.10>
Call-ID: 12345678-12345678-12345678-12345678@10.10.10.10
User-Agent: Acme Packet TechTalk
CSeq: 1 INVITE
Max-Forwards: 70
Contact: <sip:12125559876@30.30.30.3:5060>
Content-Type: application/sdp
Alert-Info: <cid:internal@10.10.10.10>;alert-type=internal
Content-Length: 283

!!SDP Information Removed to Save SPACE

Acme Packet TechTalk 30


Config Review – HMR natIP
sip-manipulation
name natIP
!!Change TO URI host (<sip:user@host>) to next hop device IP
header-rule
name manipTo
header-name To
action manipulate
msg-type request
element-rule
name ToURIHost
type uri-host
action replace
new-value $REMOTE_IP
!!Change FROM URI host to SBC IP Facing Next-Hop Device
header-rule
name manipFrom
header-name From
action manipulate
msg-type request
element-rule
name FromURIHost
type uri-host
action replace
new-value $LOCAL_IP
Acme Packet TechTalk 31
Config Review – HMR natIP
!!Change PAI & PPI URI Host to SBC IP Facing Next-Hop Device
header-rule
name manipPAssertedIdentity
header-name P-Asserted-Identity
action manipulate
msg-type request
element-rule
name PAssertedIdentityURIHost
type uri-host
action replace
new-value $LOCAL_IP
header-rule
name manipPPreferredIdentity
header-name P-Preferred-Identity
action manipulate
msg-type request
element-rule
name PPreferredIdentityURIHost
type uri-host
action replace
new-value $LOCAL_IP

Acme Packet TechTalk 32


Config Review – HMR natIP
!!Change Diversion URI host to SBC IP Facing Next-Hop Device
header-rule
name manipDiversion
header-name Diversion
action manipulate
msg-type request
element-rule
name DiversionURIHost
type uri-host
action replace
new-value $LOCAL_IP

Acme Packet TechTalk 33


Config Review – HMR natIP
!!Delete RPID & Alert-Info Headers
header-rule
name deleteAlertInfo
header-name Alert-Info
action delete

header-rule
name deleteRPID
header-name Remote-Party-ID
action delete

Acme Packet TechTalk 34


Config Review – HMR natIP
SIP Headers Before Manipulation
INVITE sip:19785551234@30.40.40.40:5060 SIP/2.0
Via: SIP/2.0/UDP 30.30.30.3:5060;branch=z9hG4bK8A68B6FF
Remote-Party-ID: <sip:12125559876@10.10.10.10>
From: <sip:12125559876@10.10.10.10>;tag=33D4A388-344
To: <sip:19785551234@10.1.1.3>
P-Asserted-Identity: <sip:12125559876@10.10.10.10>
P-Preferred-Identity: <sip:12125559876@10.10.10.10>
Diversion: <sip:16465551234@10.10.10.10>
Call-ID: 12345678-12345678-12345678-12345678@10.10.10.10
User-Agent: Acme Packet TechTalk
CSeq: 1 INVITE
Max-Forwards: 70
Contact: <sip:12125559876@30.30.30.3:5060>
Content-Type: application/sdp
Alert-Info: <cid:internal@10.10.10.10>;alert-type=internal
Content-Length: 283

!!SDP Information Removed to Save SPACE

Acme Packet TechTalk 35


Config Review – HMR natIP
SIP Headers After Manipulation
INVITE sip:19785551234@30.40.40.40:5060 SIP/2.0
Via: SIP/2.0/UDP 30.30.30.3:5060;branch=z9hG4bK8A68B6FF

From: <sip:12125559876@30.30.30.3>;tag=33D4A388-344
To: <sip:19785551234@30.40.40.40>
P-Asserted-Identity: <sip:12125559876@30.30.30.3>
P-Preferred-Identity: <sip:12125559876@30.30.30.3>
Diversion: <sip:16465551234@30.30.30.3>
Call-ID: 12345678-12345678-12345678-12345678@10.10.10.10
User-Agent: Acme Packet TechTalk
CSeq: 1 INVITE
Max-Forwards: 70
Contact: <sip:12125559876@30.30.30.3:5060>
Content-Type: application/sdp

Content-Length: 283

!!SDP Information Removed to Save SPACE

Acme Packet TechTalk 36


Requirement 3 – Numbering Format
• Both IP-PBX and Carrier Have Different Numbering Formats
• IP-PBX supplies all SIP URI users in e.164 format
- “+” may or may not be present
• US Carrier does not support e.164 format
- For International calls, a 011 prefix is needed
- For North America calls, all headers must be in a 10-digit format
• HMR outCarrier will provide the needed interoperability to
meet these requirements

Acme Packet TechTalk 37


Config Review – HMR outCarrier
sip-manipulation
name outCarrier
!!Change Request URI User if an International Number (prepend with “011”)
!!Input is an e.164 number that may or may not contain a “+”
!!Largest e.164 number is 15 digits, shortest is 7 digits
header-rule
name manipRequestInt
header-name request-uri
action manipulate
msg-type request
element-rule
name requestUserInt
type uri-user
action replace
comparison-type pattern-rule
match-value ^\+?([2-9][0-9]{6,14})$
new-value "011"+$1
Before Request-URI
INVITE sip:12125551234@30.40.40.40:5060 SIP/2.0
INVITE sip:+442079460000@30.40.40.40:5060 SIP/2.0
After Request-URI
INVITE sip:12125551234@30.40.40.40:5060 SIP/2.0 -> UNCHANGED
INVITE sip:011442079460000@30.40.40.40:5060 SIP/2.0

Acme Packet TechTalk 38


Config Review – HMR outCarrier
!!Change To URI User if an International Number (prepend with “011”)
!!Input is an e.164 number that may or may not contain a “+”
!!Largest e.164 number is 15 digits, shortest is 7 digits
header-rule
name manipToInt
header-name To
action manipulate
msg-type request
element-rule
name toUserInt
type uri-user
action replace
comparison-type pattern-rule
match-value ^\+?([2-9][0-9]{6,14})$
new-value "011"+$1
Before To URI
To: <sip:12125551234@30.40.40.40>
To: <sip:+442079460000@30.40.40.40>
To: <sip:442079460000@30.40.40.40>
After To URI
To: <sip:12125551234@30.40.40.40> -> UNCHANGED
To: <sip:011442079460000@30.40.40.40>
To: <sip:011442079460000@30.40.40.40>

Acme Packet TechTalk 39


Config Review – HMR outCarrier
!!Change Request URI User if a US Number(remove prefix +1 or prefix 1)
!!Input is an e.164 number that may or may not contain a “+”
header-rule
name manipRequestNA
header-name request-uri
action manipulate
msg-type request
element-rule
name requestUserNA
type uri-user
action replace
comparison-type pattern-rule
match-value ^\+?1([0-9]{10})$
new-value $1
Before Request-URI
INVITE sip:12125551234@30.40.40.40:5060 SIP/2.0
INVITE sip:+12125551234@30.40.40.40:5060 SIP/2.0
INVITE sip:011442079460000@30.40.40.40:5060 SIP/2.0
After Request-URI
INVITE sip:2125551234@30.40.40.40:5060 SIP/2.0
INVITE sip:2125551234@30.40.40.40:5060 SIP/2.0
INVITE sip:011442079460000@30.40.40.40:5060 SIP/2.0 -> UNCHANGED

Acme Packet TechTalk 40


Config Review – HMR outCarrier
!!Change To URI User if a US Number(remove prefix +1 or prefix 1)
!!Input is an e.164 number that may or may not contain a “+”
header-rule
name manipToNa
header-name To
action manipulate
msg-type request
element-rule
name toUserNA
type uri-user
action replace
comparison-type pattern-rule
match-value ^\+?1([0-9]{10})$
new-value $1
Before To URI
To: <sip:12125551234@30.40.40.40>
To: <sip:+12125551234@30.40.40.40>
To: <sip:011442079460000@30.40.40.40>
After To URI
To: <sip:2125551234@30.40.40.40>
To: <sip:2125551234@30.40.40.40>
To: <sip:011442079460000@30.40.40.40> -> UNCHANGED

Acme Packet TechTalk 41


Config Review – HMR outCarrier
!!Change From URI User if a US Number(remove prefix +1 or prefix 1)
!!Input is an e.164 number that may or may not contain a “+”
header-rule
name manipFromNa
header-name From
action manipulate
msg-type request
element-rule
name fromUserNA
type uri-user
action replace
comparison-type pattern-rule
match-value ^\+?1([0-9]{10})$
new-value $1
Before From URI
From: <sip:12125559876@30.40.40.40>;tag=33D4A388-344
From: <sip:+12125559876@30.40.40.40>;tag=33D4A388-345
From: <sip:442079460000@30.40.40.40>;tag=33D4A388-346
After From URI
From: <sip:2125559876@30.40.40.40>;tag=33D4A388-344
From: <sip:2125559876@30.40.40.40>;tag=33D4A388-345
From: <sip:442079460000@30.40.40.40>;tag=33D4A388-346 -> UNCHANGED

Acme Packet TechTalk 42


Config Review – HMR outCarrier
!!Change PAI URI User if a US Number(remove prefix +1 or prefix 1)
!!Input is an e.164 number that may or may not contain a “+”
header-rule
name manipPAINA
header-name P-Asserted-Identity
action manipulate
msg-type request
element-rule
name paiUserNA
type uri-user
action replace
comparison-type pattern-rule
match-value ^\+?1([0-9]{10})$
new-value $1
Before P-Asserted-Identity URI
P-Asserted-Identity: <sip:12125559876@30.40.40.40>
P-Asserted-Identity: <sip:+12125559876@30.40.40.40>
P-Asserted-Identity: <sip:442079460000@30.40.40.40>
After P-Asserted-Identity URI
P-Asserted-Identity: <sip:2125559876@30.40.40.40>
P-Asserted-Identity: <sip:2125559876@30.40.40.40>
P-Asserted-Identity: <sip:442079460000@30.40.40.40> -> UNCHANGED

Acme Packet TechTalk 43


Config Review – HMR outCarrier
!!Change PPI URI User if a US Number(remove prefix +1 or prefix 1)
!!Input is an e.164 number that may or may not contain a “+”
header-rule
name manipPPINA
header-name P-Preferred-Identity
action manipulate
msg-type request
element-rule
name ppiUserNA
type uri-user
action replace
comparison-type pattern-rule
match-value ^\+?1([0-9]{10})$
new-value $1
Before P-Preferred-Identity URI
P-Preferred-Identity: <sip:12125559876@30.40.40.40>
P-Preferred-Identity: <sip:+12125559876@30.40.40.40>
P-Preferred-Identity: <sip:442079460000@30.40.40.40>
After P-Preferred-Identity URI
P-Preferred-Identity: <sip:2125559876@30.40.40.40>
P-Preferred-Identity: <sip:2125559876@30.40.40.40>
P-Preferred-Identity: <sip:442079460000@30.40.40.40> -> UNCHANGED

Acme Packet TechTalk 44


Config Review – HMR outCarrier
!!Change Contact URI User if a US Number(remove prefix +1 or prefix 1)
!!Input is an e.164 number that may or may not contain a “+”
header-rule
name manipContactNA
header-name Contact
action manipulate
msg-type request
element-rule
name contactUserNA
type uri-user
action replace
comparison-type pattern-rule
match-value ^\+?1([0-9]{10})$
new-value $1
Before To URI
Contact: <sip:12125559876@30.30.30.3:5060>
Contact: <sip:+12125559876@30.40.40.40>
Contact: <sip:442079460000@30.40.40.40>
After To URI
Contact: <sip:2125559876@30.30.30.3:5060>
Contact: <sip:2125559876@30.40.40.40>
Contact: <sip:442079460000@30.40.40.40> -> UNCHANGED

Acme Packet TechTalk 45


Config Review – HMR outCarrier
!!Apply natIP sip-manipulation to end of outCarrier HMR
!!Combines Number Format requirements with Enhanced Topology Hiding
header-rule
name applynatIP
header-name request-uri
action sip-manip
msg-type request
methods INVITE
new-value natIP

Acme Packet TechTalk 46


Config Review – Numbering Format
Apply HMR outCarrier to Realm peer-carrier1

realm-config
identifier peer-carrier1
description Connectivity to Carrier Network 1
network-interfaces s0p0:0
out-manipulationid outCarrier

Acme Packet TechTalk 47


Requirement 4 – Granular Session Routing
• Service is for Outbound Calls to the Carrier Only
• Enterprise requires 4,000 Concurrent Calls with the Carrier
• Carrier SBCs can only provision up to 2,000 Concurrent Calls
• Multiple Carrier SBCs are required, but only specific ANIs will
be allowed to make calls out to a given carrier SBC
• ANI recognition is performed by inspecting the Diversion, P-
Asserted-Identity, and From Header (in that order)
• Existing Telephone Numbers are still tied to TDM
Infrastructure, so new Billing Telephone Numbers (BTNs) are
assigned per Branch Office
• Customer SBC must create a Diversion header populated with
this new BTN or the call will be dropped by the carrier
Acme Packet TechTalk 48
Requirement 4 – Granular Session Routing
Carrier
Cloud

Carrier HA SBC1 Carrier HA SBC2 Carrier HA SBC3 Carrier HA SBC4


30.40.40.40 30.50.50.50 30.60.60.60 30.70.70.70

Carrier Carrier
Customer Customer
Data Center 1 Data Center 2
30.30.30.3
LEGEND

Customer DC1 Customer DC2 SOLID Primary Path


HA Pair SBC (4500) HA Pair SBC (4500) DASHED Backup Path
BLUE NY Path
10.1.1.3
RED MA Path

Branch Boston
617-555-2000

Branch NYC
Customer IP-PBX 212-555-1984 Customer IP-PBX
10.10.10.10 10.20.20.20
Acme Packet TechTalk 49
Config Review – Session Agents & Groups
session-agent session-agent
hostname 30.60.60.60 hostname 30.70.70.70
ip-address 30.60.60.60 ip-address 30.70.70.70
port 5060 port 5060
transport-method UDP transport-method UDP
realm-id peer-carrier1 realm-id peer-carrier1

session-group
group-name carrierSBCs2
description Carrier SBCs for MA
state enabled
app-protocol SIP
strategy Hunt
dest 30.60.60.60
30.70.70.70
sag-recursion enabled
stop-sag-recurse 401,407

Acme Packet TechTalk 50


Requirement 4 – Granular Session Routing
• Problem
- Traditional HMR & Local Policy will work, but does not scale
- Hundreds of Branches = Multiples of Hundreds of Header Rules
• Solution
- Simplify All Number Routing to a Single, Simple Spreadsheet
- Create a Local Routing Table (LRT) listing all NPAs and to which carrier
SIP Trunk they belong
- Inbound HMR used to collect Telephone Numbers in Diversion, PAI, and
From Headers prior to routing decision
- Reference collected Calling Party Telephone Numbers against LRT to
make routing decision and determine appropriate BTN
- If there is no LRT match, inject a static “safe-guard” BTN to ensure the
call is not rejected by the carrier and log whenever this BTN is used

Acme Packet TechTalk 51


Requirement 4 – Granular Session Routing
Acme Packet
POLICY
Session Border
Controller

SIP INVITE SIP INVITE to


from IP-PBX Inbound HMR Perform call routing via Local carrier SBC
Outbound HMR
sourceRouting to collect Policy References to Local carrierSBCs(2) to
calling party information Routing Table using calling delete all keys,
“keys” for LRT use party information keys normalize headers, and
inject Diversion Header
with BTN

Acme Packet TechTalk 52


Config Review – HMR sourceRouting
• Inbound (Pre-Routing) HMRs for Sessions from IP-PBX
• Normalize From, Diversion, P-Asserted-Identity, and Contact
Headers to Desired Format
- Calling Party in format of Country Code + Telephone Number
• Store From, Diversion, and P-Asserted-Identity Users as URI-
User Parameters in the Request Header to be used later as
keys for Routing via Local Routing Tables

Acme Packet TechTalk 53


Config Review – HMR sourceRouting
sip-manipulation
name sourceRouting
!!Analyze Diversion URI User.
!!Can be telephone number in formats +_Country_Code_PhoneNumber
!!or just Country_Code_PhoneNumber
!!Strip + (if there) and Store this number to be used for LRT Routing
header-rule
name storeDiversion
header-name Diversion
action store
comparison-type pattern-rule
msg-type request
methods INVITE
element-rule
name diversionURIUser
type uri-user
action replace
match-val-type any
comparison-type pattern-rule
match-value ^\+?([0-9]+)$
new-value $1

Acme Packet TechTalk 54


Config Review – HMR sourceRouting
!!Analyze P-Asserted-Identity URI User.
!!Can be telephone number in formats +_Country_Code_PhoneNumber
!!or just Country_Code_PhoneNumber
!!Strip + (if there) and Store this number to be used for LRT Routing
header-rule
name storePAI
header-name P-Asserted-Identity
action store
comparison-type pattern-rule
msg-type request
methods INVITE
element-rule
name paiURIUser
type uri-user
action replace
match-val-type any
comparison-type pattern-rule
match-value ^\+?([0-9]+)$
new-value $1

Acme Packet TechTalk 55


Config Review – HMR sourceRouting
!!Analyze From URI User.
!!Can be telephone number in formats +_Country_Code_PhoneNumber
!!or just Country_Code_PhoneNumber
!!Strip + (if there) and Store this number to be used for LRT Routing
header-rule
name storeFrom
header-name From
action store
comparison-type pattern-rule
msg-type request
methods INVITE
element-rule
name fromURIUser
type uri-user
action replace
match-val-type any
comparison-type pattern-rule
match-value ^\+?([0-9]+)$
new-value $1

Acme Packet TechTalk 56


Config Review – HMR sourceRouting
!!Create URI User Parameters from stored calling party numbers
!!URI User Parameters will be used as “keys” for Routing Lookups via LRT
!!Numbers are stored in Country_Code_PhoneNumber format
header-rule
name insertRequestKeys
header-name request-uri
action manipulate
msg-type out-of-dialog
methods INVITE
element-rule
name insertDiversion
parameter-name div
type uri-user-param
action add
new-value $storeDiversion.$diversionURIUser.$1
element-rule
name insertPAI
parameter-name pai
type uri-user-param
action add
new-value $storePAI.$paiURIUser.$1

Acme Packet TechTalk 57


Config Review – HMR sourceRouting
element-rule
name insertFrom
parameter-name from
type uri-user-param
action add
new-value $storeFrom.$fromURIUser.$1

Acme Packet TechTalk 58


Config Review – HMR sourceRouting
SIP Headers Before Manipulation
INVITE sip:19785551234@30.40.40.40:5060 SIP/2.0
Via: SIP/2.0/UDP 30.30.30.3:5060;branch=z9hG4bK8A68B6FF
Remote-Party-ID: <sip:12125559876@10.10.10.10>
From: <sip:12125559876@10.10.10.10>;tag=33D4A388-344
To: <sip:19785551234@10.1.1.3>
P-Asserted-Identity: <sip:12125559876@10.10.10.10>
P-Preferred-Identity: <sip:12125559876@10.10.10.10>
Diversion: <sip:16465551234@10.10.10.10>
Call-ID: 12345678-12345678-12345678-12345678@10.10.10.10
User-Agent: Acme Packet TechTalk
CSeq: 1 INVITE
Max-Forwards: 70
Contact: <sip:12125559876@30.30.30.3:5060>
Content-Type: application/sdp
Alert-Info: <cid:internal@10.10.10.10>;alert-type=internal
Content-Length: 283

Request-Uri After sourceRouting inbound HMR:


INVITE sip:19785551234;div=16465551234;pai=12125559876;from=12125559876
@30.40.40.40:5060 SIP/2.0

Acme Packet TechTalk 59


Config Review – Local Routing Tables
Determine next hops and map
E.164 to SIP URIs locally. This
ability provides extensive flexibility Local Policies
for routing. Local Routing Tables
Ability to leverage local xml input
SIP Manipulations
file (can be made via Excel)
Compress and Upload to /code/lrt/ Session Groups
SIP
Directory on SBC Config
Session Agents
Ease of Use to Handle Large Dial SIP Interfaces
Plans via Centralized Spreadsheet Media
Manager
Steering Pools
Ability to Reference and Inject
Custom Keys System Config Realms
session-router > Redundancy Config Network Interfaces
local-routing-config Boot Parameters Physical Interfaces

Acme Packet TechTalk 60


Config Review – Local Routing Tables
File Name: myLRT.xml.gz
BTN for NY: 2125558000
BTN for MA: 6175559000
user type next type2
1212 E164 !(^.*$)!sip:\1@carrierSBCs;btn=2125558000! regex
1646 E164 !(^.*$)!sip:\1@carrierSBCs;btn=2125558000! regex
1917 E164 !(^.*$)!sip:\1@carrierSBCs;btn=2125558000! regex
1718 E164 !(^.*$)!sip:\1@carrierSBCs;btn=2125558000! regex
1508 E164 !(^.*$)!sip:\1@carrierSBCs2;btn=6175559000! regex
1617 E164 !(^.*$)!sip:\1@carrierSBCs2;btn=6175559000! regex
1781 E164 !(^.*$)!sip:\1@carrierSBCs2;btn=6175559000! regex
1978 E164 !(^.*$)!sip:\1@carrierSBCs2;btn=6175559000! regex

Acme Packet TechTalk 61


Config Review – Local Routing Tables
local-routing-config
name dialplan
file-name myLRT.xml.gz
prefix-length 4

!!Modify sip-config to ensure that LRT lookups are performed in serial


!!and allow LRT to point towards Session Agent Groups as destinations

sip-config
options
max-udp-length=0
serial-forking=yes
enum-sag-match enabled

Acme Packet TechTalk 62


Config Review – Local Policies & LRT
• Normal Call Flow Routing
- Receive SIP INVITE on core-pbx1 SIP Interface
- All Keys are injected values in the Request Header from the
sourceRouting sip-manipulation
- LRT Lookups are performed Serially
- Compare Diversion Key to LRT
- Compare PAI Key to LRT
- Compare From Key to LRT
- For any LRT matches, send the SIP Invite to the host specified in the
“sip:user@host” portion of the “next” column in the LRT. Inject BTN as
Request URI parameter as well
- If there is no match, still attempt to send it out to the carrier
- Route to 0.0.0.0 – Results in a 404 Not Found

Acme Packet TechTalk 63


Config Review – Local Policies & LRT
local-policy
from-address *
to-address *
source-realm core-pbx1
policy-attribute
next-hop lrt:dialplan;key=div
realm peer-carrier1
policy-attribute
next-hop lrt:dialplan;key=pai
realm peer-carrier1
policy-attribute
next-hop lrt:dialplan;key=from
realm peer-carrier1
policy-attribute
next-hop SAG:carrierSBCs
realm peer-carrier1
policy-attribute
next-hop 0.0.0.0
realm peer-carrier1

Acme Packet TechTalk 64


Config Review – Local Policies & LRT
Request-Uri Before LRT Lookup HMR:
INVITE sip:19785551234;div=16465551234;pai=12125559876;from=12125559876@30.40.40.40:5060

user type next type2


1212 E164 !(^.*$)!sip:\1@carrierSBCs;btn=2125558000! regex
1646 E164 !(^.*$)!sip:\1@carrierSBCs;btn=2125558000! regex
1917 E164 !(^.*$)!sip:\1@carrierSBCs;btn=2125558000! regex
1718 E164 !(^.*$)!sip:\1@carrierSBCs;btn=2125558000! regex
1508 E164 !(^.*$)!sip:\1@carrierSBCs2;btn=6175559000! regex
1617 E164 !(^.*$)!sip:\1@carrierSBCs2;btn=6175559000! regex
1781 E164 !(^.*$)!sip:\1@carrierSBCs2;btn=6175559000! regex
1978 E164 !(^.*$)!sip:\1@carrierSBCs2;btn=6175559000! regex

INVITE sip:19785551234;div=16465551234;pai=12125559876;from=12125559876
@30.40.40.40:5060;BTN=2125558000

Acme Packet TechTalk 65


Config Review – HMR carrierSBCs(2)
• Outbound HMR Towards Carrier Specific for NY SIP Trunks
• Store BTN from Request URI Parameter then delete it.
• Delete Existing and Create a New Diversion Header using the
stored BTN and the IP address of the SBC facing the carrier
• If no LRT Match (therefore no BTN), create a Diversion
Header using the “safe-guard” BTN and log when this occurs.
• Delete all Request URI User Parameter Routing Keys
• Normalize All Headers by importing all Header Rules from the
“outCarrier” HMR
• Have a similar Outbound HMR specific for MA SIP Trunks, just
a different “safe-guard” BTN

Acme Packet TechTalk 66


Config Review – HMR carrierSBCs(2)
sip-manipulation
name carrierSBCs
!!Store BTN which was added as a Request URI Parameter From LRT Lookup
!!Delete the BTN Request URI Parameter after it is stored.
header-rule
name storeBTNKey
header-name request-uri
action store
msg-type request
methods INVITE
element-rule
name getBTN
parameter-name btn
type uri-param
action store
element-rule
name deleteBTN
parameter-name btn
type uri-param
action delete-element

Acme Packet TechTalk 67


Config Review – HMR carrierSBCs(2)
!!Delete Diversion & Create new from BTN (LRT match) or Generic (no LRT match)
header-rule
name deleteDiversion
header-name Diversion
action delete
msg-type request
methods INVITE
header-rule
name addDiversionBTN
header-name Diversion
action add
comparison-type boolean
msg-type request
methods INVITE
match-value $storeBTNKey.$getBTN
new-value "<sip:"+$storeBTNKey.$getBTN.$0+"@"+$LOCAL_IP+">"
header-rule
name addDiversionSafeBTN <-- carrierSBCs2 uses different BTN
header-name Diversion
action add
comparison-type boolean
msg-type request
methods INVITE
match-value !$storeBTNKey.$getBTN
new-value "<sip:2125558888@"+$LOCAL_IP+">“
Acme Packet TechTalk 68
Config Review – HMR carrierSBCs(2)
!!Create a log entry into /ramdrv/logs/matched.log if the Generic BTN was used
and thus there was no LRT match
header-rule
name logDiversionGenericBTN
header-name Diversion
action log
comparison-type boolean
msg-type out-of-dialog
methods INVITE
match-value !$storeBTNKey.$getBTN

Acme Packet TechTalk 69


Config Review – HMR carrierSBCs(2)
!!Delete Request URI User Parameters that were used in LRT key lookup
header-rule
name deleteRoutingKeys
header-name request-uri
action manipulate
msg-type request
methods INVITE
element-rule
name deleteDivKey
parameter-name div
type uri-user-param
action delete-element
element-rule
name deletePAIKey
parameter-name pai
type uri-user-param
action delete-element
element-rule
name deleteFromKey
parameter-name from
type uri-user-param
action delete-element

!!Add all header rules present in the “outCarrier” HMR for header normalizations

Acme Packet TechTalk 70


Config Review – HMR carrierSBCs(2)
Apply HMRs carrierSBCs & carrierSBCs2 to the matching Session Agents
session-agent session-agent
hostname 30.40.40.40 hostname 30.60.60.60
ip-address 30.40.40.40 ip-address 30.60.60.60
port 5060 port 5060
out-manipulationid carrierSBCs out-manipulationid carrierSBCs2

session-agent session-agent
hostname 30.50.50.50 hostname 30.70.70.70
ip-address 30.50.50.50 ip-address 30.70.70.70
port 5060 port 5060
out-manipulationid carrierSBCs out-manipulationid carrierSBCs2

Acme Packet TechTalk 71


Requirement 4 – Granular Session Routing
Key Headers Prior to Any Manipulation (Ingress)
INVITE sip:19785551234@10.1.1.3:5060 SIP/2.0
Remote-Party-ID: <sip:12125559876@10.10.10.10>
From: <sip:12125559876@10.10.10.10>;tag=33D4A388-344
To: <sip:19785551234@10.1.1.3>
P-Asserted-Identity: <sip:12125559876@10.10.10.10>
P-Preferred-Identity: <sip:12125559876@10.10.10.10>
Diversion: <sip:16465551234@10.10.10.10>
Contact: <sip:12125559876@10.10.10.10:5060>
Alert-Info: <cid:internal@10.10.10.10>;alert-type=internal

Call is Successfully Routed out the NY SIP Trunk to the Carrier

Key Headers After All Manipulations (Egress)


INVITE sip:9785551234@30.40.40.40:5060 SIP/2.0
From: <sip:2125559876@30.30.30.3>;tag=33D4A388-344
To: <sip:9785551234@30.40.40.40>
P-Asserted-Identity: <sip:2125559876@30.30.30.3>
P-Preferred-Identity: <sip:2125559876@30.30.30.3>
Diversion: <sip:2125558000@30.30.30.3>
Contact: <sip:2125559876@30.30.30.3:5060>

Acme Packet TechTalk 72


Summary

*** ACME PACKET PROPRIETARY AND CONFIDENTIAL ***


THIS MATERIAL IS INTENDED FOR REGISTERED TECHTALK PARTICIPANTS ONLY - DO NOT DISTRIBUTE
73
Key takeaways
• The SD allows for considerable flexibility
for interoperability
– Regardless of the IP-PBX or Carrier
Requirement, the SD can handle the
interoperability between the two
– Local Routing Tables provide a centralized,
simple solution to easily meet greatly complex
routing requirements

74
For more information
• Acme Packet documentation
– Net-Net Session Director
Configuration Guide
– Net-Net Session Director ACLI
Reference Guide

• Acme Packet Best Current Practices


(BCP) documents
– High Availability Configuration
– SIP Trunking Configuration for
Enterprise
– Local Routing Table

• Direct Acme Packet support

76
And remember…
• Formal Acme Packet training is available
in the area of routing – among other topics

77
Resources
• Course descriptions and training
schedules are available on
www.acmepacket.com/training.
– Send questions about our training offerings to
training@acmepacket.com

• Professional Services offers a worldwide


team available for consultation for network
design and configuration design and
optimization
78
Join the Acme Packet Community
• Come get connected! Post questions –
and answer some too!

79
Thank you for attending!

Our next
TechTalk Webinar
on Janurary 16th

*** ACME PACKET PROPRIETARY AND CONFIDENTIAL ***


THIS MATERIAL IS INTENDED FOR REGISTERED TECHTALK PARTICIPANTS ONLY - DO NOT DISTRIBUTE
80

S-ar putea să vă placă și