Stretto Platform 340 Admin Guide CP-Hosted
Stretto Platform 340 Admin Guide CP-Hosted
Stretto Platform 340 Admin Guide CP-Hosted
Guide
CounterPath-hosted - Version 3.4.0
About this document
Stretto Platform Administration Guide - CounterPath-hosted - Version 3.4.0
Publication date: 2022-11-16
This document contains information proprietary to CounterPath, and shall not be used for engineering, design, procurement, or
manufacture, in whole or in part, without the consent of CounterPath. The content of this publication is intended to demonstrate
typical uses and capabilities of Stretto Platform from CounterPath. Users of this material must determine for themselves whether
the information contained herein applies to a particular IP-based networking system. CounterPath makes no warranty regarding
the content of this document, including—but not limited to—implied warranties of fitness for any particular purpose. In no case will
CounterPath, its employees, officers or directors be liable for any incidental, indirect or otherwise consequential damage or loss
that may result after the use of this publication.
CounterPath®, Bria®, X-Lite®, and the ® logo are registered trademarks of CounterPath Corporation.
Android and Google Play are trademarks of Google Inc. Eclipse is a trademark of Eclipse Foundation, Inc.
Intel, the Intel logo, Intel Core and Core Inside are trademarks of Intel Corporation in the U.S. and/or other countries.
iOS is a trademark or registered trademark of Cisco in the U.S. and other countries and is used under license.
iPhone, iPad, iPod, Mac, mac OS, App Store, Objective–C, and Xcode are trademarks of Apple Inc., registered in the U.S. and
other countries.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Microsoft, Active Directory, Office, Excel, Outlook, and Windows are either registered trademarks or trademarks of Microsoft
Corporation in the United States and/or other countries.
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
All other products and services are the registered trademarks of their respective holders.
Related documentation
You may find these documents helpful:
l Stretto Platform Administration Guide for CounterPath an Alianza Company-hosted
installations - This document.
l Stretto Platform API Developer's Guide describes how to access Stretto Platform
through the API.
l Branding Portal User Guide explains the customization requirements for branded
softphones.
l The Bria settings spreadsheet lists Bria softphone settings. There is one for
Desktop, and another for Mobile. Contact CounterPath to acquire a copy.
Supported browsers
Stretto Admin supports these browsers:
l Most browsers that are newer than two years old support all the features of Stretto
Admin. Supported browsers include Firefox®, Chrome™, Safari™, and Opera™.
Stretto components
Platform and discriminator
A platform is a CounterPath softphone:
l Bria desktop
l Bria mobile ("iOS Edition", "Android Edition")
Each platform is identified in Stretto by a “discriminator”. For example, for Bria mobile on
iOS, the discriminator is mob.*iP.*. A discriminator may include a build number of the
client, such as desk.*69231.*.
Settings
Settings configure the behavior of the softphone. Settings can be separated into:
l Global settings: The same setting value applies to each user.
l User-specific settings: Each user has an individual value.
In addition, Bria desktop has its own list of settings (setting names) and Bria mobile has
its own list (all Bria mobile applications use the same settings, with some minor
exceptions).
Group
A Stretto group is the container for a set of attributes, templates, profiles, and users.
A group cannot share any attributes, templates, profiles, or users except through
inheritance, which permits child groups to use templates and attributes belonging to a
parent group in a hierarchical tree structure. Groups can also share an administrator, as
one administrator can handle several groups.
SPID
The SPID is a unique “service provider ID” that is branded into a Bria client at build time.
Typically, it matches the domain name of the company that has purchased the softphone
from CounterPath. In some situations, the SPID is used as the group name. See How
Stretto entities work at runtime.
Stretto administrators
Stretto administrators manage groups and the content of groups: the attributes,
templates, profiles, and users.
Provisioning templates
A Stretto provisioning template is a file that defines the format and content of the
provisioning response body — that is, the settings that will be provisioned to client
applications. In the template, the values for settings may be represented by Stretto
attributes. There are currently two provisioning file formats used by CounterPath clients:
l Bria desktop uses a format that is similar to a Microsoft Windows .ini file
l Bria mobile uses XML format
Each group contains one or more templates. Typically, you need at least one template for
Bria desktop and at least one template for Bria mobile. If a group has inherited templates,
the group may not have any local template, and it just refers to the inherited templates.
Stretto also uses templates for purposes other than provisioning, such as notification
emails, vCards, and User Portal pages. See Stretto template formats.
Attributes
Stretto attributes are variables that contain information for a group and its profiles and
users. Each attribute name has a corresponding value. For example, a group's SIP
server domain could be stored in an attribute named account1.domain with the value
sip1.acphone.com.
In the provisioning of Bria clients, a provisioning template specifies what kind of data is
sent to the client by listing attribute names. At runtime, Stretto sends the values that
correspond to each of those attributes.
Attributes belong to a group. The profiles and users in a group are automatically
populated with the group’s attributes. The value of each attribute can be either inherited
from a parent group or defined at the group level, profile level, or user level.
l Group-attributes. When an attribute's value is assigned at the group level, it is
referred to as a "group-attribute". You set the values at the group level for attributes
values that are shared by every profile and user in the group and subgroup.
l Profile-attributes. When an attribute's value is assigned in a profile (overriding the
group-attribute), it is referred to as a "profile-attribute". You set the values at the
profile level where you want to create categories of user types with shared values.
For example, you may want to have region-based values.
l User-attributes. When an attribute's value is assigned for an individual user
(overriding the group-attribute or profile-attribute), it is referred to as a "user-
attribute". You set these values when there is a case for individuals to have settings
that differ from the rest of the users in their profile or group.
The attribute value that is defined closest to the user level takes precedence over those
attributes defined higher up.
Profiles
Each profile in a group contains a different set of possible attribute values. Each user is
assigned to a profile — an association that determines which set of attribute values are
provisioned to the user.
For example, in Profile_A, the attribute g711_enabled has a value of true. In Profile_B,
g711_enabled has a value of false. Assigning a user to Profile_A or Profile_B then controls
whether g711_enabled is true or false.
A profile can contain an attribute without a value if that value is to be set at the user level.
Profile-templates
Each profile contains a list of profile-templates, each of which associates this profile with
a specific provisioning template for a specific platform (discriminator). Each profile has at
least one profile-template.
In other words, a profile-template defines a rule “for this profile, use provisioning template
X when a user logs in from Bria mobile but use provisioning template Y when a user logs
in from Bria desktop.
Users
Each Bria user who logs in to the Bria client must be set up as a Stretto user. The user
automatically contains the attributes of the group. The user must be associated with one
profile.
Associations
A group owns a set of attributes, templates, profiles and users. Those attributes,
templates, profiles and users belong to that group and cannot belong to other groups. To
be useable, a group must have at least one attribute, one template, one profile. If a group
is missing any of these, the users in that group are not provisioned.
l An attribute belongs to a group and therefore belongs to that group’s profiles and
users.
l A template belongs to a group. It can be associated with one or more of the profiles
in the group. A template cannot be associated with profiles in another group.
l A profile belongs to a group. It is associated with one or more templates in the
group. A profile cannot be associated with a template in another group.
l A user belongs to a group. It is associated with one of the profiles in the group. A
user cannot be associated with a profile in another group. Typically, several users
are associated with one profile.
Shared data
You should identify the data that the two systems share. Most of this shared data is user
data: SIP credentials, user login credentials, and so on. This data is represented in
Stretto by attributes and their values.
If you have clients that write to your customer care system, a data discrepancy occurs.
For example, you may allow your end users to change their Bria login password by going
to a webpage that writes to your customer care system. In this case, the password in the
customer care system and in Stretto become unsynchronized.
Typically, you want your customer care system to be the master. Therefore, when data in
the customer care system and data in Stretto become unsynchronized, you must make
sure that the update (to synchronize) goes in the desired direction: from the customer
care system over to Stretto.
Your Stretto framework should be planned extensively to be sure that it encompasses all
of your needs. This section assists you in the specifics of planning this framework.
We strongly recommend that you decide ahead of time whether you will enter names as
lowercase (acphone) or mixed case (Acphone).
For “known” attributes, the notation is std:xx:yy:zz or ccs:xx:yy:zz. In other words, the
punctuation is colons. Except:
l The upgrade attributes use the notation std:xx.yy.zz (colons and dots).
l The email attributes use the notation smtp:xx.yy.zz (colons and dots).
Note: Do not confuse Stretto attributes (which use the various notations above) with Bria
settings, which always use the format aa:bb:cc.
1. Identify the softphone platforms you are deploying: Bria desktop and/or the Bria
mobile.
2. Go through the settings documentation for each softphone platform and identify
which settings you want to provision. If you do not provision a setting, the factory
setting (default) for your brand for the given platform is used.
3. Identify the settings that can share the same attribute. These are “shared
attributes”.
The SIP and/or XMPP account credentials settings should always share the same
attribute: so Bria desktop and Bria mobile should use the same attribute for the
settings (even though the setting names are a bit different) because the two settings
represent the same “data”.
There may be other settings that should be shared. Settings can only be shared if
they are the same type, for example, both booleans.
4. Assign an “attribute name” for each of these provisionable settings. Settings are
represented in Stretto by “attributes”. Some naming guidelines:
l Use names that incorporate the setting name. In some cases, you may want
to include the platform in the attribute name, particularly for a feature that
applies to both Bria desktop and Bria mobile, but specified in a different way.
For example, “dtmf_mobile” and “dtmf_desktop_2833” and “dtmf_desktop_force”.
l You may want to include an indicator for settings that are Bria desktop only or
Bria mobile only, for example, “desk_” or “mob_”.
l Do not re-use attribute names among different settings, even if the settings
are related. For example, do not create an attribute named “codec_enabled”.
Attrib W (Mobile only, constant) Attrib X (local to region) Attrib Y (per user) Attrib Z (local to region)
8. Identify attributes that you want to protect (lock), so that their values can only be
changed by a special administrator.
9. You may want to make a plan of all your information. For example:
Decide if you need more than one group. Groups are a way of dividing the workload
among two or more administrators. So you might choose to create several groups if you
want different administrators to handle different regions of users (Europe versus Asia, for
example) and you do not want the Europe administrator to see the Asia profiles and
users, and vice versa.
However, if you are happy with all your administrators working with the same pool of
users, and letting the administrators dividing the workload based on user’s last name (of
something similar), then you probably do not need to create several groups.
Keep in mind:
l Groups should not be used to separate different platforms. For example, do not
create one group for Mobile users and another for Desktop users. The distinction
between platforms is instead handled by templates within the group, not by creating
separate groups.
l Groups should not be used to separate different deployments. For example, do not
create one group for your “silver service” and another for your “gold service”. Or do
not create one group for users accessing one STUN server or proxy server, and
another for users accessing another set of servers. The distinction between
A top-level group?
If you determine that you need more than one group, then you must decide if you want to
create a top-level group. If you create a top-level group, then you can implement
inheritance among all your groups.
l Attribute inheritance: you set up group-attributes in one place and have the “real
groups” inherit the value. This saves you having to set the attribute value in several
different groups, and allows you to change the value (if this is ever necessary) in
only one place and have the value inherited in the real groups. See Subgroup
attributes inheritance and locking.
l Template inheritance: you set up templates in one place, and let subgroups use
those templates instead of each subgroup creating local/duplicate templates. This
is an efficient way to maintain templates if all the subgroups need to use the same
template. See Template inheritance.
If you do not have any group-attributes (all your attributes are profile or user-attributes),
then there is no advantage to creating a top-level group.
Templates
Typically, you need to create one template for each platform (Bria desktop, Bria mobile).
There is no requirement to create separate templates within Bria mobile (for example, for
iOS edition versus Android edition).
There is no need to create separate templates for different software versions of the phone
or for different customer offerings. Instead of using templates to manage differences
between different deployments, try to manage them through the profiles.
Profiles
Typically, you create several profiles, as described below, in order to support different
“levels of service” and different types of users. Typically, groups and templates are not
When creating multiple profiles, you do not have to worry that some profiles do not use an
attribute that is in the group. If the profile does not need an attribute, you can simply
ignore the attribute in that profile. For example, profileX and template01 are for Bria
desktop and for users of your gold service. AttributeA is for Bria mobile and for users of
silver service. The attribute appears in the profile (because the attribute is part of the
group) but so long as you do not use the attribute in template01, you do not have to assign
a value for it in profileX.
Recommended procedure
Scenario A
For example, you support only Bria desktop and all your users use the same global
settings. You need one template, in the format for Bria desktop, containing the settings to
configure. You need one profile containing values for the global settings.
Alternatively, you support Bria mobile. You need one template, in the format for Bria
mobile, containing the settings to configure. You need one profile containing values for
the global settings.
Scenario B
For example, you support only Bria mobile but some users use one STUN server while
others use another STUN server. You need one template, in the format for Bria mobile,
containing the settings to configure. You need two or more profiles, one for each “global
configuration” you identified in Identify settings and their combinations.
Scenario C
For example, you support Bria desktop and Bria mobile. For the settings that the two
applications share (for example, the user SIP credentials — username, domain,
password), you use the same attribute values, so both applications can use the same
profile. You need two templates, one for desktop and one for mobile.
In this setup, attributes for both Bria desktop and Bria mobile are in the same profile. If a
particular attribute applies only to a setting used by Bria desktop and not to one used by
Bria mobile (or the reverse), there is no issue: it is not a problem to combine attributes for
different platforms in the same profile.
4. Create the templates you identified in Determine the number of templates and
profiles. Omit the template body at this point and just create an empty template (the
template name and the group it belongs to). You add the content later.
5. Create the profiles you identified in Determine the number of templates and
profiles.
At this point, you have created the group or group, and its attributes, profiles and
templates. There is not yet any relationship between the attributes, profiles, and
templates.
.
.
.
[SETTINGS]
proxies:proxy1:username="{{SipUserName}}"
proxies:proxy1:password="{{SipPsw}}"
.
.
.
<account_list>
<account>
<data name="userName" value="{{SipUserName}}"
<data name="password" value="{{SipPsw}}"
Note that the profile template IDs are not explicitly shown in Stretto Admin, but they are
like the glue between a profile and templates.
If you did not create a top-level group, make sure you assign the value in each
group.
2. Decide if you want to lock the value of any group-attributes. Locking a value can
prevent your day-to-day administrators from changing the value.
Create users
1. Create each user. For each user:
Assign the Stretto user credentials: the username and password. These are the
login username and password to contact Stretto, not the SIP account username
and password. The user’s attempt to log into the CounterPath softphone fails if this
information is not present.
Assign a profile to the user. This profile is the particular feature configuration that
applies to this user.
2. Assign values to “user-attributes”. For example, the SIP username and SIP
password.
Error-checking
You can use the Test tool to verify that your setup is valid. See Testing your provisioning
setup.
Make sure every attribute for a user has a value. If an attribute has no value, then at
runtime (when the provisioning file is created from the template), attributes with no value
are replaced by a blank. This may result in undesirable behavior on the softphone or may
result in the softphone failing to start.
The result
Read these login examples to understand the flexibility of this setup
l When [email protected] logs into Bria mobile, Stretto determines that she
uses the profile P_euro, then goes to P_euro to determine that for the device,
template 3 is used (T_mobile). Stretto picks up the profile-attributes that are defined
for the P_euro profile and plugs them into the T_mobile template. Stretto then picks
up the user-attributes defined for this user and plugs them into the T_mobile
template.
l When [email protected] logs into Bria desktop, Stretto selects profile P_euro,
the template T_desk, the profile-attributes for P_euro and the user-attributes for this
user.
So at every login, decisions are made that result in the values appropriate to this user’s
location being sent down in the format that is appropriate to the device the user is using in
this particular login attempt.
Stretto authenticates the request as follows, depending on the format you are using for
group names and usernames:
l Format 1: If your usernames are in the format <username>.
Stretto extracts the username and the SPID from the information that is sent in
every POST login request. It then looks for a group name that matches this SPID. It
then looks for a user with the matching username in this group. It then checks that
the password (also sent in the POST) matches the user’s password in Stretto.
For example, in the POST the SPID is acphone.com and the username is fchan.
Stretto looks for a group named acphone.com, then looks in that group for a user
named fchan, and finally validates that user’s password to the password in the
POST.
l Format 2: If your usernames are in the format <username>@<groupname>:
Stretto extracts the username from the information that is sent in every POST login
request. It then looks for a group name that matches the group portion of the
username. It then looks in this group for a username that matches the user portion
of the username. It then checks that the password (also sent in the POST) matches
the user’s password in Stretto.
For example, in the POST the username is [email protected]. Stretto looks for a
group named acphone.com, then looks in that group for a username fchan, and finally
validates that user’s password to the password in the POST.
If the group or user cannot be found or if the password check fails, the login request fails
and a failure response is sent down and displayed on the user’s softphone.
If any of these steps fails (for example, there is no template discriminator matching the
user’s device), then the login request fails and a failure response is sent down and
displayed on the user’s softphone.
user and collects the attributes that have a value assigned. Stretto then goes back to the
template and replaces the attribute with the collected values.
If the group, template, profiles and users have been set up correctly, every attribute in the
template is replaced by a value.
If any of these steps fail, the login request fails and a failure response is sent down and
displayed on the user’s softphone.
Keep in mind that provisioned settings override user settings. A user may complain that
they change a value on the user interface (for example, they disable an account) but each
time they restart Bria, their changes are lost: you are probably overwriting their value
when you provision.
Provisioning example
In their Stretto deployment, AC phone has one group called “acphone.com”. There are
two templates, one called “T_desktop” for Bria desktop and another called “T_mobile” for
the iOS and Android editions of Bria mobile. The group also has two profiles, one for
North American users, another for Asian users. Some settings (for example, the STUN
server) are set in each profile as profile-attributes. The North American profile uses one
URL for the STUN server, the Asian uses another. Other settings (for example, the SIP
username and password) are set in each individual user as user-attributes.
User Frank Chan starts his Bria desktop and automatically connects to the Stretto server.
Stretto finds the user “[email protected]”, who is assigned with the profile “P_Asia”. For
Bria desktop, this profile is associated with the template “T_desktop”.
Stretto collects the profile-attributes defined in the profile “P_Asia” and the user-attributes
defined in the user “[email protected]”, and plugs them into the “T_desktop” template, to
create a provisioning file for Frank Chan. This file is sent down to Frank’s device.
Administrators
One or more operators must be set up as an administrator in order to work in Stretto
Admin. When an administrator is created, it is assigned two properties:
l It is assigned a parent administrator. The parent administrator has the ability to
control the administrator’s privileges, including deleting the administrator. The
creating administrator is usually the parent administrator, but it does not have to be.
l It is associated with a group or groups. An administrator has control over the
content of these groups and their subgroups: an administrator has access to users,
attributes, profiles and so on in their associated groups. An administrator can also
create more groups under the associated groups.
When you are set up on Stretto, you are given account credentials for one administrator.
Log in as this administrator and create more administrators.
For more information on administrator types and privileges, see Administrator privileges.
Administrator types
Stretto Platform categorizes administrators into the following types according to the
privileges they are afforded within the system.
Domain admin
The Domain admin is designed for a reseller or service provider who requires more
access than Users&Profiles admins for setting up groups for their customers.
The Users&Profiles admin is designed for setups where a reseller or site administrator
has performed most of the setup and wants to restrict their customer administrators or
day-to-day administrators so that they can only set up profiles and users.
l Associated with one or more groups.
l Ability to add, modify, view and delete profiles.
l Ability to add, modify, view and delete users.
l Ability to add, modify, view and delete attribute pools.
l Ability to set a value to “Lite-admin-viewable” attributes (but not other attributes) at
the user or profile level.
l No privileges over administrators, apart from being able to change and reset their
own password.
Users admin
The Users admin is designed for setups where a reseller or site administrator has
performed most of the setup and wants to restrict their customer administrators or day-to-
day administrators so that they can only set up users.
l Associated with only one group (they are not associated with that group’s
subgroups).
l Ability to add, modify, view and delete users
l Ability to set a value to “Lite-admin-viewable” attributes, but only at the user level
(not at the profile level).
l No privileges over administrators, apart from being able to change and reset their
own password.
Support Admin
The Support Admin has access to the standard “administrator” features: About, and Log
out, and can optionally be allowed to:
l Change and reset own password
l View Enhanced Client Traces (device logs)
l View Reports (including Client-side Performance reports)
l Use the Help Desk Assistant.
Read-only admin
The Read-only admin can view more than a Users or Users&Profiles admin but cannot
make any changes.
For information about controlling the ability for administrators to change attribute values,
see Assigning values to attributes.
Administrator privileges
This section identifies the privileges of Stretto admins.
Access to groups
Read-
Users&Profiles Users Support
Feature Normal Admin Domain Admin only
Admin Admin Admin
Admin
Create a group
only within the Only within the assigned
assigned groups.
groups The new group is a copy of a
source group; not a blank
group.
Suspend a group
only within the only the subgroups.
assigned
groups
Move a group
only within the assigned
groups
Delete a group
only within the only the subgroups.
assigned
groups
View attributes
Lock an attribute
View templates
View profiles
View users
View Stretto reports (in Reports tab) (admin Optional Optional Optional Optional Optional
option = View reports)
View enhanced client traces (device logs) (in Optional Optional Optional Optional Optional
Client Traces tab) (admin option = View
client traces)
Receive notification every time new device Optional Optional Optional Optional
log is uploaded (admin option = Client
Traces notification)
Help Desk Assistant (admin option = Help Optional Optional Optional Optional Optional
Desk Assistant)
Create an administrator
as a as a
descendant descendant
of itself of itself. Can
create only
certain admin
types 1
Move an administrator
Unlock an administrator
only their only their
child admins child admins
of certain
types3
Suspend an administrator
only their only their
child admins child admins
of certain
types4
Reset its own password (admin option = Optional Optional Optional Optional Optional
Change own password)
Delete an administrator
only their only their
child admins child admins
1The Domain admin has access to only the following admin types: Users&Profiles, Users,
and Support.
2The Domain admin has access to only the following admin types: Users&Profiles, Users,
and Support.
3The Domain admin has access to only the following admin types: Users&Profiles, Users,
and Support.
4The Domain admin has access to only the following admin types: Users&Profiles, Users,
and Support.
5The Domain admin has access to only the following admin types: Users&Profiles, Users,
and Support.
6The Domain admin has access to only the following admin types: Users&Profiles, Users,
and Support.
For groups
l Generally, group names should match your domain name, all in lowercase. For
example, acphone.com.
l If you are creating the top group for each of your Stretto customers, name each
group with the customer’s domain name. For example, acphone.com and
abccorp.com.
l If you plan to create more than one group, use URL-like names. For example,
northamerica.acphone.com and europe.acphone.com.
l The names “top” and “all” are not allowed.
l Group names must not contain a colon (:).
For users
There are two recommended formats for usernames: <username>@<groupname> and
<username>. You can use the format <username> only if the following conditions apply:
l You have installed Stretto at your organization (you are not a tenant on Stretto
provided by an OEM).
l You are deploying to your own end users.
l You are using a brand of Bria softphones that was built specifically for you, so that
Otherwise, use the <username>@<groupname> format. (Using the <username> format when all
the above conditions do not apply means that your user attempts to log into Stretto will all
fail.)
For attributes
For the attributes you create, we recommend you establish a convention and follow it
carefully. Remember that the attribute names you assign are case sensitive.
Masking of data
Masking hides the value of data in Stretto Admin and the Stretto CLI so that the
administrators do not see the value, which provides some protection for sensitive data.
However, the value of data is stored as plain text in the Stretto database.
Masking applies to the value of attributes set at the user level. Values set at the group or
profile level are never masked, even if the attribute is set up for masking.
You can set up any attribute as masked by checking its Masked property on the Groups
screen. You can clear the property at any time to unmask the value.
Encryption
Encryption encodes a value, and the encoded value is stored in the Stretto database,
providing another layer of security over masking.
Encryption applies to the value of attributes set at the user level. Values set at the group
or profile level are never encrypted, even if the attribute is set up for encryption.
You can set up any attribute as encrypted by checking its Encrypted property on the
Groups screen.
Note: You cannot clear the Encrypted property in Stretto Admin in order to change the value
from encrypted to unencrypted.
Fine points
l Data values that are encrypted are unencrypted at the moment they are sent from
Stretto to Bria. But typically this transmission is performed over a secure
connection.
l The user’s Stretto login password is initially entered by the user on Bria login screen
and sent to Stretto in unencrypted form (but over HTTPS, which protects the data).
The password is then masked and encrypted, and stored on the computer or
device.
l Provisioned data is protected on the computer or device: In Bria desktop, the data
file (including the login credentials) is encrypted on the computer or device. In Bria
mobile, the operating system protects the data file and ensure it is accessible only
to Bria mobile.
Hiding attributes
You can hide an attribute so that Lite administrators cannot see it. Lite administrators
includes: Domain admin, Users&Profiles admin, Users admin, Support admin, and Read-
only admin.
When an attribute is hidden, the entire attribute (its name and its value) are hidden to
those administrators on the Profile, and User screens.
You can set up any attribute as hidden by setting its Visibility property on the Groups
screen.
For example
In this example, the final result is:
Emily No value (neither group nor profile nor user has a value defined. This may not be an error; the attribute “false” (from the
may not apply to the user. For example, it may be an attribute for a feature that is not offered to this user-attribute)
user.
You can embed one attribute in one setting or attribute. But you cannot, for example,
embed one attribute in a second attribute in a third attribute.
For example
Three related attributes have been created: msg:device:limit, support.contact.admin and
support.contact.admin.email. The value for msg:device:limit embeds the other two
attributes.
In this profile, the value of msg:device:limit resolves at runtime to “Device activate limit
reached. Contact Emily Wilding at [email protected]”.
Attributes that are inherited are separated in Stretto Admin from attributes that were
created in the subgroup.
Keep in mind that your group may be inheriting attributes from a group that you do not
manage.
Subgroups never inherit values from the profile or user level in the parent. Instead, the
subgroup profile and user derive their values from their own group level or else have
“local” values (values right in the profile or user).
In a subgroup, the lock can be overridden but only to make the subgroup lock stronger
than the parent lock.
If the lock is set in the parent and then overridden in the subgroup, then changing the lock
in the parent does not change it in the subgroup: the subgroup override still applies. For
example, the lock is Locked in the parent and then overridden to Final in the subgroup. In
the parent, you then change the Locked to Open. The lock changes in the parent. But it
remains as Final in the subgroup.
If the lock is set in the parent and not overridden in the subgroup, then changing the lock
in the parent also changes it in the subgroup.
subgroup setup.
Template inheritance
Templates in a subgroup may be inherited from the parent group. When a template in the
parent group is set for template inheritance, the subgroups can map the inherited
template to their profiles without creating a copy of the parent's template. Setting up for
template inheritance is an effective way to maintain templates; the administrator needs to
modify only one template as opposed to all the templates in the subgroups.
The inherited template does not appear in the tree of the subgroups. The inherited
templates appear in the Profile screen, under the Template Mappings section.
l The subgroup admin cannot edit or view the content of the inherited templates.
Note in the above example that the inherited template does not have a hyperlink.
l To view actual content of inherited templates, use the Test button on the User
screen; it displays the template with user-specific values populated.
l The validate function in subgroups does not validate the inherited template. The
parent admin must validate it in the upper level group before allowing inheritance.
l The subgroup admin does not know which attributes are embedded in the inherited
templates. The parent admin must configure attributes for the subgroup before
allowing inheritance.
l If the subgroups already have a template with the same name as the inherited
template, the matching templates in the subgroups are removed, and the profiles
are updated to refer to the newly-added inherited template. If you, as a parent
admin, are sure that all subgroups should use the same template, this is a good
way to clean up the duplicate local templates of the subgroups. If you are not sure
how subgroups use local templates, rename the inherited template so that
subgroups can choose which template to use.
l The subgroup admin must name a template differently from the inherited templates
when creating a local template in a subgroup.
The Stretto Platform (Stretto) authenticates users and provisions the CounterPath
softphone clients.
Login authentication
Stretto authenticates users and handles login from the softphone clients. Read this page
for how login works. Or you can configure Stretto so that another server authenticates
end user logins instead of Stretto. For example, if your organization has an LDAP server
that holds data about your end users, you can configure Stretto to use LDAP to perform
user authentication.
Login-related features
End users might forget their password for logging into Bria clients. They get locked out
after five failed login attempts in a row, and they need to wait for 10 minutes to try a next
login.
l Use Stretto Admin's Notify button to email an end user with a temporary access
code, then the user uses the code to reset their password in End User Portal. This
requires you to store the end user's email address in Stretto. See this page for
details.
This feature does not work with your situation if you are using LDAP or other
servers to authenticate users.
l If an end user is locked out, they can simply wait for 10 minutes to try a next login.
Or you, as an admin, can unlock them by using Stretto Admin.
Provisioning
Provisioning allows a Stretto administrator to remotely configure the CounterPath
softphone client instead of manually setting up the client for each user. End user logs into
Stretto, and Stretto configures the softphone client for that user. All configuration is done
in the background; end users can start using the softphone client without worrying about
setting it up.
Overview of provisioning
This section provides a high-level description of how provisioning works with Stretto.
1. Your brand of the CounterPath softphone must be branded to support the Stretto
login setup you want:
l For Bria desktop: You have two choices: you can hard-code the Stretto URL
into your brand, or you can let the end-user enter the URL manually.
l For Bria mobile: You provide the initial provisioning server URL to include in
your brand.
2. You set up your Stretto framework on Stretto to support the desired provisioning
features. Setting up the framework involves setting up provisioning templates,
variables and profiles.
3. As the final step of this setup, you add your users to Stretto. Each user is identified
by a Stretto username and password. The user enters these credentials to log into
their Bria softphone.
Optionally, Stretto can be configured to connect to an external server (such as
LDAP) and the user can enter their LDAP credentials to log into their Bria
softphone.
4. You provide the user with their login credentials outside of Stretto, for example, by
email.
5. The user starts Bria on their computer or device and enters their login credentials
on the login screen. The softphone contacts Stretto over HTTPS.
6. Stretto finds the user, authenticates the request using the provided credentials,
creates the provisioning file using the latest data, and sends the file down to the
user. The user’s softphone starts.
From now on, each time the user logs into Bria, this login procedure is followed and the
latest information for that user is sent down.
Provisioning-related features
In addition to configuring basic provisioning, you can also configure the following
features;
l Updating configuration while end users remain logged in the softphone client: Re-
provisioning the Bria clients (refresh)
1. When the Bria softphone starts, a login screen appears and the user enters their
Stretto login credentials.
2. The Bria softphone sends an HTTPS request to Stretto. Stretto reads the HTTPS
request and verifies the login credentials.
3. If the login credentials are known to Stretto, then Stretto creates a provisioning
response and sends it down to the Bria softphone. (If the login credentials are not
known or if the user is not set up correctly on Stretto, then Stretto sends down a
failure response with an error message. “Login failed” plus the error message will
appear on the user’s softphone.)
4. The Bria softphone applies the data in the response and the softphone starts up
with the configured behavior.
The softphone clients are built with default values for settings. So if you do not include a
given setting in the template (and hence in the provisioning response), then the client still
works using the default value. In some cases the default is an explicit value – a string,
number, or boolean. In some cases the default is “null” or the setting is not actually in the
build, which either means the setting has no effect or that it is explicitly disabled.
The very first time you send down a response, each setting is applied as follows:
l For each setting in the response that already exists in the client, the new value
replaces the current value.
l If a setting is in the response but not in the client, the new setting is added to the
client.
l If a setting is not in the response but is in the client, there is no change to the client.
Note: Removing a setting from the template (provisioning response) does not remove it from
the softphone client. To disable or change a setting, you must leave the setting in the template
and set its value to disabled or “null”.
Requirements
Your LDAP server must allow access from the CounterPath-hosted Stretto Platform.
Make sure to:
Add-on
In addition to user authentication, you can configure Stretto to automatically create
Stretto users upon successful LDAP authentication. With this add-on, a Stretto
administrator does not even need to create a Stretto user. See below for details.
1. The user enters their Stretto username and password on the softphone client login
screen, in the usual way. The client passes the username and password to Stretto.
2. Stretto finds the Stretto username in Stretto and determines the group that the user
belongs to. Stretto also finds the LDAP server address and other LDAP information.
3. Stretto creates an LDAP bind request and sends it to the LDAP. It binds to the
LDAP using the information in the bindDN attribute (which you set up) and using the
individual user’s Stretto password as the LDAP password. The LDAP authenticates
the username and password and sends a success response to Stretto.
4. Stretto then creates the provisioning response as usual and sends it down to the
softphone.
Note: Note that when the LDAP is performing user authentication, the user’s login password
(Stretto password) is never stored on Stretto; instead, the password received from the
softphone is passed through to the LDAP.
User credentials
For Stretto to automatically create users, the login credentials must be as follows:
l Username:
The username portion must match the LDAP username used by the LDAP to
authenticate users. Stretto passes the username portion onto the LDAP without
altering.
The domain portion must be the Stretto group name, which is replaced with the
value set to {{std:ldap:domain}} by Stretto if configured when it sends a login
request to the LDAP.
l Password
The password to log into the LDAP. Stretto passes the password onto the LDAP
without altering. This password is never stored on Stretto.
Example:
Username: [email protected]
Password: LDAPpassword
Stretto receives the request, replaces the domain portion with the value set to
{{std:ldap:domain}}, and sends a request to the LDAP with the following credentials:
Username: kperera@ac_corporation.com
Password: LDAPpassword
1. Use Stretto Admin to create the attributes shown in the following table. Set the type
as “String” in all cases.
2. Assign a value to each attribute by following the table below. If assigning a value to
a profile because you have multiple LDAP servers for example, remember to assign
it in every profile.
Where to
Attribute Description
Set Value
Location of LDAP
std:ldap:baseDN The distinguished name (DN) of an entry in the LDAP directory tree where the search At the
starts. Must be the full DN. Also known as root DN. This entry is the starting point of group or
the search for users to authenticate, and for the data to pull into Stretto. The entire profile
subtree under the base DN is used for searching. level.
For example, dc=acphone, dc=local
std:ldap:bindDN The username to use when binding to the LDAP server. In other words, the LDAP At the
username of the softphone users to be authenticated for softphone logins as well as group or
data retrieval (if setup). The LDAP server uses this value to find a user in the directory profile
and authenticate them. Often an LDAP server uses the username plus domain format level.
such as [email protected] and [email protected].
When you set a value to std:ldap:bindDN, use a variable instead of typing out
each user's name so that the variable is replaced with a real value for each user.
{{ccs:userName}} is recommended for most cases. Or enter
Entering
{{ccs:userName.User}}@{{std:ldap:domain}} if your Stretto
group differs from the LDAP domain.
See Binding: Mapping the Stretto username to the LDAP username to assess this
suits your setup.
std:ldap:domain May not be required; see Binding: Mapping the Stretto username to the LDAP At the
username for information on its usage. group or
The domain name of your LDAP server. In other words, the domain portion of end profile
user's LDAP username, such as [email protected]. Stretto replaces Stretto level.
group name in the login username with this value and send the username to the
LDAP server when requesting user authentication.
std:ldap:user May not be required; see Binding: Mapping the Stretto username to the LDAP At the user
username for information on its usage.
Where to
Attribute Description
Set Value
level, so
the value
is different
for each
user.
std:ldap:fetchMode When set to true, Stretto creates a user (if not already exist) upon receiving a success At the
authentication response from the LDAP server. Stretto also retrieves data from the group
LDAP as configured via data mapping, and stores it in Stretto. level.
When set to false, Stretto does not create a user; it returns the “User not found” error
to the softphone client. This means that the users must exist in Stretto before anyone
starts using their softphones. In this mode, Stretto retrieves data from the LDAP only
when the user already exists in Stretto.
Regardless of std:ldap:fetchMode, the LDAP server authenticates end
users for login.
Keep in mind that Stretto automatically uses the user’s Stretto login as the password for
the bind. You do not have to set up for this password, beyond making sure that the user’s
Stretto login is the same as the bind password.
Note: In order to make this mapping as easy as possible, you may want to try to establish the
rule that your Stretto usernames exactly match the LDAP username (assuming that the LDAP
username already exists). In this way, you can follow the simplest format: bindDN =
{{ccs:userName}}.
Format of LDAP
Format of Stretto Username How to Set up the DN Bind
Username
Example:
Five attributes have been created for LDAP configuration. Four of these attributes
are defined at the profile level, while one is defined for each user. Note in the profile,
how the value for std:ldap:bindDN is set to another attribute! Make sure you include
the double curly braces {{}} around the attribute name.
Note: The Stretto password field must be blank in order for LDAP user authentication to work
for this user.
Tip: The difference between this LDAP provisioning authentication and the
regular provisioning test is that the LDAP provisioning authentication attempts
to directly log into the LDAP server without going through the Stretto
templates/profiles, while the regular provisioning test verifies the Stretto
templates/profiles setup.
If this fails, check the value of std:ldap:bindDN. See Binding: Mapping the Stretto
username to the LDAP username for an example of bind DN.
l User Information Retrieval (vCards) - This test uses the admin credentials and
retrieves the user's vCard information from LDAP. You can also review what
information the vCard stores for this user. This matches what is presented to all
users in a roster.
Applicable to a Stretto Platform with XMPP enabled. Also assumes that an LDAP
server has been configured to supply a roster and vCards, as well as a vCard
template has been configured in the Stretto group.
If you do not see the expected results, check the vCard template if it uses a correct
LDAP field name. See Configuring vCards for XMPP buddies.
Response code
OK success
CONNECTION_REFUSED Valid host, but a connection is not allowed (valid host but invalid port for example)
SUSPENDED User is suspended on the LDAP server, therefore could not verify authentication against the LDAP server.
LOCKED_OUT User is locked out on the LDAP server, therefore could not verify authentication against the LDAP server.
3. Enter the user's LDAP password. If omitted, it tests only the LDAP connectivity and
the admin credentials.
4. Click Test.
Example:
Sample result
In this example, there are two LDAP servers configured.
When clicking details for vCard, a pop-up window opens and displays a list of LDAP
fields and their values. These LDAP fields are the ones configured in the vCard
template.
This section describes how to configure Stretto to apply LDAP authentication to only a
subset of users within a group.
l For users without LDAP authentication, you must assign a password by entering a
value.
l There is no need to separate users into sub groups; all users are allowed to stay
within a single Stretto group.
l Do not configure the auto creation of users feature.
Attributes: These attributes must be configured at the profile level, These attributes must be empty for the user (no
particularly std:ldap:server. value set at any level - group, profile, user).
std:ldap:server
Do not set a value to these attributes at the group level.
std:ldap:baseDN
std:ldap:domain
std:ldap:bindDN
Stretto password on the Must be empty; do not set a value to the Stretto You must assign a Stretto password to the user
User page password field when creating a user on Stretto. by entering a value or a nesting attribute when
creating a user.
Auto Creation of Users Do not configure this feature. You can use this feature in Do not apply.
the group where LDAP authentication is applied to a
subset of users.
The attributes (fetchmode and default profile) must be
configured at the group level.
The std:default:profile attribute must be
set to the profile you created for LDAP authentication.
Add-on
In addition to user authentication, you can configure Stretto to automatically create
Stretto users upon a successful authentication response from the ECS. With this add-on,
a Stretto administrator doesn’t even need to create a Stretto user. See below for details.
1. The user enters their Stretto username and the ECS password on the softphone
client login screen, in the usual way. The client passes the username and password
to Stretto.
2. Stretto finds the username in Stretto and determines the group that the user
belongs to. Stretto finds the ECS address.
3. If a domain is configured by the Stretto administrator, Stretto removes the domain
entered by the end user, and appends the configured value.
4. Stretto sends a login request to the ECS along with the user’s login credentials to
Stretto.
5. The ECS authenticates the username and password and sends a success
response to Stretto.
6. If a mapping is configured by the administrator, Stretto retrieves data from the ECS
response, and stores it in Stretto.
7. Stretto creates a provisioning response using the Stretto template, along with the
mapped data (if configured), and sends the provisioning response down to the
softphone client.
8. The client is loaded with the provisioned settings.
User credentials
For Stretto to automatically create users, the login credentials must be as follows:
l Username: The username portion must match the ECS username used by the ECS
to authenticate users. Stretto will pass the username portion onto the ECS without
altering.
l The domain portion must be the Stretto group name, which will be replaced with the
ECS domain name by Stretto when it sends a login request to the ECS.
l Password: the password to log into the ECS. Stretto will pass the password onto the
ECS without altering. This password is never stored on Stretto.
Example:
Username: [email protected]
Password: ECSpassword
Stretto receives the request, replaces the domain portion, and sends a request to the
ECS with the following credentials:
Username: [email protected]
Password: ECSpassword
1. Using Stretto Admin, create the attributes shown in the following table.
2. Set the type as “String” in all cases.
3. Assign a value to each attribute.
Attribute Description
std:ecs:urlDesk The URL where the softphone clients hit to log into the ECS. Stretto has two properties:
one for desktop, the other for mobile. These must be defined separately even if the ECS
std:ecs:urlMob uses the same URL for both clients.
std:ecs:domain Configure this value if the domain of the ECS is different from the Stretto group name.
When sending the credentials to the ECS, Stretto removes the domain entered by the
end user on the softphone login screen, and appends the value configured for this
property. If the property is not specified, Stretto uses the Stretto group name as the ECS
domain name.
l 2: Basic authentication
std:ecs:authentication:mode When set to true, Stretto automatically creates users upon a successful response from
the ECS if the user does not exist in Stretto. Stretto creates the user with the username
returned by the ECS, along with the profile defined in std:default:profile.
When set to false, Stretto does not create users automatically. If you set this to false,
you must create users in Stretto before a user logs in; otherwise, user authentication
does not work.
Regardless of the std:ecs:authentication:mode attribute, the ECS
performs user authentication, and Stretto pulls values from the ECS response as long
as mappings are defined in Stretto.
std:ecs:ignoreError Optional. Set to true to instruct Stretto to send a success provisioning response to the
softphone client if the ECS is not reachable for authentication/data retrieval. Stretto
sends cached values to the softphone clients without retrieving the latest values from
the ECS. This allows end users to continue using the softphone clients. The user must
Attribute Description
exist in Stretto, which means that the user must have been authenticated at least once.
If the user has never logged into Stretto/ECS, the login fails until the ECS becomes
available.
Set to false to send an error to the softphone client if the ECS is not reachable. Whether
or not the softphone client stays logged in depends on the client settings. The client has
other settings to control its behavior on provisioning errors (such as logout on refresh
failure in Bria mobile).
Creating users
This section applies if you use the ECS in the fetch mode, that is if you decide not to
automatically create users in Stretto upon a success authentication response from the
ECS.
When creating users, make sure you do not specify their Stretto password. The Stretto
password field must be blank in order for ECS user authentication to work for this user.
When you obtain Bria desktop, you purchase a license or licenses. The executable does
not include a license key. You can provision the license key via Stretto, as described
below. (You can also let the user enter the key manually via Help > Enter License Key).
Setting up Stretto
Typically, you include the license key in the data you send down when provisioning user
data or when provisioning features.
[DATA]
Success=1
LicenseKey="{{LicenseKey}}"
[SETTINGS]
License tracking
License tracking includes how licenses are tracked and managing the license count.
When an individual Bria desktop obtains a key from Stretto, that key is tagged as
“assigned” on Stretto (see How pool entries are assigned and managed).
Once the license key has been obtained from Stretto and installed in the individual Bria
desktop, Bria desktop connects to the license server in order to register the key. Bria
desktop does not start until registration has succeeded.
If the user later installs Bria desktop on another computer, then when it connects to
Stretto, it obtains the same license key. But when it connects to the license server, the
license server refuses the registration (because the key is already registered on another
computer). The login attempt fails on this second instance of Bria desktop.
Once the license key has been obtained from Stretto and installed in the individual Bria
desktop, Bria desktop connects to the license server in order to register the key and
increment the license usage count. If the count is at its maximum, registration fails. An
error message appears for that user and Bria desktop does not start.
You can re-assign and revoke particular seats (counts) of a group license key; see the
CounterPath documentation for the license server.
If you purchase more individual licenses, CounterPath will send you an email containing
the new keys. Add them to Stretto (see Step 2: Populating an attribute pool with values).
If you increase your group license count, CounterPath will send you a confirmation email
when the count has been increased. You do not have to take any further action; new
users will simply be able to register successfully on the license server, and the license
count will continue to increment.
To manually refresh the end users' devices, see Sending the most recent configurations
to end users' devices (Refresh Devices).
How it works
When the Bria client logs into Stretto for the first time, it gets provisioned with the refresh
interval (8 hours by default, configurable). When the refresh interval expires, the client
contacts Stretto for re-provisioning and gets provisioned with any new or updated
settings.
If re-provisioning did not occur, for example, due to a network problem, the Bria client
keeps working for a grace period of 3 days. After the grace period, the Bria client
automatically logs out and end users must log in again to use Bria. A grace period starts
over every time Bria gets a successful provisioning response from Stretto.
Desktop template
Include the following lines under [SETTINGS] of the applicable Stretto templates for Bria
desktop:
For example:
[SETTINGS]
feature:auto_update:periodic_check_in_required="true"
feature:auto_update:check_in_interval_s="86400"
Mobile template
Include the following lines in the login_response section of the applicable Stretto
templates for Bria mobile:
where <time> is the number of seconds (e.g. “86400” for refreshing every 24 hours).
For example:
<status success="true"/>
<data name="refreshTimeValue" value="86400"/>
</login_response>
Either include the values of the settings right in the template (as shown above), or create
Stretto attributes for these settings and set the values in Stretto at the group, profile or
user level.
Disabling re-provisioning
Desktop template
To stop Bria desktop connecting to Stretto with refresh requests, set the feature:auto_
update:periodic_check_in_required setting to false.
For example:
[SETTINGS]
feature:auto_update:periodic_check_in_required="false"
Mobile template
To stop Bria mobile connecting to Stretto with refresh requests, set the refreshTimeValue
to "" or "0".
For example:
To re-enable refresh for Bria mobile, set the refreshTimeValue to a positive number. For
Bria desktop, set the feature:auto_update:periodic_check_in_required setting to true.
Keep in mind that the users will be provisioned with this new value (and will therefore
start connecting to Stretto again) only after they have manually logged onto Bria
clients.
l The Validate tool lets you verify that your intended “structure” is good and
everything is “hooked up” correctly: you don’t have orphaned templates for
example.
l The Test tool lets you verify that the individual entities used by one user (the
attributes, profiles, and templates for that user) have been set up with good data.
1. Create enough test users to test each platform (Bria desktop or Bria mobile), profile
and provisioning template at least once. Give each user a descriptive name such as
“test_desk_P_NA” or “test_iphone_P_Asia”.
2. Run the test on each test user. In the Users screen, select one user and click Test.
Note: Note that Max Users is a “setup time” limit – if you are setting up users and you hit the
limit, you are not able to create any more users. Max Devices and Group Device Limit are
“runtime” limits – these limits are hit when users are already set up and try to log in.
Your group is set up on the Stretto following either setup A (with Group Device Limit) or
setup B (with Max Users).
Setup A
Setup A consists of the following
l Max Users is empty (so, no limit).
l Max Devices is set to 2.
l Group Device Limit is set as per your instructions when you were set up by
CounterPath.
Example
With this setup, there is no limit on the number of users you can create. However, there is
a limit on the number of devices that can be logged on. This limit is controlled by the
Group Device Limit and the Max Devices.
In this example, a group limit of 1000 is set on the number of devices. Each user can log
on with up to 2 devices. This could work out to:
l 1000 users each logging on with 1 device each
l 300 users logging on with 2 devices each and 400 logging on with 1 device each
l 500 users logging on with 2 devices each.
Setup B
Setup B consists of the following
l Max Users is set as per your instructions when you were set up by CounterPath.
l Max Devices is set to 2.
l Group Device Limit is not set up.
Example
With this setup, there is a limit to the number of users you can create and to the number of
devices that each user can use to log on.
In this example, the Max Users is 5000 and the Max Devices is 2. This could work out to:
l 5000 users logging in with 2 devices each
l 10,000 devices being used to log on
l 3000 users loging in with 2 devices each and 2000 users logging in with 1 device
each
8000 devices are used to log on.
plus the actual users created in the parent (if any) cannot exceed the Max Users of the
parent.
l Number of users is calculated by the Stretto. The number of users you have
created in this parent group (so this number does not include subgroups).
l Maximum users for this group and all subgroups are set by CounterPath.
l Allocated to subgroups is calculated by the Stretto. The combined total of all
subgroups, where each subgroup contributes its Max Users (if the subgroup has a
Max Users) or its Number of users (if the subgroup does not have a Max Users).
Rules:
l When you set a Max Users in a subgroup, part of the parent’s Max Users is
allocated and is no longer available for creating users in the parent group itself.
l A calculation that is not shown but that must be kept in mind is the “Total Users” in
the hierarchy:
In the above example, the Total Users for acphone.com is 2000 + 30 = 2030.
You will get a “Maximum users exceeded” error message if you try to increase the
Max Users in a subgroup such that the Total Users is greater than the Max Users in
the parent group. For example, in the above scenario, if you set Max Users in the
subgroup to 2071, you will get the error because the desired new Total Users would
be:
30 + 2071 = 2101
And 2101 > 2100 (the parent Max Users).
With this setup, it is possible for one group to grab more than its “fair share” of the
allocation. On the other hand, you do not waste entries by pre-allocating them to a
specific group.
If you were to change this setup and add a Max Users to a subgroup, you would have to
make sure that adding this Max Users does not make the Allocated to subgroups (of the
parent) too high. The formula is:
In the above example, the parent has 88 users and a Max Users of 2100. The Max Users
you enter in the subgroup would have to be 2012 or less.
1. Assign a value at the group level. If desired, the value can also be overridden in
individual profiles or users.
2. Click the Device Limits tab to make sure a Device Limits section appears with a
Registered devices line.
Registered devices is automatically calculated by Stretto. Initially 0. As users log in, this
number increments to show the total number of unique devices that have logged in.
Tip:
To set no limit, enter a large number or enter 0 (meaning unlimited) which results in
allowing the user to log in from as many devices as they want.
Keep in mind that the device is only removed if the removal is required in order to register
another device.
In the group Attributes page, create an attribute called std:deviceAgeDays (case sensitive)
and assign a time period (in days). If desired, create individual overrides in the profile or
user.
Subgroups inherit limits of their parent group (or groups higher up in the group hierarchy)
so that the sum of devices in all subgroups must be less than the limits established in the
parent group or groups. So for example, if group ABC has a limit of 100 devices the total
number of devices in its subgroups DEF and GHI never exceeds 100. Similarly, if groups
DEF or GHI have subgroups, the devices in those subgroups contribute to the total of
100.
Limit types
Devices limits can be applied to a group by choosing one of these limit types
Limit types
l None - This group has no limit to the number of devices except any limits that might
be inherited from parent groups.
l All - This limits the combined total number of devices in this group and its
subgroups, regardless of device type.
l Per type - This limits the combined total number of each device type in this group
and its subgroups. Device types include: desktop, phone, and tablet.
l Per user - This limits the combined total number of each device type that each user
can have in this group.
1. In the Groups page, select a group, click Device Limits, and click Edit. If the Limit
Type selection is gray, then you don’t have the administrative permissions to set
2. From the Limit Type box, choose which type of limit to apply to the group:
l None - Remove device limits for this group. Limits applied to parent groups
are still inherited.
l All - Enter the combined maximum number of devices allowed in this group
and its subgroups.
l Per type - Enter the combined maximum number of each device allowed in
this group and its subgroups.
l Per user - Enter the maximum number of each devices allowed per user. The
limit is inherited by any subgroups.
3. Click Save.
In this scenario, you want to set up device limits so that your group has a limit on the total
devices used, and you want to allocate limits to each of the subgroups. As with all
scenarios, you need to be administrator of the parent of the group you’re editing.
Setup
As a result, each subgroup has its own device limit, and the combined total devices in all
subgroups plus Group A can’t be more than 100.
Group device limit scenario B: Setting different limit types in subgroups
In this scenario, the parent group has no device limits, but you want to establish limits in
each subgroup. Furthermore, you want to limit devices by devices type in one group, but
not in the others.
Setup
l Subgroup A1 - Limit type: Per type. Desktops: 50. Phones: 25. Tablets:
25.
l Subgroup A2 - Limit type: All. Limit: 100.
l Subgroup A3 - Limit type: All. Limit: 100.
As a result, each subgroup is limited to 100 devices, but Subgroup A1 further specifies
the maximum number of each. The total combined number of devices in all of the
subgroups can’t be more than 300. If Group A has users, those users have no device
limit.
Group device limit scenario C: Inherited device limits
In this scenario, you have a three-level hierarchical group structure in which the top-level
group (the grandparent) has no device limits and no users.
Subgroups of that parent group have device limits applied. Each of their subgroups must
apply the same limit type — as well as the limits inherited from their parent.
Setup
As a result, subgroups of A1 may each allow 100 devices, but if the sum of the three
subgroups’ devices exceeds 200, no more devices can be registered — A1 has a limit of
200 devices.
Subgroups of A2 must have a device limit type of “Per device” as that’s inherited from A2.
Subgroups A2a, A2b, and A2c have per-device limits that do not exceed the limits
established by the parent for a combined total allocation of 200 devices in A2.
In the case of A3, although it has a device limit of 200, the limits have not been set in A3a,
A3b, and A3c. Users in A3 can register devices up to a total of 200, users in each of its
subgroups cannot register any devices.
l Stretto reports. These reports provide the device counts per group.
l The Devices list in the Group page. This page lists all the active devices along with
the username.
Tip: If Allow end users to view and delete their devices is selected in the End User Portal
Settings, a user can delete their own devices.
1. Under the group, select Users. The group's user list opens.
2. Select a user.
3. Click Edit on Details for User:.
4. Select the Devices tab.
5. Locate the any devices and click Delete. The device entry turns gray.
6. Click Save.
The device is removed. Stretto Platform also attempts to log the user out of the deleted
device if the SNS feature is configured for the group.
Stretto Admin is a web page that provides the tools necessary to manage the
administrative tasks of Stretto. Using any compatible web browser and an Internet
connection, you can open and log into Stretto Admin using administrator credentials.
Note: Some web browsers may offer to save your Administrator ID and password. It is more
secure not to save login credentials.
Your password is updated and you are logged out of Stretto Admin. Use your new
password to log back in.
Managing administrators
This section describes how to create, edit, suspend and delete an administrator using
Stretto Admin. Not all administrators have the ability to manage other administrators. See
Administrators for details.
Administrators can change some (but not all) settings on their own, such as setting up for
receiving reports by email, modifying admin options, their email address, and their
password; however, it depends on their admin type and admin options.
Creating an administrator
Create administrators in the Admins tab in Stretto Admin.
To create an administrator
1. Click the Admins tab to open the Administrator Logins screen. Only you and your
child administrators appear in this list.
3. Complete the admin information. Some options shown may not be available to all
admin types.
l View Reports - Admin has access to the Reports tab to view diagnostic
and statistical reports from Stretto usage data.
l Admin Options - This section allows you to fine-tune the admin privileges.
Most options do not appear when you are creating a Normal admin.
l Groups - Associate the administrator with one or more groups. Only groups
you are associated with appear in this list. The first group you select will be
considered the administrator’s default group and will be displayed in bold.
Default groups are important when you have set up email notifications only on
some groups but not all, or when using the Stretto API (rather than Stretto
Admin).
Tip: You can search for a group by typing the name of the group you're looking
for in the text box. Click one of the suggestions to locate the group in the tree.
Then select the group (or its parent group).
Finding an administrator
If you are working with a long list of administrators, use the admin search filter. Use the
search filter to find an admin by their login name, email address, or group name.
1. In the Administrator Logins screen, select an administrator and click Edit to open
the Edit Admin dialog.
2. Enter an email address if none exists.
3. Enter the frequency with which you want to receive reports. For reports that have a
time period, the period will be set to match this frequency. For example, if you
choose Weekly, the report period will be for the last 7 days.
4. Select the reports that the administrator should receive and click Save.
1. In the Administrator Logins screen, select the administrator and click Edit on the
toolbar.
2. Change the fields.
3. Click Save.
To move an administrator
1. In the Administrator Logins screen, select the administrator and click Move on the
toolbar.
2. Select a new parent for the administrator.
3. Click Move.
1. In the Administrator Logins screen, select the administrator and click Edit
Password on the toolbar.
2. Enter the old and the new password.
3. Click Change password.
Unlocking an administrator
Stretto administrators will get locked if they enter their password incorrectly more than
five times. A parent or grandparent administrator must unlock that administrator.
To unlock an administrator
1. In the Administrator Logins screen, select the administrator and click Edit on the
toolbar.
2. Uncheck the Locked out (GUI) field or the Locked out (API) field.
3. Click Save.
Suspending an administrator
You can suspend an administrator to prevent from logging into the Stretto Admin web
interface. Suspending an admin does not suspend their child admins.
To suspend an administrator
1. In the Administrator Logins screen, select the administrator and click Edit on the
toolbar.
2. In the State field, change from Active to Suspended.
3. Click Save.
Deleting an administrator
By default, Stretto does not delete an admin who has child admins. You need to either
move the child admins to keep them in Stretto, or select a checkbox to delete their child
admins.
Deleting an administrator does not delete the group they are associated with.
To delete an administrator
1. In the Administrator Logins screen, select the administrator and click Delete on the
toolbar.
2. If you are sure to delete their child admins, click Also delete all child admins.
3. Click Delete.
A group cannot share any attributes, templates, profiles, or users except through
inheritance, which permits child groups to use templates and attributes belonging to a
parent group in a hierarchical tree structure. Groups can also share an administrator, as
one administrator can handle several groups.
Stretto Admin provides the tools to manage groups and their subgroups. Each
administrator sees only the groups to which they have access.
Finding a group
If you are working with a long list of groups with many subgroups, or you do not
remember the group name for a particular user, you can search groups by group name or
username.
1. In the Group tree, click the Find Group or User... button . The search page
opens.
2. Start typing a group name. A list of matches appears.
3. Click a group name to go to that group.
1. In the Group tree, click the Find Group or User... button . The search page
opens.
2. Select the search by username/email checkbox
3. Start typing one of the three items of the user. Stretto Admin searches all the groups
that you have access to, and shows a list of groups where this user belongs.
4. Click a group name to go to that group.
Creating a group
Read Creating groups.
1. In the left pane tree, select the group you want to edit.
2. Select the Information tab.
3. Click Edit at the top of the page.
4. Make your changes to the group information and attributes.
5. Click Save.
Field Description
Group Information
Created The date the group was created. Automatically completed by Stretto.
Number of The current number of users in this group and all its subgroups. Calculated by Stretto.
users
Maximum The maximum number of users allowed in this group and all its subgroups. Can be set. 0 means there is no maximum for
users the group.
If you are a Normal administrator you can only change this number on your subgroups, not on your top-level groups.
Allocated to The portion of the Number of users that is being used by the subgroups of this group. 0 means there are no subgroups or
subgroups there are subgroups but none of them have users yet.
State Choose Suspended to suspend the group; users in this group cannot log into your softphone service. You can still
work with anything in the group (users, attributes, and so on). A Suspended status also indicates the date and time on
which the group was suspended.
Choose Active to unsuspend all users (except for individual users who are suspended via the Users page).
You can also suspend or unsuspend a group from the menu tree.
Note: Turn on Auto-manage usernames only if your usernames are in the format
<name>@<domain>.
Typically, you turn on Auto-manage usernames when you create the group. However,
you can still turn it on after group creation.
1. In the left pane tree, select the group you want to edit.
2. Select the Information tab.
3. Click Edit at the top of the page.
4. Select Auto-manage usernames.
5. Click Save. Username Update appears.
In the database:
l The <domain> is added to any usernames that are missing the <domain>. So, for
example, “jsantos” would become “[email protected]”
l The correct domain is added to any usernames that have the wrong domain. So, for
example, “[email protected]” would be corrected to “[email protected]”
1. In the left pane tree, select the group you want to edit.
2. Select the Information tab.
3. Click Edit at the top of the page.
Auto mange is turned off for the group. The display in the Edit User dialog changes. From
now on, you must enter usernames in the full format.
1. In the left pane tree, select the group and click Edit.
2. Clear Auto-manage and click Save.
3. In the users list, select one or more users and click Edit.
4. Select the User’s Domain checkbox, and enter a new domain in the format
@<domain_name> or leave it blank to remove the domain.
5. Click Save.
Moving a group
You can move any group except your own top-level groups.
To move a group
1. In the left pane tree, right-click on the group and choose Cut.
2. Move to the new location (the new parent for the group), right-click, and choose
Paste.
Renaming a group
You need to be very careful of renaming a group after it has been deployed — that is, after
users have been added and have started to log into Bria. In most cases, if you rename
such a group, existing users are not able to log in until they change their login name to
include the new group name.
If the auto-manage usernames option is enabled, you can automatically update all the
existing users with the new group name so that you do not need to manually update each
user as mentioned above.
To rename a group
5. Username Update
Select Skip or Update.
Skip: No changes are made to the existing users. The domain portion of the
usernames are different from the current group name you just changed to. You
must change the existing usernames manually; otherwise the end users are not
able to log into Bria.
Update: All existing usernames are updated with the new group name. With the
above example, this option changes [email protected] to
[email protected] in Stretto.
Warning
Click Rename. The domain portion of the usernames are different from the current
group name you just changed to. You must change the existing usernames
manually; otherwise the end users are not able to log into Bria.
Suspending a group
You can choose to supsend a group. Users are not able to log in to the softphone service
when the group is suspended but you can still work with anything in the group (users,
attributes, profiles, templates).
To suspend a group
The group is suspended. In Group Information, the State changed to Suspended and the
Suspended Since date is added.
To unsuspend a group
The group and all users except for individual users who are suspended via the Users
screen are unsuspended.
Deleting a group
You can delete any group except your own top-level group; only your parent admin can
delete the top-level group.
By default, Stretto does not delete a group in the above cases. You need to enable
additional options in order to proceed.
To delete a group
1. In the left pane tree, right-click on the group you want to delete.
2. Click Delete. A confirmation dialog appears.
3. Select additional options if desired.
l Also delete profiles, templates, users, or subgroups
l Also delete all admins using these groups as their default group
This option does not delete the admins using with the group as their extra
groups (instead of default group).
4. Click Delete.
Creating groups
This section describes how to create groups in Stretto Admin.
Creating groups
This method creates an empty group under a parent group.
To create a group
1. In the left pane tree, select the group that will be the new group's parent.
2. Right-click and select New Group. The New Group dialog opens.
3. Complete the fields and click Save.
Field Description
Name We recommend group names in the format <companyname>.com. For example, acphone.com.
Maximum users You can set a maximum number of users for any group.
If your Stretto is set up so that usernames are in the format <name>@<domain>, then you can
set up Stretto Admin to handle username entry in one of two ways:
l Auto-manage on: Recommended. You enter only the name portion, for example
“kperera”. The domain will automatically be appended both in the display and in the
database.
l Auto-manage off: You enter the entire name, for example, [email protected].
If auto-manage is on
In Stretto Admin, enter usernames in the format <name>. The domain will automatically be
appended and will appear in the Users dialog as a read-only field.
If you accidentally enter a username in the format <name>@<domain>, the format will be
corrected so that it is displayed in the correct way.
Users entered via the Stretto API are saved as entered. In other words, this Auto-manage
feature only manages the formatting of usernames that are entered via Stretto Admin.
If auto-manage is off
In Stretto Admin, enter usernames in the format that applies to your setup: either as
<username> or <name>@<domain>. The username will be saved and displayed as entered.
Pay attention to inheritance of attributes and/or templates. You might break the
inheritance depending on where you paste the new group in the group tree.
1. In the left pane tree, select the group that you want to copy, right-click, and choose
Copy.
2. Select the group that will be the new group’s parent, right-click, and choose Paste
group.
3. Enter a name for the new group and press ENTER.
Tip: You can also create a group by downloading an existing group and then uploading its
entities into the new group.
Downloading a group
Follow these steps to download a group to a file.
To download a group
1. In the left pane tree, choose the group you want to download.
2. Choose Download from the Group menu. If Download is disabled, then your
organization has decided not to support downloading and uploading of groups.
The Download Group popup appears.
l Download options
Attributes (and their group-level values) are always copied. You can specify
which other entities to copy:
l Profiles and Templates: The profiles and any attribute values in the
profile level (profile-attributes). All the template mappings in the profile.
The templates and all their contents.
l Users: Users and any attribute values in the user level (user-attributes).
l Attribute Pools: Attribute pools, if any, and all the entries in the pools.
l XMPP Avatars: The image data encoded in the binary format.
l Conference Configuration: The conferences available to the group and
their settings.
Entities to
Options to Select Description
Download
Attributes ☑ Attributes To copy attributes in order to paste them into another group.
☑ Group Attributes
☐ Attribute Pools
☐ Profiles
☐ Profile-attributes
☐ Profile-templates
☐ Templates
☐ Users
☐ User-attributes
Profiles ☑ Attributes To copy a basic “boilerplate” group that you have created to use as the base
Templates ☑ Group Attributes for “live” groups.
☐ Attribute Pools This usage is useful if you are deploying a hosted Stretto and want to provide a
☑ Profiles base setup for each of your customers (groups).
☑ Profile attributes
Typically, you do not want to copy attribute pools because pool entries can
☑ Profile templates
only be assigned once; you may create problems for yourself if you reuse the
☑ Templates
attribute pool in the new group.
☐ Users
☐ User-attributes
Users ☑ Attributes To copy the group in order to merge it with another group.
Profiles ☑ Group Attributes Typically, you do not want to copy attribute pools because pool entries can
☐ Attribute Pools only be assigned once; you may create problems for yourself if you reuse the
Templates
☑ Profiles attribute pool in the new group.
☑ Profile-attributes
☑ Profile-templates
☑ Templates
☑ Users
Entities to
Options to Select Description
Download
☑ User-attributes
l Decryption password
Required only if you are moving the downloaded data to a different Stretto
server and the entities you are downloading includes users – see Contents of
the downloaded .zip file. Get the password of the source Stretto from the
Stretto administrator and enter it in this field.
The options are:
l If you enter the password, then when the download is performed, the
encrypted data gets unencrypted. Later, when you upload the data to
the new Stretto, the data may or may not be re-encrypted: It is encrypted
if the target Stretto is set up to encrypt data (and is encrypted using the
target Stretto key).
l If you do not enter a password and the data actually is encrypted, the
data is copied to the new files in encrypted format. You can upload the
data to the same Stretto without problem. But you cannot upload the
data to a different Stretto.
l Zipfile password
If you enter a decryption password, you may want to enter a .zip file password
that will be applied to the .zip file containing the downloaded data, in order to
protect the data. If you open the .zip file, you will be prompted (by your .zip file
reader) to enter this password. Later, when you upload the .zip file to the
target, you must enter this password on Upload Group.
4. Click Download.
A zip file group_<group name>.zip is created in the regular location for downloads on your
computer.
Contents of the downloaded .zip file
l Profile information.
templates\<name of If templates and profiles were downloaded. One file is created for each template (including email and
template>.tem vCard templates) in the group. Profile information is included in the group.xml file.
If templates and profiles were not downloaded, these files are not created and furthermore, the group.xml
file contains no information about profiles.
user.csv Not included when the Attributes or Profiles Templates useful combinations are selected.
This does not include XMPP avatar photos.
vcards\<username>.vcard If XMPP avatars were downloaded. One file is created for each user.
1. In the left pane tree, select your target group. You can:
l merge the downloaded file into the selected group
l or create a new subgroup under the selected group
2. Choose Upload from the Group menu. The Upload Group dialog appears:
Field to complete
l Files to Upload: Choose the zipfile to upload.
l Zipfile Password: Enter this only if a password was specified when the file
was downloaded.
l Destination Options: Choose the first option in order to merge the file into the
group you selected. Choose the second option in order to create a subgroup
under the selected group.
l Update user domains with new group name. Typically, you want the
usernames to be updated. For example, if you are copying from zippy-
phone.com into acphone.com, you want to convert kperera@zippy-
phone.com to [email protected].
One scenario where you may not want this option is if your usernames are in
the format kperera (rather than [email protected]) because you
probably want to preserve the original format.
l Error handling:
l Rollback: For example, you are performing an upload that involves
uploading group information, then uploading profiles and templates, and
finally uploading users. If there is a problem with one of the profiles, then
the entire operation is canceled, including the group upload portion that
was already performed and had no problems.
l Skip: Only the current portion of the operation is canceled.
For example, you are performing an upload that involves uploading
group information, then uploading profiles and templates, and finally
uploading users. If there is a problem with one of the profiles, then just
that one profile is skipped and the activity continues. If there is a
problem with one user, just that one user is skipped and the activity
continues. Each entity that causes a problem is skipped.
See Resolving conflicts and Error handling for more information.
Results
Maximum The value is recalculated. If the new value exceeds the Max users for the target, an error occurs.
users
Allocated to The Allocated to subgroups count for the parent of this group is recalculated.
subgroups
RBC PAYG Value from the target is used. (Typically, the value of the source and the target are the same anyway.)
mode
Attributes Attribute list Attributes from the source are added to the target.
Group- Group-attributes from the source are copied with their attributes, except with Download Option D. See
attributes below for resolving conflicts.
Attribute Pool and its Note that we do not recommend downloading attribute pools and then uploading them in order to merge
Pools entries two groups. Doing so creates a management problem with the pools.
The download attribute pools ability is provided only to let you back up a group or move a group to
another Stretto.
Profiles Profile list All profiles from the source are added to the target.
See below for resolving conflicts.
Templates Template list All templates from the source are added to the target.
See below for resolving conflicts.
Rosters XMPP roster All rosters from the source are added to the target.
list
Chat Rooms XMPP chat All chat rooms from the source are added to the target.
room list
Users User list All users from the source are added to the target.
See below for resolving conflicts.
Take from User from the source who has "Take from pool" checked: after copying to the target, the user retains
pool? their existing pool value (from the source Attribute Pool).
User from the source who has "Take from pool" unchecked and has a value: after copying to the target,
the user retains their existing "local" value.
User from the source who has "Take from pool" unchecked but does not have a value: after copying to
the target, the user still does not have a value.
Referenced User U is being copied via Download Option D and the referenced profile does not exist in the target. An
profile error occurs.
Resolving conflicts
The following table shows show Stretto resolves conflicts between uploaded data and
existing data.
Attributes Attribute A exists Attribute A does not exist Attribute A is added to the target
Attribute A with Attribute A with different The property value of the target is used.
specific values for values for type, masked,
type, masked, visibility exist
visibility, lock exist
Group- Attribute A with a Attribute A with a different The value of the target is used
attributes specific default value default value
(groupattribute) (groupattribute) exists
exists
Attribute A with Group-attribute A does Group-attribute A is added to the target. This attribute now has a
default value (group- not exist group value that applies globally.
attribute) GA exists
Attribute A with no Attribute A with default The value of GA in the target applies to A
default value exists value GA exists
Profiles Profile-attribute PA Profile-attribute PA does PA is added to the target. For this profile, the attribute now has
exists not exist profile-level value.
Templates Template T1 exists Template T1 does not Template T1 is added to the target.
exist
Rosters Roster R1 exists Roster R1 does not exist Roster R1 is added to the target.
Users User kperera@zippy- User If "Update user domains" is on, this situation is an error: duplicate
phone.com exists [email protected] username. See below. If "Update user domains" is off, two users
exists now exist ([email protected] and
[email protected]).
User kperera@zippy- User kperera exists Two users now exist ([email protected] and
phone.com exists
kperera)
User kperera exists User If "Update user domains" is on, this situation is an error: duplicate
[email protected] username. See below. If "Update user domains" is off, two users
exists now exist exist (kperera and [email protected])
User kperera exists User kperera exists If "Update user domains" is on, two users now exist
([email protected] and kperera).
Error handling
Error Handling
Max users exceeded: Merging the source and target Skip: As many users as possible are loaded, then uploading stops. Other
causes the maximum users for the target or the target's entities succeed (keep in mind that uploading of users is the last activity that
parent to be exceeded. is performed).
Rollback: The entire upload is canceled.
User U is being copied via Download Option D and the Skip: The problem users are skipped.
referenced profile does not exist in the target. Rollback: The entire upload is canceled.
To resolve the problem, determine what profiles are being referenced by the
users either:
Duplicate username Skip: The problem users are skipped but other users are uploaded.
Rollback: The entire upload is canceled.
In the provisioning of Bria clients, a provisioning template specifies what kind of data is
sent to the client by listing attribute names. At runtime, Stretto sends the values that
correspond to each of those attributes.
Attributes belong to a group. The profiles and users in a group are automatically
populated with the group’s attributes. The value of each attribute can be either inherited
from a parent group or defined at the group level, profile level, or user level.
l Group-attributes. When an attribute's value is assigned at the group level, it is
referred to as a "group-attribute". You set the values at the group level for attributes
values that are shared by every profile and user in the group and subgroup.
l Profile-attributes. When an attribute's value is assigned in a profile (overriding the
group-attribute), it is referred to as a "profile-attribute". You set the values at the
profile level where you want to create categories of user types with shared values.
For example, you may want to have region-based values.
l User-attributes. When an attribute's value is assigned for an individual user
(overriding the group-attribute or profile-attribute), it is referred to as a "user-
attribute". You set these values when there is a case for individuals to have settings
that differ from the rest of the users in their profile or group.
The attribute value that is defined closest to the user level takes precedence over those
attributes defined higher up.
Attributes are either inherited from a parent group or created locally within the group. The
Attributes tab in the Groups page of Stretto Admin shows attributes as follows:
l Having only a Group Attributes section indicates that the group has not inherited
any attributes from the parent group. All the existing attributes have values that are
defined locally in this group.
l If the group also has an Inherited Group Attributes section, it means that your
group inherits attributes from the parent group. See Overriding an inherited attribute
value in a subgroup to override an inherited attribute value.
You can create attributes on the group page and assign values to each attribute in:
l The group page
l The profile page - read this section
l The user page - read this section
Or instead of assigning a value at one of the above mentioned levels, you can create an
attribute pool and take a value from it. Read Understanding attribute pools for more
details.
Creating an attribute
You can create attributes either by manually entering the attribute properties or by
copying a list of attributes from another group.
1. In the Group page, click Attributes. The Group Attributes list opens.
2. Click Edit.
3. At the top of the list of Group Attributes, enter the name of the new attribute in the
New Attribute box.
4. Click Save.
The attribute is added to the list of Group Attributes with default properties. You can now
edit the properties if necessary.
Use the Upload/Download Group feature and choose the option to download only
attributes (by deselecting all the download options). This feature copies all the attributes
from the source group. See Downloading and uploading groups.
2. Locate the attribute you want to change. You can search by attribute name using
the attribute filter at the top of the Attributes list.
3. Click Edit.
4. Make your changes to the attribute. See the following table for details on each
property.
5. Click Save.
Field Description
Star Click to make the attribute a Favorite. When you save the screen, the attribute will automatically move to the top of the
screen with other starred attributes, rather than being sorted in strict alphabetical order by attribute name.
On the Profile and Users screens, Favorites will appear at the top, but without the star symbol.
You can make as many attributes as you want into Favorites.
Lite admins can view Favorites on the Profile and Users screens as long as attributes are set to Visible.
Field Description
Masked If checked, the value is masked at the user level. See Masked, encrypted, and hidden data for more details.
Encrypted If checked, the value is encrypted at the user level. Only encrypt if the value is always set at the user level. If you encrypt,
do not lock the attribute. See Masked, encrypted, and hidden data for more details.
Visibility You can set the visibility to control the types of administrators who can view and work with the attribute.
l Hide from Lite: Lite administrators cannot see the attribute (either its name or its value) but Normal
administrators can. Lite administrators includes: Domain admin, Users&Profiles admin, Users admin, Support
admin, and Read-only admin.
Default The value you want to assign at the group level. You can leave it blank if you want values to be assigned only at the profile
Value or user level. If desired, you can enter a group-level value by entering a value in the Default Value field. (See Assigning
values to attributes for general information on where to assign attribute values.)
If the attribute is Locked, the attribute is inherited by any subgroups regardless of whether the parent group has a value.
If the attribute is Open, it is only inherited by any subgroups only if it has a value in the group level.
An empty field in an attribute line means that the attribute is locked. See Locking of
attributes in a subgroup setup.
3. Click Save.
Note: Renaming or deleting an attribute renames or deletes it in all profiles and users, but it
does not rename or delete it in the templates. Review the templates for lines that use the
renamed or deleted attribute and make changes as required.
Note: Read this section if your group has both a Group Attributes section and an Inherited
Group Attributes section.
The attributes in the Inherited Attribute Values section were created in the parent (or
grandparent) group and inherited by the current group. These attributes apply to the
current group and are used if they are not overridden.
4. Click Save.
The overridden attribute no longer appears in the Inherited Attribute Values section. It
appears in the Group Attributes section.
You can now set a lock that is equal to or stronger than the lock in the parent. So if the
lock in the parent is:
l Open: set to Open or Locked
l Locked: you cannot change the lock
l Create an attribute of the same name in the subgroup and enter a value.
l Assign a group-level value in the parent to allow subgroups to inherit the attribute
and value.
One use case of attribute pools is when your SIP provider requires an unique pair of
username and password per device. An attribute pool allows you to assign a pair of
username and password to each device the user logs in from. See Setting up attribute
pools for multiple SIP registrations for step-by-step instructions.
Pool types
There are three types of attribute pools for different uses.
This option sets up a pool that all users take from and that is independent of the user’s
device.
When the user logs on, Stretto checks if the user has a value for this attribute. If not,
Stretto takes any unused value from the pool and assigns it to the user.
This type of pool is useful for values that can be assigned to a user independent of which
device they are logging in with.
When the user logs in from a specific device, Stretto checks the pool to see if a value has
been assigned to that device for the associated attribute.
If there is no assigned value for this specific device, Stretto takes one of the unused
values from the group-wide per device pool and assigns it to the user for use with this
device.
This type of pool is useful when you want to assign different values for an attribute
depending on which device is used to log in, independent of which user is logging in.
When the user logs in from a specific device, Stretto checks the pool to see if a value has
been assigned to that specific user device combination for the associated attribute.
If there is no assigned value for this specific user device, Stretto takes one of the unused
values from the user's pool and assigns it to the user's device.
One of the differences between group-wide per device and user-specific per device is
that the user-specific per device pool allows you to have an individual pool for each user.
When the user is deleted from the group, the pool entries associated with the deleted
user are also deleted from the pool, instead of going back to the pool for reuse, which can
be an option for group-wide per device type.
This type of pool is useful when you want to assign different values for an attribute
depending on which device a user is currently using. You want to associate a specific
group of values with one user, but within that user, you don’t care which device gets
which value.
Use this type if you have the requirement to provide different provisioning data for a
particular setting depending on the particular device that a user logs in from. For
example, if you need a user to be registered on your SIP proxy with a different SIP
address (SIP line) depending on the device being used. You may then have logic on your
SIP proxy for setting up the user differently depending on the SIP address currently being
used. You can use user-specific per device to set up the user to support this requirement,
without the user having to do anything. See an example.
Note: Make sure to choose the same pool type for both pools. Stretto Admin might not
display pool entries in the order they were created. Use a CSV file to create pool entries
if it is important for you to know the order in which the entries were created.
l Use of an entry from the pool is optional. So for each user, you can instruct Stretto
to either use one of the entries from the pool, or set a value that is not in the pool.
This gives the Stretto administrator a flexibility to control what value to be
provisioned in a specific case.
This is the first step for setting up an attribute pool for your group.
Make sure that the attribute that will have the pool meets the following requirements:
l The attribute must be created locally in each group. You cannot create the attribute
in the top-level group and rely on inheritance.
l The attribute must have an Open lock. You cannot assign an attribute pool to a
locked attribute.
1. In the left pane tree, right-click the group that has the attribute and choose New
attribute pool. If the group has no attributes, this menu item is unavailable.
The Add New Attribute Pool dialog opens.
2. Complete the fields and click Save.
l Add pool for attribute - Select the attribute you are creating a pool for.
l Recycle pool entries - Select the check box if you want entries to go back into
the pool after it gets unassigned.
More details
With Recycle pool entries selected, entries go back into the pool
l When the user the entry is assigned to is deleted.
l When the device the entry is assigned to is deleted.
l Pool Type - Select a type that fits your needs.
l Group-wide user: A pool that all users draw from. Each user takes only
one value.
l Group-wide device: A pool that all users draw from. Each user takes a
value for each device they log in from.
l User-specific device: An individual pool for each user. Each user takes
a value (from their own pool) for each device they log in from.
The pool is created in the group, using the attribute name. At this point, the pool has no
entries. You need to populate the pool with values.
You can populate an attribute pool with values either by entering the values in the
Attribute Pool page or by uploading a text file.
Example:
Group-wide user type or group-wide per-device type
DK3759D73940
DJDYUEIRE830
T835648450507
For user-specific device type, enter multiple values for the same user by entering
multiple lines with the repeated username, a comma, and a unique value.
Example:
User-specific device type
[email protected],1000-1
[email protected],1000-2
[email protected],1000-3
[email protected],1331-1
[email protected],1331-2
[email protected],1331-3
3. Browse for the file containing the data and click Submit.
You created an attribute pool for an attribute, and added entries to the pool. Now enable
the pool for each user. This is needed especially if users already exist before the attribute
pool is created.
1. Under the group, select Users. The group's user list opens.
2. Select a user.
3. On the right pane, scroll down to locate the attribute with the pool.
4. Click Edit, and select the check box for Take from pool?.
5. Click Save.
An attribute pool has been enabled for the user. A value from the pool is assigned to the
user the first time they log in.
1. In the Group tree, select the group which includes an attribute pool.
2. Select the attribute pool in the tree. The Attribute Pool screen shows pool entries
along with Assigned to, Assigned at, and, if applicable, Device UUID.
3. You can use the Show filter to narrow down the list of entries. You can filter the list
by:
l assigned or unassigned, or
l provisioning username, or
l Value of a pool entry, or
l Device ID if applicable
When a value gets unassigned, the value is returned to the pool and could get re-
assigned to any other user, when needed.
Manual unassigning
The assigned entry could become unused if you delete a user who uses the entry or edit
the user so that it no longer uses the entry. If Recycle entries is disabled for the pool and
an entry becomes unused, the assigned status does not get changed automatically.
Remember to manually change the assignment on the Attribute Pool screen. Once the
assignment has been cleared, the entry becomes available for Stretto to automatically
assign to a different user.
You will need to decide how many devices to allow per user, then make sure you have
enough pairs of SIP username-password for all users. Stretto will take care of
provisioning both values of a pair to the same user at the same time.
The following step-by-step instruction assumes that you have decided to allow three
devices per user, and you have two users in Stretto. You have a list of SIP username /
password, at least six entries.
1. Use a text editor to create two lists; one for SIP username pool, the other for
password. Populate three values in each pool for each user; add more values if you
support more than three devices per user.
Entries for SIP username:
[email protected],AAA
[email protected],BBB
[email protected],CCC
[email protected],DDD
[email protected],EEE
[email protected],FFF
[email protected],passwordForAAA
[email protected],passwordForBBB
[email protected],passwordForCCC
[email protected],passwordForDDD
[email protected],passwordForEEE
[email protected],passwordForFFF
Tip: Pay attention to the order you list a value. Stretto Platform provisions a value in the
order a value was added. In the above example, when the user ewilding logs in for the
first time, SIP username AAA and SIP password passwordForAAA will be provisioned
because they are the first one listed for the user.
2. In Stretto Admin, go to your group, and make sure all the users have been created.
3. Create two attribute pools – one for SIP username and one for SIP password.
Choose user-specific per device type for both pools.
4. Now the pools are created, add entries to each pool by uploading a text file you
created at Step 1.
B. In the right pane, scroll down and look for the username attribute by typing
username.
D. Click Save.
E. Repeat the same steps for SIP password. Enter password and check Take
from pool? The first user has been configured to use attribute pools.
F. Repeat the same steps for the second user.
The first time the user logs into the Bria softphone, Stretto assigns the first entry from the
pools to the user; AAA and passwordForAAA in this example.
applications. In the template, the values for settings may be represented by Stretto
attributes. There are currently two provisioning file formats used by CounterPath clients:
l Bria desktop uses a format that is similar to a Microsoft Windows .ini file
l Bria mobile uses XML format
Each group contains one or more templates. Typically, you need at least one template for
Bria desktop and at least one template for Bria mobile. If a group has inherited templates,
the group may not have any local template, and it just refers to the inherited templates.
Stretto also uses templates for purposes other than provisioning, such as notification
emails, vCards, and User Portal pages. See Stretto template formats.
1. Right-click the group in which you want to create a templates and choose New
Template. Choose the template type: desktop, mobile, or blank.
2. Enter a name for the template.
The template is added to the list under the group.
To copy a template
2. Select the group where you want the new template, right-click, and choose Paste
template.
If you choose the option to auto-format the XML, each time you save Stretto edits the
template to ensure it's formatted correctly, and may even add necessary lines.
If you edit the XML source, be sure to click Validate to ensure that:
l your XML has valid syntax and formatting
l the attributes exist
Example:
Valid XML
(dots indicate where data has been omitted for brevity):
<cpc_mobile version="1.0">
<!-- Note the boolean type allows 0, 1, true or false -->
<!-- Represents login response. -->
<login_response>
<status success="true"/>
<data name="refreshTimeValue" value="3600"/>
<data name="refreshURL" value="https://imap.mobilevoiplive.com/login"/>
<data name="licenseKey" value="180YMYRX31R8ADNG9MP3N0210"/>
</login_response>
<!-- Represents branding part of the response. -->
<branding>
<settings_data>
<core_data_list>
<data name="useCellularData" value="true"/>
<data name="allowCellVoip" value="true"/>
<data name="enablePRACK" value="true"/>
.
.
.
<codec_list>
<codec_list_audio_wifi>
<codec enabled="true" name="OPUS/48000"/>
<codec enabled="true" name="SILK/16000"/>
.
.
.
</codec_list_audio_wifi>
.
.
.
</codec_list>
<account_list>
<account>
<data name="accountName" value="{{account1Sip.accountName}}"/>
<data name="authName" value="{{account1Sip.credentials.authorizationName}}"/>
<data name="display" value="{{account1Sip.credentials.displayName}}"/>
<data name="domain" value="{{account1Sip.domain}}"/>
Warning: An upload completely replaces all content in the template that you are editing.
There is no undo.
To upload a template
1. Expand the template's history by clicking the plus sign (+) next to the template
name. If the template has no historical versions, there is no plus sign.
2. Click the date/time that corresponds to the version you want to restore. The
template appears in the Template History page.
3. Click Restore to replace the current version of the template with the version shown
or click Download to save the template to a file that can be uploaded to another
template.
3. If one or more subgroups has a template with the same name, Stretto asks you to
confirm the deletion of those templates. Delete the templates if you want all profiles
that were previously mapped to the subgroup template to refer to the inherited
template.
Note: If you are not sure if the subgroup's template should be deleted, click Cancel and
correct any template name conflicts before trying again.
For example, in Profile_A, the attribute g711_enabled has a value of true. In Profile_B,
g711_enabled has a value of false. Assigning a user to Profile_A or Profile_B then controls
whether g711_enabled is true or false.
A profile can contain an attribute without a value if that value is to be set at the user level.
Even if you do not need to separate your users into different profiles, you must create at
least one Stretto profile. Each profile needs to identify the platforms with which the profile
can be used. Typically, profiles apply to both desktop and mobile platforms, but it is
possible to allow only one platform.
1. Right-click the group where you want to create the profile and choose New Profile.
2. Enter a name for the profile and press Enter. The new profile is added to the list and
is populated with attributes that exist in the group.
3. Select the new profile you just created and click Edit.
4. Complete the Template Mappings section. See the next section.
5. Assign a value at the profile level as necessary.
6. Click Save.
Make sure that the profile has Template Mappings for all device types being used in the
group. Otherwise, users who use this profile will not be able to log in with unmapped
device types. Typically, profiles have mappings for Desktop, Android, and iOS devices.
XMPP-enabled groups may also have a vCard mapping.
Tip:
Stretto looks for a device template in the order the mappings are listed in the profile.
The order of mappings does not matter unless you use the All discriminator or the
Custom discriminator.
l If you need to map different templates within a platform, such as Template A for
older clients and Template B for newer clients, you can specify the client
version by using the Custom discriminator.
6. Click Save.
Generally, values are assigned at the profile level only when the value is different in one
profile compared to another. If the value is the same in all profiles, you would typically
assign the value at the group level.
If you decide you do want to assign a value in the profile, keep in mind the following: Do
not assign a value in the profile if the attribute does not apply to a given profile. For
example, attributeA is for Bria mobile and for users of “gold service”. ProfileX is for users
of your “silver service”. AttributeA will appear in the profile (because the attribute is part of
the group) but so long as you do not use the attribute in the template that applies to Bria
mobile, you do not have to assign a value to attributeA in profileX.
The ability to set or change a value at the profile level depends on the attribute lock (if
any) and inheritance from a parent group (if any). There are visual cues on the screen
that indicate whether a value can be set or changed.
Text
Field Style Icon Meaning Value Can Be Changed in Profile?
Color
Outlined field Black Open and local Yes, just type in the field.
Attribute is open and the displayed
value was set (at some point) in this
profile.
Outlined field Empty (none) Open and empty Yes, just type in the field.
No value was set in the group. You
should enter a value here or in each
individual user.
Outlined field Gray (none) Open and local Yes, just type in the field.
The displayed value was obtained
from the group level (group-attribute)
of the current group.
No outline Black Open and inherited Yes, but first set a value for the attribute in the
Attribute is open and the displayed Inherited Attributes section of the current group,
value was inherited from the parent rather than having the value inherited from the
group (it was not obtained from the parent group.
current group)
No outline Black Locked and inherited No, because the attribute is locked.
Attribute is locked and the displayed
value was inherited from the group
level (group-attribute) in the parent
group.
No outline Black Locked and local No, because the attribute is locked.
Attribute is locked and the displayed
value was obtained from the group
level (group-attribute) of the current
group.
No outline Empty (none) Locked and empty No, because the attribute is locked.
Attribute is locked but you forgot to
enter a value at the group level.
An attribute that you The attribute is open but it was No. If you want to set a value at the profile level,
know exists does not created in the parent group and no the attribute must first have a value set in the
appear in the Profile value was set. parent group.
screen
Note: To set your preferences for how Stretto Admin handles profiles, see Setting
preferences.
To copy a profile
2. Select the group where you want the new profile, right-click, and choose Paste
profile.
3. Modify the name and press Enter. The source profile and all its existing content is
copied to the new location.
Deleting a profile
To delete a profile, right-click it and choose Delete.
You can configure Stretto to provision different templates within a given platform by using
a Custom Discriminator.
A Custom Discriminator can include a specific build number, or a range of build numbers
of the clients. Stretto goes through the profile-template mappings in top-down order.
When Stretto finds a match, it sends a provisioning response based on the associated
template. This means that any custom discriminator must appear before the generic ones
in the Template Mappings list.
3. Enter a discriminator to identify a client version. You can use regular expressions to
specify a range.
4. Select a template to use for the version.
5. Move the custom discriminator to the top by clicking an up arrow.
6. Click Save.
[mob.*Android.*|mob.*iphone.*|desk.*]<build_number_expression.*>
Where
l mob|desk must be either mob (mobile) or desk (desktop)
l Android|iP must be either Android or iP (iPhone) if you specify "mob" or nothing if you
specify "desk"
l build_number_expression is an optional regular expression to filter by build number
You can optionally add a regular expression to specify a build number terminated with
".*".
Examples:
l mob.*iP.*69231.* - Matches the client with the build number 69231.
l mob.*Android.*7778[0-9].* - Matches the build numbers from 77780 to 77789.
l desk.*77[3-9][0-9][0-9].* - Matches anything that starts with 773xx through 779xx.
Creating a user
There are several ways that you can create users:
l Individually using Stretto Admin
l Uploading a .csv file to Stretto Admin
l Auto-creating users with LDAP, see Auto-creation of users in Stretto
1. Under the group, select Users. The group's user list opens.
2. Complete the Settings fields. Provisioning Username is required. All other values
are optional.
Fields
l Provisioning Username: this is the username that end user will use to login to
the Bria clients. If the group is auto-managed, enter the name portion only. If
the group is not auto-managed, enter both the name and domain.
l Provisioning Password: Enter the user's password for logging into the Bria
clients. Leave this field blank only if you are using a third-party to authenticate
users (LDAP, ECS).
l Profile: The user must belong to a profile. Select a profile.
l State: Select an active or suspended state.
l Report Tag: Enter a keyword tag that is unique or the same as multiple users,
so you can view reports on particular users rather than everyone in the group.
l Set up XMPP options.
3. Enter values for user-attributes. If an attribute has an attribute pool associated with
it, you can let Stretto automatically assign an entry or you can deselect Take from
pool and enter a value that applies to this user only.
4. Click Save.
1. Prepare a .csv file that contains user records in the correct format.
You can download users from Stretto Admin, and edit the downloaded .csv file. Or
create a csv file from scratch.
Tip: A text editor is recommended for opening and editing a .csv file. If you use
Microsoft® Excel®, use the Text Import Wizard instead of double-clicking to
open the .csv file. If you double-click to open the file, Excel removes leading
zeros from numbers, e.g., the VoIP number 003 appears as 3.
l Username must have a value. All other values can be empty but the fields
must still be present in the file.
l Leave password blank if you are using a third-party to authenticate users
(LDAP, ECS).
l Email addresses must be unique — no two users can have the same email
address. As well, a user's email address cannot be the same as any other
user's full provisioning username (username@domain).
Example:
"username","password","profile","email","sipPassword","sipUserName"
"cgale","123$123","P_NA","[email protected]","134ud98e!","6045558900"
"tkay","abc123","P_NA","[email protected]","abcabcabc!1","2045551234"
Note: If you uploaded a .csv file that includes fields that do not match an attribute that
already exists, Stretto creates a new attribute to match.
2. Under the group, select Users. The group's user list opens.
3. Click Upload. The Upload Users dialog opens and prompts you to select a file.
4. Choose the .csv file that contains user records in the correct format.
6. Click Submit.
The ability to set or change a value at the user level depends on the attribute lock (if any)
and inheritance from a parent group (if any). There are visual cues on the screen that
indicate whether a value can be set or changed.
Text
Style Icon Meaning Value Can Be Changed in User screen?
Color
Outlined Black Open and local - Attribute is open and the Yes, just type in the field.
field displayed value was set (at some point) in this
user.
Outlined Black Open and local - Attribute is open and the Yes, just type in the field.
field displayed value was set (at some point) in the
profile that applies to this user.
Outlined Empty (none) Open and empty - No value was inherited from Yes, just type in the field.
field the group. You should enter a value here or at the
profile level.
Outlined Gray (none) Open and local - The displayed value was Yes, just type in the field.
field obtained from the group level (group-attribute) of
the current group.
No outline Black Open and inherited - Attribute is open and the Yes, but first set a value for the attribute in the
value was inherited from the parent group (it was Inherited Attributes section of the current group,
not obtained from the current group) rather than having the value inherited from the
parent group.
Locked and inherited - Attribute is locked and the No, because the attribute is locked.
displayed value was inherited from the group
level (group-attribute) in the parent group.
No outline Black Locked and local - Attribute is locked and the No, because the attribute is locked.
displayed value was obtained from the group
level (group-attribute) of the current group.
No outline Empty (none) Locked and empty - Attribute is locked but you No, because the attribute is locked.
forgot to enter a value at the group level.
An attribute that you know exists The attribute is open but a value has not been No. If you want to set a value at the user level,
does not appear in the User defined in the group level where the attribute was the attribute must first have a value set in this
screen created (which could be the current group or the group or the parent.
parent group).
From this page, you can view the user list, retrieve user details, and edit attributes.
l Click Edit to unlock, suspend, or change the attribute values for the selected user
(s).
l Click Delete to delete the selected user or users.
l Click Download to save users as a .csv file.
l Click Notify to either send email to end users, or send the most resent
configurations to the end users.
l Click Search in Users for group: to filter the user list.
l View or edit user data in the Details for user list.
Editing users
In Stretto Admin, you can edit users one at a time or you can edit multiple users with
Attribute Paint. Attribute Paint lets you select multiple users and update one or more
attributes for them at the same time.
If you clear any attribute value defined at the user level, then either the user obtains the
value assigned to the attribute in the profile (if any) or the group (if any). If the attribute is
not assigned in the user, profile, or group, the user does not have a value for this
attribute.
1. Under the group, select Users. The group's user list opens.
2. Select a user.
3. Click Edit on Details for User:.
4. On the Settings tab, change the value for any Settings or Attributes that you want
to update.
5. Click Save.
1. Under the group, select Users. The group's user list opens.
2. Select the users.
3. Click Edit on Users for group:. The Attribute Paint dialog appears.
1. Under the group, select Users. The group's user list opens.
2. Click Download on Users for group:.
3. Click Download all users.
Stretto Admin downloads all the users in the group to a .csv file according to your
browser's settings.
1. Under the group, select Users. The group's user list opens.
2. Select the users.
3. Click Download on Users for group:.
4. Click Download selected users.
Stretto Admin downloads the selected users to a .csv file according to your browser's
settings.
Tip: A text editor is recommended for opening and editing a .csv file. If you use
Microsoft® Excel®, use the Text Import Wizard instead of double-clicking to open
the .csv file. If you double-click to open the file, Excel removes leading zeros from
numbers, e.g., the VoIP number 003 appears as 3.
1. Open Excel.
2. Go to Data > From Text, then select the downloaded csv file.
3. Choose Delimited, and click Next.
4. Unselect Tab and select Comma, and click Next.
5. Find a column that contains numbers. Select the column in the data preview,
and choose Text. Repeat this step for all the columns that contain numbers.
6. Click Finish.
7. When you are done editing, save the file as CSV, not xlsx.
Heading row:
l The first three fields must be username, password, and profile, in any order.
l Username, password, and profile field names are not case-sensitive.
l Other field names are case-sensitive: for example, sipusername is not the same as
sipUsername.
l Omit attributes that have values assigned at the profile level and attributes to which
you will assign values to later.
l Omit the LicenseKey if Stretto automatically assigns this data from a pool.
l Field names can be in quotes or not.
User record:
l Comma-separated values corresponding to the fields defined in the heading row.
l One complete user record per row.
l Values that contain a comma must be enclosed in double quotes. For good
measure, enclose all values in double quotes.
l Attribute values are case-sensitive. For example, the profile name abcProfile is not
the same as AbcProfile.
l Username must have a value. All other values can be empty but the fields must still
be present in the file.
l Leave password blank if you are using a third-party to authenticate users (LDAP,
ECS).
l Email addresses must be unique — no two users can have the same email address.
As well, a user's email address cannot be the same as any other user's full
provisioning username (username@domain).
Example:
"username","password","profile","email","sipPassword","sipUserName"
"cgale","123$123","P_NA","[email protected]","134ud98e!","6045558900"
"tkay","abc123","P_NA","[email protected]","abcabcabc!1","2045551234"
Tip: If Allow end users to change their password is selected in the End User Portal
Settings, a user can change their password in the End User Portal. If they cannot remember
their password, they can use the I forgot my password link on the End User Portal login
screen. Users must have an email address in the user property E-mail address set up for
users in the Settings section of Users to use the I forgot my password link.
A red icon in the Susp. column for the user indicates the user is either locked out or
suspended.
To unlock a user
1. Under the group, select Users. The group's user list opens.
2. Select a user.
3. Click Edit on Details for User:.
4. On the Settings tab, clear Locked (End User).
5. Click Save.
Suspending users
You can suspend a group of users or suspend an individual user using Stretto Admin.
When you suspend a user, Stretto Platform notifies the user to log out if you have set up
the Stretto Notification Service (SNS) feature.
1. Under the group, select Users. The group's user list opens.
2. Select a user.
3. Click Edit on Details for User:.
4. On the Settings tab, select Active or Suspended from State.
This functionality uses the Stretto Notification Service (SNS) which requires a setup in
your Stretto.
1. Under the group, select User. The group's user list opens.
2. Select one or more users. Skip if you are notifying all users in the group.
3. Click Notify then Refresh Devices.
Deleting users
You can delete a single user, or select multiple users and delete them at once. When you
delete a user, Stretto Platform notifies the user to log out if you have set up the Stretto
Notification Service (SNS) feature.
To delete users
1. Under the group, select Users. The group's user list opens.
2. Select a user or multiple users.
3. Click Delete on Users for group:.
4. Click Delete on Confirm Delete.
Tip: If Allow end users to view and delete their devices is selected in the End User Portal
Settings, a user can delete their own devices.
1. Under the group, select Users. The group's user list opens.
2. Select a user.
3. Click Edit on Details for User:.
4. Select the Devices tab.
5. Locate the any devices and click Delete. The device entry turns gray.
6. Click Save.
The device is removed. Stretto Platform also attempts to log the user out of the deleted
device if the SNS feature is configured for the group.
Warning: Do not use temporary password access codes if you are using a third-party to
authenticate users (LDAP, ECS).
Note: End users cannot log into the softphone client with the temporary code!
To use the temporary access code feature and allow them to reset their password,
end user's email address must be entered in E-mail address, not in another
attribute.
l When sending notifications, it requires the following:
l the Use the temporary access code(s) option is enabled
l {{ccs:password}} is embedded in the email which will be replaced with the real
temporary code for each user
How temporary access code works
When an email notification is sent out with Use temporary access code(s) enabled,
Stretto generates an access code for each user and embeds the code in the email as
plain text in place of the {{ccs:password}} attribute. The temporary access code allows
end users to reset their password using End User Portal; they cannot log into softphone
with it!
l The temporary access code is valid for one hour.
l The user's Provisioning Password is not modified by this notification or access
code. The existing login password continues to work until the user resets their
password using End User Portal.
l Your email can include a link to End User Portal to reset the password. Optionally
add parameters after ? to auto-fill the form.
For example:
https://stretto.cloudprovisioning.com:18082/userportal/reset.html
https://stretto.cloudprovisioning.com:18082/userportal/reset.html?username=
{{ccs:userName}}&password={{ccs:password}}&groupname=
{{ccs:groupName}}
l Once users reset their password, they need to log out and log back into the
softphone client.
1. Right-click the group where you want to create the template and choose New
Template > New notification template.
2. Type a name for your new template and press Enter. The new template appears
with some basic content.
1. Under the group, select User. The group's user list opens.
2. Select one or more users. Skip if you are notifying all users in the group.
3. Click Notify then Notify.
l Send only to users whose Notify column is empty (they haven't yet been
notified).
l Send to all n users in group
l Send to selected users.
5. Click Next.
6. To use an email template, click Template; otherwise, type the content.
9. Click Send.
Notification emails are sent to the selected users. Stretto indicates that the user or users
were notified in the Notified column of each user.
In the full text of the notification email, text in curly brackets {{ }} are placeholders for any
Stretto attribute that you already set in the group, profile, or user. When the emails are
sent, the attributes will be replaced with real values. The following sample could be used
without temporary access codes.
Sample
Welcome aboard AC Phone. Please keep this email for future reference.
Thanks,
{{account.notification.administratorName}}
Setting preferences
In Stretto Admin toolbar, click the wrench icon to open a list of Stretto options.
Preferences are saved for each administrator, so if you log onto Stretto at a different
computer or browser, your saved preferences are loaded.
Preference Description
Include all attributes when copying a profile When copying a profile from one group to another, all attributes — including those that are
blank — are copied. When this option is not enabled, attributes with no value are omitted.
Copy missing templates when copying a When a profile is pasted into a different group, any templates to which the profile refers will
profile be duplicated in the new group unless a template of the same name already exists.
Auto-format mobile XML templates when When saving a template for a mobile device, the XML source is tidied up and indented
saving correctly for readability. This is not the same as XML validation.
Trim value input strings When strings values are saved, inappropriate spaces are removed. See Trimming input
string values.
Warn when renaming groups Show a confirmation message when you rename a group.
The warning reminds you that renaming a group may result in users in that group not being
able to log in. In general, it is not a good idea to rename groups that are “in production”.
Warn when encrypting new attributes Show a confirmation message when setting an attribute to "encrypted".
Some values are always trimmed. You can set an option in Stretto Admin to trim other
values as well. See Setting preferences.
Attribute pool values Select an attribute pool in the navigation tree, then click New
Attribute default values Group screen > Group attributes > Default value column
Profile Details input values Profile screen > Profile Attributes > Value
Profile discriminator names Profile screen > Template Mappings > Custom > discriminator name
Mobile template dialplan editor Template screen > Dialplan Rules, when in Designer Mode
The values you enter in Name, Match, Remove, and Add are trimmed as necessary.
Some of the features available with Stretto Platform are optional either as features that
you can enable or disable or as features that you can add on. This section describes how
to set up Stretto Platform to use these features.
Note: In order to use the Bria Push service, the Bria client app must be version 5.0.3 or newer.
Recent versions of Android and iOS can aggressively stop applications that are running
in the background. In this situation, push notifications help by starting an application that
has been stopped by the operating system when the user receives a call.
Bria Push offers a solution to battery life, reliability, and operating system limitations to
ensure that the end user can stay on top of their calls. By enabling Bria Push in Stretto
and in Bria clients, you provide end users with a reliable service while improving battery
life.
Customers control Bria Push configuration through Stretto Admin, and give their end-
users the option to enable push notifications in each SIP account.
The following diagram shows what happens when Bria goes into the background on a
mobile device.
To read more about how Bria Push works, see Push for the People on the CounterPath
blog.
https://docs.counterpath.com/guides/portals/brandingPortal/clients/BrandingPortal/iosP
ushKit.htm
https://docs.counterpath.com/guides/portals/brandingPortal/clients/BrandingPortal/andr
oidFCM.htm
app.
1. Log into CounterPath Branding Portal and click the name of the brand for which you
are uploading push information.
2. Submit your Firebase information for your Android app. Skip this step if you do not
have an Android app.
a. Select Android > Push Notification. The Push Notification page opens.
b. Click Upload and browse your local file system for the google-services.json
file that you obtained from the Firebase website.
c. Click Save.
d. Select the Android hosted push tab, then click FCM server key. Enter the
Server Key that you obtained from the Firebase website in FCM Server Key.
e. Click Save.
3. Submit your PushKit information for your iOS app. Skip this step if you do not have
an iOS app.
a. Select iOS > App Store.
b. Click Upload and browse your local file system for the App Store Distribution
Provisioning Profile that you updated. For details on the Distribution Profile,
see the Branding Portal User Guide.
c. Click Save.
d. Select iOS hosted push > Apple Push Services.
e. Provide the information associated with your .p8 key file.
f. Click Upload and browse your local file system for the .p8 file that you created
earlier.
4. In the list of pages, click Build Requests & Notes and request a new build of your
apps.
This instruction assumes you already have users and profiles setup in your group.
Tip: The Stretto attribute names referenced here are recommended by CounterPath. If you
choose to use different attribute names, you must ensure that the provisioning template
correctly maps the Bria setting to your attribute names.
Most VoIP
service
providers do
support
multiple
registrations.
See below this
table for more
information on
this option.
More
details
The Bria Push
server
simulates this
NAT situation
by inserting a
SIP VIA
header into the
SIP
REGISTER
method that
the Bria Push
server sends
to the SIP
server. This
VIA header
often assists
with ensuring
that various
NAT traversal
techniques are
enabled on a
customer’s
Session
Border
Controller
and/or SIP
server.
Enabling the
various
techniques
supported by
these
platforms may
assist with
ensuring that
registrations
are maintained
or may help
with issues
related to call
delivery or
RTP stream
establishment.
Registration Mode
This option controls how the combination of the Bria client and the Bria Push server
interact with the SIP server. For some customer’s SIP servers, the registration mode may
not matter or make a substantive difference to the behavior of the SIP Server or the
reliability of the reachability of the Bria client. For another customer’s, the registration
mode will matter quite a bit because one of the registration modes works best to address
the particular limitations of the customer’s SIP Server. Customer administrators and IT
staff should carefully understand these registration mode options and their potential
impacts.
l Standard (0)
The Standard registration mode allows both the Bria Push servers and the Bria
clients to register to a customer’s SIP account in an alternating manner. In this
mode, there may be short overlaps of registration where both the Bria Push server
and the Bria client are registered to the SIP server. Some PBXs, SIP servers or SIP
services may have issues with this registration overlap. If you encounter an issue
with registering to the SIP server or receiving push notifications, select a different
registration mode.
l Continuous (2)
The Continuous registration mode ensures that the Bria Push server is always
registered on behalf of the Bria client. The Bria client still registers directly to the SIP
server when in the foreground, but the Bria Push server does not de-register from
the SIP server. In this mode, all inbound calls and all outbound calls from the Bria
client are handled by the Bria Push server.
The Continuous mode, in particular, is used when a SIP server supports multiple
registrations at the same time. This mode avoids any gap in SIP registration
because the Bria Push server is always registered on behalf of the Bria client.
In the event of a call to the SIP account while the Bria client is in the foreground, the
Bria client will receive an INVITE directly from the SIP server and via the Bria Push
server. The Bria client will filter out these duplicate events and only allow one of the
call attempts to progress.
1. Use the Source view to copy and paste the following data lines under <core_data_
list>.
<core_data_list>
(omitted)
2. In the Source view, locate your SIP account that uses Bria Push and copy and
paste the following data lines under <account>. This example assumes you use push
notifications in Account 1.
<account_list>
<account>
(omitted)
3. Look for the setting name useAPN under <account_list>. If there is, delete the setting
(the entire setting and not just the value). This setting was used in a previous
version, but is now deprecated.
Refer to the Mobile Settings list for the advanced settings of Bria Push.
At this stage, you need to confirm that Bria Push works correctly on a Bria client. By
following the testing steps in this section, answer these questions:
This client is connected to the SIP server without push This client is connected to the SIP server with push
notifications. Follow the steps to enable push notifications in notifications. Your client is ready to test incoming
the client. calls.
In iOS
1. In Bria, select Settings > Accounts. The Accounts page opens.
2. Select the information icon . Bria displays the account information for your
SIP account.
3. If Bria indicates that your account status is "Registered", turn off Enabled.
This allows you to change the push settings.
4. Scroll down and select Account Specific Features. The Account Features
page opens.
5. Enable the option Use Push Notifications and return to the previous page.
6. Turn on Enabled and return to the Accounts page. Bria should now indicate
that it is connected to the SIP server (green icon) and that push notifications
are enabled (bars above the icon).
In Android
1. In Bria, select Settings > Accounts. The Accounts page opens.
2. Tap the green slider next to the SIP account name to unregister.
3. Tap the SIP account name. Bria displays the account information for your SIP
account.
4. Scroll down and select Account Specific Features. The Account Features
page opens.
5. Enable the option Use Push Notifications and return to the Accounts page.
6. Tap the slider next to the SIP account name to register.
Your client is ready to test incoming calls.
C. Does the Test Push Service pass?
Try the Test Push Service button in Settings > Accounts - Bria Push Service with
the SIP account enabled and registered. If the test is successful, your device is able
to communicate with the Bria Push server and your device is able to receive push
notifications from the Apple and/or Google FCM push notification systems.
D. Can the client receive a call when the app is in the foreground?
Verify that Bria can receive calls when the client is in the foreground. This
establishes the minimum functionality.
2. On the home screen, drag down from the top to open the Android Status Bar.
3. Look under the name of your Bria client (the name may vary depending on the
version).
If you see the words "Push Registered", it means that Bria Push is registered
with your SIP server when Bria is in the background.
3. Press the Home button on your device to return to the home screen. Bria is
now in the background.
4. After about 10 seconds, open Bria again. In the Accounts page, you should
see the client registering with the SIP server, then showing the green icon
again.
These tests should be performed using a Bria client app that has been updated to the
latest version that includes Bria Push support (5.0.3 or newer). The client app used to
illustrate these tests is Bria; however, the procedure is the same for all Bria client apps
and branded client apps.
Note: To stop receiving push notifications, set your device to "Do Not Disturb" mode or log out
of Bria (Settings > Logout).
l Is it Push-related?
Determine whether or not the issue is related to push notifications. To verify this,
test the same scenarios while the Bria client is in the foreground. If you encounter
the same issue while in the foreground as well as in the background, your issue is
likely unrelated to the Bria Push Service.
l SIP server reachability from CounterPath Push servers
The SIP server (a PBX or a SIP service) must be reachable from the Internet. This
is required in order to allow the Bria Push servers to register to your SIP server and
receive calls from your SIP server.
If you are not sure about the network you are using
Verify the SIP server reachability by testing if the Bria client can register to the
SIP server, with the Bria Push Service disabled, in the following networks:
l from a Wi-Fi network that is not associated with your own corporate/home
network, such as a coffee shop or public library, and
l from an LTE / 4G mobile network. Make sure to disable the Wi-Fi network on
the mobile device.
This test is effective when verifying the SIP server reachability because the Bria
client registering from an unknown IP address simulates the interaction of
CounterPath Push servers with the customer's SIP server.
l CounterPath Push server reachability from the Bria clients
Ensure that their mobile devices are on a network that allows them to communicate
with the Bria Push Service. Try the Test Push Service button in Settings >
Accounts - Bria Push Service with the SIP account enabled and registered. If the
test is successful, your device is able to communicate with the Bria Push server and
your device is able to receive push notifications
l Apple APNs / Google FCM reachability from the Bria clients
Apple / Google requires a set of ports to be open in your firewall. If you have a
restricted network, see Apple APNs / Google FCM to make sure the traffic is
allowed. The Test Push Service button can verify this.
l SIP server capabilities: single registration vs multiple registrations
One critical item to understand about a SIP server is if it supports a single
registered client per configured SIP account or line. Different manufacturers,
software providers, and Unified Communications Services use different terminology
for this capability.
a. If you can only use one SIP device at a time, then CounterPath classifies this
as supporting a single registration. In Bria Push configuration, the registration
mode should be either Single Device Emulation or Single Device Takeover.
Try Single Device Takeover unless Single Device Emulation is already
working for you. It might require some testing to figure out which is better for
your deployment.
b. If you can use multiple SIP devices at the same time and specifically receive
calls on all devices for a single inbound call (meaning that all devices are able
to maintain a registration and the SIP server supports call forking), then
CounterPath classifies this as supporting multiple registrations. The
registration mode should be either Standard or Continuous. Try Continuous
unless Standard is already working for you. It might require some testing to
figure out which is better for your deployment.
More details
The Bria Push server sets this unique Contact URI in the REGISTER message
when registering with the SIP server. For the best interoperability, when the SIP
server notifies the Bria Push server of an incoming call, the SIP server should set
the Request-URI of the INVITE message to be the same value as the Contact
header as specified by the Bria Push server in the REGISTER message. If you think
this might be the cause of your issue, try changing the settings for Disable Hash
Token and Insert RInstance.
l Permissions for push notifications on user's device
Make sure the user has given a permission to receive push notifications on their
device. This can be controlled in the same way as you give a permission for the
mobile device to access the microphone, camera, contacts etc.
Common issues
This is one of the most common issues when testing the Bria client on mobile devices
with or without using push notifications. Make sure:
l Push notifications are enabled in the SIP account on the Bria client.
l The user has given a permission to receive push notifications on the device.
l Your SIP servers can be reached from the Internet, such as a coffee shop or public
library. Try registering to the SIP server with push notifications disabled in such a
location using Wi-Fi and/or a mobile data network.
l The Bria client can reach the CounterPath push servers from behind any firewalls.
Try the Test Push Service button on the Bria client.
l Check if your SIP server cancels the incoming call because it does not receive a
180 RINGING message back from the Push server within an expected period of
time. If this is the case, turn on the Auto Send 180 Ringing setting (one of the Bria
Push advanced settings), or review configurations on your SIP server to increase
the interval in which a 180 RINGING is expected.
l Review the Bria Push Checklist.
Try calling to and from the Bria client while it is in the foreground, which does not leverage
the Bria Push Service. If you still experience no audio or one-way audio while the client is
in the foreground, it means that the issue is outside the scope of the Bria Push Service
and that it is likely related to a configuration in the SIP network or interaction between Bria
and the SIP server. Try solving the issue with push notifications disabled. After
addressing the issue, try testing push notifications again.
Logs and traces
More resources
See Configuring Collaboration for how to set up the Collaboration feature in your Stretto
group.
Meeting rooms
Using Stretto Admin, the administrator sets up meeting rooms for each user in a group,
which allows for multi-party audio and video calls. Users can then host meetings that are
reachable by any device with Bria installed, or any device with a web browser.
Each meeting is defined by a unique group bridge prefix plus bridge number and a unique
meeting code. These three identifiers direct callers to a shared multi-party call.
Meeting recording
Each meeting can be recorded either with only the audio portion, or both the audio and
video portion. In order to record both the audio and video portion, the Host must provide a
Dropbox account to store the recorded files.
l Users can generate an access token for their own Dropbox account and enter it into
Bria through the Collaboration Management User Portal.
l An administrator can acquire an access token from each user and add it to the
meeting settings in Stretto Admin.
Note: An account with Dropbox is required to use this feature. You can read more about
acquiring Dropbox access tokens at dropbox.com.
Configuring Collaboration
Setting up a Stretto group for Collaboration
Enable Collaboration by creating and setting attributes and modifying the provisioning
templates.
1. In Stretto Admin, create the following attributes and set their values at the group
level:
collabServerUrl wss://collab.cloudprovisioning.com:443/join
vccs:xmpp.domain {{ccs:xmppdomain}}
vccs:xmpp.proxy imp.softphone.com
vccs:xmpp.guest.username [email protected]
vccs:xmpp.guest.password ThisIs4Collab
vccs:xmpp.websocket-url wss://imp.softphone.com:5291/
Up to you. For example: true Optional attribute if you do not want to set a
Up to you. For example: true Optional attribute if you do not want to set a
feature.allow_vccs_call_ value in the templates (i.e., if you want to
recording.enabled give this ability to only some of your users,
not all users).
This controls whether to allow recording of
themeeting call by participants.
feature:vccs:group="{{ccs:groupName}}"
feature:vccs:url="{{collabServerUrl}}"
feature_options:stretto_vccs_available:enabled="{{feature.stretto_vccs_available.enabled}}"
feature_options:allow_vccs_call_recording:enabled="{{feature.allow_vccs_call_
recording.enabled}}"
<core_data_list>
<data name="useStrettoVccs" value="{{feature.stretto_vccs_available.enabled}}"/>
<data name="enableStrettoVccsRecording" value="{{feature.allow_vccs_call_
recording.enabled}}"/>
<data name="vccsGroup" value="{{ccs:groupName}}"/>
<data name="vccsUrl" value="{{collabServerUrl}}"/>
Set up End User Portal and make sure to check Allow end users to change meeting
settings. Your end users can set their preferences using the Meetings section on their
End User Portal page in the clients.
To customize the templates, copy the content from the following page, create a blank
template in your Stretto group, and save it as the same filename indicated on the said
page.
l Collaboration email invite templates are used when Bria invites people to a
meeting, or schedules a meeting.
l Collaboration email summary template defines the email formatting when Bria
emails the Host with the summary such as participants and chat history after a
meeting ends.
<vCard xmlns="vcard-temp">
(( omitted ))
<X-CPCOLLAB>vccs://collab.cloudprovisioning.com:443/join/{{ccs:user.conference.code}}/
{{ccs:groupName}}</X-CPCOLLAB>
</vCard>
Although Stretto Admin lets you set up meetings one-by-one, you may find it easier to
add meetings to Stretto Admin in bulk by using a CSV upload.
After meetings are set up, users can see the meeting title, access numbers, and URL
when they start a meeting or schedule a meeting in their client app.
1. Under the group in which the particular user belongs, select Meetings. The
Meetings page opens and shows a list of any existing meetings.
2. Check to see if the user already has a meeting by searching for their provisioning
username in the search bar.
3. Click Add. A blank Meeting Editor dialog appears.
4. Enter the settings for the new meeting and click Save.
Meeting
Required Description
Setting
Provisioning ✓ Enter the Stretto username exactly as it appears in the group user list. You can select a user
Username from a list by typing a partial username.
Group Bridge ✓ This number is set up by the Stretto system administrator and should be unique to the group.
Prefix
Bridge ✓ Enter a number that callers dial. The number can be up to 12 digits and must be unique per
Number group bridge prefix.
Meeting
Required Description
Setting
Title Type a short title for the meeting. Descriptive titles with a consistent naming scheme can be
helpful when reading meeting reports. The Title appears in the calendar invitations and in
History.
Participant Participants are prompted to enter this PIN to join the meeting. The Host must give this PIN to
PIN participants prior to the meeting.
Moderator PIN If the meeting is moderated (a meeting will not start until a moderator joins) and the Host dials in
directly to the bridge, the Host must enter the moderator PIN to start the meeting. You must set
the Participant PIN as well as the moderator PIN so that dialing into your bridge will provide
options to enter the PINs.
Meeting Code This is a unique and randomly-generated ID code to identify the meeting for participants. The
Host can provide the calling URL, which includes this code, to participants before they call in.
Meeting Code If you want the meeting code to expire after a set time period, select this check box and set a
Expires? duration. After that duration, even if a participant has a URL with the meeting code, they cannot
call in again until they acquire the new, randomly-generated code from the Host.
Moderated Select Meeting starts only when moderator joins if participants should wait in a virtual lobby
until the Host joins the meeting. When this is enabled, the Host must do one of the following to
start the meeting:
l Join the meeting by using Bria. You need to log into Bria so that the
system knows it is the Host.
l Join the meeting by dialing in. You need to set the Participant PIN and the Moderator
PIN prior to the meeting, and make sure participants know the Participant PIN to enter
upon joining your meeting.
Grace period This setting specifies how long participants can remain in a meeting after the Host has
after host disconnected. After the time has elapsed, participants are notified that the session is closing
leaves before they are disconnected.
Email Select this option if you want the Host to receive an email summarizing the call: user info, SIP
Summary address, display name, XMPP name (if applicable), time stamps, and link to a recording (if
enabled). The user's email address field must be configured for this feature to work correctly.
Email Select a timezone to be used for email summary. Type a name of country or city, and pick the
Summary suitable one from the suggested list.
Timezone
Recording Choose whether the Host can record the audio or the audio and video portions of a meeting. To
format record the video portion, enter the Host's Dropbox token.
Recording Select this option to automatically record meetings with no user intervention. Meeting recordings
auto-start begin when two or more members join.
Initial Video Select the default resolution for your meetings. 848x480, 1280x720, or 1920x1080. All video
Resolution streams at this resolution if available. If a participant is sending video at a lower resolution, their
video appears in the lower resolution in the video stream. 1080p video provides a crisper image
but uses more data than 720p.
Entry/Exit If Play tones when participants join or leave the meeting is selected, members hear a tone
Meeting
Required Description
Setting
Lone Choose the sound to play when a meeting has only one participant. Uploading your own sound
Participant file is not supported.
Sound
Join muted Select this option if you want to mute new participants when they join the meeting.
Show Video Select this option to display the participant's display name on their video stream.
Name Tags
Dropbox If you want the Host to record both the audio and video portion of a meeting, enter the Host's
Token Dropbox token. Alternatively, users can provide their own Dropbox token in the End User Portal,
so that each meeting owner can upload recordings to their own Dropbox.
Description Enter a description of the meeting. This is a free-form text box for any notes you might have.
Tip: To get the format of the CSV file, click Download in the Meetings screen, save the file,
then replace the content (except the heading line).
Fields:
Example:
"meeting_title","username","meeting_key","meeting_key_expiry","participant_pin","bridge_
number","moderator_pin","nomoderator_overrun","is_moderated","summary_email","video_layout","video_
frame_rate","dropbox_token","auto_record","auto_record_audio_only","description"
"Marketing NA Meeting","[email protected]","FASGPXAEIR","6/7/2020
16:20","1234","1006","1000","0","true","true","focus","30","","false","false","North America region
marketing meeting"
"Marketing Asia
Meeting","[email protected]","RQNVSVUNAL","","1234","1007","2000","30","false","true","grid","30","","t
rue","false","Asia region marketing meeting"
"Sales NA
Meeting","[email protected]","NTIAKEZLNM","","1234","1008","3000","0","false","true","ribbon","30","","
false","false","North America region sales meeting"
1. Under the group in which the particular user belongs, select Meetings. The
Meetings page opens and shows a list of any existing meetings.
2. Click Upload then browse for and select a file.
3. In the Meeting Configuration Upload dialog, click Submit.
If a record that you upload matches the owner, lobby, and bridge of an existing meeting,
the existing meeting is updated with the uploaded settings; otherwise, a new meeting is
created.
When a meeting is held, Stretto records the following information per session:
Meeting information
l Owner
l Meeting bridge
l Start time
l End time
l Duration (for meeting)
l A number of Participants, with a breakdown of:
l Desktop participants
l Mobile participants
l Tablet participants
l Dial-in participants
l Web participants
l Kicked participants
l Screenshare usage (duration for screenshare)
l Physical Bridge, indicating which call server hosted the meeting.
Chat information
l Date
l Sender
l Message
Usage:
l To view meeting usage for a group, select Meetings > Usage Records.
l To filter the list by provisioning username, meeting title, bridge number, meeting
code, or description, click the Search icon in the Usage Records tab and enter a
partial search string.
l To download the list of meeting records currently displayed in the Usage Records
tab, click Download.
l To view detailed metadata for a meeting, click a usage record in the Meetings tab.
Up and down arrows browse through the list of usage records.
l Chat room (persistent): public (anyone can join) or private (invite only)
l Delayed Delivery
l Presence subscription
l LDAP/Active Directory integration (for authenticating XMPP users as well as
building shared rosters and vCards)
l Privacy – blocking communications to or from specific users. This can be done at a
domain level by configuring federation, or at user level on the softphone client.
l File Transfer – Peer-to-peer transfer support is subject to the softphone client
capability. No support for server-controlled file transfer.
l Multi-tenanted capability
Deployment
The XMPP module can be deployed in the customer's environment, or hosted by
CounterPath, with or without the Provisioning module.
The XMPP module is deployed behind the firewall in the network. NAT/port forwarding
must be configured to allow connections through the firewall. Also the XMPP domain
must be set up with DNS-SRV on your DNS server so other servers and clients can find
the server.
Security
The connection between Bria clients and the XMPP server can be encrypted using TLS.
Remote monitoring
The XMPP module can be remotely monitored using HTTP and SNMP.
User management
Stretto allows the administrator to manage their users by using the web interface called
Stretto Admin or the Stretto API. Stretto shares the user data for provisioning and for the
XMPP service. This means that the administrator can easily add the XMPP service to the
existing provisioning users, and vice versa.
Stretto also supports LDAP/Active Directory integration for XMPP service as well as
provisioning. If the administrator uses LDAP for authenticating the provisioning users,
they can do the same for the XMPP service.
Roster management
The Stretto Platform offers two ways to configure XMPP rosters. One is to create rosters
locally within Stretto by using Stretto Admin or the Stretto API. The other way is to retrieve
the roster information from LDAP/Active Directory.
The administrator can configure rosters for their users and push them down to the client
when they log into the XMPP service. The Stretto Platform supports shared rosters; the
administrator can configure multiple rosters instead of putting all users into a single
roster.
Create a Supervisor Mode roster which only shows presence for some users or addnon-
Stretto contacts as Common Contacts to an existing roster.
vCard support
Stretto offers a vCard template that the administrator can customize. User information for
vCards can be populated via LDAP, or via Stretto Admin, or Stretto API which support
bulk users upload using a .csv file. Stretto creates vCards from the template, and pushes
them down to the client. The template is in an XML format and follows the schema
specified in RFC 6351.
Photos
Photos of users can be supplied to Stretto via Stretto Admin or Stretto API, or retrieved
from an LDAP/Active Directory server using the vCard template. The photo requirements
are listed below:
l The size of the photo must not exceed 64KB, which is configurable.
l The image content type must be image/png, image/gif, or image/jpeg.
l When uploaded via the API, the image data must be encoded as a base64 binary.
Stretto LDAP integration includes load balancing and failover on multiple LDAP servers,
as well as a feature to bypass login when no LDAP servers are available. If the
administrator has already integrated LDAP with Stretto, using LDAP for XMPP is simple.
The administrator needs to configure a separate LDAP admin DN and password for
retrieving vCards, and map Stretto attributes with LDAP attributes.
The administrator can use the Provisioning Module to send the account configuration
down to their end users. Alternatively, the Stretto Email notification feature can be used to
notify end users of their XMPP credentials so end users can enter their credentials on the
client for login.
One example you might want to have a different XMPP domain name rather than your
Stretto group name is an SSL certificate for XMPP connections.
l Create your own certificate and upload it to Stretto. Your XMPP domain name can
be any name as long as it is unique in Stretto. Check with CounterPath about the
XMPP domain name before creating a certificate to assure the name is unique.
l Use CounterPath softphone.com certificate. Your XMPP domain name must be in
the format of xxxxx.softphone.com, and must be unique in the Stretto Platform.
Your Stretto group name and XMPP domain name will be different. During
configuration, you must set the XMPP alternate domain name in GUI.
If you do not want to use a certificate for XMPP, turn off the XMPP cert checking setting in
the clients. The clients skip the TLS certificate validation for XMPP connections. No need
to create a HTTPS certificate.
l Must be lower case. They are not case-sensitive, so kperera and KPerera are
treated as the same username.
l May include a-z, 0-9, - (hyphen), . (period), and _ (underscore).
l Do not include: space, " , & , ' , / , : (colon), < , > , @ , \ , ; (semi-colon)
Each XMPP domain must have a valid certificate configured in Stretto. Even if you
decided to use the existing Stretto provisioning certificate for the XMPP domain, you still
need to create a pem file and upload it to Stretto.
2. Make sure that you have a chain file for your XMPP domain certificate.
3. Create a .pem file that contains your server certificate, your private key, and the
chain file. The .pem file must be named your-xmpp-domain.pem. For example, if your
XMPP domain is example.com and you created/obtained a chain file called
ca.bundle.crt, the following command will create a .pem file.
1. In Stretto Admin, select your group and click the Messaging options tab.
2. Under the XMPP certificate management section, click Add Certificate.
3. Select a .pem file to upload, and click Submit. Stretto checks the certificate and
shows a message.
4. To view the certificate information you just uploaded, click Certificate Info.
Use the dig command on Linux to query the SRV record. The ANSWER SECTION should show
the configured information.
45269 is the external server-to-server port which maps to 5269 internally. im-
b1.softphone.com is the A record for the host IP (or VIP) of the server.
l Make sure that the remote certificate is publicly signed and can be validated.
l Configure a permission of the XMPP domain in Stretto for accessing external
servers. This is done by setting a group attribute xmpp:domain:filter on Stretto. See
below.
This can be changed by defining a group attribute within Stretto, xmpp:domain:filter, with
one of the following values:
l ALL (default) - allows users to communicate with anybody on any other domain,
including external servers.
l LOCAL - allows users to communicate with all users on the same installation on any
domain. It only blocks communication with external servers.
l OWN - allows users to communicate with all other users on the same domain. Plus it
allows users to communicate with sub domains such as muc.domain,
pubsub.domain, etc.
l BLOCK - completely blocks communication for the domain or for the user with
anybody else. This could be used as a means to temporarily disable accounts or
domains.
l List of domains - if it is not one of the above, it is assumed to be a comma-separated
list of allowed domains with which users on the domain can communicate.
To configure xmpp:domain:filter:
1. In Stretto Admin, create an attribute xmpp:domain:filter and set its value at the
group level.
2. Click Save.
You can store data locally in Stretto, or configure Stretto to use your LDAP server for
authenticating XMPP users, building rosters, and supplying vCards and photos. Stretto
supports load balancing and failover on multiple LDAP servers as well as a feature to
bypass login when no LDAP servers are available.
If you already have users in Stretto and use LDAP to authenticate users for provisioning,
you must use LDAP to authenticate users for the XMPP service.
XMPP Username and Password
During a setup of an XMPP server on Stretto, you instruct Stretto to create XMPP users
(jids) and rosters. You can configure Stretto what data to use as jid or display name by
assigning a value to an attribute using Stretto Admin or Stretto API. Stretto creates XMPP
users based on the values you assign to the attributes.
Most of the XMPP data you need to provide Stretto with is user-specific; therefore the
simplest way is to assign a value (real data) at the user level when creating a user on
Stretto. This can be done either by manually entering information for each user, or by
uploading a .csv file that includes information on all users. The other way is to assign an
existing attribute at the group level. It is possible to assign an attribute to an attribute - this
is called a nested attribute. This way makes sense when Stretto already has information
that the administrator wants to use as, for example, XMPP username or password.
Two examples at the bottom can help you decide values for the XMPP attributes and
values. If you are provisioning an XMPP account to end users using the Provisioning
Module, it is a good idea to plan ahead what attributes you will be provisioning.
Where to
Attribute Description
Set Value
Where to
Attribute Description
Set Value
xmpp:password A password used for the XMPP service. The administrator must create the Empty or at
attribute {{xmpp:password}}. As for what value to assign, there are the group
three options: level
For Option 1, leave it empty, in other words, assign no value to the attribute.
You see the field populated with a random password after Stretto creates
an XMPP user.
For Option 2, assign a nested attribute at the group level such as
xmpp:password ={{sipPassword}}. Make sure
{{sipPassword}} can be resolved to a real value in Stretto.
For Option 3, make sure:
You already configured an LDAP server, particularly
{{std:ldap:bindDN}}, in your group, and
{{xmpp:password}} is empty.
Stretto hands over user authentication to the LDAP server instead of
generating a Stretto password.
Where to
Attribute Description
Set Value
You can assign a real value at user level (such as Kokila Perera) or
map a nested attribute at the group level, e.g., xmpp:displayname
={{sipDisplayName}}. Make sure {{sipDisplayName}}
can be resolved to a real value in Stretto.
std:ldap:adminDN The admin account on the LDAP server that has a permission to access all At the group
the entries you want to pull into Stretto for a roster and/or vCards. or profile
level.
std:ldap:adminPW The password for the admin account above. At the group
or profile
level.
xmpp:roster:ldap:baseDN The DN of an entry in the LDAP directory tree to start the search for users A value must
to be included in a roster. Must be a full DN. The entire subtree under the exist at the
base DN is used for searching. group level,
For example, dc=acphone, dc=local. then can be
overwritten
at the profile
level.
xmpp:roster:ldap:groupDN The DN of a Group entry in the LDAP directory tree (objectClass=group). A value must
This group should list all users you want to be included in a roster. If your exist at the
users are organized under multiple nodes and there is no group in your group level,
LDAP server that holds all users in one place, you need to create a group then can be
with users linked as members. By default, Stretto fetches users from this overwritten
LDAP group, and filters to only show softphone users with XMPP enabled. at the profile
To change which users to include in a roster, see level.
xmpp:ldap:dbcheck and xmpp:ldap:roster:check1.
xmpp:roster:ldap:jid Specify an LDAP field to be used as a username portion of an XMPP jid in A value must
Stretto. For example, uid. exist at the
Stretto uses this value stored in this LDAP field when filtering users for a group level,
roster as well as creating a new Stretto user (based on the then can be
overwritten
xmpp:create:stretto:user attribute).
at the profile
level.
xmpp:ldap:department Specify an LDAP field that stores the department information of the users. At the group
Stretto uses this LDAP field to group users into multiple rosters. If this or profile
attribute is empty, the users are displayed under one roster. level.
xmpp:ldap:rostergroupname Create this attribute only when you want to change the default roster name At the group
displayed on the softphone. Valid when all users are displayed under one or profile
roster (in other words, when xmpp:ldap:department is empty). level.
Where to
Attribute Description
Set Value
xmpp:ldap:dbcheck This setting controls what users to include in the roster. At the group
When true (default), the roster is filtered to only include Stretto users who level.
have XMPP account enabled. The value of
{{xmpp:roster:ldap:jid}} is used for the check against Stretto
database. This is suitable for an organization where all users use the
softphone client for XMPP. The roster does not show a user who is on the
LDAP server but has no access to softphone, for example, a contractor.
When false, Stretto includes all users returned from the LDAP server
regardless of whether or not the user has XMPP enabled. Setting it to false
may be beneficial to an organization where only a small portion of users
have access to a softphone client. It allows the admin to provide a contact
list of all people in the LDAP, which increases productivity of the select
softphone users. You might also want to set xmpp.audit.timer to
keep the roster synched with the LDAP server.
xmpp:ldap:roster:check1 Create this attribute when you want to apply a condition/rule for retrieving At the group
users from LDAP depending on whether a certain LDAP field is populated. or profile
For example, you can set to retrieve users who have a telephone number level.
stored in LDAP, instead of importing all users with or without phone
number. In this case, enter telephoneNumber if that is the LDAP field where
a phone number is stored.
Valid only when xmpp:ldap:dbcheck is set to false.
xmpp:ldap:roster:check2 This attribute works with the xmpp:ldap:roster:check1 attribute At the group
above, to add an OR condition to the first LDAP field. or profile
level.
For example, you can set a rule to retrieve users who have a value in either
the telephoneNumber field or the mobile field. To do this, you set
check1=telephoneNumber, and check2=mobile.
Valid only when xmpp:ldap:dbcheck is set to false.
xmpp.audit.timer Create this attribute if you set xmpp:ldap:dbcheck to false and want At the group
to keep the roster synched with the LDAP server. level
This attribute allows you to set the interval to check the LDAP server for
auto-imported users. Value in seconds, Stretto deletes the auto-imported
users when they are removed from the LDAP server by checking the roster
in this interval. The default value is 0 (does not check the LDAP server to
sync the roster).
xmpp:create:stretto:user Create this attribute and set to true when you want to use LDAP to supply At the group
vCard information of non-Stretto users. When set to true, this attribute or profile
instructs Stretto to automate the required processing of auto-importing level.
Stretto users.
Valid only when xmpp:ldap:dbcheck is set to false.
xmpp:vcard:ldap:baseDN The distinguished name (DN) of an entry in the LDAP directory tree to start At the group
Where to
Attribute Description
Set Value
the search for users to supply vCard with. Must be a full DN. The entire or profile
subtree under the base DN is used for searching. level.
For example, dc=acphone, dc=local
xmpp:vcard:ldap:filter This is the LDAP filter for retrieving the vCard. At the group
Create a filter that restricts the retrieval from the LDAP to the one user. To or profile
do so, create a filter that maps the user ID as known on the LDAP server level.
(for example, "uid") to the username portion of the Stretto XMPP jid.
uid={{xmpp:jidUser}}
(Note that xmpp:jidUser is an internal data element; you do not have
to define it.)
xmpp:vcard:useLdap Controls whether LDAP is used to retrieve the vCard. Set to true to At the group
enable. Also make sure that a vCard template has been set up with the or profile
following attributes embedded. level.
One of the examples is when the administrator already has a list of XMPP usernames
that are configured as {{account2.username}} in Stretto. Configure at the group level as
xmpp:username = {{account2.username}}. Stretto creates XMPP jids using the values
assigned to {{account2.username}}.
Another example is that the administrator wants to use the same display name for the SIP
and XMPP accounts, and they already have populated values to
{{account1.credentials.displayName}}. In this case, the administrator configures as
xmpp:displayname = {{account1.credentials.displayName}}. Stretto creates XMPP display
names using the values assigned to {{account1.credentials.displayName}}.
l XMPP domain - the Stretto group name is acphone.com that becomes their XMPP
domain.
l xmpp:username - The administrator has a list of XMPP usernames.
l xmpp:password - The administrator wants Stretto to create a random password for
each XMPP user.
l xmpp:displayname - The administrator wants to use the default, which is the same
value as xmpp:username.
Configuring Attributes:
l xmpp:username = import the XMPP usernames to Stretto and assign at user level
l xmpp:password = leave it empty to instruct Stretto to create random password.
l xmpp:displayname = leave it empty to instruct Stretto to use the default.
Creating Users
Synchronize Stretto users with XMPP. Stretto creates XMPP users. The resulting values
for kperera:
Provisioning username [email protected] This is the value the administrator assigned to the provisioning
username, which is a separate field from xmpp:username.
XMPP jid (in database) [email protected] The Stretto group name has been appended to
xmpp:username.
XMPP display name kperera Copied by Stretto from xmpp:username.
Hello {{ccs:userName}},
Your XMPP account has been created. Please create an XMPP account on Bria
with the following information:
XMPP username: {{xmpp:username}}
XMPP domain: {{ccs:xmppdomain}}
XMPP password: {{xmpp:password}}
Hello [email protected],
Your XMPP account has been created. Please create an XMPP account on Bria
with the following information:
XMPP username: kperera
XMPP domain: acphone.com
XMPP password: 7X39PSG7S88F
l XMPP domain - The Stretto group name is, in this example, acphone.com becomes
the XMPP domain name.
l xmpp:username - use the same value as Stretto login user name, which can be
configured using {{ccs:userName.User}}.
l xmpp:password - use the same value as Stretto login password: {{ccs:password}}.
l xmpp:displayname - use the same value as the display name of the SIP account,
which is {{account1.credentials.displayName}} in Stretto.
Configuring Attributes
Provisioning Clients
<account protocol="xmpp">
<data name="accountName" value="Stretto XMPP"/>
<data name="display" value="{{account1.credentials.displayName}}"/>
<data name="domain" value="{{ccs:xmppdomain}}"/>
<data name="password" value="{{ccs:password}}"/>
<data name="username" value="{{ccs:userName.User}}"/>
</account>
If you have many users to add/change, you can upload a .csv file with all users
information; it allows you to create multiple users and assign a value to user-
attributes at the same time in one batch.
9. Make sure that the xmpp:username attribute can be resolved to a real value within
Stretto. XMPP users are not be created if Stretto fails to determine the value.
10. On the Group screen, click the Messaging Options tab and click Synchronize
Users.
Skip this step if you are manually creating a user one by one; Stretto syncs
automatically when you save each user's information.
Stretto creates XMPP users based on your configuration. Check the message area at the
bottom; Stretto Admin shows how many users have been added. The Total members
section shows the list of XMPP users created by Stretto.
If you can see rosters, vCards, and send messages, XMPP is set up properly.
resource ID.
If you are provisioning XMPP accounts to end users, make sure the resource ID is empty
in the provisioning setup. If you allow end users to create an XMPP account, instruct
them to leave the Resource ID field empty.
Synchronizing XMPP users
The Synchronize Users button on the Messaging options screen allows you to manually
sync Stretto users with the XMPP service. You do not need to sync manually when you
update user's information one-by-one manually (Stretto syncs in the background when
you save a user's information) or after changing XMPP roster information or avatar
photos. However, for other occasions, you can manually sync Stretto users with the
XMPP service. This includes changes to group configuration and attributes.
What is it for?
Stretto generates internal XMPP user entries and rosters based on the values configured
by the administrator. Updating a value in Stretto Admin results in regenerating XMPP
elements in Stretto, which could have an impact on the network when performed
repeatedly or if a group has many users.
The Synchronize Users button allows the administrator to instruct Stretto to regenerate
XMPP elements when the administrator finishes all the updates to Stretto Admin. This
minimizes impacts on network.
l xmpp:password
l Nested attributes, which are assigned to the above attributes. For example, if you
set up as xmpp:username = {{account2xmpp.username}} and change value A to B for
{{account2xmpp.username}}, you must sync manually.
Methods
A roster is an XMPP contact list stored on the server. In Stretto, a roster is a list of users
with which members of a group can communicate with each other via 1:1 messages, chat
rooms, presence, and using vCard information (if vCard is configured). Rosters are
created and maintained in Stretto and provisioned to the Bria client.
Note: The recommended roster size for each user is 500 users. The roster size has impacts
on the presence traffic on the network. Contact CounterPath if you want to exceed this
capacity.
The simplest approach for a roster is to put all users in one roster. This approach works
when you have 500 users or fewer. If you have a larger user base, consider dividing
users into multiple rosters. You can also:
l group users under departments within the roster. For example, the image on the left
below shows a flat list of users while the image in the middle shows Chad under a
separate group called AC Phone HR. More details can be found under Grouping.
l add non-Stretto users to the roster either at group level (called Common Contacts)
or at user level. A common contact appears in the roster without presence
information. See the image on the right below for an example.
Once the roster is created in the group, you need to assign users to it. A roster can be
assigned to a user at profile level or user level.
Note: We recommend avoiding complex configurations such as setting rosters in both profile
and user level.
3. Click Save.
The users with the profile have been assigned to this roster. Repeat the steps for all
profiles being used by your users.
1. On the User screen, select a user, click Edit under Details for user:. Optionally,
use Attribute Paint to assign multiple users to the same roster.
2. Select a roster in XMPP Roster.
Leave the Additional Rosters field empty; this is usually used only for Supervisor
Mode.
3. Click Save in Details for user:.
To see if a roster has been configured with the users, go to the Messaging options tab >
Group Rosters, and click Members for the roster you want to check. The pop-up appears
listing all members assigned with the roster. If not updated correctly, click Rebuild
roster beside the roster, and click Members again.
Grouping
On the softphone clients, you might want to organize users under groups, such as Sales
and HR, instead of displaying a single flat list of users. You can do this within a roster by
using the xmpp:department grouping feature.
Tip: Remember that end users can choose to show or hide groups in the client. If displaying
groups on the Roster tab is important for your organization, make sure to let your end users
know to show groups for their Roster tab. (Desktop: Contacts > Show Groups, iOS:
Preferences > Show Groups, Android: an icon on the Roster tab)
1. On the Group screen, create an attribute xmpp:department if it does not exist yet.
2. Create an attribute for each group; for example, department:group1,
department:group2, department:group3. In the Value field, enter the group name of
your choice. Create as many attributes as you want for a roster.
3. On the Users screen, locate the xmpp:department attribute, and assign the group to
which the user should belong, for example department:group2 for a HR team
member.
Tip: Using a nested attribute makes it easy to change the group name in the future (for
example from HR to Talent Management); you change the value of department:group2
once at group level, as opposed to going through all users.
To test grouping, log out a softphone client and log back in. Or use the Stretto Admin web
interface and click the Members icon under Group Rosters section of the Messaging
options tab.
The same look and feel can be achieved by creating multiple rosters and assigning a user
to multiple rosters; however assigning a user to multiple rosters is more complex, and it
creates duplicate entries among rosters. This method is usually only used for Supervisor
Mode where not all users exchange presence with each other.
Example - how to calculate a roster size for a user who is assigned with multiple
rosters
Let's say you created 3 rosters: A with 400 users, B with 100, and C with 100.
l User X belongs to only Roster A. The roster size for User X is 400.
l User Y belongs to Roster A and B. The roster size for User Y is 500 (400+100=500),
which is a recommended maximum size.
l User Z belongs to all three, and their roster size exceeds the limit of 500
(400+100+100=600).
Supervisor Mode
Supervisor Mode is useful in a call center situation where supervisors need to know that
presence status of all the agents and supervisors but agents only need to know the
presence status of supervisors.
Create a separate roster that is only used in Supervisor Mode. One roster is used for both
supervisors and agents. Then assign the Supervisor Mode roster to users at the user
level in Additional Rosters. This roster should not be assigned as the main XMPP
Roster for any users.
Use the presence states Show Presence and Disable Presence when setting up the
additional roster.
1. On the User screen, select a user, click Edit under Details for user:. Optionally,
use Attribute Paint to assign multiple users to the same additional roster and the
same presence state.
2. Select the roster being used for Supervisor Mode in Additional Rosters.
3. Select a presence state.
Presence states
Regardless of this setting, users can message each other and see the vCard of a
member as long as vCard is configured. This option controls with whom the
member shares their presence information.
l None: this user's presence is shared with everyone in the roster. Do not select
this state for Supervisor Mode. Very few occasions use this state because it
creates duplicate entries among rosters, which could negatively affect system
performance.
l Show Presence: this user's presence is shared with everyone in the roster. In
a call center, you could use this for supervisors.
l Disable Presence: this user's presence is shared only with the users with
"Show Presence". In a call center, you could use this for agents where agents
see the presence of Supervisors, but not the presence of other agents.
4. Click Save in Details for user:.
Supervisors and agents are added to the additional roster. Supervisors see the presence
state of all members of the additional roster. Agents see all members of the additional
roster but only see the presence of supervisors.
Name Description
ccs:roster Use this element for assigning the main roster to a user. Enter the Roster Name.
ccs:rosterextra Use this element for assigning additional rosters to a user. You can add multiple additional rosters by separating
rosters with | (pipe). The Presence state is represented by the following:
l #0 or blank: None
Example:
To assign the sales and callCenter rosters, sales with a Presence state of None and callCenter with a
Presence state of Disable Presence:
sales#0 |callCenter#2 |
Common Contacts
You can add non-Stretto users to a roster. For example, you could add external
contractors, business partners your team calls often, or the group's favorite takeout
places for easy access. Roster members can make a phone call to Common Contacts,
but cannot exchange 1:1 or chat room messages, or share presence information.
Common Contacts appear in the roster on Bria softphone clients with vCard information
as long as vCard is configured.
A JID is required for each Common Contact in order for it to display in Bria.
l If you try to create a Common Contact but the username is already taken by an
XMPP user, Stretto displays a warning that the user already exists as an
XMPP user. You must enter a different username.
Note: For the other way around, which means if you try to create an XMPP user but the
username is already taken by a Common Contact, Stretto converts the existing
Common Contact to the new XMPP user. In other words, the existing Common Contact
will be deleted rather than appearing twice.
l If you enter a JID with an external domain when creating a Common Contact,
Stretto removes the external domain and replaces it with the group XMPP domain
name.
Common Contacts can be added individually or by uploading a .csv file. Stretto supports
up to 500 common contacts per group.
The Common Contacts are added to the roster. The Common Contacts appear under the
group you entered in the Department field. If you left Department blank for a Common
Contact, they appear under the roster to which they were added.
Example:
[email protected],Kokila
Perera,[email protected],12,6045555555,6045551234,myurl.com,Contractor
Cleared: If a Common Contact with a matching External JID is found in the file,
contact details are not replaced with the values in your file. If a field does not have a
value, it is updated with the value from your file.
5. Click Submit.
6. Click Close.
When you add a buddy to a specific user, the buddy is not persistent. If an end users
deletes the buddy in Bria, the buddy is removed from Stretto Admin and from Bria.
The buddy is added for the specific user. Select a user and click Manage user's
additional non-roster buddies. to open Additional Buddies and view buddies added for
the user.
Note: The Additional Buddies table may list buddies added by the end user via Bria. Be
careful when deleting a buddy – an unfamiliar JID may be the end user's personal contact.
When you have multiple rosters, Common Contacts, Supervisor Mode as well as external
JIDs added to some rosters or users, you might want to view a list of rosters that are
configured for each user.
Stretto Admin displays a dialog with the list of buddies configured for the user. The dialog
includes members from the main and additional rosters, common contacts, as well as
external JIDs configured for this user.
Note: Stretto does not propagate the update to all the clients if vCard information is changed
such as phone number. Stretto sends down the vCard change to the clients later when other
changes happen as described above.
l Log out the softphone clients and log back in. Or use Force XMPP Logout under
Total members on the Messaging options tab.
l Click View the cached contents of the selected user's roster. under Total
members.
l If none of the above works, try the following steps.
Note that this operation requires more system resources; use with caution.
1. In the Total members section, select the user to test, and click Rebuild
roster.
2. Click Reset XMPP group cache in the Total members section. This
functionality is group-wide; it deletes cache for all users in this group.
3. Log out the softphone clients and log back in. Or use Force XMPP Logout
under Total members on the Messaging options tab.
To upload a photo
1. Go to the Users page, and select a user you want to upload a photo for.
2. Click the Upload button in the XMPP Avatar Image field.
Do not click Edit before uploading. The photo upload works only in non-edit
mode.
A photo is added to the user on the roster. Note that it might take some time until all the
users on the roster see the new avatar photo on their softphone clients.
Stretto creates a roster from an LDAP server, and populates users' vCards using the
information stored in the LDAP server. By default:
l a roster only includes Stretto users who have XMPP enabled. You can change this
to import non-Stretto users into a roster from LDAP, or manually add external JIDs
to the LDAP roster. See below for details.
l all users are shown in a single roster. You can change this to split into multiple
groups using the xmpp:ldap:department attribute. Or you keep a single roster, and
change the default roster name using the xmpp:ldap:rostergroupname attribute. See
Configuring XMPP attributes.
One way to achieve this is to configure the xmpp:ldap:dbcheck attribute. It allows you to
add non-Stretto users to the LDAP roster. When using this option, you can also supply
vCard information of non-Stretto users using LDAP. Supplying vCards of non-Stretto
users results in automatically creating Stretto users in your group because that is one of
the requirements in order to retrieve information for vCards from LDAP. Stretto deletes
those auto-created users when they are removed from the LDAP server by checking the
roster in an interval set in xmpp.audit.timer.
A variation: You can apply rules/conditions on which LDAP users to fetch depending on
whether certain LDAP fields are populated; for example, you can set a condition to auto
import users who have their phone number in the LDAP's telephoneNumber field, instead
of importing all users with or without phone number.
Another way to add non-Stretto users is to manually add JIDs that are not in your LDAP to
the Stretto rosters. Use the LDAP Buddy button under the Group Rosters section for this
purpose. This button appears only when LDAP is configured to build a roster.
1. Right-click on the group in which you want to create a template, click New
Template and choose New vcard template.
2. Enter a name for the vCard template. The default vCard template is created with
pre-defined attributes.
3. Add or change any of the attributes in the template. Stretto vCard templates follow
the schema specified in RFC 6351. The administrator can use any name for the
attributes in the vCard template if no LDAP is used.
4. Select the profile in which you want to assign the template and click Edit.
5. Click Add.
6. Select vCard as the Discriminator and select the new vCard template as the
Template.
7. Click Save.
8. If LDAP is not being used, go to the Group screen, and create the attributes you
used in the vCard template.
9. Assign values to the attributes. Typically these are user-attributes. If you are using
LDAP, read the section below.
1. Under the group, select Users. The group's user list opens.
2. Select a user.
3. Click XMPP on Details for user:.
The vCard information cached on the Stretto Platform for this user is displayed in the
Client vCard section.
Click Edit, then Delete to delete the cache; a vCard is created next time the Bria client
requests for it.
You do not need to create these attributes in your Stretto group, or assign values to these
attributes because the values come from the LDAP server.
Tip: You can use the LDAP test tool to verify that your LDAP configuration is correct.
See Test your LDAP configuration.
Example:
vCard template
<vCard xmlns="vcard-temp">
<N>
<GIVEN>{{xmpp:ldap:att:givenName}}</GIVEN>
<FAMILY>{{xmpp:ldap:att:sn}}</FAMILY>
</N>
<EMAIL>
<INTERNET/>
<USERID>{{xmpp:ldap:att:mail}}</USERID>
</EMAIL>
<FN>{{xmpp:ldap:att:displayName}}</FN>
<ADR>
<HOME/>
</ADR>
<ADR>
<WORK/>
<STREET>{{xmpp:ldap:att:streetAddress}}</STREET>
<LOCALITY>{{xmpp:ldap:att:l}}</LOCALITY>
<REGION>{{xmpp:ldap:att:st}}</REGION>
<PCODE>{{xmpp:ldap:att:postalCode}}</PCODE>
<CTRY>{{xmpp:ldap:att:co}}</CTRY>
</ADR>
<TEL>
<WORK/>
<VOICE/>
<PREF/>
<NUMBER>{{xmpp:ldap:att:ipPhone}}</NUMBER>
</TEL>
<TEL>
<WORK/>
<VOICE/>
<NUMBER>{{xmpp:ldap:att:telephoneNumber}}</NUMBER>
</TEL>
<TEL>
<CELL/>
<NUMBER>{{xmpp:ldap:att:mobile}}</NUMBER>
</TEL>
<TEL>
<WORK/>
<PAGER/>
<NUMBER>{{xmpp:ldap:att:pager}}</NUMBER>
</TEL>
<TEL>
<HOME/>
<VOICE/>
<NUMBER>{{xmpp:ldap:att:homePhone}}</NUMBER>
</TEL>
<TEL>
<WORK/>
<FAX/>
<NUMBER>{{xmpp:ldap:att:facsimileTelephoneNumber}}</NUMBER>
</TEL>
<TITLE>{{xmpp:ldap:att:title}}</TITLE>
<ORG>
<ORGUNIT>{{xmpp:ldap:att:department}}</ORGUNIT>
</ORG>
<URL>{{xmpp:ldap:att:url}}</URL>
<PHOTO>
<TYPE>image/jpeg</TYPE>
<BINVAL>{{xmpp:ldap:batt:thumbnailPhoto}}</BINVAL>
</PHOTO>
</vCard>
No configuration is needed by the administrators to start using chat rooms. End users
with the Bria clients can create and join a chat room as long as the following requirements
are met:
l You have configured the XMPP feature in your Stretto group and your end users
have an XMPP account enabled.
l The version of the Bria desktop clients must be 5.5.0 or higher.
l The version of the Bria mobile clients must be 5.5.3 or higher.
l Chat rooms belong to a Stretto group; end users need to be in the same Stretto
group to use the XMPP chat rooms.
Do not modify chat room configurations using Stretto Admin. All changes should be done
by end users using the Bria clients.
Details on statistics
l Chat rooms count indicates a total number of all chat rooms created in this group.
l Chat room messages count indicates a total number of messages posted in the
chat room(s).
l Total chat room message body size indicates the size of all messages entered by
the participants. Value in bytes.
l Total chat room message size indicates the size of all messages with related meta
data. Value in bytes. It usually shows a bigger number than the body size; the body
size captures just plain messages such as Sure.
l Participants who have posted indicates a total number of participants who have
commented in the chat room(s).
l Room invited participants indicates a number of users who are invited to the chat
room but have not accepted the invitation. To see a list of such participants, click
View room invited participants.
l Room last update time indicates the time stamp of the most recent message
posted in the chat room(s).
l Chat Room participant count (available only for each chat room) indicates a
number of participants who are currently in the chat room.
Stretto sends the message to all XMPP users in the group that are logged in.
A broadcast to a group roster is sent to all XMPP users who are currently logged in —
offline users or users who are not registered to the XMPP account don’t receive the
broadcast message.
To learn how to set up rosters, see This section describes how to configure rosters
manually. If you are using LDAP to build rosters, see Configuring XMPP rosters using
LDAP..
Stretto sends the message to all XMPP users in the group roster that are logged in.
The Online Status column gets updated with the current presence of the users. When
users are displayed in multiple pages in the table, this button updates the current page
only.
A XMPP Roster test result pop-up appears with the roster information for this user.
1. Under the group, select Users. The group's user list opens.
2. Select a user.
3. Click XMPP on Details for user:.
The vCard information cached on the Stretto Platform for this user is displayed in the
Client vCard section.
Click Edit, then Delete to delete the cache; a vCard is created next time the Bria client
requests for it.
To view the Chat room information for each user, either go to Users > XMPP, or go to
Group > Messaging Options and scroll down to the Total members section.
Note: The Stretto Sync feature synchronizes a message history of one-to-one chats. It does
not support synchronization of SIP SIMPLE/SMS messages, or XMPP chat rooms. It does not
synchronize the files exchanged via File Transfer either.
How it works
When the Stretto Sync feature is enabled, Stretto has the ability to store message history
per Stretto user.
Supported clients
You need to include the Stretto Sync feature in your branded Bria clients.
1. In Stretto Admin, create the following attributes and set their values at the group
level:
feature_options:stretto_sync_available="true"
proxies:proxyN:supports_stretto_sync="{{account2Xmpp.strettoSyncEnable}}"
proxies:proxyN:stretto_sync_url="{{std:sync:url}}"
proxies:proxyN:stretto_sync_password="{{ccs:password}}"
proxies:proxyN:use_stretto_sync="{{account2Xmpp.showSyncUserPref}}"
Mobile template: Find <account> in the template. The template contains multiple
<account> sections if you support multiple SIP/XMPP accounts. Make sure to add
this feature to the XMPP account you want to use message sync with.
<account_list>
<account>
<data name="supportsStrettoSync" value="{{account2Xmpp.strettoSyncEnable}}"/>
<data name="strettoSyncUrl" value="{{std:sync:url}}"/>
<data name="strettoSyncPassword" value="{{ccs:password}}"/>
<data name="useStrettoSync" value="{{account2Xmpp.showSyncUserPref}}"/>
How it works
When the Call History Sync feature is enabled, Stretto has the ability to store call log
history per Stretto user.
l The user logs in as usual.
l When Call History Sync is enabled for the user's SIP accounts, Bria performs the
following:
l Deletes the previous call history saved locally on the user's device and
replaces with the synchronized call log history.
l Posts call logs to Stretto when new call logs are created.
l Stretto creates a sync account for the user's SIP account and stores the call logs
uploaded by Bria.
l When the user logs into Stretto from a second device, the call logs stored on Stretto
are downloaded and synchronized to Bria on the second device. Bria does not
download all call logs at once but in small increments as the user scrolls down the
list or tries to view older call logs.
l When the user receives an incoming call with more than one device running Bria,
Stretto matches the call logs coming from both devices into one record and stores
the record on Stretto.
l When the user deletes call logs from the call history on one device, the call logs are
deleted from Stretto as well as all the other devices.
l If Stretto is not available for sync, Bria retries after a certain interval.
If the Call History Sync feature is disabled after previously being enabled, the history is
removed from Bria but remains on Stretto.
Supported clients
You need to include the Call History Sync in your branded clients. The supported
versions are:
l Bria desktop 6.0 or newer
l Bria mobile 6.0 or newer
1. Call History Sync uses the Stretto Sync feature. See the section on setting up the
Stretto Sync feature in the Stretto Platform Installation Guide.
2. In Stretto Admin, create the following attributes and set their values:
feature.sync.callhistory.enabled true or false Enables the Call History Sync feature for the
profile or the user.
feature_options:call_history_sync_available:enabled="{{feature.sync.callhistory.enabled}}"
feature:call_history_stretto_sync:enabled="{{feature.sync.callhistory.enabled}}"
feature:call_history_stretto_sync:url="{{std:sync:callhistory:url}}"
feature:call_history_stretto_sync:password="{{ccs:req:password}}"
Mobile template
Add these settings under <core_data_list> in the template.
<core_data_list>
<data name="useCallHistoryStrettoSync" value="{{feature.sync.callhistory.enabled}}"/>
<data name="callHistoryStrettoSyncUrl" value="{{std:sync:callhistory:url}}"/>
<data name="callHistoryStrettoSyncPassword" value="{{ccs:req:password}}"/>
Authentication
By default, Stretto verifies that the SMS messages came from the matching configured
account of the SMS provider.
For Twilio, this is done by checking the X-Twilio-Signature HTTP header. If your SMS
server does not support the X-Twilio-Signature HTTP header, you need to disable the
authentication by adding ;noauth=true to the SMS connection URL in the attribute
std:strettosync:smsprovider. The X-Twilio-Signature HTTP header is used to verify that
inbound messages are coming from their SMS provider. See
https://www.twilio.com/docs/usage/security#validating-requests for details on this
header.
1. In Stretto Admin, create the following attributes and set a value to the attributes at
the group level.
Attribute Value
std:strettosync:smsprovider The value should consist of the SMS provider name and key-value pairs.
For Twilio;
twilio:username=Twilio_account_sid;password=Twilio_token;URL=Twilio_
URL
where:
Twilio_account_sid is the Twilio account SID used to authenticate.
Twilio_token is the password token used to authenticate.
Twilio_URL is the API URL to connect to. For example,
https://api.twilio.com/2010-04-01/Accounts/
[username]/Messages.json. Note that [username] in the
URL will be replaced by the value of Twilio_account_sid.
To disable the authentication of the SMS messages, add ;noauth=true
to the end of the URL, such as https://api.twilio.com/2010-
04-01/Accounts/
[username]/Messages.json;noauth=true
These items can be obtained from your Twilio API/account portal.
For Bandwidth:
bandwidth:accountId=Bandwidth_account_id;applicationId=Bandwidth_
application_id;apiToken=Bandwidth_api_token
;apiSecret=Bandwidth_api_secret;URL=Bandwidth_URL
These items can be obtained from your Bandwidth Portal.
Bandwidth_URL is by default,
https://messaging.bandwidth.com/api/v2/users/
[accountId]/messages. Note that [accountId] in the URL will
be replaced by the value of Bandwidth_account_id.
feature_options:stretto_sync_available="true"
feature_options:sms_over_sync_protocol_available:enabled="1"
proxies:proxyN:account_name="SMS"
proxies:proxyN:protocol="smsapi"
proxies:proxyN:username="{{account.sms.username}}"
proxies:proxyN:enabled="true"
proxies:proxyN:digit_
map="+xxxxxxxxxxT|xxxxxxxxxxT|1xxxxxxxxxxT;match=1;pre=+1;prestrip=1;match=2;pre=+1;match=3;pr
e=+"
proxies:proxyN:supports_stretto_sync="true"
proxies:proxyN:stretto_sync_options_available="true"
proxies:proxyN:stretto_sync_url="{{std:sync:url}}"
proxies:proxyN:stretto_sync_password="{{ccs:password}}"
proxies:proxyN:use_stretto_sync="true"
<core_data_list>
<data name="messagesSMS" value="true"/>
</core_data_list>
<account_list>
<account protocol="smsapi">
<data name="accountName" value="SMS"/>
<data name="username" value="{{account.sms.username}}"/>
<rule_list>
<rule add="+1" match="xxxxxxxxxx" name="North America" remove=""/>
<rule add="+" match="1xxxxxxxxxx" name="North America2" remove=""/>
<rule add="+1" match="+xxxxxxxxxx" name="North America3" remove="+"/>
</rule_list>
<data name="supportsStrettoSync" value="true"/>
<data name="strettoSyncUrl" value="{{std:sync:url}}"/>
<data name="strettoSyncPassword" value="{{ccs:password}}"/>
<data name="useStrettoSync" value="true"/>
</account>
3. For Twilio, configure the Twilio phone numbers to call into Stretto for incoming SMS
messages. This is done through the Twilio API/account portal, and this URL is
called a webhook URL in the Twilio API/account portal.
The Twilio webhook URL is:
https://stretto.cloudprovisioning.com:18889/sync/sms/twilio/{{ccs:groupName}}
https://stretto.cloudprovisioning.com:18889/sync/sms/bandwidth/{{ccs:groupName}}
The message is also stored and forwarded as usual for the Stretto Sync functionality.
Twilio/Bandwidth will call back with changes to message status (accepted, delivered,
error, etc).
Inbound Messaging
When a Twilio or Bandwidth number receives an SMS message, it will invoke the
webhook URL and post a message to Stretto Sync.
Stretto Sync will determine the recipient of the message, add the message to their sync
database, and forward the message to any connected devices.
You might want to delete a sync account if you recycle a DID from one Stretto user to
another. When a sync account is deleted, the associated content will be removed from
Stretto Platform. The original end user will see their synced content deleted from their
client next time they log into Stretto, and get a new sync account created as long as the
Stretto Sync feature is enabled for the user.
Tip: All the sync accounts will be deleted from the user and Stretto Platform when a Stretto
user is deleted entirely. This Delete a sync account option is available for customers who want
to keep the Stretto users but do not want the sync content associated to the user.
5. Click Save.
The select sync account is deleted from Stretto Platform. The user will see the content
removed from their devices next time they log back into the clients.
In order to set up email notifications, you must have access to an SMTP server. If you
decide not to set up Stretto for email notifications, advise your administrators that the
email notification features cannot be used.
Gather information
Obtain information from your email administrator about the SMTP properties that must be
set up on your SMTP server. A full list of SMTP properties can be found at
https://javaee.github.io/javamail/docs/api/com/sun/mail/smtp/package-summary.html.
Your SMTP server might require additional information, so it is up to you to identify and
set those properties as well.
Configure Stretto
Configure Stretto to connect to the SMTP server.
Corresponding SMTP
Stretto Attribute Type Description
Property
smtp:mail.auth.password String Authorization password These username and password are custom properties
(custom property) used for authentication. For example,
strettoadmin and secret.
smtp:mail.auth.username String Authorization username The authorization username may be an email address
(custom property) or may be a regular username, depending on the
requirements of your SMTP server.
smtp:mail.auth.from String From username (custom Emails are sent as if coming from this email address.
property) Typically, it is the email address of the group
administrator. For example,
[email protected]. If this property is not
specified, Stretto uses [email protected].
smtp:mail.smtp.auth String mail.smtp.auth Set to true to require that the connection for the
Authorization username (e.g., strettoadmin) be
validated using SMTP authentication.
smtp:mail.smtp.host String mail.smtp.host The SMTP server host name. For example,
smtp.acphone.com.
smtp:mail.smtp.port String or mail.smtp.port The SMTP server port. For example, 587.
Integer
Corresponding SMTP
Stretto Attribute Type Description
Property
smtp:mail.<name> String Any other properties you Name the Stretto attribute by prepending the standard
identified. property name with “smtp” For example, the property
“mail.smtp.ssl.enable” becomes
“smtp:mail.smtp.ssl.enable”. As noted
above, be careful with the colons and dots.
5. Select either user's email address or the attribute you created for email address for
notifications.
6. Enter test in Subject and Body. For the purposes of this test, no template is
needed.
7. Click Send.
Once you have sent the email, you should see the test email in your inbox.
How it works
When you send an email from Stretto, Stretto constructs an email using the “from”
attribute as the source email address. It then connects to the SMTP server specified in
the host and port attributes and gets authenticated with that server using the data in the
username and password attributes. Stretto then sends the email to the SMTP server. The
SMTP server already knows about this email address, so it accepts the email and
delivers it to the recipient or recipients.
Therefore, make sure that email is set up in the default group of each administrator.
Using Stretto Admin, modify the provisioning template to include the following settings.
feature_options:show_stretto_notifications:enabled="true"
feature:stretto_notifications:sns_group="{{ccs:groupName}}"
feature:stretto_notifications:sns_websocket_
url="wss://stretto.cloudprovisioning.com:18082/notification/subscription"
<core_data_list>
<data name="strettoNotificationServiceEnabled" value="true"/>
<data name="snsGroup" value="{{ccs:groupName}}"/>
<data name="snsUrl"
value="https://stretto.cloudprovisioning.com:18082/notification/subscription"/>
1. In Stretto Admin, create the following attribute and set their values at the group
level:
log files are sent to Stretto where Stretto administrators can view them in order to
troubleshoot problems.
When the user clicks the Send Log button on Bria, the softphone client contacts Stretto at
the specified URL, logs in using the username and password, and sends the log files.
Stretto stores the files for the specified group in that group’s folder.
1. In Stretto Admin, create the following attributes and set their values at the group
level:
Commen
Attribute Value
t
Commen
Attribute Value
t
that client
attempts
to post
client log
files to
Stretto.
Creating
this
attribute
actually
creates
this user
ID on
Stretto.
The next
time the
user logs
in, this
value is
sent
down to
the
softphon
e client.
In this
way, both
the client
and
Stretto
have the
ID.
Commen
Attribute Value
t
attribute
actually
creates
this
passwor
d on
Stretto.
Then,
when the
user logs
in the
next
time, this
value will
sent
down to
the
softphon
e client.
In this
way, both
the client
and
Stretto
have the
passwor
d.
2. Modify the provisioning templates to map the attributes to settings. Click the
template in the tree, choose the Source view, and copy and paste the following
lines into each template, as follows:
Desktop template
feature:standard_log:post_server_url="{{std:logserver:url}}"
feature:standard_log:post_username="{{std:logserver:user}}"
feature:standard_log:post_password="{{std:logserver:password}}"
Mobile template: Find <app_data_list> in the template and add the data lines under
<app_data_list>.
<app_data_list>
<data name="logCustomerPostUrl" value="{{std:logserver:url}}"/>
<data name="logCustomerPostUsername" value="{{std:logserver:user}}"/>
<data name="logCustomerPostPassword" value="{{std:logserver:password}}"/>
See Viewing Enhanced Client Traces (device logs) for how to view client traces as well as
sample logs.
Stretto emails the client log files to any administrator who has the Client Traces
Notification option enabled, provided that the log is from a user in an administrator’s
default group, extra groups, or inherited subgroups. If a log file is very large, Stretto
emails only the log’s location rather than attaching the log file itself. The administrators
then can view the log file using Stretto Admin.
1. In the Admins page, select an administrator to modify and click Edit. The Edit
Admin dialog opens.
2. In Admin Options, select Client Traces Notification.
3. Click Save.
The administrator is set up to receive an email every time a user in the administrator's
groups sends a client trace to Stretto.
1. In the Admins page, select an administrator to modify and click Edit. The Edit
Admin dialog opens.
2. Under E-Mail Reports, select the Enhanced Client Traces checkbox.
3. If Report Frequency has not been set, choose how often the administrator receives
the reports: daily, weekly, monthly, or quarterly.
4. Click Save.
The administrator is set up to receive email reports including Enhanced Client Traces.
Contact CounterPath and request that your groups be set up with the desired tracking
method.
1. Create an attribute for each “enable codec” setting for each desired codec. For
example, create an attribute for the setting that enables the G.729 codec.
2. Set these attributes to true at the group, profile, or user level, according to your
policy or service levels. For example, always enable these codecs only for your
“gold service” users.
In your Stretto group, there are two areas in which you configure UEM:
l Adding and defining attributes for UEM at the group level. The values you enter
here are for every Bria client in the group.
l Adding settings to the desktop and mobile provisioning templates. These settings
take the values from the group attributes so that those values are provisioned to all
Bria clients in the group.
Follow these steps to configure group attributes and provisioning settings for UEM.
1. In Stretto Admin, add the UEM attributes at the group level. These attributes all
begin with std:vqmserver for easy identification.
std:vqmserver:user String Enter the name of a user that Bria uses when posting analytics data to
Stretto. All Bria clients in the group use the same account for posting
analytics data, so this attribute should be set at the group level and not in a
profile or user.
std:vqmserver:password String Enter the password for the user ID in std:vqmserver:user. This
password is sent along with the user name each time Bria posts analytics
data to Stretto.
std:vqmserver:timer Integer This is the frequency (in seconds) at which Bria posts analytics data to
Stretto. The minimum value is 21600 seconds (6 hours). If you enter a
smaller number, the value will be ignored, and data will be sent every 6
hours.
2. Modify each provisioning template — mobile and desktop — to add each UEM setting
and their corresponding value. This step connects each UEM setting in Bria to the
UEM attributes that you defined in your group.
feature:uem:enable_analytics="true"
feature:uem:analytics_reporting_frequency="{{std:vqmserver:timer}}"
feature:uem:feedback_url="{{std:vqmserver:url}}"
feature:uem:feedback_user="{{std:vqmserver:user}}"
feature:uem:feedback_password="{{std:vqmserver:password}}"
Mobile template
<core_data_list>
<data name="enableAnalytics" value="true"/>
<data name="analyticsReportingFrequency" value="{{std:vqmserver:timer}}"/>
((omitted))
<app_data_list>
<data name="feedbackPostUrl" value="{{std:vqmserver:url}}"/>
<data name="feedbackPostUsername" value="{{std:vqmserver:user}}"/>
<data name="feedbackPostPassword" value="{{std:vqmserver:password}}"/>
Note: Tip: You may want to create “Support” administrators to allow people in your
organization who are not involved in provisioning to access the Reports button on the main
toolbar in order to view and print reports. This type of administrator will not be able to access
other Stretto functions.
There are two sides to the End User Portal. On Stretto, you, the administrator, must
select which of the possible functions you want your users to access. Then on a web
browser on end user's device or computer, the user displays the End User Portal web
interface that shows them these functions.
1. Click the Portal Settings tab in the Groups screen. The Portal Settings section
appears.
2. Click Edit and select what appears in the End User Portal.
Functions available
l Allow end users to view and delete their devices: Allows users to manage
their own devices. Typically, when you set up Stretto, you limit the number of
devices users can deploy Bria on. If the limit has been reached and a user
wants to deploy on a new device, an existing device must be deleted from the
user's device list on Stretto.
l Allow end users to view their enhanced client traces: Allows end users to
troubleshoot issues by viewing the client traces. Usually, when the user
generates a client trace from Bria, they send it to the support team in your
organization. Typically, you would only enable this function if your end users
are technically savvy.
l Allow end users to change their password: Allows end users to change or
reset their Stretto password. To change their password directly in the End
User Portal, users must remember their current password. To reset their
password using I forgot my password in the End User Portal, users must also
have the user property E-mail address set up in the Settings section of
Users.
Warning: Do not select this option if you are using a third-party to authenticate
users (LDAP, ECS).
l Allow end users to change meeting settings: Allows end user to edit their
Collaboration options including basic information, video quality and layout,
moderation options, and recording.
l Allow end users to upload their XMPP Photo: Allows users to upload an
avatar photo for XMPP chat.
l Allow end users to edit attribute values: Allows users to set the value for
certain attributes on Stretto. For example, you might choose to allow each
user to change their own Display Name (which is an attribute on Stretto).
l End User Portal Administrator messages: Display messages set up by the
administrator to users in the End User Portal, allowing the administrator to
communicate whatever they want to their end users.
3. If you clicked Allow end users to edit attribute values, the dialog expands to show
all the applicable attributes that exist in the group. The applicable attributes are
those that:
l Were created directly in the group (so inherited attributes are not shown).
l Have an Open or Empty Rootlock (so Locked, Final, and SuperFinal attributes are
not shown).
Attributes that are masked or encrypted are shown if they are open and local.
4. Find the attribute that you want the end user to be able to configure. In the In-portal
name column, enter a user-friendly name. In the In-portal description column,
enter a short description or useful tip.
5. If you enable the Administrator Messages function, the dialog expands to show the
message field. Click New, give the message a Title and write the message body.
6. Click Save under Group:.
The End User Portal features are set up to be exposed to the end user.
Internal browser
You can add up to three web links in Bria clients. One link can be to the End User Portal.
You can also enter links to other useful and informative sites in your organization.
desk.feature.webBrowser.enabled True to make the web panel visible in the Bria clients.
and
mob.feature.webBrowser.enabled
desk.feature.webBrowser.name Enter the name (label) of the link as it should appear in the softphone
client, such as End User Portal.
and
mob.feature.webBrowser.name
desk.feature.webBrowser.url You should see an URL already populated for your group. If not, enter
the URL of the web page to open in Bria clients.
and
You can configure Bria clients to use either a HTTPS GET or HTTPS
mob.feature.webBrowser.url POST request when accessing the web page.
To use a HTTPS GET, enter the URL and the parameters (if applicable)
in this url attribute. Note that parameters such as username and
password will be sent to the server as plain text, and recorded in the log.
For example:
https://stretto.cloudprovisioning.com:18082
/userportal/login?username=$loginusername$&password=$loginpassw
ord$
To use a HTTPS POST, enter only the URL in this url attribute, and enter
the parameters in another attribute as described in the next row. For
example:
https://stretto.cloudprovisioning.com:18082/userportal/login
desk.feature.webBrowser.postPara If you choose to use a HTTPS POST request, enter the parameters you
3. Click Save.
4. Modify the provisioning templates to map the attributes to settings. Click the
template in the tree, choose the Source view, and copy and paste the following
lines into each template, as follows:
Desktop template
feature:browsertab:enable1="{{desk.feature.webBrowser.enabled}}"
feature:browsertab:title1="{{desk.feature.webBrowser.name}}"
feature:browsertab:url1="{{desk.feature.webBrowser.url}}"
feature:browsertab:post_params1="{{desk.feature.webBrowser.postParams}}"
Mobile template: Find <app_data_list> in the template and add the following section
under <app_data_list>.
<app_data_list>
(omitted)
<gui_custom_view_list>
<gui_custom_view>
<data name="enabled" value="{{mob.feature.webBrowser.enabled}}"/>
<data name="title" value="{{mob.feature.webBrowser.name}}"/>
<data name="url" value="{{mob.feature.webBrowser.url}}"/>
<data name="postParams" value="{{mob.feature.webBrowser.postParams}}"/>
</gui_custom_view>
</gui_custom_view_list>
(omitted)
</app_data_list>
The End User Portal is set up as an internal web browser within Bria.
External browser
With this option, there is no extra setup in Stretto. Give the URL for the End User Portal to
your end users, for example in an email. The URL must be in this format:
https://stretto.cloudprovisioning.com:18082/userportal/
When the user enters this URL in a web browser, the End User Portal login page
appears. The user logs in with their regular Stretto username and password. With this
option enabled, be prepared to handle user lockouts. If the user logs in incorrectly five
times, they are locked out and see Locked_Out on the End User Portal log in screen.
LOCKED_OUT
To unlock a user
1. Under the group, select Users. The group's user list opens.
2. Select a user.
3. Click Edit on Details for User:.
4. On the Settings tab, clear Locked (End User).
5. Click Save.
Tip: If Allow end users to change their password is selected in the End User Portal
Settings, a user can change their password in the End User Portal. If they cannot remember
their password, they can use the I forgot my password link on the End User Portal login
screen. Users must have an email address in the user property E-mail address set up for
users in the Settings section of Users to use the I forgot my password link.
2. Log in using the regular Stretto credentials of a user on Stretto. Typically, you can
leave the Group name field empty.
The End User Portal window appears. It shows a tab for each function you enabled
in set up.
3. Make sure each function you enabled has a tab. If not, go back and verify your
setup.
1. In Messages, you see a preview of any messages your created in End User Portal
Administrator messages.
2. In Settings, you see a tab for the string value in In-portal name. Click on the tab
and you see the string value in In-portal description and the current attribute value
set in Stretto at the group, profile, or user level.
Change the value for one of the Settings and click Save. Log in to Stretto Admin
and view this attribute for the user. The attribute shows the changed value.
3. Before you can preview Device Logs, you need to send a log from Bria.
Passwords requirements:
l Must be at least 8 characters
l Must contain
l 1 uppercase character
l 1 lowercase character
l 1 number
l 1 punctuation character
placeholders for Stretto attribute values. When a user opens the End User Portal link in
their client, they see a page that displays information specific to their account.
1. Right-click the group to which you are adding the template and choose New
template > New blank template.
2. Give the template a name, press ENTER, and select the new template. The blank
template appears on the right.
3. Click Edit and write an HTML template using the format described under User
Portal template. As usual for templates, you can insert a Stretto attribute by
enclosing it in double brackets (such as {{account1.credentials.displayName}} to
insert the users's SIP account display name).
Your User Portal Template can include a link to the main End User Portal page at
https://Stretto_URL/userportal/home.html where the end user can access their
account settings.
4. Click Save.
Note: Your uploaded file replaces the contents of the template that is currently selected.
1. After you create a template, make sure your blank template is selected and click
Upload.
2. Browse for the HTML file you want to use as the template and click Open. The
Upload template dialog shows the name of the file you're uploading.
3. Click Submit. Stretto uploads the file and displays it in the Template screen.
To find out more about creating attributes, see Working with attributes.
Your template can be built from many such HTML-containing attributes to ensure that the
End User Portal has the correct look and feel. For specifics on the formatting of a User
Portal Template, see User Portal template.
Note: A string attribute is limited to 256 characters for a profile attribute and 300 characters for
group or user attributes.
Example:
Link to website
If you want to include a link to a website, you could create a group attribute named
html:siteLink (or any name) and define it as the following HTML markup:
When you insert the attribute placeholder {{html:siteLink}} into a User Portal
Template, the output is a hyperlink, like this:
representative (by phone or email, for example) and share control of Bria with that
representative. Through Help Desk Assistant, your support representative can review
diagnostics from both the Bria client and the underlying OS and send diagnostic
commands to Bria to reproduce the issue.
On the device
Bria must be configured to include a link to Help Desk Assistant in the app settings. For a
branded client, this option should be enabled when the application is built. When Help
Desk Assistant is enabled, Help Desk Assistant appears in the app's Settings page.
1. In the Group page, create each attribute in the following table. Assign a value to the
attribute at the group level.
Attribute Value
remoteDebugUrl wss://stretto.cloudprovisioning.com:18082/hda/socket
Help Desk Assistant uses this information to take control of Bria, during a Help Desk
Assistant session.
std:remotedebug:authurl https://stretto.cloudprovisioning.com:18082/hda/aut
h/{{ccs:groupName}}
Bria accesses this location to request a Help Desk Assistant session.
std:remotedebug:user Enter the name of a user account to for Help Desk Assistant sessions. This user
name is used group-wide by Bria to log into a Help Desk Assistant session — set the
attribute value at the group level and not at the profile or user level. When an end user
requests a Help Desk Assistant session in Bria, this user name is used to validate the
client.
Entering a value for this attribute creates the user account. The name must not
already exist in any group.
<core_data_list>
<data name="remoteDebugPostServiceUrl" value="{{remoteDebugUrl}}"/>
<data name="remoteDebugPostAuthUrl" value="{{std:remotedebug:authurl}}"/>
<data name="remoteDebugPostUsername" value="{{std:remotedebug:user}}"/>
<data name="remoteDebugPostPassword" value="{{std:remotedebug:password}}"/>
During a conversation between you (a support representative) and a Bria end user,
arrange for the user to initiate a Help Desk Assistant session for remote diagnostics.
l If a session closes, the end user must initiate a new session, which generates a
new reference number. A reference number is valid for one session only and cannot
be reused.
l Sessions connect through the end user's mobile data plan. Be conscious of data
usage.
l If you want to remotely make calls from the end user's device, the end user must go
to Preferences in Bria and enable Use When Available and Allow VoIP Calls.
1. In conversation with the end user, help them to start a session using the following
steps.
The end user should:
a. In Bria, select Settings then Help Desk Assistant. The Help Desk Assistant
page opens.
b. Tap Connect. Bria shows a reference number.
c. Give the reference number to the support representative by whatever means
available (for example, phone, email, IM, etc.).
d. Wait for the support representative to start the session.
2. Log into Stretto Admin and click Help Desk Assistant.
3. Click Connect to Client. Stretto Admin prompts you for the session reference
number.
4. Enter the session reference number that was provided to you by the end user and
click Connect. Stretto Admin establishes the connection and displays a
"connected" message in the console.
Bria shows a message to the end user indicating that Help Desk Assistant is now
connected.
Note: If a session disconnects for any reason (for example, a network connectivity issue), ask
the end user to initiate a new session and give you the new reference number.
Once a Help Desk Assistant session is established between Stretto Admin and the Bria
client, you can:
l View the end user's Bria-related information as well as system-level information
such as memory usage and network connection.
l Remotely control the client to make a calls.
l View the device log in the console and send the device log to Stretto Admin.
1. Start a Help Desk Assistant session with the end user. See Starting a Help Desk
Assistant session with an end user.
2. Enable logging on Bria.
3. Reproduce an issue that the end user is experiencing.
4. View the network information as well as the device log in Help Desk Assistant.
5. Instruct Bria to send the device log to the Stretto Platform.
6. If appropriate, push the latest configuration from Stretto Platform to Bria.
7. End a session.
Example:
Reproducing an audio issue
In this example, you attempt to reproduce an audio issue on a Wi-Fi network. This
example includes how to use Help Desk Assistant to get Bria to start recording
diagnostic data in a log and to send the log to Stretto.
3. Using a test account and a Bria client, make a call to the end user's account.
The device receives the incoming call.
4. On the Help Desk Assistant Command line, enter the following command to
make the end user's device answer your call:
call answer
5. If you have purchased the optional User Experience Metrics module for Stretto
Platform, use the following command to retrieve call statistics from Bria:
call stats
call vqmon
VQSessionReport
CallID: -AUXQsQnY5TP0Mj.1USBQBZP7Al8CTfS
.
.
.
call terminate
Call Finished
Call terminated
7. Retrieve the device log from Bria by entering the following command:
log simplified
If the command is successful, Bria responds with log data. Dots indicate lines
that have been omitted for brevity.
.
.
.
12:46:39.548 [1][I] [Calls] New call conv: 1, join: 0, replace: 0, type: 1200, addr:
sip:[email protected], display: Joseph Santos
.
.
.
If the command is successful, Bria confirms the log is sent and provides a
reference ID.
The content of the log is similar to the log you retrieved with the log simplified
command. If you have the Enhanced Client Traces feature installed, the log is
in the Client Traces page in Stretto Admin and listed by its reference ID.
9. You can view device and network information by using the snapshot
commands:
snapshot basic
.
.
.
Accounts info:
Number of SIP accounts: 1
---------------------------------------
name:CounterPath PBX type:Sip status:200 Dtmf:RFC
name:CounterPath Stretto IM type:Xmpp status:200 Dtmf:
.
.
.
snapshot advanced
.
.
.
CPU info:
cpu usage:0.000000, number of threads:20
.
.
.
Example:
Applying the latest configuration update to Bria
You can find out if Bria has received the latest provisioning update from Stretto. If
there are changes (deltas) to the configuration, you can apply those changes to Bria
by updating Bria.
config delta
Bria responds with a list of the differences between the two configurations.
In this example, the end user has changed enableVPN to YES since Bria last
received a provisioning update.
2. Start an update by using the following command:
config reload
3. Confirm that the update has been applied by re-checking the delta:
config delta
If the update has been applied successfully, Bria responds with this message:
Example:
Prompting the end user to upgrade Bria to the latest version (Android only)
If an end user has an older version of Bria on an Android device, you can prompt the
end user to upgrade to the latest version.
1. Check the Bria version on the user's Android device using the following
command:
Bria responds with the app ID and version number. The app ID and version
here are examples only — the actual ID and version will be different.
2. Instruct Bria to prompt the end user to get the latest version from Play Store by
using the following command:
The user's device opens the app page on Play Store. The app cannot be
upgraded automatically — it is up to the end user to perform the upgrade
manually.
3. If the end user is on a mobile network, advise them that the client can be
downloaded later using Wi-Fi.
Before you can execute any commands, you need to establish a Help Desk Assistant
session with the end user's Bria. See Starting a Help Desk Assistant session with an end
user.
app exit Android Close the Bria app and end the Help Desk Assistant session. The client cannot accept any more
only commands until the user opens Bria and initiates a new session.
app update Android Check if there is a newer version of the client available on Play Store.
only
check
app update Android Open the Play Store page where the user can upgrade the client to a newer version. This command
only does not automatically download the client; it is up to the user when to download it. Note that
execute
downloading over a mobile network uses end user's data plan if they have no Wi-Fi access.
number
call record Initiate call recording during a call. The recording ends when the call ends. Help Desk Assistant does
access to the recording — the user needs to send you the file via by other means, such as email.
call stats View call statistics of the current call. Use this command while Bria is in a call. This command returns
the same content as Call Statistics under Advanced Settings on the Bria client.
terminate
number
call vqmon View voice quality data of the current call. Execute this command while there is an ongoing call on the
device. This command requires the optional User Experience Metrics feature in Stretto.
config View current configuration of the client. Use this command to see how Bria settings are configured in
the client .
current
config View the differences (the "delta") between the Bria settings and the latest settings as provisioned by
Stretto. Bria periodically contacts Stretto to retrieve the latest configuration. If the configuration does
delta
not match, it can mean that the user changed a setting in Bria or the device has not contacted Stretto
recently. If this command reveals configuration differences, use the config reload command to
force a provisioning update.
config dtmf View DTMF settings. The same information is also available in snapshot basic.
config Update Bria with the latest configuration from Stretto. Use this command if the configuration settings
have changed since Bria last retrieved an update.
reload
advanced
disable
advanced
enable
log Send the Bria device log to Stretto. The content of the log is the same as the response to the log
advanced simplified command. You can view the logs from the Client Traces tab in Stretto Admin. This
send command requires the optional User Experience Metrics feature in Stretto.
log calllog View the call history stored in Bria. The history contains a list of all the incoming, outgoing, missed,
and recorded calls.
log View the device log. This device log contains detailed information on what the client is doing.
simplified
l Memory information
l Call history
l Failed Registrations
snapshot View the basic set of information about the user's device, including:
l License information
l Network Interfaces
memory
network
active
network
usage
Bria desktop supports the remote upgrade feature where it checks if a newer version of
the Bria desktop client is available for upgrade. If an upgrade is available, then Bria
desktop connects to a remote upgrade server where the upgrade is stored, and
downloads the installer file.
On Stretto, Windows and Mac upgrades can be managed separately. Stretto handles the
“is an upgrade available” logic, but it does not actually host the upgrade file. You must
host that yourself on a separate server.
feature:auto_ Set to true to enable the remote upgrade feature so that the Bria desktop client checks if a new version of
the software is available for upgrade. Set to false to disable it.
update:enable_
code_check
feature:auto_ Set to the URL of your upgrade server which handles requests from Bria desktop to determine a given
deployment needs an upgrade. See examples of the upgrade URL.
update:code_
Set to the following URL. Stretto uses a script to determine a given deployment needs an upgrade. Make
server_url sure to include all the parameters as listed below.
feature:auto_update:code_server_
url="https://stretto.cloudprovisioning.com/upgrade?Username=$loginname$
&Password=$loginpassword$&build=$build$&platform=$platform$&uuid=$computerid$&spid=
{{ccs:groupName}} &type=$type$"
feature:auto_ The initial value for the upgrade timer. Default is 60 seconds. Used for timing the first time the Bria
desktop client hits the remote upgrade server. After the initial hit, the client hits the upgrade server every
update:code_
24 hours.
check_initial_t_s A value of 0 means never, which means remote upgrade checks will not be performed. However, note
that end users are able to manually check for upgrade if your custom brand has the "Check for updates"
capability.
feature:auto_ Set to true to instruct the Bria desktop client to verify the authenticity of the downloaded installer using the
MD5 checksum. If the hash does not match, remote upgrade will fail.
update:strict_
When set to false, the Bria desktop client proceeds to install the downloaded file without verifying the
hash_check authenticity.
Example
[DATA]
Success=1
.
.
[SETTINGS]
feature:auto_update:enable_code_check="true"
feature:auto_update:code_server_url="https://MyUpgradeServer.com/upgrade?Username=$loginname$
&Password=$loginpassword$&build=$build$&platform=$platform$&uuid=$computerid$"feature:auto_
update:code_server_url="https://stretto.cloudprovisioning.com/upgrade?Username=$loginname$
&Password=$loginpassword$&build=$build$&platform=$platform$&uuid=$computerid$&spid={{ccs:groupName}}
&type=$type$"
feature:auto_update:code_check_initial_t_s="3600"
feature:auto_update:strict_hash_check="true"
Create attributes
Create the following attributes and set the values in Stretto at the group or profile level.
These attributes are not mapped to any settings in the template. Instead, they are read by
Stretto during the upgrade process, as described in How remote upgrade works.
Remember that attribute names are case sensitive.
std:upgrade.< String Optional. Specify a MD5 hash of the installer file that will be on your upgrade
std:upgrade.windows.msiUrl String Use this attribute instead of url attribute above for Bria desktop 6.2.0 clients
or newer, which handle MSI installer.
Specify the URL of the MSI installer for the specified platform. For example:
https://MyUpgradeServer.com/win/ACphone.2/ACph
one_120_32000.msi
std:upgrade.windows.msimd5ha String Optional. Specify a MD5 hash of the MSI installer that will be on your
upgrade server.
sh
To generate a MD5 hash, use the UNIX/Linux’s md5sum command, the
Mac’s md5 command, or any third party’s tool of your choice.
std:upgrade.< String Optional. This attribute allows the administrator to show a hyperlink in an
upgrade pop-up on Bria desktop. End users can click the link and view your
platform>.releasenotesurl
release notes. The release notes can be in any file format, and be hosted on
any server. Where <platform> is "windows" or "mac". Create one or
more attributes, depending on which platforms you support.
std:upgrade.< Integer Optional. Create this attribute to show release highlights in the upgrade
prompt. This attribute indicates how many bullet points to show. It ranges
platform
from 0 to 3 depending on how many highlights you want to display to end
>.releaseFeatureCount users.
Where <platform> is "windows"or "mac". Create one or more
attributes, depending on which platforms you support.
std:upgrade.< String Optional. Create this attribute and enter a brief description of the new feature
you want to display to end users about this new version. This value comes up
platform>.releaseFeatureOne
as the first bullet point.
Where <platform> is "windows" or "mac". Create one or more
attributes, depending on which platforms you support.
std:upgrade.< String Same as above, except this is for the second bullet point.
platform>.releaseFeatureTwo
std:upgrade.< String Same as above, except this is for the third bullet point.
platform
>.releaseFeatureThree
https://MyUpgradeServer.com/mac/ACphone1.2/ACphone_120_32000 to
https://MyUpgradeServer.com/mac/ACphone1.2/ACphone_120_39010.
If the filename portion of the original URL does not include the build number, you
may not need to change anything.
4. Change the std:upgrade.<platform>.md5hash,
std:upgrade.<platform>.releasenotesurl, and
std:upgrade.<platform>.releaseFeatureXXXX, if necessary.
Details on code_server_url
The value of code_server_url can include includes Stretto data elements (such as
{{ccs:groupName}}) and Bria desktop macros (such as $build$) which are replaced
by real values before Bria desktop sends the GET request to the URL.
For example, the following URL
https://MyUpgradeServer.com/upgrade?Username=$loginname$
&Password=$loginpassword$
&build=$build$
&platform=$platform$
&uuid=$computerid$
&spid={{ccs:groupName}}
&type=$type$
becomes:
https://MyUpgradeServer.com/[email protected]
&Password=1234
&build=31002
&platform=windows
&uuid=3478REUEIRU784WURUEIYRFUEIW
&spid=acphone.com
&type=windows.desktop
Details
Stretto authenticates the username, password and SPID in the GET request to the
user in Stretto.
If the authentication fails, a failure response is sent down.
Stretto determines (from the GET header) the platform the user is using: Windows
or Mac.
Stretto compares the build number sent by Bria desktop against the “new version
value” set on Stretto, and determines whether or not Bria desktop needs upgrade.
Stretto sends down a success response to the user’s Bria desktop, including the
following information:
l The URL from the std:upgrade.<platform>.url attribute.
l The URL from the std:upgrade.windows.msiUrl attribute.
l The value from the std:upgrade.<platform>.version attribute.
l If configured, the values from the MD5 hash attributes, the release notes URL
attribute, and release highlight attributes.
If Stretto determines that Bria desktop does not need upgrade, it notifies Bria
desktop that no upgrade is required.
Note: You do not have to create a template for this response; Stretto creates the entire
response on its own.
5. The upgrade server makes decisions whether an upgrade is available to the user,
and sends a response to Bria desktop.
[DATA]
Success=0
or
[DATA]
Success=1
version=60000
url=https://MyUpgradeServer.com/newversion.exe
hash=595f44fec1e92a71d3e9e77456ba80d1
msiUrl=https://MyUpgradeServer.com/newversion.msi
msihash=5944fec192a71d3e9e7e745f56ba80d1
response_version=1
release_notes_url="http://your_release_notes_locations.com"
release_version=4.8.1
release_feature_count=3
release_feature_1="a description of New Feature 1"
release_feature_2="a description of New Feature 2"
release_feature_3="a description of New Feature 3"
installer_extension=.exe
where:
l Success=1: True (there is an upgrade) or 0=false (there is no upgrade).
l version: Identifies a build stamp of the upgrade. Bria desktop uses this version
to determine whether to prompt the user to install the upgrade.
l url: The absolute path to the installer software for the new version.
l hash: The MD5 checksum used to verify the authenticity of the downloaded
installer.
l msiUrl: The absolute path to the MSI installer for the new version.
l msihash: The MD5 checksum used to verify the authenticity of the
downloaded MSI installer.
l response_version=1: The version of the response the server returns to Bria
desktop. Included if release_notes_url is configured.
l release_notes_url: Identifies the location of your release notes for the new
version of Bria desktop.
l release_version: The new version number of Bria desktop. This number
appears on the upgrade dialog when notifying end users of an upgrade.
l release_feature_count: The number of new features in the upgrade. Ranges
from 0 to 3.
l release_feature_n: A brief description of the new feature. N indicates a
number from 1 to 3.
l installer_extension: The type of installer file for the url parameter: .exe for
Windows and .dmg for Mac.
The response must end with a CRLF (Carriage Return / Line Feed).
The response cannot include a [SETTINGS] section. In other words, none of the
user’s current settings can be changed via this response.
6. Bria desktop compares the build number of the application on the user's computer
to the build number specified in the server response.
l If the response has the same number, Bria desktop does not prompt the user
to download. Skip to Step 8 below.
l If the response has the lower number, Bria desktop does not prompt the user
to download: downgrades are not supported. Skip to Step 8 below.
l If the response has a higher number, Bria prompts the user to download the
upgrade. Go to Step 6.
7. Bria desktop presents upgrade to end users, along with release highlight points and
a link to the release notes if provided.
The user takes one of these actions:
l If the user initiates the download, Bria desktop will download the installer and
save it to the local Bria desktop program folder. Go to Step 7.
l If the user chooses to install later, Bria desktop will enter its timing cycle and
display the upgrade prompt again in 24 hours.
8. Bria desktop checks the MD5 hash of the downloaded installer against the one
provided by Strettoyour upgrade server (if configured).
l Bria desktop proceeds with upgrade only if both values match. Bria desktop
prompts the user to exit in order to install the new version. The user can install
immediately or postpone installation.
l If the values do not match, Bria desktop shows an error to the end user,
indicating that download failed.
9. Bria desktop checks for the upgrade every 24 hours by contacting code_server_url.
DNS-based SIP failover
Upon SIP account enablement, Bria clients will attempt DNS SRV lookup of the domain
account setting (or outbound proxy account setting if also specified), if no port is
specified. If a port is specified, the client will skip immediately to A record lookup. If the
domain or outbound proxy is an IP address, DNS lookup is skipped altogether.
If multiple SRV records are returned, the client attempts to connect to the target with
highest precedence per SRV record priority and weight.
If a successful SIP registration is made, this target becomes whitelisted. The client will
continue to re-REGISTER to this whitelisted target for future registration refreshes,
unless:
l Future re-registration attempts fail due to an unreachable target or 4xx/5xx server
responses. In this case, the client would attempt to SIP register against the next
highest precedence record from DNS SRV results, unless that record had been
recently attempted unsuccessfully
l A network change occurs; e.g. on mobile if the device switches from Wi-Fi to
Cellular, or vice versa. In this case, the client behaves as if it was an initial SIP
account enablement, as above.
l The client is restarted, or the client’s SIP account is disabled then re-enabled (e.g.
via user interface, or if SIP push is enabled and the client moves from the
background to foreground). Again, in this case the client behaves as if it was an
initial SIP account enablement, as above.
Note this implies that even if the TTL (time to live) expires for DNS SRV record queried
previously, and subsequent DNS SRV queries result in a list of records with different
priority, the client will continue to prefer the whitelisted target.
Using NAPTR
NAPTR lookup is performed prior to SRV lookup (described above), on SIP account
enablement, if the SIP transport type is set to Auto, the domain or outbound proxy has no
port, and is not an IP address. If NAPTR results are returned, they are used to initiate
SRV queries per above, except using address from NAPTR record result instead of
domain or outbound proxy. If NAPTR results are not returned, the client initiates DNS
SRV queries for UDP, TCP, TLS. If the SIP transport type is set to something other than
Auto (e.g. UDP), the client skips to SRV lookup per above.
When the user logs into Stretto, the language being used on the device (the locale) is
included in the HTTP request. Stretto reads this information in each request. If an error
occurs, and if the specific error has been translated on your Stretto, then the error is sent
down to the softphone client in that language.
Setup
Note: You must set the values for these attributes at the group level. Do not set override
values at the profile or user level because in most cases these values never get used.
Language is indicated using a two- or four-character ISO language code. For example,
“en” or “en-us”. Make sure to enter the language code all in lower case and to enter a
dash between the two parts (not an underscore).
1. Create an attribute for each error/language you want to support. For example:
l msg:auth:susp:en
l msg:auth:susp:en-us
l msg:auth:susp:fr
2. Enter the translated error message as the attribute value. Typically, enter this value
at the group level.
3. In addition, identify one of your language sets as the default that is used for
languages you do not support. For example, identify French as your default. Create
the attribute std:locale.default and set its value to that fallback language.
Note that this feature also allows you to customize the English wording (independently of
translation). For example, if the built-in error is Device Activation Limit Reached, you
could customize it to:
l “Device Activation Limit Reached. Contact [email protected]” for en-us.
l “Device Activation Limit Reached. Contact [email protected]” for en-uk.
You must create attributes for all the errors and set values that show the German text. For
example, create msg:auth:susp:de, msg:auth:badpw:de, and so on.
With this setup, you only need one set of attributes because all users are mapped to use
German. Of course, if you want to provide error messages only in US English, there is no
work to do at all; US English is the default language.
msg:auth:lockedout:<locale> The user has made failed login attempts in a row for a Account is locked
specified number of times, and the user is locked out out.
from logging in.
msg:auth:noaccess:<locale> User is valid, but no template is defined for the user: the Access not allowed
profile that this user belongs to does not include a for this softphone
template mapping for this platform. platform
msg:device:limit:<locale> The user is trying to log on from a new device but the Device Activation
maximum device allocation has been reached. Limit Reached
msg:ldap:badpw:<locale> LDAP authentication is being used and the user's Invalid credentials
LDAP password was invalid
msg:ldap:notfound:<locale> LDAP authentication is being used and the user was User not found
not found on an LDAP server
msg:groupdesktopdevice:limit:< You have set up for group device limits on a per- Desktop Device
platform basis and the desktop limit has been reached Limit reached.
locale>
for this group. Contact us for
assistance.
msg:groupdevice:limit:<locale> You have set up for group device limits on a per-group Per-group Device
basis and the limit has been reached for this group. Limit reached.
New users or old users logging in from a new device Contact us for
cannot log on. assistance.
msg:groupsmartphonedevice:limit:< You have set up for group device limits on a per- Smartphone Device
platform basis and the smartphone limit has been Limit reached.
locale>
reached for this group. Contact us for
assistance.
msg:grouptabletdevice:limit:< You have set up for group device limits on a per- Tablet Device Limit
platform basis and the tablet limit has been reached for reached. Contact
locale>
this group. us for assistance.
The administrator can view various logs and reports using Stretto Admin. A report may be
blank (showing no data) if a particular feature is not enabled.
Where to
Log Content
Download
Event Logs Contains user activities of all users captured by Stretto such as login attempts. Group >
Logs or
Users >
Logs
User Traces Provides information about login attempts by a specific user. It provides more detailed information than Users >
the corresponding Event Log. Logs
Enhanced You can view device logs that your users send to you. The device log contains Bria’s activity on a specific The Client
Client Traces device of a specific user. This is also known as the Enhanced Client Traces feature. Traces tab
(Device or
Logs) Group >
Logs or
Users >
Logs
Device Lists Lists all devices for a selected group, along with a username. Group >
Devices
Stretto Provides statistics about login, device counts, and user activity. The Reports
reports tab
User Provides analytical reports and logs for diagnosing technical issues with audio and video calls. The Reports
Experience tab
Metrics
Downloaded records are saved in a ZIP file that contains the individual records as text
files.
userAgent Bria iPhone 1.4.0 User agent information built into the
softphone client.
traceEvents Skipping password check for test access See below for a complete list of event
messages.
by [email protected]
For example
Could not add device <device> for user Warning Login does not fail.
<username>
Could not bind LDAP session handler URI <LDAP Error You are set up for LDAP authentication. Login fails because the LDAP
URI> and bindDn=<Bind DN>: <LDAP return server refused the request.
code> - <LDAP error message>
Could not create LDAP session handler for Error You are set up for LDAP authentication. Login fails because the LDAP
userName=<username> with URI=<LDAP URI>: server refused the request.
Could not parse Mobile Login request: <Login Info A random request (not from a Bria softphone client) has been received
Document> at Stretto.
Could not replace device for user <username>, Warning Login does not fail.
device <device>
Could not search LDAP for baseDn <base DN Error You are set up for LDAP authentication. Login fails because the LDAP
value>, filter <LDAP Filter>: <LDAP return code> server refused the request.
- <LDAP error message>
Could not update device last access for user Warning Login does not fail.
<username>, device ID <ID>
Device not added for test access Info You are using the Test Provisioning feature, so the device is not added
to the user's device list.
Device not updated for test access Info You are using the Test Provisioning feature, so the device is not
modified on the user's device list.
Exception while matching <Discriminator> with Error Login fails. You may have specified a discriminator with bad formatting.
<Discriminator pattern>
Expired device not replaced for test access Info You are using the Test Provisioning feature, so the expired device
(std:deviceAgeDays attribute) is not removed from the user's
device list.
IP Screening is on: User <username> not allowed Error Login fails or a remote update (refresh) causes the user to be logged
from IP <IP address> off.
LDAP authentication is on. Skipping Info You are set up for LDAP authentication. Login does not fail. You have
authentication for <username> because LDAP set the std:ldap:ignoreError attribute to true and all the
servers are unreachable. servers are unreachable.
LDAP data retrieval: Error processing user Error Login does not fail. You are set up for LDAP authentication. LDAP
<username>: <HTTP Error Code> - <Error authentication includes data retrieval but the data could not be
Message> retrieved.
LDAP data retrieval: Setting attribute '<attribute Info You are set up for LDAP authentication.
name>' from LDAP attribute '<attribute name>',
value=<value>
LDAP data retrieval: Skipping LDAP attribute Error Login does not fail. You are set up for LDAP authentication. LDAP
<attribute name> for user <username> (too long - authentication includes data retrieval but the data could not be
not a string?) retrieved.
Maximum devices (<number>) is not valid Error Login fails. The max devices was probably set using the API and a
letter instead of a number was specified.
No LDAP response for baseDn <base DN>, filter Error You are set up for LDAP authentication. Login fails because the LDAP
<LDAP Filter>: <LDAP return code> - <LDAP server refused the request.
error message>
No unique ID for this device, rejecting Error Login fails; the login request did not include a device ID
No unique ID pattern, skipping because tracking Info If a desktop brand does not have tracking then the device ID is not
is not enabled for this device. included in the URL. Stretto detects this and assumes "tracking is off".
Profile templates not found for profile <profile Error Login fails
name>
Redirected to <URL> Info User login request has been redirected to another Stretto.
Replacing expired device <device> for user Info The Device Age feature is being used (std:deviceAgeDays). A
<username> with <device> device has expired since the last login and now the user is logging in
from a new device that will replace the expired device in the Stretto list.
Skipping LDAP service for test access by Info You are set up for LDAP authentication. You are using the Test
<username> Provisioning feature, so LDAP is being skipped.
Skipping password check for test access by Info You are using the Test Provisioning feature, so the password is not
<username> being verified.
User %s password could not be decrypted. Check Error There is a problem with the encryption keys on your Stretto. Contact
encryption settings or contact support. CounterPath.
Each file contains information on one login or login attempt by one user. Trace files are
created only for valid users, not for users in unknown groups or unknown users in known
groups. For any valid user, the login attempt may be successful or it may be unsuccessful
(for example, user is suspended, user enters incorrect password).
The User Trace files contain more detailed information than the Event logs.
Sample
Attributes {
ccs:address 66.38.133.13
ccs:clientError
ccs:clientType desk
ccs:device windows
ccs:groupName acphone.com
ccs:httpCode 200
ccs:httpStatus OK
ccs:lastProvision 1369174334
ccs:method POST
ccs:password ********
ccs:remoteIp 66.38.133.13
ccs:req:
ccs:req:build 70220ccs:req:Password ********
ccs:req:platform windows
ccs:req:spid acphone.com
ccs:req:Username [email protected]
ccs:req:uuid 1a9de6e89534a3b5ff6d5eaeb8235fcd831845e9
ccs:template T_desktop
ccs:timestamp 130521181214+0400
ccs:url /login
ccs:userAgent Bria 3 release 3.5.2 RC12 stamp 70220
ccs:userName [email protected]
LicenseKey 1800W13DD3PD8Y8X9MP3N0226
logServerName https://myprovisioningserver.com:18082/CCSLogServer/submit
sipDomain acphone.com
sipPassword ********
sipUserName 1331
std:logserver:enable true
std:logserver:password ********
std:logserver:user emilywilding
std:usertrace:enable true
stunServer acphone.stun.com
}
}
---- Response ----
[DATA]
LicenseKey=1800W13DD3PD8Y8X9MP3N0226
Success=1
[SETTINGS]
proxies:proxy0:domain=acphone.com
proxies:proxy0:password=********
proxies:proxy0:transport=udp
proxies:proxy0:username=1331
[##MEMORY##]
proxies:proxy0:enabled=
---- Event Log ----
130521181214+0400,[email protected],/login,desk,windows,
Bria 3 release 3.5.2 RC12 stamp 70220,66.38.133.13,POST,200,OK,,,T_desktop,acphone.com
The Stretto administrators must have the View client traces option enabled under their
Admin Options in order to view Enhanced Client Traces.
l After logging into the Stretto Admin web interface, click Client Traces. In the
Enhanced Client Traces screen, you can search all groups you have access to, or
filter it by a group, user, or log reference number.
l To view the logs for all users in a specific group, use the Group screen. In the
toolbar, click Logs > Enhanced Client Traces; the Enhanced Client Traces screen
opens with the logs sent by all users in the group.
l To view the logs for a select user, use the Users screen. Select a user, then in the
toolbar, click Logs > Enhanced Client Traces; the Enhanced Client Traces screen
opens with the logs sent by the user.
When users send logs from their devices, the logs are sent to Stretto where you can view
them from the Client Traces tab or the Users screen. See Viewing Enhanced Client
Traces (device logs) for information on how to view the log.
Sample - Desktop log when a call fails for "No common codecs"
Startup
22-31: Key information about the configuration of each account. In this case, only one
account is set up.
32-36: A list of enabled codecs. Note that in this example, the only audio codec is OPUS.
52-68: Contents of the SIP header and body. Line 63 specifies the codecs being offered
in the INVITE.
70-79: Details of the SIP transaction: The response to the request is 100 “Giving a try”,
indicating that the INVITE is in progress.
81-94: Details of the SIP transaction: Another response, 180 “Ringing”, indicating that the
call is ringing at the other party ([email protected]).
96-106: Details of the SIP transaction: The final response is 488 “Not acceptable here”.
Line 103 shows the reason: There are no common codecs between the two endpoints.
This means that the other party ([email protected]) does not have the OPUS codec
enabled.
116-128: Details of the SIP transaction: The softphone is acknowledging the 488
response from the other party.
When users send logs from their devices, the logs are sent to Stretto where you can view
them from the Client Traces tab or the Users screen. See Viewing Enhanced Client
Traces (device logs) for information on how to view the log.
l The end of the log displays summary information about the device and softphone
configuration.
Sample - Mobile log when a call fails for "No common codecs"
Startup
8-25: Application diagnostics: Information on what the application is doing. In this case,
the app is performing low-level initialization.
Registration request
26: Summary of the next few lines indicating they represent a REGISTER request.
Whenever logging is turned and the user clicks the Apply button, Bria performs a fresh
SIP registration. Note that there is no Apply button on Bria Android editions, so these
lines are omitted.
63: Summary of the next few lines indicating they represent a response to the
registration.
77-78: Application diagnostics. In this case, Bria is contacting the license server. Bria
always contacts the license server after an initial registration (but not after a registration
refresh) in order to check the authenticity of the client.
79-85: Application diagnostics. In this case, the application is performing actions at the
request of the user: it is placing an outgoing phone call.
86: Summary of the next few lines indicating they represent an INVITE request.
113: Summary of the next few lines indicating they represent a response to the INVITE.
114-125: The response is a 100 “Trying”, indicating that the INVITE is in progress.
130: Summary of the next few lines indicating they represent another response to the
INVITE.
131-144: The response is a 180 “Ringing”, indicating that the call is ringing at the remote
end ([email protected]).
152: Summary of the next few lines, indicating that they represent a response to the
INVITE.
153-164. The response is 488 “Not acceptable here”. Line 160 shows the reason: There
are no common codecs between the two endpoints.
165: Summary of the next few lines, indicating that they represent an ACK from the other
party.
177-184: Application diagnostics. In this case, the application is handling the 488
response and displaying information to the user (line 183).
185-186: Application diagnostics. In this case, the application is setting up audio ready for
the next call.
187-189. Application diagnostics. In this case, the user has just press Send Log and Bria
is prompting the user to confirm.
189-232: The content of the most recent provisioning response received from Stretto.
242-297: The current configuration of Bria. Some of this information comes from the
provisioning response from Stretto, some from exposed Settings screens, some from
internal data, and some is auto-detected by Bria (for example, whether the transport is
currently Wi-Fi).
271-295: Account-specific configuration. There are two accounts – 0 (SIP) and 1 (XMPP).
296: The response from the log server, indicating that the device log was successfully
received by the Stretto log server.
1. Click on the group you want to view the list of devices for.
2. Click the Devices tab on the Group screen.
This section describes how to use Stretto Admin to view a report, and download it.
Select a report
To view a report
Filter data
Configure filters in order to retrieve data you are looking for.
Profiles Only data for users associated with the specified profiles.
Tags Only data for users associated with the specified tag. See below.
Admin Only data for groups who are controlled by the specified administrator.
MOS limit Only data in the range of the specified MOS scores. Requires the UEM Module.
You can change the order of the breakdown columns (and thereby the Count) by clicking
Breakdown order:
Example:
This example shows one breakdown for the acphone.com group:
Reporting API activity
Stretto offers reports access via the Stretto Platform API.
These reports are useful only if you are set up to pay for royalty-bearing codecs on a “per
activation” (Pay-as-you-go) basis, rather than having paid for them in advance. You will
have discussed your method for paying for these codecs when you signed up for Stretto.
Each report shows information about initial activations of the codec in the specified time
period.
If the Known Devices report shows data (indicating that you have at least set up correctly
for device usage tracking) but this Codec Usage report does not show data in the left-
hand section for a specific group, verify that:
l You actually have royalty-bearing codecs in Bria and that you have enabled the
specified codec in this group.
l You have set the std:maxDevices attribute for this group.
l You have set the std:rbc:enable attribute for this group.
The Client Connections report shows the number of client connections to the group's
meetings within the specified period. This data is viewable in these formats:
l Line chart
l Table
The chart shows client connections and disconnections, allowing you to see not only the
volume of meeting activity but also where there is a discrepancy between the
connections and disconnections and if there are spikes or dips in usage during certain
periods.
The Meeting Message I/O report shows data for client-server interactions for the group's
meetings during the specified period. The data is viewable in these formats:
l Line chart
l Table
l Call started - The number of meeting calls started during the interval.
l Call ended - The number of meeting calls ended during the interval.
l Joined Meeting - The number of clients that joined a meeting during the interval.
This report provides the following information about devices currently known to Stretto.
l Provisioned Group Devices: The maximum possible number of devices for the
group.
For example, if max devices is set to 2 at the group level and there are 10 users set
up on Stretto:
2 x 10 = 20
If max devices is set as above, but with user A set with an override of 3 and user B
set with an override of 4:
(2 x 8) + (3 x 1) + (4 x 1) = 23
A group shows zeros (0) if you have set up to track device usage but no users in the
group have a number in their std:maxDevices attribute or no users exist in the group
l Actual Group Devices: The number of devices that have actually logged on.
For example, if user A has logged on via 2 devices, B via 3 devices and C, D and E
via 1 device each:
2+3+1+1+1=8
A group shows zeros (0) if you have set up to track device usage but no users have
logged on during the specified time period or no users exist in that group.
This report shows the number of users who have done a first-time login during the
specified time period.
A group show zeros (0) if you have set up to track device usage but no users have logged
on during the specified time period or no users exist in that group.
This report shows the number of devices (new and existing) that have logged on during
the specified time period. You can show a breakdown of information by selecting one
group.
A group shows zeros (0) if you have set up to track device usage but no users have
logged on during the specified time period or no users exist in that group.
A group shows zeros (0) if you have set up to track device usage but no users have
logged on during the specified time period or no users exist in that group.
This report only shows a summary. If the administrator wants to know detailed
information, such as how many iPhone 5 versus iPhone 7, use the other report “Active
Devices” which shows the breakdown information of each device type.
A group shows zeros (0) if you have set up to track device usage but no users have
logged on during the specified time period or no users exist in that group.
This report shows the count by the device type, such as desktop, mobile phones and
tablets as well as unknown devices that logged in during the specified time period. The
report includes deleted devices.
This report only shows a summary. If the administrator wants to know detailed
information, such as how many iPhone 6 versus iPhone 8, use the other report Known
Devices which shows the breakdown information of each device type.
l Set Account: the number of requests from the client to update the sync account list;
for example, when sync gets turned off for a particular account.
l Account Created: the number of the first sync account created for a user.
A conversation refers to a history of a chat with a specific person while an item refers to a
message in a conversation. A user typically has multiple conversations in their Messages
window, and one conversation could have hundreds or thousands of items.
Column Description
Number of Direct A number of the subgroups created right under the selected group. Excludes grand children (a
Subgroups subgroup of a subgroup) and below.
Number of All A number of all subgroups under the selected group, including children and below.
Subgroups For example, if the first column shows 3 and the second column shows 15, this group has 3
children and 12 groups underneath the children groups.
Allocated Children A number of maximum users that have been allocated to its subgroups. This number
represents a limit of users as opposed to the actual count. Limiting the number of users per
group (Maximum users) describes how to allocate a number to subgroups.
Actual Group User A number of users that have been created in the selected group. Excludes users in children and
Count below.
Actual Subgroup A number of users that have been created in all the subgroups, including children and below.
User Count
Actual User Total A sum of Actual Group User Count and Actual Subgroup User Count.
Max User Limit A number of maximum users limit configured in the selected group, as described in Limiting the
number of users per group (Maximum users).
Column Description
Local auth failures Local logins that failed because the password was incorrect. For some other reasons for
failure, see the User Activity - Screened report.
User not found The user portion in the username entered by the user is wrong. For example,
[email protected] does not exist in the group acphone.com.
These attempts did not get to the “authentication step” so they are not part of the Local
authentication column.
This report shows data only if you have integrated Stretto with an LDAP server in order to
have user logins authenticated by that server.
Column
Column Description
Number
1 requests - The number of HTTP requests from the client to the LDAP server.
HTTP
2 requests - The number of HTTPS requests from the client to the LDAP server.
HTTPS
3 Logins The number of requests that the user is successfully authenticated by an LDAP server.
Successful
4 Alternate The number of redirects; if the LDAP server is not available and a failover server is set up, redirect the
request to the alternate server
5 unavailable The number of requests that end up with none of the alternates being available.
6 auth failures The number of auth failures; if an LDAP server is available, the password is validated and either
succeeds or fails.
7 data retrieval The number of requests that include retrieval of data from the LDAP if Stretto has been set up for data
retrieval.
Column
Column Description
Number
1 requests - HTTP The number of HTTP requests from the client to the ECS
2 requests - The number of HTTPS requests from the client to the ECS.
HTTPS
3 Logins The number of requests that the user is successfully authenticated by the ECS.
Successful
4 unavailable The number of requests that end up with no ECS being available.
5 auth failures The number of auth failures; if an ECS is available, the password is validated and either succeeds
or fails.
Shows upgrade and update (setting refresh) requests, separated into HTTP and HTTPS.
Column Description
Number of Devices A number of the devices the user has logged on during the specified
time period. This number excludes deleted devices.
Number of Calls A number of calls the user has made and received during the
specified time period. It includes both successful and failed calls.
Audio Calls A number of successful audio calls the user has made and received
during the specified time period. It excludes failed calls.
Video Calls A number of successful video calls the user has made and received
during the specified time period. It excludes failed calls.
Message OUT A number of outgoing instant messages from the user's account(s).
Using data collected from Bria clients, UEM can display it in raw form, export to an
application such as a spreadsheet, or display it as a chart or graph. The dashboard
feature provides operations staff with a reference page with up to four reports, which
makes reviewing analytics data quick and efficient. Support staff can proactively detect
and pinpoint voice quality issues in the network and measure historical voice quality
trends.
Areas of reporting
Data is collected and stored by the Bria client and then sent to Stretto when a timer
expires or after each call. UEM provides information on that data in the following two
areas:
l Voice quality reporting provides information about the voice quality for calls. Data
collected about each user’s phone calls is sent to Stretto at the end of each call.
Stretto accumulates the data for all calls made within a five-minute period, then
performs some calculations on that collection of data — typically the minimum and
maximum data point is captured and the mean or average of all points is calculated.
These three data points can then be viewed graphically in Stretto Admin.
Data collection starts when the call starts and ends when call ends. Each time the
call goes on or off hold, the current segment of data is closed, and a new collection
opens.
l Analytics reporting provides detailed information about the softphone client and
device, about accounts on the client, about, about phone calls and about instant
messages.
Most analytics data is captured when a report is sent to Stretto. An exception is the
call history; it will be collected as follows: The current segment of data is closed and
a new collection opens when std:vqmserver:timer expires.
For example, std:vqmserver:timer is set to 6 hours. When Bria starts, the timer
starts running and collection starts. A new storage segment is created every 6
hours.
l Dates and times in the Report Data report are stored in Coordinated Universal Time
(UTC+0), and are translated into your browser’s timezone for display. When times
are shown as text data, the timezone information is typically included (for example,
Start time: 2017-07-26 02:00:33 PM UTC-0400).
Periods
Data in reports is shown in 5 minute "periods". The time of the period is the end time. So a
data point on at 6:15 covers the data from 6:10 to 6:15.
Now, when you click the blue arrow buttons, you will move to 12:00 p.m. but two days
later or earlier.
To change the start time of the range, click the End Time box, and select a time from the
list or type a time.
Note: When viewing a larger timescale, data points will be merged. For example, when
viewing a one-month timescale, data points are merged into 24-hour bins.
Example: Here is a closeup of the data for a MOS CQ Trend report, showing the three
data points being charted every 5 minutes.
l If only one segment is collected during the period, the three dots will overlap.
l If there are no segments collected at all during a given period, no data is charted
(there is no dot).
You can view all the data, or you can filter the data to view only the data for a specific
user. In this case, when Stretto calculates the points for the period, it includes only data
received from that user.
Burst/Gap Loss
Bursts or burst phases are the phases of transmission in which packet loss or discard is
over 5%. Gaps or gap phases are the phases of transmission between the bursts. During
the burst phase, attempts are made to recover the lost packets. The burst phase ends
when the packet loss goes below 5%, which may occur either because the recovery
attempt succeeds or because the cause of the packet loss ceases. Bursts can be seen as
substandard phases, while gaps can be regarded as normal phases.
Burst Density
The Burst Density report shows packets lost during all the bursts that occurred during a
given period, expressed as a percentage of the total packets transmitted during the burst
phases.
Each data set from a Bria client consists of one burst density score that is the mean of all
scores for that user for that segment. There may be more than one burst during the
segment. A density score of 20% means that, on average, 20% of packets for this user
were lost during all bursts for this segment.
The Burst Duration report shows burst segment lengths, in milliseconds, during the burst
phases. Each data set from Bria clients consists of one burst length that is the mean of all
burst lengths for that segment. There may be more than one burst during the segment.
This report is identical to the Burst Density report, but for the gap phases rather than the
burst phases. The Gap Density report shows packets lost during all the gaps that
occurred during a given period, expressed as a percentage of the total packets
transmitted during the gap phases.
Each data set from Bria clients consists of one gap density score that is the mean of all
scores for that user for that segment. Keep in mind that there may be more than one gap
during the segment.
This report is identical to the Burst Duration report, but for the gap phases rather than the
burst phases. The Gap Duration report shows gap segment lengths, in milliseconds,
during the gap phases. Each data set from Bria clients consists of one gap length score
that is the mean of all scores for that user for that segment. Keep in mind that there may
be more than one gap during the segment.
Call volume
The Call Volume report shows the number of segments reported during each period.
Delay times
The Delay reports provide information on the amount of time it takes for a data packet to
be transmitted. By comparing the output from different Delay graphs, it's possible to
narrow down where in a packet's route that delays are introduced and by how much.
In the context of this report, a "delay" is the length of time for a signal to travel to the next
point in its route to the destination and then receive an acknowledgment in return. The
transmission of a packet may include multiple points between the sender and the receiver
and each step along the route — each "segment" — introduces a certain amount of delay.
l Segment A: Send packet from the softphone to the first router (for example, the
PBX or SIP proxy) and receive acknowledgment.
l Segment B: Send packet from the first router to the destination (likely multiple
points along the route) and receive acknowledgment.
l Segment C: Send packet from the destination to back to the first router (likely
multiple points again) and receive acknowledgment.
l Segment D: Send packet from the first router to the softphone and receive
acknowledgment.
Because these reports are based on data gathered from a Bria softphone, Stretto has
data on segments A and D only. A softphone itself has no data past the first router.
Round Trip
The Round Trip report shows the intervals between sending a packet and receiving a
response from the destination. In other words, it measures from the start of segment A to
the end of segment D.
In this example, the average delay was generally under 200 milliseconds, but around
17:00 the maximum delay spiked to more than 2000 milliseconds, which brought up the
average to over 1000 milliseconds.
One Way
The One Way report shows the intervals between sending a packet and receiving an
acknowledgment from the first point in the route (segment A).
This example shows the same time period as in the Round Trip report. The maximum
delay across segment A spiked to 1100 milliseconds compared to 2000 milliseconds
across the entire round trip. From this one can determine that segments B through C
account for 900 milliseconds of the total round-trip delay.
Jitter Buffer
Stretto Admin offers reports to help monitor the Bria jitter buffer during calls, which can
aid in the diagnosis of voice quality issues. The jitter buffer mitigates some voice quality
issues.
In VoIP communication, data packets that comprise the audio stream are sent in a
specific order and at a regular rate. Any delays in the delivery of these packets can lead
to packets being received late, in the wrong order, or not at all, which leads to loss of
voice quality. The variation between the expected packet frequency and the frequency as
received is referred to as "jitter".
To mitigate the effects of jitter, incoming packets are delayed in a temporary buffer — a
"jitter buffer" — from which an audio stream can be played with packets restored to a
regular rate and order. The jitter buffer should be large enough to accommodate the
maximum jitter without introducing a noticeable delay in playback. If the jitter rate
exceeds the frequency of the jitter buffer, then packets may get dropped, which has a
negative effect on voice quality.
Stretto Admin provides reports on the jitter buffer based on data from Bria softphones.
l Jitter buffer - nominal: This graph shows time that packets stay in the jitter buffer.
l Jitter buffer - max: This graphs shows the maximum delay of packets in the jitter
buffer.
Jitter Buffer - Nominal
This report shows the length of time in milliseconds that packets stay in the jitter buffer. A
higher number indicates a higher latency in the segment (the last step between the router
and Bria).
Each data set from a Bria client consists the mean delay in milliseconds for that user for
that segment.
This report shows the maximum jitter buffer sizes in this segment. Stretto collects these
maximum values as reported by Bria clients and reports the maximum, minimum, and
average.
Each data set from a Bria client consists of the jitter buffer delay for that user for that
segment.
Score Description
5 Excellent
4 Good
3 Fair
2 Poor
1 Bad
Although in other contexts MOS might be derived based on gathering subjective user
input, Bria calculates MOS algorithmically based on objective measures of network
statistics like packet loss. Based on these measures, Bria assesses the impact of noise,
distortion, signal volume, echoes, and delays in the MOS calculation.
The results of MOS-CQ and MOS-LQ are likely to vary depending on the audio codec
used in the calls — a wideband codec will likely provide a better user experience than a
narrowband codec, in which listeners receive a smaller range of audio frequencies. For
this reason, Stretto Admin produces MOS reports separately for wideband and
narrowband MOS.
Stretto Admin offers a few report types in both MOS categories (CQ and LQ) and for both
narrowband and wideband codecs.
l Call Cloud
l Trend
l Distribution
l Percentile
Call Cloud
The Call Cloud report shows the distribution of call quality over time, where dot size
indicates relative numbers of scores of that value — that is, a large dot at 4.5 and a small
dot at 4.0 means that more users experienced a MOS of 4.5 than 4.0 at that time.
Click a data point to show the total number of calls and the per-user number of calls.
Trend
The Trend report shows the MOS over time so you can determine if call quality is trending
towards the better or worse. Because this report omits the outliers that the Percentile
The Distribution report shows the number of calls for each recorded score during the
specified time period.
Each bar on the x-axis represents a different MOS and the height represents the number
of calls. A percentage indicates the percentage of the total number of calls that the bar
represents.
Percentile
The MOS Percentile report breaks down scores into six percentiles graphed over time.
For example, a score of 4.2 for "95th percentile" means that 95% of the calls in the period
had a score of 4.2 or less, while a score of 3.6 for "50th percentile" means that 50% of the
calls had a score of 3.6 or less.
Packet loss
Stretto Admin can report on packet loss over a specified time period.
Packet loss occurs when data transmitted over a network either fails to reach the
destination, and is usually caused by network congestion. A packet is considered lost
when:
l the packet failed to arrive at the endpoint
l the packet was discarded for arriving late
l the acknowledgment (ACK) to a packet was not received (if ACKs apply)
Network Loss Rate
This report shows packet loss across the network. Packet loss is expressed as a
percentage of the total packets transmitted during a specified period.
Each data set from a Bria client consists of one packet loss percentage that is the mean
of all packet loss percentages for that user for that segment.
This report shows the packets that were discarded by the jitter buffer at the receiving end.
The packets discarded are expressed as a percentage of the total packets received at the
during the specified period.
Each data set from a Bria client consists of one discard rate that is the mean of all discard
rates for that user for that segment.
Data for both the local and remote sides is provided by the Bria softphone.
To add columns, click Show, choose columns to add, then click Update.
Column Description
Group The name of the Stretto group to which the user belongs.
Account username The user's Stretto provisioning username without the @ domain.
Domain The user's Stretto domain (in other words the @groupname part of the username).
Outbound proxy The address (IP address or DNS hostname) of the outbound proxy configured for the account (if used).
Keepalive cell Whether the account is configured to use keepalive messages over a mobile network (true/false).
Keepalive cell interval The interval in seconds to send a keepalive message over a mobile network if enabled.
Keepalive Wi-Fi Whether the account is configured to use keepalive messages over a Wi-Fi network (true/false).
Keepalive Wi-Fi The interval in seconds to send a keepalive message over a Wi-Fi network if enabled.
interval
SIP cell refresh interval The interval in seconds before refreshing the SIP registration over a mobile network.
SIP Wi-Fi refresh The interval in seconds before refreshing the SIP registration over a Wi-Fi network.
interval
Cell NAT ICE Indicates if the SIP account is configured to use ICE for network firewall traversal over mobile networks
(true/false).
Cell NAT STUN Indicates if the SIP account is configured to use STUN for network firewall traversal over mobile networks
(true/false).
Cell NAT TURN Indicates if the SIP account is configured to use TURN for network firewall traversal over mobile networks
(true/false).
Wi-Fi NAT ICE Indicates if the SIP account is configured to use ICE for network firewall traversal over Wi-Fi networks
(true/false).
Wi-Fi NAT STUN Indicates if the SIP account is configured to use STUN for network firewall traversal over Wi-Fi networks
(true/false).
Wi-Fi NAT TURN Indicates if the SIP account is configured to use TURN for network firewall traversal over Wi-Fi networks
(true/false).
Signaling transport The transport method used by the account (for example, TCP, UDP, or TLS).
Media encryption Whether encryption is used for audio and video streams (true/false).
Name Description
Local ID The unique SIP identifier used by the local end. Not used.
Remote ID The unique SIP identifier used by the remote end. This ID is typically unknown or unused.
Local Address The local address includes the data needed to locate a call participant. It includes IP, port, and SSRC.
Remote Address The remote address includes the data needed to locate a call participant. It includes IP, port, and SSRC.
Local MAC A MAC address is a media access control address, which is a unique identifier for a device's network interface.
Remote MAC A MAC address is a media access control address, which is a unique identifier for a device's network interface.
Name Description
Wideband codec A wideband codec encodes with higher quality with the assumption that the network has enough bandwidth.
Name Description
Frame Duration The duration of audio contained within a single RTP frame.
Frames Per The number of frames (units of data within a packet) per each data packet.
Packet
Packet Loss The name of the algorithm used to conceal packet loss, if any. Packet loss concealment is used to reduce audio
Concealment artifacts such as pops, clicks, or buzzing when packets are lost.
Silence Whether audio is not transmitted from the client when no sound or voice is detected (true/false).
Suppression
JB Adaptive A numeric indicator of whether the jitter buffer is adaptive, static, or unknown.
l 0 - unknown
l 1 - reserved
l 2 - non-adaptive
l 3 - adaptive
JB Nominal The nominal time that packets stay in the jitter buffer.
JB Max The maximum time that packets stay in the jitter buffer.
JB Discard Rate The rate at which packets are being discarded by the jitter buffer.
Network Packet The rate at which packets are being lost over the network.
Loss Rate
Burst Loss The percentage of packets lost during burst phases. See Burst Density.
Density
Burst Duration The burst segment lengths during burst phases. See Burst Duration.
Gap Loss The percentage of packets lost during gap phases. See Gap Density.
Density
Gap Duration The gap segment lengths during gap phases. See Gap Duration.
Min. Gap The minimum threshold to be considered a "gap" in the network packet stream.
Threshold
Round Trip Delay The delay between sending a packet and receiving a response from the destination. See Round Trip
One Way Delay The delay between sending a packet and receiving a response from the first point in the route. See One Way.
Listening Q R The listening quality expressed as an R factor. This does not include the effects of echo or delay. The range of R is 0
to 95 for narrowband calls and 0 to 120 for wideband calls. Refer to RFC 3611.
Name Description
Conv. Q R The cumulative measurement of voice quality from the start of the session to the reporting time (expressed as an R
factor). The range of R is 0 to 95 for narrowband calls and 0 to 120 for wideband calls. Refer to RFC 3611.
External R In The voice quality as measured by the local endpoint for an incoming connection on the other side (expressed as an R
factor). The range of R is 0 to 95 for narrowband calls and 0 to 120 for wideband calls. Refer to RFC 3611.
External R Out This value is copied from the RTCP XR message received from the remote endpoint on the other side of this
endpoint. The range of R is 0 to 95 for narrowband calls and 0 to 120 for wideband calls. Refer to RFC 3611.
MOS Listening Q The Mean Opinion Score for incoming audio. See Mean Opinion Score (MOS).
MOS The Mean Opinion Score for combined incoming and outgoing audio.
Conversational Q
Call Data
Name Description
Group The name of the Stretto group to which the user belongs.
Failure reason The reason for the call failure, if the call was unsuccessful (for example, "Locally Terminated", "404", and other
server error codes.)
Local conference Whether the call was a conference call with only local participants (true/false).
Max conference The maximum number of participants during the call if it was a conference call.
participants
Audio in codec The codec used to decode the incoming audio stream.
Audio out codec The codec used to encode the outgoing audio stream.
USB device The name of any USB device or devices used by the client during the call, separated by commas.
Bluetooth device The name of any Bluetooth device or devices used by the client during the call, separated by commas.
Name Description
Video out device The name of any device or devices used to display the video stream during the call, separated by commas.
Video out codec The codec used to encode the outgoing video stream.
Video out portrait Whether the outgoing video stream was in portrait mode (true/false).
Video out width The width of the outgoing video stream in pixels.
Video out height The height of the outgoing video stream in pixels.
Video in codec The codec used to decode the incoming video stream.
Video in portrait Whether the incoming video stream was in portrait mode (true/false).
One way audio Whether audio was sent but not received (true/false)
Poor network quality Whether the client determined that the network quality was below a threshold (true/false).
Network IP change Whether the network IP of the client changed during the session (true/false).
SRTP media encryption Whether Secure Real-time Transport protocol was used to encrypt the call (true/false).
Account Data
Name Description
Group The name of the Stretto group to which the user belongs.
Account username The user's Stretto provisioning username without the @ domain.
Domain The user's Stretto domain (in other words the @groupname part of the username).
Outbound proxy The address (IP address or DNS hostname) of the outbound proxy configured for the account (if used).
Keepalive Cell Whether the account is configured to use keepalive messages over a mobile network (true/false).
Keepalive Cell interval The interval in seconds to send a keepalive message over a mobile network if enabled.
Keepalive Wi-Fi Whether the account is configured to use keepalive messages over a Wi-Fi network (true/false).
Keepalive Wi-Fi The interval in seconds to send a keepalive message over a Wi-Fi network if enabled.
interval
Name Description
SIP Cell refresh The interval in seconds before refreshing the SIP registration over a mobile network.
interval
SIP WiFi refresh The interval in seconds before refreshing the SIP registration over a Wi-Fi network.
interval
Cell NAT ICE Indicates if the SIP account is configured to use ICE for network firewall traversal over mobile networks
(true/false).
Cell NAT STUN Indicates if the SIP account is configured to use STUN for network firewall traversal over mobile networks
(true/false).
Cell NAT TURN Indicates if the SIP account is configured to use TURN for network firewall traversal over mobile networks
(true/false).
WIFI NAT ICE Indicates if the SIP account is configured to use ICE for network firewall traversal over Wi-Fi networks
(true/false).
WIFI NAT STUN Indicates if the SIP account is configured to use STUN for network firewall traversal over Wi-Fi networks
(true/false).
WIFI NAT TURN Indicates if the SIP account is configured to use TURN for network firewall traversal over Wi-Fi networks
(true/false).
Signaling transport The transport method used by the account (for example, TCP, UDP, or TLS).
Media Encryption Whether encryption is used for audio and video streams (true/false).
General Data
Name Description
Group The name of the Stretto group to which the user belongs.
Last Updated The date/time on which the user account was most recently updated.
Installation Date The date on which the client app was installed.
Client IP Address The client device's IP address. This can be IPv4, IPv6, or both (separated by a semi-colon).
Client Launch Time The date/time when the client software was started on the user's device.
Name Description
Template Version The Stretto version number to which the user's provisioning template belongs.
# SIP Simple Accounts The number of SIP Simple accounts set up on the client.
Mac Address Book Whether a Mac Address Book is set up on the client (true/false).
Run in background Whether the client is set to allow "run in background" mode (true/false).
Data over mobile data net Whether the client is set to allow "run in background" mode (true/false).
VoIP over mobile data net Whether the client is set to allow the use of VoIP over a mobile connection (true/false).
Timezone Offset Time difference between the client time zone and UTC time (hh:mm).
Interval Data
Name Description
Group The name of the Stretto group to which the user belongs.
Report Start The date/time within the interval when the client starts recording data.
Report End The date/time within the interval when the client stops recording data.
Contacts The number of contacts in the client contact list during the data interval.
Contacts with Presence The number of contacts in the contact list that provide presence information during the data interval.
Successful Provision Attempts The number of successful provisioning attempts made during the data interval.
Failed Provision Attempts The number of unsuccessful provisioning attempts made during the data interval.
Crashes The number of times the client terminated unexpectedly during the data interval.
Column Description
Group The name of the Stretto group to which the user belongs.
Failure reason The reason for the call failure, if the call was unsuccessful (for example, "Locally Terminated", "404", and other
server error codes.)
Local conference Whether the call was a conference call with only local participants (true/false).
Max conference The maximum number of participants during the call if it was a conference call.
participants
Audio in codec The codec used to decode the incoming audio stream.
Audio out codec The codec used to encode the outgoing audio stream.
Column Description
USB device The name of any USB device or devices used by the client during the call, separated by commas.
Bluetooth device The name of any Bluetooth device or devices used by the client during the call, separated by commas.
Video out device The name of any device or devices used to display the video stream during the call, separated by commas.
Video out codec The codec used to encode the outgoing video stream.
Video out portrait Whether the outgoing video stream was in portrait mode (true/false).
Video out width The width of the outgoing video stream in pixels.
Video out height The height of the outgoing video stream in pixels.
Video in codec The codec used to decode the incoming video stream.
Video in portrait Whether the incoming video stream was in portrait mode (true/false).
One way audio Whether audio was sent but not received (true/false)
Poor network quality Whether the client determined that the network quality was below a threshold (true/false).
Network IP change Whether the network IP of the client changed during the session (true/false).
SRTP media encryption Whether Secure Real-time Transport protocol was used to encrypt the call (true/false).
Columns Description
Total The total number of calls either sent or received by the client.
Network IP Change The number of calls in which the client's IP address changed.
One Way Audio The number of calls in which audio was not received by both participants.
Poor Network Quality The number of calls in which the client determines that the network quality fell below a certain threshold.
Note: This section pertains to reports that are available as part of User Experience Metrics.
This report provides information about the device on which Bria is operating, including
operating system, device type, installation date, client version, numbers of each account
type, and more.
In this report, each user initially has one record. Each time the user's data changes, a
new record is added, until each user has multiple records.
Column Description
Group The name of the Stretto group to which the user belongs.
Last updated The date/time on which the record was last updated. This is normally the same as Created.
Installation date The date on which the client app was installed.
Column Description
Client IP address The client device's IP address. This can be IPv4, IPv6, or both (separated by a semi-colon).
Client launch time The date/time when the client software was started on the user's device.
Template version The Stretto version number to which the user's provisioning template belongs.
# SIP Simple accounts The number of SIP Simple accounts set up on the client.
Mac Address Book Whether a Mac Address Book is set up on the client (true/false).
Run in background Whether the client is set to allow "run in background" mode (true/false).
Data over mobile data net Whether the client is set to allow "run in background" mode (true/false).
VoIP over mobile data net Whether the client is set to allow the use of VoIP over a mobile connection (true/false).
Timezone offset Time difference between the client time zone and UTC time (hh:mm).
Analytics - Incoming/Outgoing
The Incoming/Outgoing report shows the total calls, incoming calls, and outgoing calls for
the selected group during the selected time period.
Kokila: Hi
Joseph: Hey
Kokila: Just a sec
If both people are in the specified group or groups, each snippet counts once as incoming
and once as outgoing, for a total of 10 instant messages.
A snippet in a group chat or chat room that is going to three people counts as one
outgoing message. If all the recipients are in the specified group or groups, the snippet
counts as five incoming messages.
Column Description
Group The name of the Stretto group to which the user belongs.
Column Description
Report start The date/time within the interval when the client starts recording data.
Report end The date/time within the interval when the client stops recording data.
Contacts The number of contacts in the client contact list during the data interval.
Contacts with presence The number of contacts in the contact list that provide presence information during the data interval.
Successful provision attempts The number of successful provisioning attempts made during the data interval.
Failed provision attempts The number of unsuccessful provisioning attempts made during the data interval.
Crashes The number of times the client terminated unexpectedly during the data interval.
Slice Description
Successful Shows the number and percentage of all successful provisioning attempts during the reporting period. A
Provisioning provisioning attempt is considered "successful" if the client response contains no error message.
Attempts
Failed Shows the number and percentage of all failed provisioning attempts during the reporting period. A provisioning
Provisioning attempt is considered "failed" if the client response is an error message.
Attempts
Analytics - Registrations
The Registrations report shows failed attempts to register an account with the SIP proxy.
Analytics - Stability
The Stability report provides data on the stability of the client software by showing the
number of times that the Bria client has crashed (terminated unexpectedly) during the
specified time range.
l line chart
l table
l line chart
l table
Columns Description
Total The total number of calls either sent or received by the client.
Video The total number of calls in which video was either sent or received by the client.
Conference The total number of video calls in which there were more than two participants.
Landscape The total number of video calls in which the client either sent or received video in landscape orientation.
Portrait The total number of video calls in which the client either sent or received video in portrait orientation.
Reference
This section provides reference material to support the management of Stretto Platform.
Administrator privileges
This section identifies the privileges of Stretto admins.
Access to groups
Read-
Users&Profiles Users Support
Feature Normal Admin Domain Admin only
Admin Admin Admin
Admin
Create a group
only within the Only within the assigned
assigned groups.
groups The new group is a copy of a
source group; not a blank
group.
Suspend a group
Read-
Users&Profiles Users Support
Feature Normal Admin Domain Admin only
Admin Admin Admin
Admin
Move a group
only within the assigned
groups
Delete a group
only within the only the subgroups.
assigned
groups
View attributes
Lock an attribute
View templates
View profiles
View users
View Stretto reports (in Reports tab) (admin Optional Optional Optional Optional Optional
option = View reports)
View enhanced client traces (device logs) (in Optional Optional Optional Optional Optional
Client Traces tab) (admin option = View
client traces)
Receive notification every time new device Optional Optional Optional Optional
log is uploaded (admin option = Client
Traces notification)
Help Desk Assistant (admin option = Help Optional Optional Optional Optional Optional
Desk Assistant)
Create an administrator
as a as a
descendant descendant
of itself of itself. Can
create only
certain admin
types 1
Move an administrator
only their only their
child admins child admins
Unlock an administrator
only their only their
child admins child admins
of certain
types3
Suspend an administrator
only their only their
child admins child admins
of certain
types4
Reset its own password (admin option = Optional Optional Optional Optional Optional
Change own password)
Delete an administrator
only their only their
child admins child admins
1The Domain admin has access to only the following admin types: Users&Profiles, Users,
and Support.
2The Domain admin has access to only the following admin types: Users&Profiles, Users,
and Support.
3The Domain admin has access to only the following admin types: Users&Profiles, Users,
and Support.
4The Domain admin has access to only the following admin types: Users&Profiles, Users,
and Support.
5The Domain admin has access to only the following admin types: Users&Profiles, Users,
and Support.
6The Domain admin has access to only the following admin types: Users&Profiles, Users,
and Support.
Errors with an asterisk * can be translated. Errors without an asterisk * are generated by
the softphone client (they are not sent down by Stretto) and they may already be
translated, depending on your brand.
Bria A system error occurred during An unknown error occurred. This error should not occur.
desktop the login process. Contact Ask the user to try again.
technical support to correct.
* Both Access not allowed for this User is valid, but no template is defined for the user: the profile that this user
softphone platform belongs to does not include a template mapping for this platform. For example, the
profile does not have a mapping for Bria desktop. This mapping may be missing
on purpose; for example, users in this profile may not actually be permitted to use
Bria desktop.
Fix the Stretto setup, if appropriate.
Both Codec Not Allowed You have set up for royalty-bearing codec tracking as PAYG but you have not set
up for device tracking (a necessary pre-requisite).
* Both Desktop Device Limit reached. You have set up for group device limits on a per-platform basis and the desktop
Contact us for assistance. limit has been reached for this group. New users or old users logging in from a new
device cannot log on.
Either remove unused devices or increase the device limits.
* Both Device Activation Limit Reached The user is trying to log on from a new device but the maximum device allocation
has been reached.
If desired, you can remove a device from the device list for this user; this decision
depends on your internal policies.
* Both Device ID is missing No device ID was found in the incoming user request; there is an error on the
softphone client that means the request is missing this important information.
Ask the user to try again. If the problem recurs, contact CounterPath; you may
need new builds of some softphone clients.
Bria Error in response from server, The provisioning response from Stretto was invalid.
desktop please try again. If this situation Check your templates and validate them.
persists, contact technical
support to correct.
Both Group not found The domain portion of the user's login is incorrect. The user probably entered it
incorrectly, for example “[email protected]” instead of
“[email protected]”.
Note that this message cannot be translated, even though it comes from Stretto.
* Both Incorrect user name or The login credentials are invalid. The user should re-enter the credentials and try
password again. If you changed their credentials, you may have forgotten to send an email
notification; do so now.
The user has not been set up as a user in Stretto.
* Both Invalid credentials LDAP authentication is being used and the user’s LDAP password was invalid.
Ask the user to enter the password again.
Bria No Internet connection found. The Bria mobile user has no internet connection.
mobile Please check your Internet
connection.
Both No pool entries for assigning You set up the specified attribute to use an attribute pool and either the pool has
<name of attribute> no entries or the pool has no more unused entries.
* Both Per-group Device Limit reached. You have set up for group device limits on a per-group basis and the limit has been
Contact us for assistance. reached for this group. New users or old users logging in from a new device
cannot log on.
Either remove unused devices or increase the device limits.
Bria Provisioning server did not The provisioning server has sent down a badly formatted response.
mobile respond with required field. If the This error should not occur.
problem persists, please contact
us for assistance.
Bria Provisioning server did not The provisioning server has not responded quickly enough.
mobile respond. If the problem persists, This error should not occur.
please contact us for assistance.
* Both Smartphone Device Limit You have set up for group device limits on a per-platform basis and the
reached. Contact us for smartphone limit has been reached for this group. New users or old users logging
assistance. in from a new device cannot log on.
Either remove unused devices or increase the device limits.
* Both Tablet Device Limit reached. You have set up for group device limits on a per-platform basis and the tablet limit
Contact us for assistance. has been reached for this group. New users or old users logging in from a new
device cannot log on.
Either remove unused devices or increase the device limits
Bria Unable to connect to the server. The Bria desktop user has no internet connection.
desktop Check your network connection
and try again. If the problem
persists, contact technical
support to correct.
Bria Unable to establish a secure There is a problem with the security certificate on the computer that is running Bria
desktop connection with the server. If the desktop.
situation persists, please contact
customer support
Bria Your login details do not match An unknown error occurred. This error should not occur.
desktop our records. If you are a new
user you will need to create an
account first.
LDAP Terminology
LDAP entries, such as a person or a computer, are organized in a tree structure. When
referring to an entry in LDAP, you start from the bottom of the tree; e.g.,
CN=admin,OU=IT,DC=example,DC=com. This is called a distinguished name (DN). A DN
uniquely identifies an LDAP entry. To organize a large number of entries, a container is
used to group entries together; this container is called an organizational unit (ou).
Every organization has a different directory structure, but typically, the following
components are required to retrieve entries from an LDAP server:
l An LDAP account to access the tree. Often called a bind DN. Some LDAP servers
do not allow anonymous binds. This LDAP account should have a permission to
perform the operation.
l Base DN: this is a starting point of the search. Also known as root DN. Typically, a
base DN is the root node at the top of the tree. The search is performed underneath
One of the popular tasks is to show a list of users on the softphone. There are two ways to
achieve this: using the Directory tab, or a roster (Stretto XMPP module is required).
Following discusses how to configure a filter/query for setting it up.
To retrieve a list of people from an LDAP server to Bria, you need to configure a base DN,
a search expression, and attribute mapping. Bria constructs a search query by combining
a search expression and attribute mapping, and sends the resulting query to the LDAP
server.
Note: This section explains the configuration using the examples above. The actual
configuration for your LDAP server differs depending on how users are created ( e.g., what
object class is used), and what LDAP fields are populated (e.g., whether phone numbers are
stored in the telephoneNumber field or the mobile field). Modify the configuration accordingly.
feature.ldap.server.root=OU=People,DC=example,DC=com
feature.ldap.searchExpression=(objectClass=user)
This example assumes that users are created with a user object class
(objectClass=user). To check what object class the users have in your organization,
use an LDAP client and view details of the users.
l If users are grouped as shown in Example B, set a search expression to pull all the
members of the group (Acphone_Users in this case).
feature.ldap.server.root=OU=acphone,DC=ac,DC=local
feature.ldap.searchExpression=(memberOf=CN=Acphone_
Users,OU=Groups,OU=acphone,DC=ac,DC=local)
Tip: Start with a simple search expression (e.g., what type of objects you want to
retrieve). You can further filter it through the attribute mapping.
Attribute mapping
Next, choose what LDAP fields to search and filter by configuring attribute mapping.
Attribute mapping has two purposes:
l to populate contact information shown on Bria, and
l to be used as a filter for the search of a person in the LDAP server.
Attribute mapping creates a set of a Stretto attribute and an LDAP field. This is a way to
tell Bria which information in the LDAP server to use. Let us assume you mapped Bria's
email address to the LDAP field email, first name to the LDAP field givenName, and work
phone number to the LDAP field telephoneNumber.
The Directory tab is empty until the end user types something in the Search field and
clicks Search. When the end user types Mi and performs a search, Bria checks the
values of the email, givenName, and telephoneNumber fields in the LDAP server, and
returns entries that have Mi in one of the three fields. Bria also displays the email
address, first name, and work phone number for the person that was a match.
feature.ldap.searchExpression=(objectClass=user)
feature.ldap.attributeMappingForEmailKey=mail
feature.ldap.attributeMappingForFirstNameKey=givenName
feature.ldap.attributeMappingForPhoneKey=telephoneNumber
The end user enters Mi in the search field and clicks Search. Bria builds a search query
by combining the parts. The mapped LDAP fields are appended to the LDAP query you
specified in feature.ldap.searchExpression. The final query is sent to the LDAP server as
follows:
(&(objectClass=user)(|(mail=Mi*)(givenName=Mi*)(telephoneNumber=Mi*)))
Group DN
The concept is the same as when using the Directory tab; however, instead of setting a
query/filter, Stretto LDAP roster uses a different method to refine the returned results.
The main things to note:
l The Stretto attribute xmpp:roster:ldap:groupDN assumes you have a group
configured as shown in Example B.
l Optionally you can apply conditions on which users to fetch depending on whether
certain LDAP fields are populated: for example, you can set a condition to fetch
users who have their phone number in the LDAP's telephoneNumber field, instead
of fetching all users with or without phone number. For details, see Configuring
XMPP attributes.
l Contact CounterPath if your deployment requires a different configuration.
DNS Names
All interactions with all services other than XMPP are HTTPS over TLS.
XMPP does also have clients accessing the XMPP server by using DNS SRV if a proxy is
not specified, so clients could reach out to customer's XMPP domains on ports specified.
Ports
Ports for core services
All traffic for these ports is HTTPS.
443 Client provisioning and licensing All clients need to be able to reach this port.
SIP This is as specified by your SIP All clients need to be able to reach this port range. Bria uses 5060 or
network. the port number specified in the SIP domain field such as
aaaprovider.com:5061.
RTP This is as specified by your SIP All clients need to be able to reach this port range.
network.
Push This is as specified by Apple APNs / All push-enabled clients need to be able to reach these ports.
Google FCM.
18082 User Services that includes: All clients need to be able to reach this port.
(WSS and Enhanced Client Traces
HTTPS) User Experience Metrics
End User Portal
Help Desk Assistant (Remote access
to mobile app running on user
device)
18889 Stretto Sync (Syncs instant All clients need to be able to reach this port.
messages and call history
sent/received between all clients)
1080 The standard port for SOCK5 proxy which enables XMPP file transfer. All clients need to be able to reach this port.
5222 The standard port for XMPP - Client to Server connections All clients need to be able to reach this port.
5269 The standard port for XMPP - Federation and Server to Server connections Not a concern for client access.
Current limitations:
Only IPv4 SIP servers are currently supported for calls involving the push server. The
Bria mobile client will support IPv6-only networks utilizing DNS64/NAT64 when
communicating with IPv4 SIP servers.
HTTPS
https://push.softphone.com 216.93.246.120
https://push-as.softphone.com 35.185.177.49
https://push-as3.softphone.com 35.240.151.194
https://push-au.softphone.com 35.189.7.217
https://push-au2.softphone.com 35.244.85.149
https://push-eu.softphone.com 35.195.163.239
https://push-eu2.softphone.com 34.89.45.1
https://push-jp.softphone.com 104.198.91.17
https://push-uc.softphone.com 35.239.221.102
https://push-ue.softphone.com 216.93.246.120
https://push-ue3.softphone.com 35.230.185.25
https://push-uw.softphone.com 35.197.16.246
https://push-uw3.softphone.com 35.247.85.64
https://push-za.softphone.com 102.133.161.81
WSS
wss://push1.softphone.com 216.93.246.121
wss://push2.softphone.com 216.93.246.122
wss://push-as1.softphone.com 35.187.236.29
wss://push-as3ws.softphone.com 35.247.187.184
wss://push-au1.softphone.com 35.189.10.177
wss://push-au2ws.softphone.com 35.244.75.9
wss://push-eu1.softphone.com 35.195.65.27
wss://push-eu2ws.softphone.com 34.89.19.0
wss://push-jpws.softphone.com 34.84.10.191
wss://push-uc1.softphone.com 35.193.78.38
wss://push-ue2ws.softphone.com 3.18.216.43
wss://push-ue3ws.softphone.com 35.199.2.199
wss://push-uw1.softphone.com 35.197.115.127
wss://push-uw3ws.softphone.com 35.227.171.146
wss://push-za1.softphone.com 102.133.163.77
screensharing.softphone.com 34.98.109.124
Additional IP addresses:
l 35.203.69.154
l 35.232.101.44
l 35.246.61.224
l 35.246.101.218
stretto.cloudprovisioning.com 216.93.246.36
collab.cloudprovisioning.com 216.93.246.134
imp.softphone.com 216.93.246.136
screensharing.softphone.com 34.98.109.124
35.203.69.154
35.232.101.44
35.246.61.224
35.246.101.218
Call Servers
as-cs1.softphone.com 34.87.78.58
as-cs2.softphone.com 35.247.135.74
as-cs3.softphone.com 34.87.23.175
as-cs4.softphone.com 35.247.143.4
as-cs5.softphone.com 34.87.7.224
au-cs1.softphone.com 35.189.11.31
au-cs2.softphone.com 35.197.183.181
au-cs3.softphone.com 35.244.72.80
au-cs4.softphone.com 35.197.167.218
au-cs5.softphone.com 35.244.89.253
au-cs6.softphone.com 13.238.118.242
euwest1-cs1.softphone.com 35.187.58.3
euwest1-cs2.softphone.com 35.205.218.128
euwest1-cs3.softphone.com 146.148.123.10
euwest1-cs4.softphone.com 34.76.69.50
euwest1-cs5.softphone.com 104.199.19.152
cs18.softphone.com 35.189.95.113
euwest2-cs1.softphone.com 34.89.39.171
euwest2-cs2.softphone.com 34.89.72.159
euwest2-cs3.softphone.com 34.89.107.174
euwest2-cs4.softphone.com 34.89.92.4
euwest2-cs5.softphone.com 35.242.180.19
asiasouth-cs1.softphone.com 35.200.232.44
asiasouth-cs2.softphone.com 34.93.146.182
asiasouth-cs3.softphone.com 35.234.208.131
asiasouth-cs4.softphone.com 34.93.61.15
asiasouth-cs5.softphone.com 34.93.25.184
mex-cs1.softphone.com 169.57.16.58
mex-cs2.softphone.com 169.57.16.59
mex-cs3.softphone.com 169.57.16.60
mex-cs4.softphone.com 169.57.16.61
mex-cs5.softphone.com 169.57.16.62
sa-cs1.softphone.com 35.247.196.243
sa-cs2.softphone.com 34.95.139.109
sa-cs3.softphone.com 34.95.159.85
sa-cs4.softphone.com 34.95.253.235
sa-cs5.softphone.com 34.95.175.111
useast4-cs1.softphone.com 35.245.66.188
useast4-cs2.softphone.com 35.245.214.136
useast4-cs3.softphone.com 35.245.26.249
useast4-cs4.softphone.com 35.245.52.57
useast4-cs5.softphone.com 35.245.220.51
useast-cs1.softphone.com 3.232.187.240
useast-cs2.softphone.com 52.73.26.145
useast-cs3.softphone.com 184.73.10.141
useast-cs4.softphone.com 34.197.40.41
useast-cs5.softphone.com 3.234.69.86
cs13.softphone.com 35.224.134.165
usw1-cs1.softphone.com 34.82.183.225
usw1-cs2.softphone.com 34.82.43.113
usw1-cs3.softphone.com 34.83.117.158
cs14.softphone.com 34.83.117.158
usw2-cs1.softphone.com 34.94.27.238
usw2-cs2.softphone.com 34.94.193.246
za-cs1.softphone.com 102.133.231.159
za-cs2.softphone.com 102.133.229.58
za-cs3.softphone.com 102.133.224.89
za-cs4.softphone.com 102.133.234.232
za-cs5.softphone.com 102.133.228.203
ccs:groupName internal data The Stretto group the user Setting up remote
element belongs to. upgrade of Bria
desktop
ccs:password internal data The user’s password for logging Configuring XMPP
element into Stretto. attributes and
Sending email
notifications to
users
l #0 or blank: None
ccs:userName internal data The user’s name for logging into Sending email
element Stretto. For example, notifications to
[email protected] users
example, kperera.
msg:<wording> attribute Holds the wording for one of the Customizing and
customizable login error translating login
messages. error messages
std:deviceAgeDays attribute You create this attribute, but only Limiting the
if you want to support tracking of number of devices
devices by each user. per user
(maxDevices and
deviceAgeDays)
std:ldap:baseDN attribute You create this attribute, but only Configure LDAP
if you want to support LDAP properties, and
std:ldap:bindDN authentication. Configuring XMPP
std:ldap:domain attributes
std:ldap:ignoreError
std:ldap:server
std:ldap:user
std:logserver:password
std:maxDevices attribute You create this attribute, but only Limiting the
if you want to support tracking of number of devices
devices by each user. per user
(maxDevices and
deviceAgeDays)
std:sync:url attribute You create the attribute, but only Setting up Stretto
if you want to support the Stretto Sync
Sync or SMS API integration Configuring
feature. SMS API
integration
l If you create templates by using Stretto Admin, the template is associated with
profiles.
[DATA]
Success=1
LicenseKey="{{license_key_attribute}}"
[SETTINGS]
bria_desktop_setting="{{value}}"
[##MEMORY##]
bria_desktop_setting="{{value}}"
Section names
Sections of the template are defined in square brackets to indicate the kind of data that
follow it:
l [DATA] - Required. This section contains only one line: Success=1.
l [SETTINGS] - Indicates that the settings that follow it should be written to persistent
memory. Bria uses the values immediately and, at shutdown of Bria, saves them to
a file on the user's computer.
l [##MEMORY##] - Indicates that the settings that follow it should be written to non-
persistent memory. Bria uses the values immediately, but only for the current
session.
This line is required and is always 1 or true. This template is for a successful provisioning
request. If the provisioning request is refused, Stretto responds with Success=0 without
referring to a template.
LicenseKey="{{license_key_attribute}}"
Include this line if you provision the license key. Specify the name of the attribute that
contains the license key, and enclose it in double braces and quotes. For example:
LicenseKey="{{LicenseKey}}"
bria_desktop_setting="{{value}}"
Each setting line maps the name of a Bria desktop setting to the name of a Stretto
attribute that contains the value. You can obtain the names of settings from the document
Settings for Bria Desktop. Enclose value in double braces and quotes.
proxies:proxy1:username="{{SipUserName}}"
proxies:proxy1:transport="udp"
[DATA]
Success=1
LicenseKey="{{LicenseKey}}"
[SETTINGS]
proxies:proxy1:username="{{sipUserName}}"
proxies:proxy1:domain="{{sipDomain}}"
proxies:proxy1:password="{{SipPassword}}"
proxies:proxy1:transport="udp"
[##MEMORY##]
proxies:proxy1:enabled="{{sipAccountEnabled}}"
To populate the template with the settings you want to provision, consult Settings for Bria
Mobile. In this list (an Excel file), the location of each setting (the first column) is color-
coded to make it easier to determine which section a setting belongs in. For example, the
accountName setting is tagged in pale pink to indicate it belongs in the account data
section.
Three dots indicate a continued list of entries. For example account_list can contain
many account sections — one per account.
l mobile_setting_name refers to the Bria mobile setting name as it appears in Settings
for Bria Mobile.
l attribute_name is the Stretto attribute from which the value comes. You can replace
attribute_name with hard-coded data.
Example of a template:
--EMAIL TEMPLATE--
html:false
temppass:false
Subject: Welcome to AC Phone!
Body:
Welcome aboard AC Phone. Please keep this email for future reference.
The first line must be --EMAIL TEMPLATE--, and it must be in capital letters. This line
ensures that Stretto recognizes this template as an email notification template.
l Subject: The rest of the text on this line goes into the subject line of the email.
l Body: The rest of the text to the end of the file goes into the body of the email.
Do not add “from” as a keyword. Stretto obtains the sending email address from the initial
setup information.
You can include any attribute by entering the name in double curly braces, for example,
{{account.notification.administratorName}}. Attribute names are case sensitive. You can
also include any internal data element, such as:
l {{ccs:userName}} - the user’s login name
l {{ccs:password}} - the user’s login password or a temporary access code (if
enabled)
vCard template
Default vCard template
The format of the body of the vCard template is as follows.
The template follows the schema specified in RFC 6351. Like the other types of
templates, Stretto attributes are enclosed in double curly braces.
<vCard xmlns="vcard-temp">
<N>
<GIVEN>{{xmpp:givenName}}</GIVEN>
</N>
<EMAIL>
<INTERNET/>
<USERID>{{xmpp:email}}</USERID>
</EMAIL>
<FN>{{xmpp:displayName}}</FN>
<TEL>
<WORK/> <!-- HOME, WORK -->
<VOICE/> <!-- VOICE, CELL, FAX, PAGER -->
<PREF/>
<NUMBER>{{xmpp:extension}}</NUMBER>
</TEL>
<TEL>
<WORK/>
<VOICE/>
<NUMBER>{{xmpp:officeNumber}}</NUMBER>
</TEL>
<TEL>
<CELL/>
<NUMBER>{{xmpp:mobile}}</NUMBER>
</TEL>
<TEL>
<WORK/>
<FAX/>
<NUMBER>{{xmpp:facsimile}}</NUMBER>
</TEL>
<TITLE>{{xmpp:title}}</TITLE>
<ORG>
<ORGUNIT>{{xmpp:department}}</ORGUNIT>
</ORG>
</vCard>
<vCard xmlns="vcard-temp">
<N>
<GIVEN>{{xmpp:ldap:att:givenName}}</GIVEN>
<FAMILY>{{xmpp:ldap:att:sn}}</FAMILY>
</N>
<EMAIL>
<INTERNET/>
<USERID>{{xmpp:ldap:att:mail}}</USERID>
</EMAIL>
<FN>{{xmpp:ldap:att:displayName}}</FN>
<ADR>
<HOME/>
</ADR>
<ADR>
<WORK/>
<STREET>{{xmpp:ldap:att:streetAddress}}</STREET>
<LOCALITY>{{xmpp:ldap:att:l}}</LOCALITY>
<REGION>{{xmpp:ldap:att:st}}</REGION>
<PCODE>{{xmpp:ldap:att:postalCode}}</PCODE>
<CTRY>{{xmpp:ldap:att:co}}</CTRY>
</ADR>
<TEL>
<WORK/>
<VOICE/>
<PREF/>
<NUMBER>{{xmpp:ldap:att:ipPhone}}</NUMBER>
</TEL>
<TEL>
<WORK/>
<VOICE/>
<NUMBER>{{xmpp:ldap:att:telephoneNumber}}</NUMBER>
</TEL>
<TEL>
<CELL/>
<NUMBER>{{xmpp:ldap:att:mobile}}</NUMBER>
</TEL>
<TEL>
<WORK/>
<PAGER/>
<NUMBER>{{xmpp:ldap:att:pager}}</NUMBER>
</TEL>
<TEL>
<HOME/>
<VOICE/>
<NUMBER>{{xmpp:ldap:att:homePhone}}</NUMBER>
</TEL>
<TEL>
<WORK/>
<FAX/>
<NUMBER>{{xmpp:ldap:att:facsimileTelephoneNumber}}</NUMBER>
</TEL>
<TITLE>{{xmpp:ldap:att:title}}</TITLE>
<ORG>
<ORGUNIT>{{xmpp:ldap:att:department}}</ORGUNIT>
</ORG>
<URL>{{xmpp:ldap:att:url}}</URL>
<PHOTO>
<TYPE>image/jpeg</TYPE>
<BINVAL>{{xmpp:ldap:batt:thumbnailPhoto}}</BINVAL>
</PHOTO>
</vCard>
<li>Bridge #: {{vccs:conference:sipAddress}}#</li>
</ul>
vccsInviteEmailText
To join using a phone: Please select a local dial-in number from this site
https://go.counterpath.com/virtual-meeting-rooms-dial-in-numbers and enter Bridge #
{{vccs:conference:sipAddress}}#
<html>
<head>
<style>
#header {
background-color:#fc6831;
color:white;
text-align:center;
padding:5px;
}
#footer {
background-color:#fc6831;
color:white;
clear:both;
text-align:center;
padding:5px;
}
</style>
</head>
<body>
<div id="header">
<h1>Meeting Summary Report</h1>
</div>
<h3>Bridge Information</h3>
<ul>
<li>Title: {{title}}
<li>Bridge #: {{prefix}}{{bridge}}
<li>Owner: {{owner}}
<li>Description: {{desc}}
</ul>
<br>
<h3>Meeting Information</h3>
Start Time: {{startTime}}<br>
End Time : {{endTime}}<br>
<br>
{{screenShareUsage}}<br>
Number of Participants removed: {{numKicked}}<br>
<br>
Total Number of Participants: {{numParticipants}}
<ul>
<li>Desktop: {{numDesktop}}
<li>Mobile: {{numMobile}}
<li>Tablet: {{numTablet}}
<li>Dial In: {{numDial}}
<li>Web: {{numWeb}}
</ul>
{{recordingData}}
{{participantInfo:num;info;sip;name;xmpp;joined;start;duration;recorded}}
{{chatData:time;from;message}}
<div id="footer">
<h3>Powered by CounterPath</h3>
</div>
</body>
</html>
vccsDirectSipTemplate
{
"sipAccount": [
{
"sipAccountSettings":
{
"username": "{{vccs:guest:username}}",
"domain": "{{vccs:guest:domain}}",
"outboundProxy" : "{{vccs:guest:domain}}:5061",
"alwaysRouteViaOutboundProxy" : true,
"password": "{{vccs:guest:password}}",
"displayName" : "{{vccs:guest:displayname}}";
"useRegistrar": true,
"ipVersion": 2,
"enableNat64Support": true,
"sipTransportType": 4,
"acceptedCertPublicKeys" : ["{{tls:public_key}}"],
}
}
],
"conversation": [
{
"conversationSettings" :
{
"natTraversalMode" : 2,
"natTraversalServerSource" : 2,
"natTraversalServer" : "stun.counterpath.com"
}
}
]
}
or
vccsAccessTemplate - Inline
The country_list section is optional; when used, the page shows a subheading under the
region. In the above image, notice the Canada subheading under the North America
region, as opposed to the EMEA region.
{
access:{
"numbers": [
[{
region: 'NORTH AMERICA',
country_list: [
{
name: 'CANADA',
number_list: [
'Alberta - Edmonton: +1-587-414-1311',
{
access:{
"URL": "https://.....";
}
}
In the following example, the User Portal page includes the user's personal information,
markup to insert HTML head markup, a company logo, and links to the company website.
<!DOCTYPE html>
<html>
<head>
{{htmlPortalHeadContent}}
</head>
<body>
<p>{{htmlAcphoneLogo}}</p>
<h1>User Portal</h1>
<p>Customer name: {{diplayName}}<br/>
Account: {{accountNum}}<br/>
Email: {{emailAddress}}</p>
<p>To manage your account settings, please visit the settings page:<br/>
<a href="../home.html">SETTINGS</a></p>
<p>ACPhone.com links:<br/>
{{htmlAcphoneSiteLink}}<br/>
{{htmlSupportLink}}</p>
</body>
</html>
Stretto URLs
This section lists the URLs used in the various Stretto features. It is intended to serve as a
convenient summary. If you are not familiar with how these URLs are used, read the
relevant section of this guide.
Collaboration
l URL:
wss://collab.cloudprovisioning.com:443
/join
l Related attribute: collabServerUrl
l Related Bria desktop setting: feature:vccs:url
l Related Bria mobile setting: vccsUrl in "Core Settings"
l URL:
wss://imp.softphone.com:5291/
l Related attribute: vccs:xmpp.websocket-url
Stretto Admin
l URL: https://strettoadmin.cloudprovisioning.com/stretto/
Stretto Sync
l URL:
wss://stretto.cloudprovisioning.com:18889/sync/sock/{{ccs:groupName}}/
{{ccs:userName}}?uuid={{ccs:req:uuid}}
l Related attribute: std:sync:url
l Related Bria desktop setting: proxies:proxyN:stretto_sync_url
l Related Bria mobile setting: strettoSyncUrl in the Account Data Settings section
Here is a list of new features and changes made to the Stretto Admin web interface and
Stretto Platform API.
With Stretto 3.4.0, the new Users > Synced Accounts tab allows the admin to delete a
sync account and its content from a user, which means the admin can assign the DID to a
different Stretto user without deleting the original Stretto user who was associated with
the DID. See Managing synced messages - deleting a sync account on Stretto for more
information.
There are also new Stretto APIs available for managing sync accounts. See this page.
If you have Domain admins in your Stretto, you, as a Normal admin, can set a service
level limit in the "-template" group, so that all the groups created by Domain admins has
a service level limit in place. Previously by default all service levels had a limit of 0 which
means no users were allowed to access until a Domain admin sets a limit in every new
group created by the Domain admin. Starting Stretto 3.4.0, service level limits will be
copied over from the -template group to new groups created by Domain admins.
Previous releases
l Stretto 3.3.0 New features - May 2022
l Stretto 3.2.0 New features - September 2021
l Stretto 3.1.0 New features - June 2021
l Stretto 3.0.0 New features - December 2020
l Stretto 2.3.0 New features - March 2020
l Stretto 2.2.0 New features - August 2019
l Stretto 2.1.1 New features - March 2019
l Stretto 2.1.0 New features - October 2018
l Stretto 2.0.0 New features - April 2018
l Stretto 1.9.1 New features - October 2017