Download as pdf or txt
Download as pdf or txt
You are on page 1of 44

XBERT XAP-301

ADVANCED CALL PROCESSES


VERSION 1.2 - 9/2015

CONFIDENTIAL - FOR INTERNAL USE ONLY


THIS PAGE INTENTIONALLY LEFT BLANK.

© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY


XAP-301: Advanced Call Processes (v1.2)

XAP-301: Advanced Call Processes

In This Module:

• Section One – Server Types


• Section Two – Broadsoft® Call Processing
• Section Three – Acme®/Oracle® Session Border Controllers
• Advanced Call Processes Review
• Advanced Call Processes Quick Reference

Learning Objectives:

After completing this module, you should be able to:

• Locate and identify various servers in a call flow.


• Explain how calls are processed on different platforms.
• Explain how Pactolus and BroadWorks® Servers differ.
• Troubleshoot and resolve call processing issues.
• Demonstrate knowledge of Session Border Controller functions.

1
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Contents
XAP-301: Advanced Call Processes ................................................................................................................. 1
Contents .................................................................................................................................................................. 2
Section One – Server Types .......................................................................................................................... 3
Pactolus Application Servers ...................................................................................................................... 3
Broadsoft Server Types ............................................................................................................................... 3
Section Two – Broadsoft Call Processing ................................................................................................... 6
Verify Translation and Routing (VTR)....................................................................................................... 6
Services and Priorities ............................................................................................................................... 14
Voice VPN.................................................................................................................................................... 18
North American Dial Plan (NADP) International without +1 .......................................................... 23
Call Types ..................................................................................................................................................... 25
Oracle® TimesTen Database .................................................................................................................. 26
Call Processing Language Scripts ........................................................................................................... 26
INFO Messages .......................................................................................................................................... 26
Section Three – Acme/Oracle Session Border Controllers ................................................................. 28
Proxy vs. Back-to-Back User Agents (B2BUA) ................................................................................... 30
Access-Backbone Model .......................................................................................................................... 32
Steering Pools and Sessions .................................................................................................................... 33
Registration Caching ................................................................................................................................. 34
The Registration Cache Entry ................................................................................................................. 35
Registration Cache Entry Expiration and Removal ............................................................................ 36
Enabling Registration Caching ................................................................................................................ 37
Routing by Registration Cache ............................................................................................................... 37
Advanced Call Processes Review............................................................................................................... 39
Advanced Call Processes Quick Reference ............................................................................................. 42

2
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Section One – Server Types


Pactolus Application Servers
Pactolus Application (App) Servers have Network Server and media server functionality built into
them. These functions act in a similar manner as other standalone Network Servers and Media
Servers, but with a very limited feature set. While the Pactolus App Servers handle all call
processing for Pactolus customers, the servers only handle the basics, such as registrations,
simple calls, auto attendants and voicemail.

Pactolus Call Flow:

• The Session Border Controllers (SBCs) monitor the heartbeat of each active Pactolus App
Server.
• The SBCs rotates routed calls to the Pactolus App Servers in a round robin format.
• The Pactolus App Servers handles all call processing.

Broadsoft Server Types


While Pactolus has all services running through App Servers, the Broadsoft BroadWorks®
platform has broken up call processing and related services into multiple server types:

Application Server: The BroadWorks Application Server operates at the core of BroadWorks and
is responsible for the execution of all enhanced personal and group features. The server’s
database maintains user and group profiles, as well as service and subscription data. Functions of
the Application Server:

• Acts as SIP Back-to-Back User Agents (B2BUA) and Registrar.


• Hosts services logic and subscriber identities.
• Processes web-based provisioning requests.
• Provides incoming and outgoing permissive and non-permissive dialing.
• Logs call control events for billing.

3
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Network Server: The BroadWorks Network Server enables BroadWorks to achieve massive
scalability and geographic redundancy. It acts as a centralized Session Initiation Protocol (SIP)
redirect server providing location services, as well as dial plan/digit translation and a rich set of
routing policies, such as least-cost routing, E911 route selection, and enterprise-focused network
applications such as Voice VPNs and web-configurable private dial plans. Functions of the
Network Server:

• Manages Dial Plan definitions.


• Manages policies for digit string analysis.
• Manages policies for network element routing determination.
• Has an instance of database that the Application Server uses.

Broadsoft Media Server: The BroadWorks Media Server (Media Resource Function) is an open
standards-based Session Initiation Protocol (SIP) media server supporting scripting languages
such as the Voice eXtensible Markup Language (VoiceXML) and Call Control eXtensible Markup
Language (CCXML), as well as media control protocols such as the Network Announcement
(NETANN) protocol, Media Server Control Markup Language (MSCML), and the new SIP Media
Control Framework. The BroadWorks Media Server provides announcements, record, playback,
digit detection, mixing and repeating functions. The BroadWorks Media Server is also a fully
compliant IMS Media Resource Function (MRF), deployed in operator networks worldwide. All
industry standard audio and video CODECs are supported on a highly scalable software based
platform using off the shelf hardware. This enables operators to deploy media rich features such
as Unified Messaging, N-way conferencing and Auto Attendants without investing in expensive
proprietary hardware based media server platforms. Functions of the Media Server:

• Multimedia Mail
• Meet Me Conferencing
• Interactive Voice Response (IVR)
• Custom Ring Back Tones
• Text to Speech (TTS)
• Automatic Speech Recognition (ASR)
• System Announcements
• Plays and records media
• Provides media based services

4
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Additional BroadWorks Servers: The BroadWorks platform has other server components that
designed for specific requirements, some of which may not be used for all deployments (Figure 1-
1):

• Access Mediation Server (AMS)


• Element Management System (EMS)
• Web Server (WS)
• BroadWorks Xtended Service Platform (XSP)
• Profile Server (PS)
• Call Detail Server (CDS)
• Messaging Server (UMS)
• Sharing Server (USS)
• Video Server (UVS)

Figure 1-1: BroadWorks Server Types

Broadsoft Call Flow: At Nextiva, session agents contact server clusters that include two Network
Servers, in a round robin configuration, along with two Application Servers in a fail over
configuration. The Network Server tells the SBC to route to a specific Application Server, which
is always AS01 except in an outage situation. The Media Server is accessed only when needed.

5
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Section Two – Broadsoft Call Processing


Verify Translation and Routing (VTR)
Verify Translation and Routing (VTR) is a diagnostic tool that is designed to help an administrator
execute call-processing simulations to better understand and test various configurations. It tests
the Network Server to see how it is routing calls, with data provided by the Application Server.
The VTR tool allows an administrator to:

• Identify which specific rule allowed the detection of the originating user.
• Determine if the translation results are only for the Application Server or if they involve
Network Server translations. This includes any kind of service triggered or network routing
translations.
• Determine which originating services have executed.
• Determine which terminating services have executed.
• Determine the reason why a call attempt was blocked, and then by which service or
policy.
• Determine what treatment was used, if applicable.
• Determine if a redirection occurred and its destination.

VTR Example 1 - Off-Network Call:

NS_CLI/System/Util/Verif> vtr 14804260220 14806144650


---------------------- Validating Translation and Routing ----------------------

[] ----- Incoming Message -----


[]

INVITE sip:14806144650@ns01 SIP/2.0


To:<sip:14806144650@ns01>
Call-ID:123
CSeq:123 INVITE
Via:SIP/2.0/UDP 127.0.0.1
Remote-Party-ID:<sip:14804260220@192.168.245.101>
From:<sip:14804260220@192.168.245.101>

[SIP/] ............................................................................ [START]


[SIP/] ----- Creating the Verification Session -----
[SIP/Session/] .................................................................... [START]

6
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

[SIP/Session/] Call not from a Routing NE (from lookup of 127.0.0.1)


