IVSP Interface & Provisioning Description v5.5
IVSP Interface & Provisioning Description v5.5
Version 5.5
IVSP Interface & Provisioning Specifications
Version 5.5
Copyright
This document contains proprietary information of Artilium™ NV. Any reproduction, use, appropriation,
or disclosure of this information, in whole or in part, without the specific prior written authorization of
the owners thereof is strictly prohibited. Failure to observe this notice may result in legal proceedings
or liability for resulting damage or loss.
© Artilium™ N.V., 2005.
Disclaimer
Every effort has been made to ensure the accuracy of this document. However, due to ongoing
product improvements and revisions, Artilium™ cannot guarantee the accuracy of the information
contained in this document after the date of release nor can it accept responsibility for errors or
omissions.
Company info
2
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
3
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
Table of Contents
1 Introduction..............................................................................................6
2 Interfaces...............................................................................................10
2.1 Client XML interface...........................................................................10
2.2 Services settings XML interface...........................................................23
2.3 Radius interface................................................................................32
2.4 User Status Interface..........................................................................33
2.5 Monitoring.........................................................................................43
2.6 Adabas interface................................................................................43
2.7 Voice Mail.........................................................................................44
2.8 ACS interface....................................................................................45
2.9 ACS - CPE interface...........................................................................46
4
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
5
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
1 Introduction
This document specifies in detail the solution offered by Artilium for the provisioning
of the IVSP.
The solution of Artilium is a Shared Service Delivery Platform consisting of two major
parts:
o The Service Delivery Part (SDP): this part is the hardware and software that is
used for the service definition, execution and storage (database).
o The Voice Mail system: this part is the hardware and software that is used for the
voice mail handling.
6
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
Overview
Figure 1 gives an overview of the solution together with the interfaces. This
paragraph describes the global content of each component and interface.
7
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
Interface 2 is the XML provisioning interface for the activation and configurations of
the telephone services settings.
Interface 3 is dealing with the detection of the PPP session via a Radius server. This
information is read (pulled) by the SDP from the operator or service provider via XML
messages.
Interface 5 is a monitoring interface based on SNMP, which informs the operator via
traps (MIB) about warning and errors with the connected systems.
Interface 6 is an ODBC interface between the SDP (SQL server) and the Cirpack
Subscriber Database for the class5 services and SIP registration information
(Adabas).
Interface 7 is the link between the SDP and Voice Mail platform for the activation and
configuration of the VM boxes.
Interface 8 is the interface between the SDP en ACS for the exchange of CPE
parameters.
Interface 9 is a TR-069 protocol interface for communication between the CPE and
Auto-Configuration Server (ACS) that encompasses secure auto-configuration as
well as other CPE management functions within the framework.
8
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
Identity parameters.
The second user id is for the Versatel Portal (Mijn Versatel : MN VT) and is consisting
of :
A username VTxxxx assigned by Versatel and not changeable.
A password, alpha numeric, changeable by the customer
Remark:
One mailbox per telephone number (even when customer has multiple
numbers)
Password for voicemail can either initially be create by Versatel or can initially
be empty. Customer will have no remote access (other than own number) to
mailbox if password is empty. Password can be created or changed via
access to the mailbox menu (via phone) or via web portal (My Versatel).
The fourth identity is the SIP identity for the CPE to be able to register (SIP registrar)
and make SIP VoIP calls. For this there is a SIP URL (telephonenr@domain) and SIP
password. Also an alias will be foreseen for each SIP identity. For each telephone
number there will be a SIP ID where the password will be the same of the PPP
password.
[email protected]: first telephone number
[email protected] that can be created as an extra number on the same or
new CPE port (to be checked what can be configured on CPE).
9
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
2 Interfaces
This section describes the web service procedure (API) to interface with the SDP of
Artilium to manage user accounts.
The XML provisioning interface allows service providers and/or partners to manage
their user accounts via XML HTTP. There are 4 types of requests that can be sent to
the SDP: add_cli, get_cli_info, update_cli and delete_cli.The interface enables a
reseller to create and delete telephone numbers but also to manage the features a
user is allowed to use and/or change. It is also possible to temporarily disable
telephone numbers for example when the client’s payment is overdue.
The Interface only allows connections sent over SSL to ensure security when
sending vital user information (with a fixed certificate to exchange secure data
between two fixed systems).
For each request a login name and password must be send in the request (fixed and
to be agreed between the two parties).
as 0000
Voicemail Notification Allow or block voice True/False Mandatory
mail notification via
outbound calls.
Language Language requested NL/FL Mandatory
by the customer for FR/BE
EN/UK
the voicemail
message or
messages given by
the network (if any)
AccountStatus Status of the Varchar(20) Optional
account: status fields
(classification) as
configured in Artilium
database (to define
according own
wishes via
conversion codes).
PortedTel Indicate if the True/False Mandatory
number is a ported
number or not.
EmergencyZone1 Emergency zones Varchar(20) Mandatory
EmergencyZone2 are required for the
determination of the
prefix. The
emergency zone list
must be created in
the Cirpack
database. 2
emergency zones
are defined in case
of a move of a CPE.
ATM1_VPI,ATM2_VPI The ATM VPI Int Mandatory/Optional
number of the xDSL (1 or 2)
line (2 sets in case of
move)
ATM1_VCI,ATM2_VCI The ATM VPI Int Mandatory/Optional
number of the xDSL (1 or 2)
line (2 sets in case of
move)
ATM1_PortID, The ATM PortID Int Mandatory/Optional
ATM2_PortID number of the xDSL (1 or 2)
line (2 sets in case of
move)
Nomadism Check This check will allow True/False Mandatory
to verify based on
ATM parameters
provisioned and
12
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
activate/Change the
Call barring
CLIPCirpack CLI presentation on Int Optional
incoming call
ReselCustomID Identifier of reseller Int Optional
and customer ID
(=last 7 digit)
ATM1_IntFceID, The ATM Interface Int Mandatory (1 or 2)
ATM2_IntFceID ID number of the
xDSL line (2 sets in
case of move)
BRUO_NodeID The BRUO Interface Int Mandatory/
ID on NODE level Optional
BRUO_ShelfID The BRUO Interface Int Mandatory/
ID on SHELF level Optional
BRUO_SlotID The BRUO Interface Int Mandatory/
ID on SLOT level Optional
BRUO_PortID The BRUO Interface Int Mandatory/
ID on PORT level Optional
BRUO_VlanID The BRUO Interface Int Optional
ID on VLAN level
Connect_Type Broba or Bruo Int Mandatory
settings are valid
ConnectINFO Connect Info Varchar (20) Optional
regarding pppoa or
pppoe
Block_OutgoingCalls Block outgoing calls Int Optional
<?xml version="1.0"?>
<request type="add_cli" login="value" password="value" version="1.0">
14
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
<PPPuserID>value</PPPuserID>
<PPPuserPwd>value</PPPuserPwd>
<value name=”AgentId”>value</value>
<value name=”AgentName”>value</value>
<value name=”DistributorId”>value</value>
<CLINumber >value</CLINumber> <TelPortNumberOnCPE>value</ TelPortNumberOnCPE>
<callForwardingBackup>value</callForwardingBackup> //NULL if none
<callForwardingBackupOn>true/false</callForwardingBackupOn>
<callWait>true/false</callWait>
<callHold>true/false</callHold> <email>value</email>
<name> value </name>
<firstName> value </firstName>
<mobile>value</mobile>
<enabled>true/false</enabled>
<VoicemailPassword>value</VoicemailPassword> // if no value is provided then 0000 will be given
<value name=”VoicemailNotification”>true/false</value>
<lang>NL / FR / EN </lang>// EN (=EN/UK in softswitch),NL( =NL/FL = in softswitch),FR( =FR/BE = in
softswitchj)
<accountStatus>value</accountStatus>
<value name=” portedTel”>true/false</value>
<value name=”EmergencyZone1”>value</value>
<value name=”EmergencyZone2”>value</value>
<value name=”ATM1_VPI”>value</value>
<value name=”ATM1_VCI”>value</value>
<value name=”ATM1_PortID”>value</value>
<value name=”ATM1_IntFceID”>value</value
<value name=”ATM2_VPI”>value</value>
<value name=”ATM2_VCI”>value</value>
<value name=”ATM2_PortID”>value</value>
<value name=”ATM2_IntFceID”>value</value>
<value name=”Connect_Type”>Broba/Bruo</value>
<value name=”BRUO_NodeID”>value</value>
<value name=”BRUO_ShelfID”>value</value
<value name=”BRUO_SlotID”>value</value>
<value name=”BRUO_PortID”>value</value>
<value name=”AllowNomadismCheck”>true/false</value>
<value name=”AllowSIPBlockCheck”>true/false</value>
<value name=”SIP_Domain”>value</value>
<value name=”SIP_Password”>value</value>
<value name=”SIP_Alias”>value</value>
<value name=”SIP_proxy”>value</value>
<value name=”SIP_reregTime”>value</value>
<value name=”SIP_dialPlan”>value</value>
<value name=”CPE_brand”>value</value> // hardware brand of the CPE
<value name=”CPE_version”>value</value> // CPE version
<value name=”CPE_serialNo”>value</value>
<value name=”CPE_MAC”>value</value>
<value name=”CPE_WIFI>true/false</value>
<value name=”CPE_PARAM1”>value</value>
<value name=”CPE_PARAM2”>value</value>
<value name=”CPE_PARAM3”>value</value>
<value name=”CPE_PARAM4”>value</value>
<value name=”CPE_PARAM5”>value</value>
<value name=”Codec”>value</value>
<value name=”SubProfile”>value</value>
<options>
// basic options
<changeSettings>true/false</changeSettings> //allow to change settings by customer
<callBarringcode> value </callBarringcode>
<CLIRestriction>true/false</CLIRestriction>
<callForwardingUnconditional > true/false </callForwardingUnconditional >
<callForwardingNoAnswer> true/false </callForwardingNoAnswer>
<callForwardingBusy> true/false </callForwardingBusy>
<callBarring> true/false </callBarring>
15
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
Note : For the value ‘’SubProfile’’ the values of the options CLIR – Call Barring – Call Forwarding Unconditional
- Call Forwarding No Answer – Call Forwarding on Busy will be adapted from values in the profile to the extension
CLIRestriction : If CLIR_ABO value = 2 -> CLIR_ON_EXT can be 0 of 1 (supported in XML)
If CLIR_ABO value 1 -> CLIR_ON_EXT = 1
if CLIR_ABO value 0 -> CLIR_ON_EXT = 0
CallBarring : If SCRL_OUT_ABO 0 -> SCRL_MODE_OUT_EXT = 0
If SCRL_OUT_ABO 1 -> SCRL_MODE_OUT_EXT can be 0 of 1 ( XML)
If SCRL_OUT_ABO another value-> error in parameters: SubProfile
CallForwardingUnconditional : if FWD_UNC_ABO value 0 -> FWD_UNC_ON_EXT = 0
if FWD_UNC_ABO value 1 -> FWD_UNC_ON_EXT = 0 or1 (XML)
When a new user and the cli has been created successfully, the provisioning-interface will reply with the following
response. When you omitted the CLINumber in the request you will receive an error message.
<?xml version="1.0"?>
<response type="add_cli">
<responseStatus code=”0”>successful</responseStatus>
</response>
When a request was not processed successfully you will receive a response containing an error-tag. This tag has
a number attribute with the error-code that can be used for error handling in the code. The text value of the error
contains a description of the error to make debugging easier for the developer.
<?xml version="1.0"?>
<response type="add_cli">
<responseStatus code=”value”> response message </responseStatus>
if
16
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
The ‘GET_CLI_INFO’-request allows you to query the information stored in the databases for a single user
account.
<?xml version="1.0"?>
<request type="get_user_info" login="value" password="value" version="1.0">
<CliNumber>value</CliNumber>
</request>
When an account with the specified clinumber is found all information about the account status and options is
returned in the response.
<?xml version="1.0"?>
<response type="get_cli_info">
<responseStatus code=”0”> successful </responseStatus>
<PPPuserID>value</PPPuserID>
<PPPuserPwd>value</PPPuserPwd>
<value name=”AgentId”>value</value>
<value name=”AgentName”>value</value>
<value name=”DistributorId”>value</value>
<CLINumber >value</CLINumber>
<TelPortNumberOnCPE>value</ TelPortNumberOnCPE>
<callForwardingBackup>value</callForwardingBackup> //NULL if none
<callForwardingBackupOn>true/false</callForwardingBackupOn>
<callWait>true/false</callWait>
<callHold>true/false</callHold>
<email>value</email>
<name> value </name>
<firstName> value </firstName>
<mobile>value</mobile>
<enabled>true/false</enabled>
<VoiceMailPassword>value(numeric)</VoicemailPassword> // optional when omitted no phonePassword
will be generated
<value name=”VoicemailNotification”>true/false</value>
<lang>NL / FR / EN </lang>// EN (=EN/UK in softswitch),NL( =NL/FL = in softswitch),FR( =FR/BE = in
softswitch)
<accountStatus>value</accountStatus>
<creationDate> YYYY-MM-DDThh:mm:ssTZD </creationDate>
<lastModDate> YYYY-MM-DDThh:mm:ssTZD </lastModDate>
<value name=” portedTel”>true/false</value>
<value name=”emergencyZone1”>value</value>
<value name=”EmergencyZone2”>value</value>
<value name=”ATM1_VPI”>value</value>
<value name=”ATM1_VCI”>value</value>
<value name=”ATM1_PortID”>value</value>
<value name=”ATM1_IntFceID”>value</value
<value name=”ATM2_VPI”>value</value>
<value name=”ATM2_VCI”>value</value>
<value name=”ATM2_PortID”>value</value>
<value name=”ATM2_IntFceID”>value</value
<value name=”BRUO_NodeID”>value</value>
17
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
<value name=”Connect_Type”>Broba/Bruo</value>
<value name=”BRUO_ShelfID”>value</value>
<value name=”BRUO_SlotID”>value</value>
<value name=”BRUO_PortID”>value</value>
<value name=”BRUO_VlanID”>value</value>
<value name=”AllowNomadismCheck”>true/false</value>
<value name=”AllowSIPBlockCheck”>true/false</value>
<value name=”SIP_Domain”>value</value>
<value name=”SIP_Password”>value</value>
<value name=”SIP_Alias”>value</value>
<value name=”SIP_proxy”>value</value>
<value name=”SIP_reregTime”>value</value>
<value name=”SIP_dialPlan”>value</value>
<value name=”CPE_brand”>value</value> // hardware brand of the CPE
<value name=”CPE_version”>value</value> // CPE version
<value name=”CPE_serialNo”>value</value>
<value name=”CPE_MAC”>value</value>
<value name=”CPE_WIFI>true/false</value>
<value name=”CPE_PARAM1”>value</value>
<value name=”CPE_PARAM2”>value</value>
<value name=”CPE_PARAM3”>value</value>
<value name=”CPE_PARAM4”>value</value>
<value name=”CPE_PARAM5”>value</value>
<value name=”Codec”>value</value>
<value name=”SubProfile”>value</value>
<value name=”ReselCustomID”>value</value>
<value name=”ConnectInfo”>value</value>
<options>
// basic options
<changeSettings>true/false</changeSettings>
<CLIRestriction>true/false</CLIRestriction>
<callForwardingUnconditional > true/false </callForwardingUnconditional >
<callForwardingUncNumber >tel number </callForwardingUncNumber >
<callForwardingNoAnswer> true/false </callForwardingNoAnswer>
<callForwardingNoANumber >tel number </callForwardingNoANumber >
<callForwardingNoTimeOut >number in seconds</callForwardingNoATimeOut>
<callForwardingBusy> true/false </callForwardingBusy>
<callForwardingBusyNumber> tel number </callForwardingBusyNumber>
<callBarring> true/false </callBarring>
<callBarringRules>
<Rule>0032%</Rule> or <Rule>id</Rule>
</callBarring Rules>
<callBarringcode> value </callBarringcode>
<VoiceMail> true/false </VoiceMail>
<callHistory> true/false </callHistory>
<CLIPCirpack>value</ CLIPCirpack >
<BlockOutgoingCalls>value</BlockOutgoingCalls>
//advanced options
<voicemailPro> true/false </voicemailPro>
<voicemail2Mail> true/false </voicemail2Mail>
<fax2Mail faxNumber=“value”> true/false </fax2Mail>
<addressBook> true/false </addressBook>
<webmail> true/false </webmail>
<SMSNotificationVoicemail> true/false </SMSNotificationVoicemail>
<SMSNotificationFax> true/false </SMSNotificationFax>
<sendSMS> true/false </sendSMS>
<sendFax> true/false </sendFax>
<faxPrinterDriver> true/false </faxPrinterDriver>
<outlookPlugin> true/false </outlookPlugin>
<XMLAPI> true/false </XMLAPI>
<findMeFollowMe> true/false </findMeFollowMe>
<scheduledCall> true/false </scheduledCall>
</options>
</response>
18
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
Concerning..“CLIRestriction","callForwardingUnconditional","callForwardingUncNumber","callForwardi
ngNoAnswer","callForwardingNoANumber","callForwardingNoTimeOut""callForwardingBusy","callFor
wardingBusyNumber","SIP_Domain", "SIP_Password","EmergencyZone1" and "EmergencyZone2”
If the value in one of these is equal to XXX then this will be replaced by an empty string
<?xml version="1.0"?>
<response type="get_cli_info">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code=”12”> error in parameters :name parameter </responseStatus>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
All parameters that are passed in the update request will be updated in the databases. Omitted parameters will be
ignored and will remain unchanged.
<?xml version="1.0"?>
<request type="update_cli" login="value" password="value" version="1.0">
<PPPuserID>value</PPPuserID>
<PPPuserPwd>value</PPPuserPwd>
<value name=”AgentId”>value</value>
<value name=”AgentName”>value</value>
<value name=”DistributorId”>value</value>
<CLINumber >value</CLINumber>
<TelPortNumberOnCPE>value</ TelPortNumberOnCPE>
<callForwardingBackup>value</callForwardingBackup> //NULL if none
<callForwardingBackupOn>true/false</callForwardingBackupOn>
<callWait>true/false</callWait>
<callHold>true/false</callHold>
<email>value</email>
<name> value </name>
<firstName> value </firstName>
<mobile>value</mobile>
<enabled>true/false</enabled>
<VoicemailPassword>value(numeric)</VoicemailPassword> // optional when omitted no
VoicemailPassword will be generated
<value name=”VoicemailNotification”>true/false</value>
<lang>NL / FR / EN </lang>// EN (=EN/UK in softswitch),NL( =NL/FL = in softswitch),FR( =FR/BE = in
softswitch)
<accountStatus>value</accountStatus>
<value name=” portedTel”>true/false</value>
<value name=”emergencyZone1”>value</value>
<value name=”emergencyZone2”>value</value>
<value name=”ATM1_VPI”>value</value>
<value name=”ATM1_VCI”>value</value>
<value name=”ATM1_PortID”>value</value>
<value name=”ATM1_IntFceID”>value</value
<value name=”ATM2_VPI”>value</value>
<value name=”ATM2_VCI”>value</value>
<value name=”ATM2_PortID”>value</value>
19
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
<value name=”ATM2_IntFceID”>value</value>
<value name=”Connect_Type”>Broba/Bruo</value>
<value name=”BRUO_NodeID”>value</value>
<value name=”BRUO_ShelfID”>value</value
<value name=”BRUO_SlotID”>value</value>
<value name=”BRUO_PortID”>value</value>
<value name=”AllowNomadismCheck”>true/false</value>
<value name=”AllowSIPBlockCheck”>true/false</value>
<value name=”SIP_Domain”>value</value>
<value name=”SIP_Password”>value</value>
<value name=”SIP_Alias”>value</value>
<value name=”SIP_proxy”>value</value>
<value name=”SIP_reregTime”>value</value>
<value name=”SIP_dialPlan”>value</value>
<value name=”CPE_brand”>value</value> // hardware brand of the CPE
<value name=”CPE_version”>value</value> // CPE version
<value name=”CPE_serialNo”>value</value>
<value name=”CPE_MAC”>value</value>
<value name=”CPE_WIFI>true/false</value><value name=”CPE_PARAM1”>value</value>
<value name=”CPE_PARAM2”>value</value>
<value name=”CPE_PARAM3”>value</value>
<value name=”CPE_PARAM4”>value</value>
<value name=”CPE_PARAM5”>value</value>
<value name=”Codec”>value</value>
<value name=”SubProfile”>value</value>
<options>
// basic options
<changeSettings>true/false</changeSettings>
<CLIRestriction>true/false</CLIRestriction>
<callForwardingUnconditional > true/false </callForwardingUnconditional >
<callForwardingNoAnswer> true/false </callForwardingNoAnswer>
<callForwardingBusy> true/false </callForwardingBusy>
<callBarring> true/false </callBaring>
<callBarringcode> value </callBarringcode>
<voicemail> true/false </voicemail>
<callHistory> true/false </callHistory>
<BlockOutgoingCalls>value</BlockOutgoingCalls>
//advanced options
<voicemailPro> true/false </voicemailPro>
<voicemail2Mail> true/false </voicemail2Mail>
<fax2Mail faxNumber=“value”> true/false </fax2Mail>
<addressBook> true/false </addressBook>
<webmail> true/false </webmail>
<SMSNotificationVoicemail> true/false </SMSNotificationVoicemail>
<SMSNotificationFax> true/false </SMSNotificationFax>
<sendSMS> true/false </sendSMS>
<sendFax> true/false </sendFax>
<faxPrinterDriver> true/false </faxPrinterDriver>
<outlookPlugin> true/false </outlookPlugin>
<XMLAPI> true/false </XMLAPI>
<findMeFollowMe> true/false </findMeFollowMe>
<scheduledCall> true/false </scheduledCall>
</options>
</request>
Note : For the value ‘’SubProfile’’ the values of the options CLIR – Call Barring – Call Forwarding Unconditional
- Call Forwarding No Answer – Call Forwarding on Busy will be adapted from values in the profile to the extension
CLIRestriction : If CLIR_ABO value = 2 -> CLIR_ON_EXT can be 0 of 1 (supported in XML)
If CLIR_ABO value 1 -> CLIR_ON_EXT = 1
if CLIR_ABO value 0 -> CLIR_ON_EXT = 0
CallBarring : If SCRL_OUT_ABO 0 -> SCRL_MODE_OUT_EXT = 0
If SCRL_OUT_ABO 1 -> SCRL_MODE_OUT_EXT can be 0 of 1 ( XML)
20
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
<?xml version="1.0"?>
<response type="update_cli" >
<responseStatus code=”0”> succesfull </responseStatus>
</response>
<?xml version="1.0"?>
<response type="update_cli" >
<responseStatus code ="value">error message</ responseStatus >
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
Sending a ‘delete_cli’ request will remove the user account with the corresponding ‘PPPuserID’ and cli number
from the database. Remark : when deleting a user all his associated telephonenumbers will also be deleted when
the clinumber is empty.
<?xml version="1.0"?>
<request type="delete_cli" login="value" password="value" version="1.0">
<PPPuserID>value</PPPuserID>
<CliNumber>value</CliNumber>
</request>
<?xml version="1.0"?>
<response type="delete_cli">
<responseStatus code=”0”>successful</responseStatus>
</response>
<?xml version="1.0"?>
21
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
<response type="delete_cli">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code=”12”> error in parameters :name parameter </responseStatus>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
<?xml version="1.0"?>
<request type=" update_unblockallcli " login="value" password="value" version="1.0">
</request>
<?xml version="1.0"?>
<response type=" update_unblockallcli ">
<responseStatus code=”0”>successful</responseStatus>
</response>
<?xml version="1.0"?>
<response type=" update_unblockallcli ">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
Successful: response-code 0
General Errors: response-codes 1 to 7 are general errors that occur when a request is malformed
or invalid or when user information is incorrect.
Specific Errors: response-codes 10 to 14 are specific errors that may occur during the processing
of the requested action.
System errors: response-codes 20 to 22 are system errors that may occur in the database.
actions
101 ‘UnknownDatabaseError’ Occurs when SDP database fails Verify SDP ,
Softswitch and ODBC
102 ‘UnknownVoicemailError’ Occurs when voicemail action Verify VoiceMail
failed system or link
Remark :
If the error code is equal to 2,3,4 or 5 then the response will be in the generated as next :
<?xml version="1.0"?>
<response>
<responseStatus code=”code”>valuecode</responseStatus>
</response>
This section describes the web service procedure (API) to interface with the SDP of
Artilium to manage the settings of the services assigned to the customers.
The XML provisioning interface allows service providers and/or partners to manage
the service setting of the user accounts via XML.
The Interface only allows connections sent over SSL to ensure security when
sending vital user information (with a fixed certificate to exchange secure data
between two fixed systems).
List of settings:
25
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
Request:
<?xml version="1.0"?>
<Request type="CLIRestriction" login="value" password="value" version="1.0">
<CLIRestriction>
<ID>003292703000</ID>
<Enabled>True/False</Enabled>
</CLIRestriction>
</Request>
Response:
<?xml version="1.0"?>
<response type="CLIRestriction">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
Request:
<?xml version="1.0"?>
<Request type="CallForwardingUnconditional" login="value" password="value">
<CallForwardingUnconditional>
<ID>003292703000</ID>
<Enabled>True/False</Enabled>
<TelNo>092999999 </TelNo>
</CallForwardingUnconditional >
</Request>
26
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
Response:
<?xml version="1.0"?>
<response type=" CallForwardingUnconditional ">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
Request:
<?xml version="1.0"?>
<Request type="CallForwardingNoAnswer" login="value" password="value" version="1.0">
<CallForwardingNoAnswer>
<ID>003292703000</ID>
<Enabled>True/False</Enabled>
<TelNo>092999999 </TelNo>
<TimeOut>5</TimeOut>
</CallForwardingNoAnswer>
</Request>
Response:
<?xml version="1.0"?>
<response type="CallForwardingNoAnswer">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
Request:
<?xml version="1.0"?>
<Request type="CallForwardingBusy" login="value" password="value" version="1.0">
<CallForwardingBusy>
<ID>003292703000</ID>
<Enabled>True/False</Enabled>
<TelNo>092999999 </TelNo>
</CallForwardingBusy>
</Request>
Response:
<?xml version="1.0"?>
<response type="CallForwardingBusy ">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
27
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
The logic concerning the NoA is as next :
- When a number starts with 0 (1 zero ), then NoA = National. Nummer must be stripped of that
leading 0.
- When a number starts with 00 (2 zeros ), then NoA = National. Nummer must be stripped of that
leading 00..
- The rest: error message when not succesful .
Get Call Barring Rule Request (returns a list of all active call barring rules):
<?xml version="1.0"?>
<Request type="GetCallBarring" login="value" password="value" version="1.0">
<CallBarring>
<ID>003292703000</ID>
<GetRules/>
</CallBarring>
</Request>
Response:
<?xml version="1.0"?>
<response type=" GetCallBarring ">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
if
<responseStatus code =”0”> succesful </responseStatus>
<CallBarring>
<Rules>
<Rule>0032%</Rule> or <RuleID>1</RuleID> /* either a prefix or ID*/
</Rules>
</CallBarring>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
Add Call Barring Rule Request (add a new call barring rule):
<?xml version="1.0"?>
<Request type="AddCallBarring" login="value" password="value" version="1.0">
<CallBarring>
<ID>003292703000</ID>
<AddRule>0032%<AddRule> or <AddRuleID>1<AddRuleID> /* either a prefix or ID*/
<AddRule>0033%<AddRule> or <AddRuleID>2<AddRuleID> /* either a prefix or ID*/
Or
<AddRule>0032%,0033%<AddRule> or <AddRuleID>1,2<AddRuleID> /* either a prefix or
ID*/
</CallBarring>
</Request>
28
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
Response:
<?xml version="1.0"?>
<response type="AddCallBarring">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
Delete Call Barring Rule Request (removes the call barring with the passed ID):
<?xml version="1.0"?>
<Request type="DeleteCallBarring" login="value" password="value" version="1.0">
<CallBarring>
<ID>003292703000</ID>
<DeleteRule>0032%<DeleteRule> or <DeleteRuleID>1<DeleteRuleID>/* either a prefix or
ID*/
<DeleteRule>0033%<DeleteRule> or <DeleteRuleID>2<DeleteRuleID>/* either a prefix or
ID*/
Or
<DeleteRule>0032%,0033%<DeleteRule> or <DeleteRuleID>1,2<DeleteRuleID>/* either a
prefix or ID*/
</CallBarring>
</Request>
Response:
<?xml version="1.0"?>
<response type="DeleteCallBarring">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
29
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
- When a number starts with 0 (1 zero ), then NoA = National. Nummer must be stripped of that
leading 0.
- When a number starts with 00 (2 zeros ), then NoA = National. Nummer must be stripped of that
leading 00..
- The rest: error message when not succesful .
No other checks are performed on the input of the numbers
Get Voice Mail Messages Request (returns a list of all voicemail messages):
<?xml version="1.0"?>
<Request type="GetVoiceMailMessages" login="value" password="value" version="1.0">
<VoiceMail>
<ID>003292703000</ID>
<GetMessages/>
</VoiceMail>
</Request>
Response:
<?xml version="1.0"?>
<response type=" GetVoiceMailMessages ">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
if
<responseStatus code =”0”> succesful </responseStatus>
<VoiceMail>
<GetMessages>
<Messages>
<Message ID=”99”>
<From>003292709999</From>
<DateTime>2005/01/01 20:00</DateTime>
<New>Yes/NO</New>
</Message>
</Messages>
</GetMessages>
</VoiceMail>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
Delete Voice Mail Message Request (removes the message with the corresponding ID):
<?xml version="1.0"?>
<Request type="DeleteVoiceMailMessage" login="value" password="value" version="1.0">
<VoiceMail>
<ID>003292703000</ID>
<DeleteMessage>99<DeleteMessage>
</VoiceMail>
</Request>
Response:
<?xml version="1.0"?>
<response type="DeleteVoiceMailMessage ">
30
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
Get ftp address for the Voice Message Request (returns a URL which is only valid for several minutes
from where the message (WAV file) with the passed id can be downloaded by the user):
<?xml version="1.0"?>
<Request type="GetFTPVoiceMailMessage" login="value" password="value" version="1.0">
<VoiceMail>
<ID>003292703000</ID>
<GetURL>99< GetURL >
</VoiceMail>
</Request>
Response:
<?xml version="1.0"?>
<response type="GetFTPVoiceMailMessage ">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
if
<responseStatus code =”0”>succesful </responseStatus>
<VoiceMail>
<GetURL>
ftp://IPaddress_server.filename
</GetURL>
</VoiceMail>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
No settings available.
2.2.3.2 VoiceMail2Mail.
Request:
<?xml version="1.0"?>
<Request type="Voicemail2Mail" login="value" password="value" version="1.0">
<Voicemail2Mail>
<ID>003292703000</ID>
<Enabled>True/False</Enabled>
</Voicemail2Mail>
</Request>
Response:
<?xml version="1.0"?>
31
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
<response type="Voicemail2Mail">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
2.2.3.3 Fax2Mail.
No settings available.
2.2.3.4 AddressBook.
To be defined later.
2.2.3.5 WebMail.
No settings available.
2.2.3.6 SMSNotificationVoiceMail
Request:
<?xml version="1.0"?>
<Request type="SMSNotificationVoicemail" login="value" password="value" version="1.0">
<SMSNotificationVoicemail>
<ID>003292703000</ID>
<Enabled>True/False</Enabled>
</SMSNotificationVoicemail>
</Request>
Response:
<?xml version="1.0"?>
<response type=’ SMSNotificationVoicemail’">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
2.2.3.7 SMSNotificationFAX.
Request:
<?xml version="1.0"?>
<Request type="SMSNotificationFax" login="value" password="value" version="1.0">
32
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
<SMSNotificationFax>
<ID>003292703000</ID>
<Enabled>True/False</Enabled>
</SMSNotificationFax>
</Request>
Response:
<?xml version="1.0"?>
<response type=’ SMSNotificationFax’">
<responseStatus code=”value”> response message </responseStatus>
if
<responseStatus code =”12”> error in parameters :name parameter </responseStatus>
</response>
Note : the name parameter that will be provided is the first wrong parameter provided.
This section describes the interface between the SDP of Artilium and the operator get
the Radius info of the PPP session . This will allow the SDP to cross check the
information available for that customer with the data available in the Cirpack LEN
(SIP registrar), SDP (stored data) and the ACS (CPE information).
The data available in the Radius log server is given in the next example:
The information that needs to be available for the SDP is at least the following:
Date & Time
User-Name
Client-IP-Address
Stripped-User-Name
Realm
ATM_VPI
ATM_VCI
ATM_PortID
ATM_IntFceID
The SDP will retrieve this data from the Radius Log server via XML HTTP with the following request
(per user name or id):
Request:
<Radiusr>
<Request version="1.0">
<UserID>
<ID>[email protected]</ID>
</UserID>
</Request>
</Radius>
Response:
<Radius>
<Response>
<RadiusInfo>
<DateTime>YYYY-MM-DDThh:mm:ssTZD</DateTime>
<UserName>[email protected]</UserName>
<StrippedUserName>VTxxxxx</StrippedUserName>
<Realm>versatel.be</Realm>
<ClientIPAddress >62.58.126.101</ClientIPAddress>
<ATMVPILog>99</ATMVPILog>
<ATMVCILog>99</ATMVCILog>
<ATMPortIDLog>99</ATMPortIDLog>
<ATMIntFceIDLog>99</ATMIntFceIDLog>
………….<BRUONodeID>99</BRUONodeID>
………….<BRUOShelfID>99</BRUOShelfID>
………….<BRUOSlotID>99</BRUOSlotID>
………….<BRUOPortID>99</BRUOPortID>
………….<BRUOVlanID>99</BRUOVlanID>
………….<ConnectInfo>pppoa1-ATM</ConnectInfo>
</RadiusInfo>
</Response>
</Radius>
It is possible that the user is unknown (this could happen due to time lag) and in this
case the fields are empty. Since the requests are sent either every x minutes or
during a new registration the info of the user should become available during the next
request.
34
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
This section describes the mechanism to check the presence (first time detected) and
verify if the customer is allowed to make calls or not (Nomadism and SIP locking).
A customer of Versatel will subscribe via the Versatel portal to order new services
(voice and internet). The OSS of Versatel will then add the customer data (and
update the provisioned data during provisioning process such as ATM parameters
which will identify the ‘physical location’ of the user) in the SDP via the described
XML interface. Two sets of ATM parameters have been foreseen to allow a fluently
move of a customer from one site to another.
The SDP will store this data either in the SDP storage (SQL server) or SIP server
storage (Adabas server). When a user or user data is added or updated then this
data will immediately be added or updated in the databases.
To allow the user to make calls after installation of the CPE the flag ‘Enabled’ should
be set to ‘True’ from the beginning.
When the CPE is installed at the customer site then a PPP session will be initiated to
the ERX (BRAS) which will reserve an IP address for that CPE (IP address will be
changed every day). This information must be sent to the Radius Server log server
where the following parameter per user are stored during the lifetime of the PPP
session: VTid (unique identifier of user), ATMlog parameters
(VPI,VCI,PortID,IntFceID) ,BRUO (Node,Shelf,Slot,Port,Vlan) and IPlog (IP address
of CPE).
Once the PPP session is active the CPE will make a SIP registration per CLI in the
SIP server and the IP address (Ipsip)of the CPE will be stored in de SIP server
storage (Adabas).
Based on the events of each SIP registration (future phase: will first be done via
polling in the SIP server database each X minutes with X still to be defined but as low
as possible) the SDP will check for each CLI (or each SIP registration) if the IP
address is changed and if the customer is enabled. If this is the case then the SDP
will read the Radius log for each user and perform the following checks and actions:
Un-suspend the CLI in the SIP server if allowed and match ATM / BRUO /IP
Inform the OSS of the user status.
36
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
37
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
When the Nomadism Check is manually stopped and/or started an event will be
generated towards the CSM. If required an action trigger to create a TRAP can be
activated.
Action to get to the SUSPEND Status when IPLOG and IPSIP aren’t equal :
The nomadism check allows to be flexible concerning when a extension will be set in
suspend status regarding the amount of mismatch between IPLog en IPSip. Per
extension the amount of mismatches will be kept and each time a mismatch occurs
an event will be generated towards the CSM In the event there will be information
mentioning how many times this mismatch has been noticed by the servicer.
When the value X is reached the extension will be suspended an the actions as
describe belwo will occur.(see Action when SUSPEND Status is reached )
The value X is configurable in the .config file (No GUI ).
An Event towards the CSM will be sended at the moment that a CLI is going into
Suspended status due to the Nomadism Check. This will be in the case at the
moment the ATM values don’t correspond or that the X value is reached for a specific
extension. If required an action trigger to create a TRAP can be activated.
38
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
As the service needs to be restarted, the service explicit needs to be restarted in the
proper way.A reboot of the system won’t be doing that .
The values for Y en Z are configurable in the .config file (No GUI ).
The counters kept for the values Y en Z when the service is stopped or disabled.
The counters will be zero when the service in started
Overview of the stages that are runned when nomadism check is activated can be
seen in de nomadismcheckdebugfile that as hourly being generated :
yyyy-mm-dd hh:mm:ss [ref] DEBUG Artilium.VoIPNomadismCheckSvc.VoIPNomadismCheckService Processing record
extension=XXXXXXXX, contact=<sip:[email protected]:ZZZZ>
yyyy-mm-dd hh:mm:ss [ref]DEBUG Artilium.VoIPNomadismCheckSvc.VoIPNomadismCheckService * Parsed IPAddress:
YY.YYY.YYY.Y
yyyy-mm-dd hh:mm:ss [ref]DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck STAGE 1
yyyy-mm-dd hh:mm:ss [ref]DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck Retrieved PinRecord for
ExtensionNum=XXXXXXXX: CliPin=XXXXXXXX,Sn=
XXXXXXXX,Status=Active,Type=Cli,PppUserId=value,AgentId=value,DistributorId=value,LanguageId=value
yyyy-mm-dd hh:mm:ss [ref] DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck STAGE 2
yyyy-mm-dd hh:mm:ss [ref]INFO Artilium.VoIPNomadismCheckLib.NomadismCheck IPAddress has changed from
LastIPAddress= to IPAddress=YY.YYY.YYY.Y
yyyy-mm-dd hh:mm:ss [ref] DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck STAGE 3
yyyy-mm-dd hh:mm:ss [ref] DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck STAGE 4
yyyy-mm-dd hh:mm:ss [ref]DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck STAGE 5
yyyy-mm-dd hh:mm:ss [ref]DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck STAGE 6
yyyy-mm-dd hh:mm:ss [ref] DEBUG Artilium.VoIPNomadismCheckLib.XmlAtmIpLog Sending RadiusLog XML POST:
(Len=value)
<Radius>
<Request>
<UserID>
<ID>value</ID>
</UserID>
</Request>
</Radius>
yyyy-mm-dd hh:mm:ss [ref] DEBUG Artilium.VoIPNomadismCheckLib.XmlAtmIpLog Received RadiusLog XML Response:
(Len=value)
<Radius><Response version="1.0"><RadiusInfo><DateTime>yyyy-mm-ddThh:mm:ss</DateTime><UserName>value</
UserName><StrippedUserName>partvalue</StrippedUserName><Realm>partvalue</
Realm><ClientIPAddress>YY.YYY.YYY.Y</ClientIPAddress><ATMIntFceLog>value</
ATMIntFceLog><ATMPortIDLog>value</ATMPortIDLog><ATMVPILog>value</ATMVPILog><ATMVCILog>value</
ATMVCILog></RadiusInfo></Response></Radius>
yyyy-mm-dd hh:mm:ss [ref] DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck
LogRecord=AtmLog={vpi=value,vci=value,portId=value,intfce=value}, IpLog=YY.YYY.YYY.Y
yyyy-mm-dd hh:mm:ss [ref]DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck STAGE 7
yyyy-mm-dd hh:mm:ss [ref]INFO Artilium.VoIPNomadismCheckLib.NomadismCheck Nomadism match for ATM set (1or2) of
CLI/Pin=XXXXXXXX
yyyy-mm-dd hh:mm:ss [ref] DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck STAGE 8
yyyy-mm-dd hh:mm:ss [ref] INFO Artilium.VoIPNomadismCheckLib.NomadismCheck Sip IP match for CLI/Pin=XXXXXXXX
yyyy-mm-dd hh:mm:ss [ref] DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck STAGE 9
yyyy-mm-dd hh:mm:ss [ref] DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck Retrieving SpecialZoneID for
SpecialZone='name' from Adabas
yyyy-mm-dd hh:mm:ss [ref] INFO Artilium.VoIPNomadismCheckLib.NomadismCheck Retrieved SpecialZoneID='value' from
Adabas for SpecialZone='name' from Adabas
yyyy-mm-dd hh:mm:ss [ref] DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck STAGE 10
yyyy-mm-dd hh:mm:ss [ref] INFO Artilium.VoIPNomadismCheckLib.NomadismCheck Unsuspending ExtensionNum
'XXXXXXXX' in Adabas
yyyy-mm-dd hh:mm:ss [ref]DEBUG Artilium.VoIPNomadismCheckLib.NomadismCheck STAGE 11
yyyy-mm-dd hh:mm:ss [ref] DEBUG Artilium.Database.Log Writing log-entries to log file
yyyy-mm-dd hh:mm:ss [ref]DEBUG Artilium.Database.Log Log record:
TableType=CliPin,TableKey=XXXXXXXX;20301;,Command=Update parameter 'Last IP address' (20301) for CLI/PIN
'XXXXXXXX', scenario parameter: no,Values=string 1: 'YY.YYY.YYY.Y',Changed=
39
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
40
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
The first time a ‘new’ customer is detected via the SDP (first SIP registration) then the
system will check whether this customer is already provisioned in the SDP with the
same parameters (UserID and ATM parameters). A XML inform message will be sent
to inform the OSS containing the user status.
This XML info is used by the Operator’s CRM & Order Processing tool to start e.g.
Number Porting. In case no telephone number is present or null then the customer
was not found in the SDP (missing data).
Once this XML inform message for presence is sent and the customer data exists,
then the SDP will add an ‘outbound’ in the VM system so that this system will call the
customer (via the Cirpack) to play a welcome announcement. This outbound will be
repeated 3 times each 30min in case the call cannot successfully be terminated.
When the checks for ATM and IP does not match then the customer will be de-
activated in the Cirpack Adabas database (H_SUSPEND_EXT set to 1 meaning
suspended).
When there is a match then the field H_SUSPEND_EXT will be updated to 0 (was
normally by default set to 0 to allow calls). From then on the customer can start
making outgoing calls.
When the Initial presence was succesfull a logging on extension level in the Arta
SWA will be available for verification not for reporting.
The first presence detection mechanism is started and stopped simular with the
nomadism check in general. So if The Nomadism Check is disabled this implements
that the timestamp towards the SWA can’t be delivered.
41
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
<type>CliPinNotFound/NoAtmSetProvisioned/NoAtmIpLog/LockingIncidentSip/
LockingIncidentSipWithoutSuspend/LockingIncidentAtm/LockingIncidentBruo/
InitialPresence/AtmSetMove</type>
<!-- Info retrieved from Atm/Ip log -->
<!-- These fields will be (empty) if no Atm/Ip log was returned -->
<logAtmPvc>(empty)/logAtmPvc</logAtmPvc>
<logAtmVci>(empty)/logAtmVci</logAtmVci>
<logAtmPortNr>(empty)/logAtmPortNr</logAtmPortNr>
<logAtmIntFce>(empty)/logAtmIntFce</logAtmIntFce>
<logIpAddress>(empty)/logIpAddress</logIpAddress>
<logBruoNodeId>(empty)/logBruoNodeId</logBruoNodeId>
<logBruoShelfId>(empty)/logBruoShelfId</logBruoShelfId>
<logBruoSlotId>(empty)/logBruoSlotId</logBruoSlotId>
<logBruoPortId>(empty)/logBruoPortId</logBruoPortId>
42
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
<logBruoVlanId>(empty)/logBruoVlanId</logBruoVlanId>
<logConnectInfo>(empty)/logConnectInfo</logConnectInfo>
<!-- Info retrieved from cli/pin -->
<!-- These fields will be (empty) if no cli/pin was found -->
<pppUserId>(empty)/PPPUserID</pppUserId>
<agentId>(empty)/AgentID</agentId>
<distributerId>(empty)/DistributerID</distributerId>
<cliPin>(empty)/TelNo</cliPin>
<nomadismCheckEnabled>(empty)/True/False</nomadismCheckEnabled>
<sipBlockCheckEnabled>(empty)/True/False</sipBlockCheckEnabled>
<connectType>(empty)/Broba/Bruo</connectType>
<provAtm1Pvc>(empty)/provAtm1Pvc</provAtm1Pvc>
<provAtm1Vci>(empty)/provAtm1Vci</provAtm1Vci>
<provAtm1PortNr>(empty)/provAtm1PortNr</provAtm1PortNr>
<provAtm2Pvc>(empty)/provAtm2Pvc</provAtm2Pvc>
<provAtm2Vci>(empty)/provAtm2Vci</provAtm2Vci>
<provAtm2PortNr>(empty)/provAtm2PortNr</provAtm2PortNr>
<provBruoNodeId>(empty)/provBruoNodeId</provBruoNodeId>
<provBruoShelfId>(empty)/provBruoShelfId</provBruoShelfId>
<provBruoSlotId>(empty)/provBruoSlotId</provBruoSlotId>
<provBruoPortId>(empty)/provBruoPortId</provBruoPortId>
<previousIpAddress>(empty)/previousIpAddress</previousIpAddress>
<sipBlockCheckMismatchCount>(empty)/Count</sipBlockCheckMismatchCount>
</request>
Based on the received information from the Radius server the SDP will cross check
this received parameters and compare them with the information available in the
Cirpack Adabas server each time a new SIP registration is done and if the IP address
was changed (detected in SDP).
Remark: in case both ATM parameter sets stored in the SDP are empty (not
provisioned) and the BRUO parameters are empty the ATM/BRUO check will not be
performed.
in case both ATM parameter sets stored in the SDP are empty (not provisioned) and
the BRUO parameters are present the ATM/BRUO check will be performed
The results of the checks are also sent via XML to the OSS of Versatel (see 2.4.1).
If there is a mismatch in one of these criteria then the SDP will block the customer if
allowed (all outgoing calls except emergency calls). This will be done by updating the
field H_SUSPEND_EXT=1 in the Adabas server of the Cirpack for the telephone
number(s) assigned to this customer but only when the parameters for the customer
are set to allowed blocking for SIP and ATM check.
If there is a match for all criteria then the SDP will activate the customer again if
allowed (Enable=True) (allow outgoing calls). This will be done by updating the field
H_SUSPEND_EXT=0 in the Adabas server of the Cirpack for the telephone
number(s) assigned to this customer.
The emergency zone set in the field H_SPECNUMZONE_EXT will be adapted when
there is a change with the set ATM 1 or ATM 2. As long as the ATM log match the
ATM detected no changes will be performed . When there is a change of set
between ATM 1 or ATM 2 is detected the field H_SPECNUMZONE_EXT will be
changed to the matched set .The mismatched ATM parameters of ATM set and
EmergencyZone will be cleared at that point.When the BRUO parameters are
enabled the field H_SPECNUMZONE_EXT will be used from the field that is set in
emergencyzone1.
Important Note : This change of set won’t happen in case the customer is not
enabled or the IP address hasn’t changed .
If for some reason the XML interface between Artillium and Versatel fails, the
telephone number will not be blocked and the authentication will be retried on next
attempt until authentication is possible.
Blocking mechanisms:
44
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
2.5 Monitoring
This will include the ‘presence’ and ‘availability’ checks e.g. in case a CPE
disappears for a certain reason this will create a monitoring event.
Artilium provides a tool, CSM (Central System Monitoring) that will collect all events
(SNMP, ACS, own events) in a database (on SDP) and that can transmit these
events as SNMP traps to another monitoring tool if required (see documentation
Artilium).
This interface is an ODBC interface to allow the SDP to read and update information
from the Adabas server (connected to the Cirpack LEN).
45
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
In an appendix we describe the relation between all the parameters defined where
they are stored (SDP, SIP server, ACS).
2.7.1 Configuration
The voicemail system is connected via one E1 (ISDN) to the Cirpack (could be
expanded to more channels when required).
2.7.2 IVR
This system is used to give a welcome message to a new customer after the first
presence detection.
The voicemail becomes active when a customer configures the call forwarding
features (calls deviated to the voicemail e.g. via a specific voice mail number). Calls
deviated to the voicemail will be answered by the voice mail system allowing the
caller to leave a message for the called person.
Once a message is left then the called person will be notified via an outbound
initiated by the voicemail system x times after a specific timeout (default setting to set
for the system). Also the operator can check the numbers of messages left via XMLor
can pickup the message.(via WAV file).
2.7.3.1 Settings.
Each customer will get a voice mailbox that is assigned when a new user is added
via XML. The following parameters will be set by default for all customers:
46
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
The customer can access ‘free’ his or her voice mailbox (via specific access
number).
Notification via outbound
Recording of messages up to 1 hour or maximum 30 messages.
Maximum duration of a message is 5 minutes
Automatically removal of un-listened messages after 30 days.
Automatically removal of saved messages after 15 days.
By default of standard voicemail password : defined as 0000 (4 times zero)
De personalized greetings can be recorded by the customer by using (dial in) the
voice mail menu (mail box administration).
2.7.3.2 Flows.
2.7.3.3 Notifications.
Other MWI notification are currently analyzed via the MWI possibility
between Cirpack and CPE (provisioning via Adabas).
This section describes the interface between the SDP and the ACS.
47
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
49
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
1 = dummy_res_profile
3 = block_all
CLI Restriction x x x x x x x
Call Forwarding - No Answer x x x x x x x
Call Forwarding - Busy x x x x x x x
Call Forwarding - Unconditional x x x
CLI Presentation x x x
Package Profile to pass over OSSs interface Basic Basic+CFU Basic+WO Basic+CFU+WO P1 P2 P3
Present 2nd Caller (notification)* x x x
Call Barring
Standard Voice mail x x x x x x x
Name Profile in Versatel OSS 00001111 00011111 00101111 00111111 01001111 01011111 011011
50
Prepared by Artilium
Confidential
IVSP Interface & Provisioning Specifications
Version 5.5
CLI Restriction x x x x x x x
Call Forwarding - No Answer x x x x x x x
Call Forwarding - Busy x x x x x x x
Call Forwarding - Unconditional x x x
CLI Presentation x x x
Package Profile to pass over OSSs interface P1 P2 P3 P4 P1 P2 P3
Present 2nd Caller (notification)* x x x
Call Barring x x x x x x x
Standard Voice mail x x x x x x x
Name Profile in Versatel OSS 10001111 10011111 10101111 10111111 11001111 11011111 11101111 111
* In case a second call is incoming, a tone is provided in-band. The call on hold gets
silence ; DTMF string has local CPE command and controls the use of the service,
without changing Adabas setting (see Class 5 TLS testing status 230905)
51
Prepared by Artilium
Confidential