Reference13r2:Concept App Service Users

From innovaphone wiki
Jump to navigation Jump to search
There are also other versions of this article available: Reference13r1 | Reference13r2 (this version)


The App Services Users is an App Service which can be installed on an innovaphone App Platform. It is used to administrate the users on a innovaphone PBX and also stores additional profile information. It provides Apps for users and for admins for various purposes.

Applies To

  • innovaphone PBX from version 13r1

Technical Overview

Concept users.png

Apps

innovaphone-profile

This is an App, where the user can edit his own profile data. Here the personal data, the profile picture, the privacy filters and the call forwarding can be edited. Also leave and join groups is possible from this app. The provisioning of Phones, Softphones and Hostdesking can be done too.

Parameters:

Websocket
to establish the connection with the PbxAdminApi
TableUsers
gives access to the replication of users from and to the PBX
Admin
gives access to the PbxAdminApi, needed to get data from the PBX such as the config templates, the DNS name of the PBX, the current domain...
Services
needed to use the Devices API (com.innovaphone.devices), so the phones can be provisioned
Devices-API
gives access to the Devices App, which is needed for the provisioning of phones

innovaphone-users

This is an App, where all the users on the App Service Database are displayed (except the ones that have unchecked the Visible attribute on Profile for the current domain).

innovaphone-usersadmin

This is the administation app for the App Service. There all the users and unverified users on the current App Service can be managed. The provisioning of Phones, Softphones and Hostdesking can also be done here for several users at once. The configuration parameters can also be set here (i.e. the password policy, SMTP settings, privacy settings...). The verification link will only be valid for 24 hours, after that a new registration must be started.

innovaphone-usersapis

This is a hidden App, which provides the Search API (com.innovaphone.search) and the Avatar API (com.innovaphone.avatar). The Search API is used by Phone, Softphone and Chat to search users from the App Service Database. The Avatar API is used by myApps, Phone, Softphone, Chat, Users and Fax to obtain the profile pictures.

Parameters:

Hidden
UsersAPIs must be a hidden App
Websocket
to establish the authentication parameters for the Avatar API (com.innovaphone.avatar)

PBX Manager Plugins

Users

With the Users plugin App objects can be created, edited and deleted for Users, UsersAdmin, UsersAPIs and Profile Apps on the PBX. Some configuration parameters can be edited here too on "Change Configuration". These are:

Which Profile App use as default
if there is more than one Profile App, the one selected here will be linked to the "Edit Profile" button on myApps.
Allow to create a user account using a web registration form
if this option is enable, on myApps Login the link to the registration form will be displayed.
Allow users to reset the password using a web form
if this option is enable, on myApps Login the link to the password forgotten form will be displayed.
Allow users to delete their own accounts
if this option is enable, a "Delete account" button will be displayed on Profile.


Import/Export with CSV/XML on Users Admin App

CSV

The CSV import file expects a semicolon ; as field separator. The column/field association can be controlled by a special header line that starts with an ampersand &. In such a line, each column contains a designator which defines the field that the subsequent column values are assigned to. Here is the list of designators:

Designator Field Example Remark
&n ID Mario Rossi Must be unique
&h323 Username mro Use as key, must be unique
&fn First name Mario
&ln Last name Rossi
&e164 Extension 13 Must be unique within the node
&config Config Template Config User
&node Node root
&pbx PBX Name hq
pseudo/&type Executive/Secretary
&dn Display Name Dottore Mario Rossi
&em E-Mail mario.rossi.dvl-ckl2@class.local Must be unique
grp/&name Group name group1
grp/&mode Group mode active Either "active" or "" (empty)
grp/&dyn Dynamically in, out or static in Either "in" (user is currently in the group), "out" (user is currently off the group) or "" (empty, user is statically in the group)
grp/&active Group active true Either "true" (active member), "false" (not active member) or "" (empty, same as "false")
device/&hw Hardware Id 0090333e407e
device/&text Name Phone IP112
device/&app App phone
device/&admin PBX Pwd true Either "true" (checked), "false" (not checked) or "" (empty, same as false)
device/&nofilter No IP Filter true Either "true" (checked), "false" (not checked) or "" (empty, same as false)
device/&tls TLS Only true Either "true" (checked), "false" (not checked) or "" (empty, same as false)
device/&nomob No Mobility true Either "true" (checked), "false" (not checked) or "" (empty, same as false)
device/&trusted Reverse Proxy true Either "true" (checked), "false" (not checked) or "" (empty, same as false)
&n;&h323;&e164;&config;&node;&pbx;pseudo/&type;&dn;&em;&fn;&ln
Mario Rossi;mro;13;Config User;root;hq;;Dottore Mario Rossi;mario.rossi.dvl-ckl2@class.local;Mario;Rossi