[SIP/Session/] Call not a proxy IMS call
[SIP/Session/] Originator taken from: Remote-Party-ID header
[SIP/Session/] FROM E164 is now: 1-480-4260220 (dn, valid)
[SIP/Session/] TO E164 is now: 1-480-6144650 (dn, valid)
[SIP/Session/] No Content in SIP message.
[SIP/Session/] Get Profile for DN: 14804260220
[SIP/Session/] Using country code: 1 [country code of calling DN 14804260220]
[SIP/Session/] ----- Info DN #1 -----
[SIP/Session/] (DN, Group, Network Element, SP, Enterprise, IntraLata, InterLata,
International)
[SIP/Session/] (14804260220, nextiva_g1, bwas, SystemSP, nextiva_ent, 0, 0, 0)
[SIP/Session/] Enterprise (SP, Name, IntraLata, InterLata, International, Profile)
[SIP/Session/] (SystemSP, nextiva_ent, 0, 0, 0, hosting)
[SIP/Session/] Site (SP, Ent, Site, Source ID, Profile)
[SIP/Session/] (SystemSP, nextiva_ent, DFLT_SITE, , hosting)
[SIP/Session/] ----- Policies for Enterprise: nextiva_ent -----
[SIP/Session/] List of private and public policies for this enterprise:
[SIP/Session/] 1) voiceVPN -
[SIP/Session/] 2) ExtDialing -
[SIP/Session/] ----- Public policies in Site Profile: hosting -----
[SIP/Session/] List of policy instances for this profile:
[SIP/Session/] 1) SubLocation DefaultInst
[SIP/Session/] 2) FarEndRtg DefaultInst
[SIP/Session/] 3) MediaSrvSel DefaultInst
[SIP/Session/] 4) CallTyping DefaultInst
[SIP/Session/] 5) NearEndRtg DefaultInst
[SIP/Session/] 6) SvcCtrRtg DefaultInst
[SIP/Session/] ----- Public policies in Profile: hosting -----
[SIP/Session/] List of policy instances for this profile:
[SIP/Session/] 7) SubLocation DefaultInst [not used]
[SIP/Session/] 8) FarEndRtg DefaultInst [not used]
[SIP/Session/] 9) MediaSrvSel DefaultInst [not used]
[SIP/Session/] 10) CallTyping DefaultInst [not used]
[SIP/Session/] 11) NearEndRtg DefaultInst [not used]
[SIP/Session/] 12) SvcCtrRtg DefaultInst [not used]
[SIP/Session/] ----- Policies in order of execution -----
[SIP/Session/] 1) ExtDialing -
[SIP/Session/] 2) voiceVPN -
[SIP/Session/] 3) CallTyping DefaultInst
[SIP/Session/] 4) MediaSrvSel DefaultInst
[SIP/Session/] 5) SubLocation DefaultInst
[SIP/Session/] 6) SvcCtrRtg DefaultInst
[SIP/Session/] 7) FarEndRtg DefaultInst
[SIP/Session/] 8) NearEndRtg DefaultInst

7
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

[SIP/Session/InDM/] ............................................................... [START]


[SIP/Session/InDM/] No digit manipulation index
[SIP/Session/InDM/] ............................................................... [DONE]
[SIP/Session/Ent/] ................................................................ [START]
[SIP/Session/Ent/ExtDialing/] ..................................................... [START]
[SIP/Session/Ent/ExtDialing/] No Intra-Group Calling attached to this call
[SIP/Session/Ent/ExtDialing/] Exiting with CONTINUE
[SIP/Session/Ent/ExtDialing/] ..................................................... [DONE]
[SIP/Session/Ent/voiceVPN/] ....................................................... [START]
[SIP/Session/Ent/voiceVPN/] Setting call selector to enterprise default: PUBLIC
[SIP/Session/Ent/voiceVPN/] Terminating DN is 14806144650
[SIP/Session/Ent/voiceVPN/] No location code match found
[SIP/Session/Ent/voiceVPN/] ....................................................... [DONE]
[SIP/Session/Ent/] ................................................................ [DONE]
[SIP/Session/SP/] ................................................................. [START]
[SIP/Session/SP/CallTyping/] ...................................................... [START]
[SIP/Session/SP/CallTyping/] Event IN : {ct=NIL,pfx=0,tags=[]}
[SIP/Session/SP/CallTyping/] Using country code 1
[SIP/Session/SP/CallTyping/] Dial Plan is NADP
[SIP/Session/SP/CallTyping/] Found PREFIX match for 14806144650
[SIP/Session/SP/CallTyping/] Setting Call Type to TO
[SIP/Session/SP/CallTyping/] Setting Call Category to NATIONAL
[SIP/Session/SP/CallTyping/] Setting Prefix (before=0,after=1)
[SIP/Session/SP/CallTyping/] Prefix changed, TO E164 is now: 48-0-6144650 (dn, valid)
[SIP/Session/SP/CallTyping/] TO is now: 14806144650
[SIP/Session/SP/CallTyping/] TO E164 is now: 1-480-6144650 (dn, valid)
[SIP/Session/SP/CallTyping/] Term. DN completed with orig NDC: 14806144650
[SIP/Session/SP/CallTyping/] Normalization... TO E164 is now: 1-480-6144650 (dn, valid)
[SIP/Session/SP/CallTyping/] Event OUT:{ct=TO,pfx=1,tags=[]}
[SIP/Session/SP/CallTyping/] Exiting with CONTINUE
[SIP/Session/SP/CallTyping/] ...................................................... [DONE]
[SIP/Session/SP/SubLocation/] ..................................................... [START]
[SIP/Session/SP/SubLocation/] Retreiving Host for DN: 14806144650
[SIP/Session/SP/SubLocation/] WARNING: Subscriber not found
[SIP/Session/SP/SubLocation/] Exiting with CONTINUE
[SIP/Session/SP/SubLocation/] ..................................................... [DONE]
[SIP/Session/SP/SvcCtrRtg/] ....................................................... [START]
[SIP/Session/SP/SvcCtrRtg/] Policy not triggered for call type
[SIP/Session/SP/SvcCtrRtg/] ....................................................... [DONE]
[SIP/Session/SP/FarEndRtg/] ....................................................... [START]
[SIP/Session/SP/FarEndRtg/] Querying the ClosestNEsFinder for 14806144650
[SIP/Session/SP/FarEndRtg/] Found 3 result(s)
[SIP/Session/SP/FarEndRtg/FarEndDM/] .............................................. [START]
[SIP/Session/SP/FarEndRtg/FarEndDM/] Applying DM using index: 9001
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] .................................... [START]

8
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DM: LTR(1),PRE(1)


[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DN: 14806144650
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] LTR(1): 4806144650
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] PRE(1): 14806144650
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DN: 14806144650
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] .................................... [DONE]
[SIP/Session/SP/FarEndRtg/FarEndDM/] .............................................. [DONE]
[SIP/Session/SP/FarEndRtg/] Found NE: pstnout_1 (E164Compliant)
[SIP/Session/SP/FarEndRtg/] Adding contact #1: 14806144650@192.168.101.239
[SIP/Session/SP/FarEndRtg/] associated cost is 2
[SIP/Session/SP/FarEndRtg/FarEndDM/] .............................................. [START]
[SIP/Session/SP/FarEndRtg/FarEndDM/] Applying DM using index: 9001
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] .................................... [START]
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DM: LTR(1),PRE(1)
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DN: 14806144650
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] LTR(1): 4806144650
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] PRE(1): 14806144650
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DN: 14806144650
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] .................................... [DONE]
[SIP/Session/SP/FarEndRtg/FarEndDM/] .............................................. [DONE]
[SIP/Session/SP/FarEndRtg/] Found NE: pstnout_2 (E164Compliant)
[SIP/Session/SP/FarEndRtg/] Adding contact #2: 14806144650@192.168.150.223
[SIP/Session/SP/FarEndRtg/] associated cost is 7
[SIP/Session/SP/FarEndRtg/FarEndDM/] .............................................. [START]
[SIP/Session/SP/FarEndRtg/FarEndDM/] Applying DM using index: 9001
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] .................................... [START]
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DM: LTR(1),PRE(1)
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DN: 14806144650
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] LTR(1): 4806144650
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] PRE(1): 14806144650
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DN: 14806144650
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] .................................... [DONE]
[SIP/Session/SP/FarEndRtg/FarEndDM/] .............................................. [DONE]
[SIP/Session/SP/FarEndRtg/] Found NE: pstnout_3 (E164Compliant)
[SIP/Session/SP/FarEndRtg/] Adding contact #3: 14806144650@192.168.245.185
[SIP/Session/SP/FarEndRtg/] associated cost is 8
[SIP/Session/SP/FarEndRtg/] Location Routing is enabled
[SIP/Session/SP/FarEndRtg/] Overflow routing is disabled
[SIP/Session/SP/FarEndRtg/] Exiting with BREAK
[SIP/Session/SP/FarEndRtg/] ....................................................... [DONE]
[SIP/Session/SP/] ................................................................. [DONE]
[SIP/Session/Proxy/] .............................................................. [START]
[SIP/Session/Proxy/] .............................................................. [DONE]
[SIP/Session/] .................................................................... [DONE]
[SIP/Result/] ..................................................................... [START]

