Reference13r2:Concept App Service Users: Difference between revisions
New page: Apps 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 als... |
No edit summary |
||
(9 intermediate revisions by 2 users not shown) | |||
Line 11: | Line 11: | ||
== Apps == | == Apps == | ||
=== innovaphone-profile === | === Profile App (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. | 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. | ||
Line 22: | Line 22: | ||
;Devices-API: gives access to the Devices App, which is needed for the provisioning of phones | ;Devices-API: gives access to the Devices App, which is needed for the provisioning of phones | ||
=== innovaphone-users === | === Users App (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). | 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 === | === Users Admin App (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...). | 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 === | === Users APIs (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. | 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. | ||
Line 104: | Line 104: | ||
| device/&trusted || Reverse Proxy || 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) | ||
|} | |} | ||
<pre> | |||
&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 | |||
</pre> | |||
=== 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 ==== | |||
{| class="table" style="text-align: left;" border=1 | |||
|- | |||
! 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 ==== | |||
{| class="table" style="text-align: left;" border=1 | |||
|- | |||
! 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 ==== | |||
{| class="table" style="text-align: left;" border=1 | |||
|- | |||
! 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 ==== | |||
{| class="table" style="text-align: left;" border=1 | |||
|- | |||
! 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 ==== | |||
{| class="table" style="text-align: left;" border=1 | |||
|- | |||
! 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 ==== | |||
{| class="table" style="text-align: left;" border=1 | |||
|- | |||
! 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 ==== | |||
<syntaxhighlight lang="html5"> | |||
<?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> | |||
</syntaxhighlight> |
Latest revision as of 12:00, 10 May 2023
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
Apps
Profile App (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
Users App (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).
Users Admin App (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.
Users APIs (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 | 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 | |
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>