XML

With the XML format, a more complete information of the users can be provided. When importing no validation of the data takes place.

User

Attribute Field Example Remark
cn ID Mario Rossi Must be unique
guid GUID ac47a659-8a81-4595-9e73-9afba80d9d31 Must be unique
h323 Username mro Use as key, must be unique
fn First name Mario
ln Last name Rossi
e164 Extension 13 Must be unique within the node
pwdx Encrypted password
apps-my List of apps attached to homescreen "users,chat,phone" Must be separeted by ,
config Config Template ConfigUser
node Node root
loc PBX Name master
dn Display Name Dottore Mario Rossi
email E-Mail mario.rossi.dvl-ckl2@class.local Must be unique

Device

Attribute Field Example Remark
hw Hardware ID SwPh_mro_60929ce7
text Name Softphone
app App softphone
admin PBX Pwd true Either "true" (checked) or not displayed (not checked)
no-filter No IP Filter true Either "true" (checked) or not displayed (not checked)
tls TLS only true Either "true" (checked) or not displayed (not checked)
no-mob No Mobility true Either "true" (checked) or not displayed (not checked)
trusted Reverse Proxy true Either "true" (checked) or not displayed (not checked)

Allow

Attribute Field Example Remark
name Name of the visibility filter @test1.com
online Online true Either "true" (checked) or not displayed (not checked)
visible Visible true Either "true" (checked) or not displayed (not checked)
presence Presence true Either "true" (checked) or not displayed (not checked)
otf On the phone true Either "true" (checked) or not displayed (not checked)
note Presence note true Either "true" (checked) or not displayed (not checked)
dialog Calls true Either "true" (checked) or not displayed (not checked)
ids Calls with Number true Either "true" (checked) or not displayed (not checked)

Grp

Attribute Field Example Remark
name Name of the group grp1
mode Active active Either "active" (checked) or not displayed (not checked)
dyn Dynamically in, out or static in Either "in" (dynamically in), "out" (dynamically out) or not displayed (static)
active Active true Either "true" (checked) or not displayed (not checked)

Cd

Attribute Field Example Remark
type Call diversion type cfu Either "cfu" (always), "cfb" (busy) or "cfnr" (no response)
bool Boolean booltest
bool_not Not true Either "true" (checked) or not displayed (not checked)
src Filters applied <src type="do"><ep e164="789" ext="true" fwd="clid"/></src>
ep Name/Number to forward the call 1234 h323 or e164

Fork

Attribute Field Example Remark
hw Hardware ID Smartphone
bool Boolean booltest
bool_not Not true Either "true" (checked) or not displayed (not checked)
e164 Number 1234
h323 Name user0
mobility Mobility object Mobility
delay Delay 30
min Min-Alert 10
max Max-Alert 20
cw Call-Waiting true Either "true" (checked) or not displayed (not checked)
off Disable 20 Either "true" (checked) or not displayed (not checked)

Example

<?xml version="1.0" encoding="utf-8"?> <info> <user cn="Mario Rossi" guid="ac47a659-8a81-4595-9e73-9afba80d9d31" h323="mro" fn="Mario" ln="Rossi" e164="13" pwd="********" pwdx="...87" apps-my="users,chat,phone,dev%3ASwPh_mro_60929ce7" email="mario.rossi.dvl-ckl2@class.local" node="root" loc="master" config="ConfigUser"> <device hw="SwPh_mro_60929ce7" text="Softphone" app="softphone" admin="true" no-filter="true" tls="true" no-mob="true" trusted="true"/> <allow name="@test1.com" visible="true" presence="true" otf="true" note="true" dialog="true"/> <allow name="department" grp="true" visible="true" _online="true" dialog="true" ids="true"/> <grp name="grp1" mode="active" dyn="in"/> <grp name="grp2"/> <cd type="cfu" bool="booltest" src="<src type="do"><ep e164="789" ext="true" fwd="clid"/></src>"> <ep e164="1234"/> </cd> <cd type="cfb"> <ep h323="user0"/> </cd> <fork hw="Smartphone" e164="1234" bool="booltest" mobility="Mobility" delay="20" min="20" max="20"/> </user> <user cn="User0" guid="ac47a659-8a81-4595-9e73-9afba80d9d31" h323="user0" e164="300" pwd="********" pwdx="...87" apps-my="apps,main,chat,users" node="root" loc="master"> </user> </info>