9
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

[SIP/Result/] ----- Routing & Translation Results -----


[SIP/Result/] Returned Response: 302 --- Moved temporarily
[SIP/Result/] List of contacts: 3 entry(ies)
[SIP/Result/] 1) <sip:14806144650@192.168.101.239;user=phone;net-
ind=InterNetwork>;q=0.5;cat=NATIONAL;ct=TO;ton=PUBLIC
[SIP/Result/] 2) <sip:14806144650@192.168.150.223;user=phone;net-
ind=InterNetwork>;q=0.33;cat=NATIONAL;ct=TO;ton=PUBLIC
[SIP/Result/] 3) <sip:14806144650@192.168.245.185;user=phone;net-
ind=InterNetwork>;q=0.17;cat=NATIONAL;ct=TO;ton=PUBLIC
[SIP/Result/] ..................................................................... [DONE]
[SIP/] ............................................................................ [DONE]
[] ----- Outgoing Message -----
[]

SIP/2.0 302 Moved temporarily


Via:SIP/2.0/UDP 127.0.0.1
From:<sip:14804260220@192.168.245.101>
To:<sip:14806144650@ns01>;tag=154585413-1435180203293
Call-ID:123
CSeq:123 INVITE
Contact:<sip:14806144650@192.168.101.239;user=phone;net-
ind=InterNetwork>;q=0.5;cat=NATIONAL;ct=TO;ton=PUBLIC,<sip:14806144650@192.1
68.150.223;user=phone;net-
ind=InterNetwork>;q=0.33;cat=NATIONAL;ct=TO;ton=PUBLIC,<sip:14806144650@192.
168.245.185;user=phone;net-
ind=InterNetwork>;q=0.17;cat=NATIONAL;ct=TO;ton=PUBLIC

VTR Example 2 - On-Network Call:

NS_CLI/System/Util/Verif> vtr 14804260220 14804260115


---------------------- Validating Translation and Routing ----------------------

[] ----- Incoming Message -----


INVITE sip:14804260115@ns01 SIP/2.0
To:<sip:14804260115@ns01>
Call-ID:123
CSeq:123 INVITE
Via:SIP/2.0/UDP 127.0.0.1
Remote-Party-ID:<sip:14804260220@192.168.145.101>
From:<sip:14804260220@192.168.145.101>

10
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

[SIP/] ............................................................................ [START]


[SIP/] ----- Creating the Verification Session -----
[SIP/Session/] .................................................................... [START]
[SIP/Session/] Call not from a Routing NE (from lookup of 127.0.0.1)
[SIP/Session/] Call not a proxy IMS call
[SIP/Session/] Originator taken from: Remote-Party-ID header
[SIP/Session/] FROM E164 is now: 1-480-4260220 (dn, valid)
[SIP/Session/] TO E164 is now: 1-480-4260115 (dn, valid)
[SIP/Session/] No Content in SIP message.
[SIP/Session/] Get Profile for DN: 14804260220
[SIP/Session/] Using country code: 1 [country code of calling DN 14804260220]
[SIP/Session/] ----- Info DN #1 -----
[SIP/Session/] (DN, Group, Network Element, SP, Enterprise, IntraLata, InterLata,
International)
[SIP/Session/] (14804260220, nextiva_g1, bwas, SystemSP, nextiva_ent, 0, 0, 0)
[SIP/Session/] Enterprise (SP, Name, IntraLata, InterLata, International, Profile)
[SIP/Session/] (SystemSP, nextiva_ent, 0, 0, 0, hosting)
[SIP/Session/] Site (SP, Ent, Site, Source ID, Profile)
[SIP/Session/] (SystemSP, nextiva_ent, DFLT_SITE, , hosting)
[SIP/Session/] ----- Policies for Enterprise: nextiva_ent -----
[SIP/Session/] List of private and public policies for this enterprise:
[SIP/Session/] 1) voiceVPN -
[SIP/Session/] 2) ExtDialing -
[SIP/Session/] ----- Public policies in Site Profile: hosting -----
[SIP/Session/] List of policy instances for this profile:
[SIP/Session/] 1) SubLocation DefaultInst
[SIP/Session/] 2) FarEndRtg DefaultInst
[SIP/Session/] 3) MediaSrvSel DefaultInst
[SIP/Session/] 4) CallTyping DefaultInst
[SIP/Session/] 5) NearEndRtg DefaultInst
[SIP/Session/] 6) SvcCtrRtg DefaultInst
[SIP/Session/] ----- Public policies in Profile: hosting -----
[SIP/Session/] List of policy instances for this profile:
[SIP/Session/] 7) SubLocation DefaultInst [not used]
[SIP/Session/] 8) FarEndRtg DefaultInst [not used]
[SIP/Session/] 9) MediaSrvSel DefaultInst [not used]

11
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

[SIP/Session/] 10) CallTyping DefaultInst [not used]


[SIP/Session/] 11) NearEndRtg DefaultInst [not used]
[SIP/Session/] 12) SvcCtrRtg DefaultInst [not used]
[SIP/Session/] ----- Policies in order of execution -----
[SIP/Session/] 1) ExtDialing -
[SIP/Session/] 2) voiceVPN -
[SIP/Session/] 3) CallTyping DefaultInst
[SIP/Session/] 4) MediaSrvSel DefaultInst
[SIP/Session/] 5) SubLocation DefaultInst
[SIP/Session/] 6) SvcCtrRtg DefaultInst
[SIP/Session/] 7) FarEndRtg DefaultInst
[SIP/Session/] 8) NearEndRtg DefaultInst
[SIP/Session/InDM/] ............................................................... [START]
[SIP/Session/InDM/] No digit manipulation index
[SIP/Session/InDM/] ............................................................... [DONE]
[SIP/Session/Ent/] ................................................................ [START]
[SIP/Session/Ent/ExtDialing/] ..................................................... [START]
[SIP/Session/Ent/ExtDialing/] No Intra-Group Calling attached to this call
[SIP/Session/Ent/ExtDialing/] Exiting with CONTINUE
[SIP/Session/Ent/ExtDialing/] ..................................................... [DONE]
[SIP/Session/Ent/voiceVPN/] ....................................................... [START]
[SIP/Session/Ent/voiceVPN/] Setting call selector to enterprise default: PUBLIC
[SIP/Session/Ent/voiceVPN/] Terminating DN is 14804260115
[SIP/Session/Ent/voiceVPN/] No location code match found
[SIP/Session/Ent/voiceVPN/] ....................................................... [DONE]
[SIP/Session/Ent/] ................................................................ [DONE]
[SIP/Session/SP/] ................................................................. [START]
[SIP/Session/SP/CallTyping/] ...................................................... [START]
[SIP/Session/SP/CallTyping/] Event IN : {ct=NIL,pfx=0,tags=[]}
[SIP/Session/SP/CallTyping/] Using country code 1
[SIP/Session/SP/CallTyping/] Dial Plan is NADP
[SIP/Session/SP/CallTyping/] Found PREFIX match for 14804260115
[SIP/Session/SP/CallTyping/] Setting Call Type to TO
[SIP/Session/SP/CallTyping/] Setting Call Category to NATIONAL
[SIP/Session/SP/CallTyping/] Setting Prefix (before=0,after=1)
[SIP/Session/SP/CallTyping/] Prefix changed, TO E164 is now: 48-0-4260115 (dn, valid)
[SIP/Session/SP/CallTyping/] TO is now: 14804260115

