Professional Documents
Culture Documents
XAP-301 ACP Full Manual v1.2
XAP-301 ACP Full Manual v1.2
In This Module:
Learning Objectives:
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)
• 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.
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:
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:
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):
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)
• 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.
6
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
7
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
8
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
9
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
10
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
11
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
12
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
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
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:
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).
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)
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
18
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
19
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
20
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
21
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
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 -----
[]
23
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
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:
25
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
• 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)
27
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
“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)
29
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
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)
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.
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):
32
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
Port Allocation:
At any given moment, in a specific realm, the active calls are should be allocated as follows:
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.
Registration Caching
The purpose of registration caching ensures that the SBC maintains a cache with an entry for
each endpoint so that it can:
34
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
Registration Caching works when the SBC receives a REGISTER request from an endpoint it will
perform the following tasks:
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)
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.
If set to enabled:
If set to disabled:
• 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)
• 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)
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)
9. List at least one useful piece of information that can be found by investigating INFO
messages?
40
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
41
© NEXTIVA - PROPRIETARY AND CONFIDENTIAL - FOR INTERNAL USE ONLY
XAP-301: Advanced Call Processes (v1.2)
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