12
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

[SIP/Session/SP/CallTyping/] TO E164 is now: 1-480-4260115 (dn, valid)


[SIP/Session/SP/CallTyping/] Term. DN completed with orig NDC: 14804260115
[SIP/Session/SP/CallTyping/] Normalization... TO E164 is now: 1-480-4260115 (dn, valid)
[SIP/Session/SP/CallTyping/] Event OUT:{ct=TO,pfx=1,tags=[]}
[SIP/Session/SP/CallTyping/] Exiting with CONTINUE
[SIP/Session/SP/CallTyping/] ...................................................... [DONE]
[SIP/Session/SP/SubLocation/] ..................................................... [START]
[SIP/Session/SP/SubLocation/] Retreiving Host for DN: 14804260115
[SIP/Session/SP/SubLocation/] DN currently active on hostingNE "bwas" node: 0
[SIP/Session/SP/SubLocation/] Group nextiva_g1 Host bwas uses NE maintenance
partition: systemNEMtcePartition (from system)
[SIP/Session/SP/SubLocation/] Adding contact: 14804260115@192.168.145.101:5060
[SIP/Session/SP/SubLocation/] Adding contact: 14804260115@192.168.245.101:5060
[SIP/Session/SP/SubLocation/] Exiting with BREAK
[SIP/Session/SP/SubLocation/] ..................................................... [DONE]
[SIP/Session/SP/] ................................................................. [DONE]
[SIP/Session/Proxy/] .............................................................. [START]
[SIP/Session/Proxy/] .............................................................. [DONE]
[SIP/Session/] .................................................................... [DONE]
[SIP/Result/] ..................................................................... [START]
[SIP/Result/] ----- Routing & Translation Results -----
[SIP/Result/] Returned Response: 302 --- Moved temporarily
[SIP/Result/] List of contacts: 2 entry(ies)
[SIP/Result/] 1) <sip:+14804260115@192.168.145.101:5060;user=phone;net-
ind=IntraAS>;q=0.5;group-id="nextiva_g1";ton=PUBLIC;cat=NATIONAL;ct=TO
[SIP/Result/] 2) <sip:+14804260115@192.168.245.101:5060;user=phone;net-
ind=IntraAS>;q=0.25;group-id="nextiva_g1";ton=PUBLIC;cat=NATIONAL;ct=TO
[SIP/Result/] ..................................................................... [DONE]
[SIP/] ............................................................................ [DONE]
[] ----- Outgoing Message -----
[]

SIP/2.0 302 Moved temporarily


Via:SIP/2.0/UDP 127.0.0.1
From:<sip:14804260220@192.168.145.101>
To:<sip:14804260115@ns01>;tag=1390407959-1435276601620
Call-ID:123

13
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

CSeq:123 INVITE
Contact:<sip:+14804260115@192.168.145.101:5060;user=phone;net-
ind=IntraAS>;q=0.5;group-
id="nextiva_g1";ton=PUBLIC;cat=NATIONAL;ct=TO,<sip:+14804260115@192.168.245.1
01:5060;user=phone;net-ind=IntraAS>;q=0.25;group-
id="nextiva_g1";ton=PUBLIC;cat=NATIONAL;ct=TO

Services and Priorities


Many of the BroadWorks services Nextiva offers are available to the entire group as well as each
individual user. With the variety of services available, there is a hierarchy of what service precede
other services. All services and features and the group level will have a priority over services set
at the user level.

Group Level Forwarding Services: Group level services refers to Call Centers and Hunt Groups.
Any user who is in a Hunt Group or Call Center will have their forwarding options ignored if the
Hunt Group or Call Center is dialed. Often customers will request that their cell phone or other
external device ring with a group of phones, which is not possible in the Office Pro or Office Pro
Plus product offerings. An Office Enterprise customer has access to two premium features,
Nextiva Anywhere and Remote Office, which will allow for external device to ring every time the
user’s device rings, regardless of the group policies.

Call Centers and Hunt Groups can have additional features added to them, to reroute and block
calls. Call Forwarding Selective has the highest priority for call routing. Call Forwarding Selective
will act like Call Forwarding Always, sending calls to a different location during specific time
frames. Call Forwarding Always has the second highest priority of the different call forwarding
choices. If Call Forwarding Always is applied to a group service, the calls will follow this
forwarding rule. If both Call Forwarding Always and Selective are enabled, the Call Forwarding
Selective takes precedence while the criteria for the feature are met.

Series Completion is the only group feature that will be affected by user level forwarding options.
Series Completion requires the user to be busy prior to moving down the list of users in the
Series Completion group. Simultaneous Ring, Selective Ring, Call Waiting and all Call Forwarding
options will need to be disabled for Series Completion to work when a user is already on a call.

14
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

User Level Forwarding Services: Users have the same features available to them as the group
services do. A user can configure their own Call Forwarding, which have the same priority levels
as the related features at the group level. Users have two additional forwarding options available
to them, which were not available to the group services; Simultaneous Ring and Sequential Ring.
Sequential Ring will act like a regular ring pattern hunt group, while Simultaneous Ring will act like
a hunt group with a simultaneous ring pattern. Sequential Ring and Simultaneous Ring will only
work if the user is called directly. These two ring types can conflict with each other, as well as
with other Call Forwarding options. A priority has been assigned to each of the forwarding
options:

1) Call Forwarding Selective


2) Call Forwarding Always
3) Sequential Ring
4) Simultaneous Ring
Call Forwarding Busy is another feature that will route calls to another location. Call Forwarding
Busy is one of the lowest priority forwarding options, which will only work is if the user has Call
Waiting turned off, as well as all of the other four Call Forwarding options listed above. Call
Forwarding No Answer is another Call Forwarding option, which has the same priority of Call
Forwarding Busy. Call Forwarding Busy and Call Forwarding No Answer can be used together
since they have no direct conflicts. However, if a user puts their phone on Do Not Disturb, the
Call Forwarding Always option will be the primary routing option. If there is no Call Forward
Always, the Call Forwarding Busy will be the second priority. If neither of these forwarding
options are set, then the call will be sent to voicemail.

CommPilot Express allows the user to create four different Call Forwarding options that they can
use with the Nextiva Toolbar and other supplemental products. CommPilot Express will only
work correctly if the Call Forwarding Always and Call Forwarding Selective have been disabled.
CommPilot will have a higher priority than the other forwarding options.

Remote Office and Nextiva Anywhere are two features that allow a cell phone to ring when they
are part of a hunt group. However, if the user is called directly, these two features are on the
bottom of the priority list.

15
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Additional Services: Users and Group level features have common services that can be utilized
to intercept calls. Selective Call Rejection will intercept calls from a preset list, preventing the
caller from reaching the Call Center, Auto Attendant, Hunt Group or the user. Anonymous Call
Rejections will reject all calls from callers who have an Anonymous Caller ID. Selective Call
Acceptance will only allow a preset list of callers to reach the user. Call Intercept is similar to
Selective Call Rejection, except that it intercepts all calls instead of users on the preconfigured
list. Call Intercept can send the call to another location or give a message to the caller that the
device or feature has been disabled. Some of the above acceptance and rejection features can
conflict with each other, so they follow this priority list:

1) Group/User Intercept
2) Selective Call Acceptance/Anonymous Call Rejection (Don’t conflict)
3) Selective Call Rejection
All of the above features have a higher priority than any of the Call Forwarding options that are
offered.

Sending calls straight to voicemail is another option that a customer can choose. By default, all
users will have a personal voicemail, and the group services will require that the voicemail feature
is assigned. The “Send All Calls to Voicemail” option can be located in the Messaging section
(Figure 2-1).

Figure 2-1 Messaging Tab

On the Messaging page, locate and select the “Voice Management” option. A new page will load
with a check box to send all calls to Voicemail (Figure 2-2).

16
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Figure 2-2: Send All Calls to Voicemail

Just like the Call Forwarding options, if a Hunt Group or Call Center is called, the “Send All Calls
to Voicemail” option will be ignored if set at the user level.

The Directed Call Pickup feature allows a user to answer any phone that is ringing in the office.
The feature can be used with other services as long as the call is still within the group. A call
cannot be picked up from a secondary device if the call is already being presented to an external
device like a cell phone. The Directed Call Pickup will not follow the Selective Call Rejection or
Selective Call Acceptance policies.

The Push to Talk feature allows for one user to page another user, similar to a walkie-talkie. Push
to Talk will work if the caller has their numbers forwarded, as the push to talk feature will act like
a phone call instead of a paging system. The Auto-Answer portion will not work if the call is
being forwarded. If a Simultaneous Ring or Sequential Ring is setup, only the primary device will
receive the Push to Talk Request.

17
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Voice VPN
Voice Virtual Private Network (Voice VPN) is an application that uses IP networks to enable
multi-location enterprises to configure their private dial plans for on-net call routing. Using
simplified dial patterns, users within an enterprise can call each other by dialing the appropriate
location code and extension.

While it is the best practice to dial the full 10 digit phone number for all outbound calls, many
customers want the ability to dial local numbers without having to dial the area code. At Nextiva,
Voice VPN is used to enable seven-digit dialing by prepending the area code digits. See the
Support Wiki for the latest configuration requirements for enabling seven-digit dialing via Voice
VPN

VTR Example 3 - Voice VPN applied:

NS_CLI/System/Util/Verif> vtr 15598972931 6002822


---------------------- Validating Translation and Routing ----------------------

[] ----- Incoming Message -----


[]

INVITE sip:6002822@ns01 SIP/2.0


To:<sip:6002822@ns01>
Call-ID:123
CSeq:123 INVITE
Via:SIP/2.0/UDP 127.0.0.1
Remote-Party-ID:<sip:15598972931@192.168.245.101>
From:<sip:15598972931@192.168.245.101>

[SIP/] ............................................................................ [START]


[SIP/] ----- Creating the Verification Session -----
[SIP/Session/] .................................................................... [START]
[SIP/Session/] Call not from a Routing NE (from lookup of 127.0.0.1)
[SIP/Session/] Call not a proxy IMS call
[SIP/Session/] Originator taken from: Remote-Party-ID header
[SIP/Session/] FROM E164 is now: 1-559-8972931 (dn, valid)
[SIP/Session/] TO E164 is now: 60-0-2822 (dn, valid)

18
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

[SIP/Session/] No Content in SIP message.


[SIP/Session/] Get Profile for DN: 15598972931
[SIP/Session/] Using country code: 1 [country code of calling DN 15598972931]
[SIP/Session/] ----- Info DN #1 -----
[SIP/Session/] (DN, Group, Network Element, SP, Enterprise, IntraLata, InterLata,
International)
[SIP/Session/] (15598972931, 1801699G, bwas, SystemSP, 1914898, 0, 0, 0)
[SIP/Session/] Enterprise (SP, Name, IntraLata, InterLata, International, Profile)
[SIP/Session/] (SystemSP, 1914898, 0, 0, 0, hosting)
[SIP/Session/] Site (SP, Ent, Site, Source ID, Profile)
[SIP/Session/] (SystemSP, 1914898, DFLT_SITE, , hosting)
[SIP/Session/] ----- Policies for Enterprise: 1914898 -----
[SIP/Session/] List of private and public policies for this enterprise:
[SIP/Session/] 1) voiceVPN -
[SIP/Session/] 2) ExtDialing -
[SIP/Session/] ----- Public policies in Site Profile: hosting -----
[SIP/Session/] List of policy instances for this profile:
[SIP/Session/] 1) SubLocation DefaultInst
[SIP/Session/] 2) FarEndRtg DefaultInst
[SIP/Session/] 3) MediaSrvSel DefaultInst
[SIP/Session/] 4) CallTyping DefaultInst
[SIP/Session/] 5) NearEndRtg DefaultInst
[SIP/Session/] 6) SvcCtrRtg DefaultInst
[SIP/Session/] ----- Public policies in Profile: hosting -----
[SIP/Session/] List of policy instances for this profile:
[SIP/Session/] 7) SubLocation DefaultInst [not used]
[SIP/Session/] 8) FarEndRtg DefaultInst [not used]
[SIP/Session/] 9) MediaSrvSel DefaultInst [not used]
[SIP/Session/] 10) CallTyping DefaultInst [not used]
[SIP/Session/] 11) NearEndRtg DefaultInst [not used]
[SIP/Session/] 12) SvcCtrRtg DefaultInst [not used]
[SIP/Session/] ----- Policies in order of execution -----
[SIP/Session/] 1) ExtDialing -
[SIP/Session/] 2) voiceVPN -
[SIP/Session/] 3) CallTyping DefaultInst
[SIP/Session/] 4) MediaSrvSel DefaultInst
[SIP/Session/] 5) SubLocation DefaultInst

19
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

[SIP/Session/] 6) SvcCtrRtg DefaultInst


[SIP/Session/] 7) FarEndRtg DefaultInst
[SIP/Session/] 8) NearEndRtg DefaultInst
[SIP/Session/InDM/] ............................................................... [START]
[SIP/Session/InDM/] No digit manipulation index
[SIP/Session/InDM/] ............................................................... [DONE]
[SIP/Session/Ent/] ................................................................ [START]
[SIP/Session/Ent/ExtDialing/] ..................................................... [START]
[SIP/Session/Ent/ExtDialing/] No Intra-Group Calling attached to this call
[SIP/Session/Ent/ExtDialing/] Exiting with CONTINUE
[SIP/Session/Ent/ExtDialing/] ..................................................... [DONE]
[SIP/Session/Ent/voiceVPN/] ....................................................... [START]
[SIP/Session/Ent/voiceVPN/] Setting call selector to enterprise default: PUBLIC
[SIP/Session/Ent/voiceVPN/] Terminating DN is 6002822
[SIP/Session/Ent/voiceVPN/] Location code match(es) found:
[SIP/Session/Ent/voiceVPN/] 600
[SIP/Session/Ent/voiceVPN/] Extension restrictions are satisfied with entry
[SIP/Session/Ent/voiceVPN/] Applying digit manipulations on terminating DN: 6002822
[SIP/Session/Ent/voiceVPN/DM Engine/] ............................................. [START]
[SIP/Session/Ent/voiceVPN/DM Engine/] DM: PRE(559)
[SIP/Session/Ent/voiceVPN/DM Engine/] DN: 6002822
[SIP/Session/Ent/voiceVPN/DM Engine/] PRE(559): 5596002822
[SIP/Session/Ent/voiceVPN/DM Engine/] DN: 5596002822
[SIP/Session/Ent/voiceVPN/DM Engine/] ............................................. [DONE]
[SIP/Session/Ent/voiceVPN/] TO E164 is now: 55-9-6002822 (dn, valid)
[SIP/Session/Ent/voiceVPN/] Terminating DN is now 5596002822
[SIP/Session/Ent/voiceVPN/] Setting call selector to: PUBLIC
[SIP/Session/Ent/voiceVPN/] ....................................................... [DONE]
[SIP/Session/Ent/] ................................................................ [DONE]
[SIP/Session/SP/] ................................................................. [START]
[SIP/Session/SP/CallTyping/] ...................................................... [START]
[SIP/Session/SP/CallTyping/] Event IN : {ct=NIL,pfx=0,tags=[]}
[SIP/Session/SP/CallTyping/] Using country code 1
[SIP/Session/SP/CallTyping/] Dial Plan is NADP
[SIP/Session/SP/CallTyping/] Found PREFIX match for 5596002822
[SIP/Session/SP/CallTyping/] Setting Call Type to LO
[SIP/Session/SP/CallTyping/] Setting Call Category to LOCAL

20
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

[SIP/Session/SP/CallTyping/] Setting Prefix (before=0,after=0)


[SIP/Session/SP/CallTyping/] TO is now: 5596002822
[SIP/Session/SP/CallTyping/] TO E164 is now: 1-559-6002822 (dn, valid)
[SIP/Session/SP/CallTyping/] Term. DN completed with orig NDC: 5596002822
[SIP/Session/SP/CallTyping/] Normalization... TO E164 is now: 1-559-6002822 (dn, valid)
[SIP/Session/SP/CallTyping/] Event OUT:{ct=LO,pfx=0,tags=[]}
[SIP/Session/SP/CallTyping/] Exiting with CONTINUE
[SIP/Session/SP/CallTyping/] ...................................................... [DONE]
[SIP/Session/SP/SubLocation/] ..................................................... [START]
[SIP/Session/SP/SubLocation/] Retreiving Host for DN: 15596002822
[SIP/Session/SP/SubLocation/] WARNING: Subscriber not found
[SIP/Session/SP/SubLocation/] Exiting with CONTINUE
[SIP/Session/SP/SubLocation/] ..................................................... [DONE]
[SIP/Session/SP/SvcCtrRtg/] ....................................................... [START]
[SIP/Session/SP/SvcCtrRtg/] Policy not triggered for call type
[SIP/Session/SP/SvcCtrRtg/] ....................................................... [DONE]
[SIP/Session/SP/FarEndRtg/] ....................................................... [START]
[SIP/Session/SP/FarEndRtg/] Querying the ClosestNEsFinder for 15596002822
[SIP/Session/SP/FarEndRtg/] Found 3 result(s)
[SIP/Session/SP/FarEndRtg/FarEndDM/] .............................................. [START]
[SIP/Session/SP/FarEndRtg/FarEndDM/] Applying DM using index: 9001
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] .................................... [START]
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DM: LTR(1),PRE(1)
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DN: 15596002822
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] LTR(1): 5596002822
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] PRE(1): 15596002822
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DN: 15596002822
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] .................................... [DONE]
[SIP/Session/SP/FarEndRtg/FarEndDM/] .............................................. [DONE]
[SIP/Session/SP/FarEndRtg/] Found NE: pstnout_1 (E164Compliant)
[SIP/Session/SP/FarEndRtg/] Adding contact #1: 15596002822@192.168.101.239
[SIP/Session/SP/FarEndRtg/] associated cost is 2
[SIP/Session/SP/FarEndRtg/FarEndDM/] .............................................. [START]
[SIP/Session/SP/FarEndRtg/FarEndDM/] Applying DM using index: 9001
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] .................................... [START]
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DM: LTR(1),PRE(1)
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DN: 15596002822

21
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] LTR(1): 5596002822


[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] PRE(1): 15596002822
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DN: 15596002822
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] .................................... [DONE]
[SIP/Session/SP/FarEndRtg/FarEndDM/] .............................................. [DONE]
[SIP/Session/SP/FarEndRtg/] Found NE: pstnout_2 (E164Compliant)
[SIP/Session/SP/FarEndRtg/] Adding contact #2: 15596002822@192.168.150.223
[SIP/Session/SP/FarEndRtg/] associated cost is 7
[SIP/Session/SP/FarEndRtg/FarEndDM/] .............................................. [START]
[SIP/Session/SP/FarEndRtg/FarEndDM/] Applying DM using index: 9001
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] .................................... [START]
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DM: LTR(1),PRE(1)
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DN: 15596002822
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] LTR(1): 5596002822
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] PRE(1): 15596002822
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] DN: 15596002822
[SIP/Session/SP/FarEndRtg/FarEndDM/DM Engine/] .................................... [DONE]
[SIP/Session/SP/FarEndRtg/FarEndDM/] .............................................. [DONE]
[SIP/Session/SP/FarEndRtg/] Found NE: pstnout_3 (E164Compliant)
[SIP/Session/SP/FarEndRtg/] Adding contact #3: 15596002822@192.168.245.185
[SIP/Session/SP/FarEndRtg/] associated cost is 8
[SIP/Session/SP/FarEndRtg/] Location Routing is enabled
[SIP/Session/SP/FarEndRtg/] Overflow routing is disabled
[SIP/Session/SP/FarEndRtg/] Exiting with BREAK
[SIP/Session/SP/FarEndRtg/] ....................................................... [DONE]
[SIP/Session/SP/] ................................................................. [DONE]
[SIP/Session/Proxy/] .............................................................. [START]
[SIP/Session/Proxy/] .............................................................. [DONE]
[SIP/Session/] .................................................................... [DONE]
[SIP/Result/] ..................................................................... [START]
[SIP/Result/] ----- Routing & Translation Results -----
[SIP/Result/] Returned Response: 302 --- Moved temporarily
[SIP/Result/] List of contacts: 3 entry(ies)
[SIP/Result/] 1) <sip:15596002822@192.168.101.239;user=phone;net-
ind=InterNetwork>;q=0.5;cat=LOCAL;ct=LO;ton=PUBLIC
[SIP/Result/] 2) <sip:15596002822@192.168.150.223;user=phone;net-
ind=InterNetwork>;q=0.33;cat=LOCAL;ct=LO;ton=PUBLIC

22
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

[SIP/Result/] 3) <sip:15596002822@192.168.245.185;user=phone;net-
ind=InterNetwork>;q=0.17;cat=LOCAL;ct=LO;ton=PUBLIC
[SIP/Result/] ..................................................................... [DONE]
[SIP/] ............................................................................ [DONE]
[] ----- Outgoing Message -----
[]

SIP/2.0 302 Moved temporarily


Via:SIP/2.0/UDP 127.0.0.1
From:<sip:15598972931@192.168.245.101>
To:<sip:6002822@ns01>;tag=600109102-1436221268446
Call-ID:123
CSeq:123 INVITE
Contact:<sip:15596002822@192.168.101.239;user=phone;net-
ind=InterNetwork>;q=0.5;cat=LOCAL;ct=LO;ton=PUBLIC,<sip:15596002822@192.168.1
50.223;user=phone;net-
ind=InterNetwork>;q=0.33;cat=LOCAL;ct=LO;ton=PUBLIC,<sip:15596002822@192.168.
245.185;user=phone;net-ind=InterNetwork>;q=0.17;cat=LOCAL;ct=LO;ton=PUBLIC

North American Dial Plan (NADP) International without +1


The structure of the North American Dial Plan (NADP) includes an option to require toll alerting,
which makes it necessary to prefix a 10-digit number with a 1. While most areas require toll
alerting, there are several area codes that do not require alerting, which allows for 10-digit dialing
without a 1 prefix (such as Toronto, Canada). The BroadWorks Application Server can be
configured to allow international calling within the NADP without a +1 prefix for those areas that
allow it. The standard dial plans follow the rules in Figure 2-3 in most cases.

23
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Local within Local outside Toll within area Toll outside


area code area code code area code

Single code area, with Seven-Digit or


Seven-Digit 1+10-Digit 1+10-Digit
toll alerting 10-Digit

Single code area, Seven-Digit or


Seven-Digit 1+10-Digit 1+10-Digit
without toll alerting 1+10-Digit

Overlaid area, with toll


10-Digit 10-Digit 1+10-Digit 1+10-Digit
alerting

Overlaid area, without 10-Digit or 10-Digit or


1+10-Digit 1+10-Digit
toll alerting 1+10-Digit 1+10-Digit

Figure 2-3: Standard Dial Plans in NADP

Application Server Dial Plan Example (truncated):

NS_CLI/System/CallP/CountryCodes/DialPlan/Entry> get 1 NADP


About to access 457 entries. Continue?
Please confirm (Yes, Y, No, N): Y
Retrieving data... Please wait...
CC Dial Plan From To Match Min Max Call Type Prefix Action Call Ind
Description
===================================================================
====================================================
1 NADP 001 010 prefix 3 30 TRMT 0 TRMT=invld
1 NADP 01120 01120 prefix 5 30 IN 3 aci=int Egypt
1 NADP 011211 011211 prefix 6 30 IN 3 aci=int South Sudan
1 NADP 011212 011212 prefix 6 30 IN 3 aci=int Morocco
1 NADP 011213 011213 prefix 6 30 IN 3 aci=int Algeria
1 NADP 011216 011216 prefix 6 30 IN 3 aci=int Tunisia
1 NADP 011218 011218 prefix 6 30 IN 3 aci=int Libya

24
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Call Types
There are multiple call types that can be configured and used within the BroadWorks Network
Servers. The CallTypes table in the Network Server (Figure 2-3) has the following headings:

• CallType: The call type code.


• Description: A description of the call type.
• Category: This call type is categorized as local.
• Scope: Level where the Call Type is defined.
• SupportE164: Specifies if the call type supports the E.164 format. E.164 is a
recommendation for an international public telecommunication numbering plan, which
defines a general format for international telephone numbers.
• Charge: Indicates if the call type should be chargeable or not.

Figure 2-4: CallTypes Table

25
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Oracle® TimesTen Database


Oracle TimesTen In-Memory Database is a memory-optimized relational database that empowers
applications with the instant responsiveness and very high throughput required by today's real-
time enterprises and industries in communications, financial services, web applications, travel
logistics, gaming, and more. Deployed in the application tier as an embedded or standalone
database, Oracle TimesTen In-Memory Database operates on databases that fit entirely in
physical memory using standard SQL interfaces. The included replication technology enables
real-time transactional replication between TimesTen databases for high availability and load
sharing. All network and call processing data for Nextiva is stored in a TimesTen Database.

Call Processing Language Scripts


The Call Processing Language (CPL) is used to describe and control Internet telephony services
within BroadWorks, through the creation of service scripts. CPL is part of a proposed standard
that was submitted to the International Engineering Task Force (IETF). CPL scripts are text files
based on American Standard Code for Information Interchange (ASCII or US-ASCII), which can be
deployed across a group or for individual users, via the BroadWorks Application Server. A CPL
script tells the call processing platform (BroadWorks) how a call should be originated or
terminated. Once a call has been set up, the CPL script is no longer involved. This means the
types of services that can be created with CPL are focused on originating and terminating call
setup services. These services can be classified into the following three groups:

• Screening/rejection services
• Routing services
• Call logging/notification services

CPL scripts are only used at Nextiva for very specific cases, which must be approved by
Customer Systems Engineering (CSE) or the Chief Information Officer (CIO).

INFO Messages
When looking for call processing issues, SIP INFO Messages can identify additional processing
and flow details of a call, such as which numbers the user dialed in the IVR, which files were used
for media (Figure 2-5).

26
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Figure 2-5: Info Message

27
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Section Three – Acme/Oracle Session Border


Controllers
A session border controller (SBC) is a device regularly deployed in Voice over Internet Protocol
(VoIP) networks to exert control over the signaling and usually also the media streams involved in
setting up, conducting, and tearing down telephone calls or other interactive media
communications. Early deployments of SBCs were focused on the borders between two service
provider networks in a peering environment. This role has now expanded to include significant
deployments between a service provider's access network and a backbone network to provide
service to residential and/or enterprise customers. Figure 3-1 shows the different layers of the
SBC.

“Session" refers to a communication between two parties, which in the case of VoIP relates to a
SIP session for a call. Each call, or session, consists of one or more call signaling message
exchanges that control the call, and one or more call media streams which carry the call's audio,
video or other data, along with information about call statistics and quality. It is the job of a
session border controller to exert influence over the data flows of sessions.

“Border" refers to a point of demarcation between one part of a network and another. As a
simple example, at the edge of a corporate network, a firewall demarcates the local network
(inside the corporation) from the rest of the Internet (outside the corporation). It is the job of a
session border controller to assist policy administrators in managing the flow of session data
across these borders.

“Controller" refers to the influence that session border controllers have on the data streams that
comprise sessions, as they traverse borders between one part of a network and another.
Additionally, session border controllers often provide measurement, access control and data
conversion facilities for the calls they control.

Note: Acme Packet was purchased by Oracle, so Acme SBC and Oracle SBC are interchangeable
terms that speak of the same devices.

28
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Figure 3-1: SBC Layers

29
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Proxy vs. Back-to-Back User Agents (B2BUA)


Proxy: A proxy server receives a request and relays the message on. For this purpose it analyzes
the request-URI and makes some routing decisions. It will add it’s “Via:” header field, decrement
the number in “Max-Forwards:”, and maybe make additional changes; However, the message will
typically remain the same. The responses are relayed back using the information in the next to
the top-most “Via:”.

Back-to-Back User Agents (B2BUA): The B2BUA has, on each side, a User Agent (UA) or User
Agent Server-User Agent Client (UAS-UAC) pair. For the external device, this UA represents a
proxy or a target device. The UA, internally, interacts with an application. Depending on many
factors the application may decide to initiate a call through the other UA where this call can be
on behalf of the call that came in. Comparing the incoming INVITE to the outgoing INVITE, they
will be quite different.

So in the case of a proxy, we deal with “relayed” messages, while in the case of a B2BUA we deal
with “re-originated” messages.

By having a suite of application functions between the UAs in the B2BUA, and the fact that the
original and re-originated SIP messages are different, the B2BUA separates, or isolates between
SIP environments. In other words, a B2BUA can function as a “Border Element” and it is the main
mechanism in a SBC (Figure 3-2).

30
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Figure 3-2: Proxy vs B2BUA

31
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Topology Information Hiding by B2BUA: One of the many important functions a B2BUA can
perform is translating explicit IP addresses that appear in the SIP message. This prevents IP
addressing scheme details of one environment from being known in another environment. This
feature is also known as “Topology Hiding”.

Figure 3-3 shows how the B2BUA changes explicit IP addresses in the Request-URI, Via: and
Contact: fields. Often a device adds its own IP to the Call-ID string to improve its uniqueness.
The B2BUA hides that IP address too by generating a brand new Call-ID. Similar translations will
occur for other requests as well as for the responses.

Figure 3-3: Topology Hiding

Access-Backbone Model
The access model is generally characterized by the fact that endpoints send REGISTER requests
to a registrar that resides in a different realm. This model is normally configured in an SBC that
resides between realms (Figure 3-4):

• Service Provider <- -> Served end-user population


• Enterprise <- -> Remote worker population

32
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Figure 3-4: Access-Backbone Model

Steering Pools and Sessions


The steering pool size limits the maximum number of concurrent calls (incoming + outgoing) in a
realm. A call can “consume” two or four UDP ports.

Port Allocation:

• One for two voice RTP streams


• One for two voice RTCP streams
• One for two video RTP streams
• One for two video RTCP streams

At any given moment, in a specific realm, the active calls are should be allocated as follows:

• 300 Voice Calls -> 600 Ports allocated


• 500 Voice/Video Calls -> 2000 Ports allocated

33
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Note: The realm’s steering pool should have at least 2600 ports.

Proper planning of steering pools can provide call admission control based on the number of
concurrent calls. For an environment that mainly supports voice (not video) such as Pactolus, it
can be assumed that each established call will take two ports (one for RTP and one for RTCP) out
of the realms steering pool, plus two more from the other realm’s steering pool. Thus, the
steering pools can determine the maximum number of concurrent calls going into or out of a
realm.

Steering Pool Example:

3sbc1> show running-config steering-pool


steering-pool
ip-address 208.89.108.71
start-port 16384
end-port 32768
realm-id access-public-bw
network-interface
last-modified-by admin@10.101.91.107
last-modified-date 2015-06-01 20:48:23
steering-pool
ip-address 10.103.100.150
start-port 16384
end-port 32768
realm-id core-access-bw
network-interface
last-modified-by admin@10.101.91.107
last-modified-date 2015-06-01 18:44:57

Registration Caching
The purpose of registration caching ensures that the SBC maintains a cache with an entry for
each endpoint so that it can:

• Keep endpoint information


o Phone number
o IP address and port within the access realm
• Whether or not it is behind a NAT device

34
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

o If yes, the NATed IP address and port


• Route requests from backbone realm to access realm
o Cannot use local policies – too many next-hops
• Efficiently handle endpoints and registrars

Registration Caching works when the SBC receives a REGISTER request from an endpoint it will
perform the following tasks:

• Finds out whether the endpoint is behind a NAT device


• Re-originates a REGISTER request and sends it to the registrar in the backbone realm
• Receives from a registrar a 200 OK response with expires=(X) seconds
• Creates a registration cache entry for this endpoint
• Re-originates the 200 OK response with expires=(Y) seconds and sends it to the endpoint

The Registration Cache Entry


The user portion of the SIP-URI (phone number or name) specifies an endpoint’s cache entry to
be displayed. This command displays one cache entry at a time. If you enter a partial value (no
wildcards) the SBC shows the first match found in the registration cache.

The “Behind-NAT” parameter (appears only when the endpoint is behind a NAT device) in the
UA-Contact line indicates that the endpoint is behind a NAT/firewall device. The SBC stores an
internal binding between the AOR (Address of Record) and the original contact of the user (Figure
3-6). These credentials include:

• The contact URI sent by the UA in the REGISTER Message, the originating IP address and
port, the user’s realm, and the contact URI sent to the registrar
• The user-info in the Contact URI sent to the registrar includes the original user-info from
the UA, followed by an encoded cookie.

The encoded cookie is a 13-bye encoded string that makes each registration unique. Because the
Contact header that the SBC includes in the REGISTER contains the cookie in the user-info,
subsequent INVITEs to that user must include the same URI in the Request-URI, in accordance
with RFC3261.

35
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Figure 3-6: Registration Cache Entry

Registration Cache Entry Expiration and Removal


For the Registration Cache Entry Expiration and Removal to work, the following steps will occur
or take place the order listed below:

1. The endpoint sends a REGISTER message, the NAT device binding is created or refreshed
and the (C) endpoint registers successfully and a cache entry is created
2. The endpoint for some reason (for example, network problem), failed to re-register after
the expire+grace-time. The SBC invalidates the cache entry.
3. Unless the endpoint comes back and registers, the registrar will eventually invalidate the
binding it holds.
4. It is unlikely however that before this happens the endpoint will register and in that case, a
full registration process will take place, whereby the registrar will simply refresh the
binding it holds.

36
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

5. If the endpoint is being gracefully shut down it will send a REGISER message with
expires=0, effectively indicating its intention to unregister. The SBC will re-originate the
request and send it to the registrar. The registrar will invalidate the binding it holds and
return a 200OK. Upon receiving it, the SBC will invalidate its registration cache entry and
re-originate the 200OK to the endpoint.

Enabling Registration Caching


If the NAT-traversal parameter is set to “always,” then endpoints that are behind a NAT device
will be cached (upon successful registration) even if the registration caching parameter is set to
“disabled.” In a typical access deployment, it still makes sense to set the registration-caching to
enabled, so that endpoints found not to be behind a NAT device will be cached too. The
reasoning is simple: consider an access-control setup whereby SIP requests (except the
REGISTER request itself) are only accepted from registered endpoints. Even if the endpoint that
is not behind a NAT device successfully registers at the registrar, its subsequent requests will be
rejected because it is the registration cache entry that the SBC looks at when deciding whether
or not to accept a request.

Registration-caching is setup per sip-interface (=per realm)

If set to enabled:

• All endpoints will be cached when registered

If set to disabled:

• Only endpoints behind NAT will be cached

Routing by Registration Cache


There are two distinct types of routing methods by Registration Cache:

1. When (A) calls (B)

• The Sip device puts B’s contact URI (from the location database) into the INVITE’s start-
line
• The SBC looks up the registration cache for this URI’s user-part and finds out the
endpoint’s IP address.

37
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

2. When (A) calls (B)

• The SBC, by default, will use the registration cache entry information and route the call
through itself only. However, this is not how the SBC is set at Nextiva, as all calls are
routed through the Application Servers.

This is not always a desirable outcome. In order to have the SBC route the call to the SIP device,
set the route-to-registrar parameter to enabled.

When the route-to-registrar parameter in the sip-interface is set to disabled, the SBC will use the
registration cache for routing. The SBC will not route messages such as INVITE to the SIP device
in the backbone realm if the AOR of the destination endpoint (either NATed or not-NATed) is
found in the registration cache. When route-to-registrar is set to enabled, the SBC will not use
the registration cache for routing, so any message (such as an INVITE) will be routed to the SIP
device (normally using the local-policy mechanism).

38
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Advanced Call Processes Review


Please complete the review questions below:

1. How do Pactolus App Servers differ from Broadsoft?

2. What are the three primary BroadWorks server types?

3. What is the primary function of BroadWorks Application Servers?

4. What is the primary function of BroadWorks Network Servers?

5. What is the primary function of BroadWorks Media Servers?

6. What is VTR and how is it used?

7. What are the 4 user-level forwarding services and how are they prioritized?

39
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

8. What is Voice VPN and how is it used at Nextiva?

9. List at least one useful piece of information that can be found by investigating INFO
messages?

10. What is the difference between Proxy and B2BUA in an SBC?

40
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

THIS PAGE INTENTIONALLY LEFT BLANK.

41
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)

Advanced Call Processes Quick Reference


Application Server: The BroadWorks Application Server operates at the core of BroadWorks and
is responsible for the execution of all enhanced personal and group features. The server’s
database maintains user and group profiles, as well as service and subscription data. Functions:

• Acts as SIP Back-to-Back User Agents (B2BUA) and Registrar.


• Hosts services logic and subscriber identities.
• Processes web-based provisioning requests.
• Provides incoming and outgoing permissive and non-permissive dialing.
• Logs call control events for billing.
Network Server: The BroadWorks Network Server enables BroadWorks to achieve massive
scalability and geographic redundancy. It acts as a centralized Session Initiation Protocol (SIP)
redirect server providing location services, as well as dial plan/digit translation and a rich set of
routing policies, such as least-cost routing, E911 route selection, and enterprise-focused network
applications such as Voice VPNs and web-configurable private dial plans. Functions:

• Manages Dial Plan definitions.


• Manages policies for digit string analysis.
• Manages policies for network element routing determination.
• Has an instance of database that the Application Server uses.

Broadsoft Media Server: The BroadWorks Media Server (Media Resource Function) is an open
standards-based Session Initiation Protocol (SIP) media server supporting scripting languages and
media control protocols. The BroadWorks Media Server provides announcements, record,
playback, digit detection, mixing and repeating functions. Functions:

• Multimedia Mail
• Meet Me Conferencing
• Interactive Voice Response (IVR)
• Custom Ring Back Tones
• Text to Speech (TTS)
• Automatic Speech Recognition (ASR)
• System Announcements
• Plays and records media
• Provides media based services

42
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY

You might also like