Skip navigation.

User's Guide

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents View as PDF  
Get
Adobe Reader

Writing Service Level Agreements

The following sections describe how to write service level agreements:

 


Service level agreement XML file overview

The applications access rights to BEA WebLogic Network Gatekeeper ESPA service capabilities are specified in Service Level Agreement (SLA) XML files. There are SLAs on two levels, service provider and application level. The SLAs on the two levels are related to the service provider groups and and application groups. If the SLA on the service provider level is more restrictive than on application level, the value specified on service provider level will be used . That is, it is always the most restrictive value that applies.

An SLA template can be found in the /usr/local/slee/bin/policy/sla_template directory.

The SLA contains two main types of information specified by the attributes in the <Sla> tag and the contents of the <serviceContract> tags. Listing D-1 shows the service provider level SLA XML file's main structure and the relation between the <Sla> and the <serviceContract> tags. Differences between the SLA files on service provider and application level are described in the tag descriptions below the listing.

Listing D-1 Service level agreement XML file overview

<Sla serviceProviderGroupID="spGroup1" <!-- or applicationGroupID -->
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="file:./policy/sla_schema/sla_file.xsd">
<serviceContract>
  <!--service contract data for service capability 1-->
</serviceContract>
<serviceContract>
<!--service contract data for service capability 2-->
</serviceContract>
<serviceContract>
<!--service contract data for service capability 3-->
</serviceContract>
<serviceContract>
<!--service contract data for service capability n-->
</serviceContract>
</Sla>

<Sla>

This tag contains a number of service contracts specifying under which conditions a an application is allowed to access and use service capabilities.

The serviceProviderGroupID attribute specifies service provider group the service provider is related to. For SLAs on application level the applicationGroupID attribute is used instead. It specifies the application group the application i related to.

The xmlns:xsi and xsi:noNamespaceSchemaLocation attributes contains processing information and should not be changed.

<serviceContract>

These tags contain contractual data specifying under which conditions an application is allowed to access and use specific service capabilities. One <serviceContract> tag is needed for each service capability an application shall have access to.

What data to write in the <serviceContract> tag for each service capability is described in the following sections.

 


Charging service contract data

Listing D-2 shows the tags available for the charging service contract and the order they have to appear in.

Listing D-2 Charging service contract data

<serviceContract>
<startDate>2003-01-01</startDate>
<endDate>2004-01-01</endDate>
<scs>ESPA_charging</scs>
<serviceCode>45</serviceCode> <!-- Optional -->
<guarantee> <!-- Optional -->
   <methodGuarantee>
      <methodNameGuarantee>createChargingSession</methodNameGuarantee>
      <reqLimitGuarantee>10</reqLimitGuarantee>
      <timePeriodGuarantee>1000</timePeriodGuarantee>
   </methodGuarantee>
</guarantee>
<restriction> <!-- Optional -->
   <methodRestriction>
      <methodName>createChargingSession</methodName>
      <reqLimit>20</reqLimit>
      <timePeriod>1000</timePeriod>
   </methodRestriction>
</restriction>
<methodAccess> <!-- Optional -->
   <blacklistedMethod>
      <methodName>creditAmount</methodName>
   </blacklistedMethod>
   <blacklistedMethod>
      <methodName>creditUnit</methodName>
   </blacklistedMethod>
</methodAccess>
<currencyRestriction> <!-- Optional -->
   <allowedCurrency>
      <currencyCode>USD</currencyCode>
      <minAmount>1</minAmount>
      <maxAmount>10</maxAmount>
   </allowedCurrency>
   <allowedCurrency>
      <currencyCode>EUR</currencyCode>
      <minAmount>1</minAmount>
      <maxAmount>10</maxAmount>
   </allowedCurrency>
</currencyRestriction>
</serviceContract> 

<startdate>

This is a general tag, see Service capability common service contract data for a description.

<enddate>

This is a general tag, see Service capability common service contract data for a description.

<scs>

This is a general tag, see Service capability common service contract data for a description.

<serviceCode> - Application level SLAs only

This is a general tag, see Service capability common service contract data for a description.

<guarantee>

This is a general tag, see Service capability common service contract data for a description. It is possible to guarantee the access for the following methods:

<restriction>

This is a general tag, see Service capability common service contract data for a description. It is possible to restrict the access for the following methods:

<methodAccess>

This is a general tag, see Service capability common service contract data for a description. It is possible to block the access for the following methods:

<currencyRestriction>

This tag is used to specify the currencies allowed to use in the transactions handled by the charging service. The currency code is specified according to the ISO 4217 standard. To avoid too small and too large amounts in transactions, it is possible to specify a maximum and a minimum amount for each currency.

One <allowedCurrency> tag (including the <currencyCode>, <minAmount>, and <maxAmount> tags) is needed for each allowed currency. If all currencies are allowed, the tag is deleted or commented out.

 


Generic call control service contract data

Listing D-3 shows the tags available for the generic call control service contract and the order they have to appear in.

Listing D-3 Generic call control service contract data

<serviceContract>
<startDate>2003-01-01</startDate> 
<endDate>2004-01-01</endDate> 
<scs>ESPA_generic_call_control</scs> 
<maxNoOfActiveCalls>1000</maxNoOfActiveCalls> <!-- Optional -->
<serviceCode>45</serviceCode> <!-- Optional -->
<guarantee> <!-- Optional -->
   <methodGuarantee>
      <methodNameGuarantee>createCall</methodNameGuarantee>
      <reqLimitGuarantee>10</reqLimitGuarantee>
      <timePeriodGuarantee>1000</timePeriodGuarantee>
   </methodGuarantee>
</guarantee>
<restriction> <!-- Optional -->
   <methodRestriction>
      <methodName>createCall</methodName>
      <reqLimit>20</reqLimit>
      <timePeriod>1000</timePeriod>
   </methodRestriction>
</restriction>
<methodAccess> <!-- Optional -->
   <blacklistedMethod>
      <methodName>changeCallNotification</methodName>
   </blacklistedMethod>
</methodAccess>
<allowedGccEvents>OFFHOOK_EVENT ANSWER_FROM_CALL_PARTY</allowedGccEvents> <!-- Optional -->
</serviceContract> 

<startdate>

This is a general tag, see Service capability common service contract data for a description.

<enddate>

This is a general tag, see Service capability common service contract data for a description.

<scs>

This is a general tag, see Service capability common service contract data for a description.

<maxNoOfActiveCalls>

This tag [Row <Input/Output>] is used to specify the maximum number active calls the application is allowed to have. If there is no restriction, the tag is deleted or commented out.

<serviceCode> - Application level SLAs only

This is a general tag, see Service capability common service contract data for a description.

<guarantee>

This is a general tag, see Service capability common service contract data for a description. It is possible to guarantee the access for the following methods:

<restriction>

This is a general tag, see Service capability common service contract data for a description. It is possible to restrict the access for the following methods:

<methodAccess>

This is a general tag, see Service capability common service contract data for a description. It is possible to block the access for the following methods:

<allowedGccEvents>

This tag is used block the application from listening to network events. The allowed events are listed in the tag and separated with a space. The following events are available:

If the application is allowed to listen to all events, the tag should be deleted or commented out.

 


Generic messaging service contract data

Listing D-4 shows the tags available for the generic messaging service contract and the order they have to appear in.

Listing D-4 Generic messaging service contract data

<serviceContract>
<startDate>2003-01-01</startDate> 
<endDate>2004-01-01</endDate> 
<scs>ESPA_messaging</scs> 
<allowedCharging> <!-- Optional -->
   <allowedChargingList>0,1 0,5 1 2 3 4 5 10</allowedChargingList>
</allowedCharging>
<maxMessageSize>160</maxMessageSize> <!-- Optional -->
<allowedMmCharging> <!-- Optional -->
   <allowedChargingList>1 5 10 15 20 25 30</allowedChargingList>
</allowedMmCharging>
<maxMmMessageSize>100000</maxMmMessageSize> <!-- Optional -->
<allowedContentTypes> <!-- Optional -->
   <allowedContentTypeList>4 5 9 10</allowedContentTypeList>
<allowedContentTypes>
<serviceCode>45</serviceCode> <!-- Optional -->
<guarantee> <!-- Optional -->
   <methodGuarantee>
      <methodNameGuarantee>putMessage</methodNameGuarantee>
      <reqLimitGuarantee>10</reqLimitGuarantee>
      <timePeriodGuarantee>1000</timePeriodGuarantee>
   </methodGuarantee>
</guarantee>
<restriction> <!-- Optional -->
  <methodRestriction>
    <methodName>putMessage</methodName>
    <reqLimit>20</reqLimit>
    <timePeriod>1000</timePeriod>
  </methodRestriction>
</restriction>
<methodAccess> <!-- Optional -->
  <blacklistedMethod>
    <methodName>putMnMessage</methodName>
  </blacklistedMethod>
</methodAccess>
<gmsEventCriteria> <!-- Optional -->
  <allowedGmsEvent>
    <eventName>MESSAGE_ARRIVED</eventName>
  </allowedGmsEvent>
</gmsEventCriteria>
</serviceContract> 

<startdate>

This is a general tag, see Service capability common service contract data for a description.

<enddate>

This is a general tag, see Service capability common service contract data for a description.

<scs>

This is a general tag, see Service capability common service contract data for a description.

<allowedCharging>

This tag is used for specifying the allowed charging amuonts for SMSes. The amounts are specifed as a string with spaces between the allowed amounts.

<maxMessageSize>

This tag is used for specifying the maximum number characters allowed in a SMS message. This size can be larger than 160. In this case, the message will be split by the messaging plug-ins.

<allowedMmCharging>

This tag [Row is used for specifying the allowed charging amuonts for MMSes. The amounts are specifed as a string with spaces between the allowed amounts.

<maxMmMessageSize>

This tag is used for specifying the maximum size of a MMS message in bytes.

<allowedContentTypes>

This tag is used for specifying which content types are allowed in MMS messages. The allowed content types are specified as a string with spaces between the values representing the content types.

Value

Content type

0

UNDEFINED

1

APPLICATION_MULTIPART_MIXED

2

APPLICATION_MULTIPART_RELATED

3

APPLICATION_SMIL

4

IMAGE_GIF

5

IMAGE_JPEG

6

IMAGE_PNG

7

IMAGE_TIFF

8

IMAGE_WBMP

9

TEXT_HTML

10

TEXT_PLAIN

11

TEXT_WML

12

AUDIO_AMR

13

AUDIO_WAVE

14

AUDIO_MP3

15

AUDIO_AU

16

AUDIO_AIF

17

AUDIO_SND

18

AUDIO_RA

19

AUDIO_MID

<serviceCode> - Application level SLAs only

This is a general tag, see Service capability common service contract data for a description.

<guarantee>

This is a general tag, see Service capability common service contract data for a description. It is possible to guarantee the access for the following methods:

<restriction>

This is a general tag, see Service capability common service contract data for a description. It is possible to restrict the access for the following methods:

<methodAccess>

This is a general tag, see Service capability common service contract data for a description. It is possible to block the access for the following methods:

<gmsEventCriteria>

This tag is used to block the application from listening to network events. Since only two events are available, MESSAGE_ARRIVED and MESSAGE_DELIVERY_STATUS, the allowed event is entered in the tag.

If the application is allowed to listen to both events, the tag should be deleted or commented out.

 


Generic user interaction service contract data

Listing D-5 shows the tags available for the user interaction service contract and the order they have to appear in.

Listing D-5 Generic user interaction service contract data

<serviceContract>
<startDate>2003-01-01</startDate> 
<endDate>2004-01-01</endDate> 
<scs>ESPA_generic_user_interaction</scs>
<uiResourceType>USSD</uiResourceType>
<serviceCode>45</serviceCode> <!-- Optional -->
<guarantee> <!-- Optional -->
   <methodGuarantee>
      <methodNameGuarantee>createUICall</methodNameGuarantee>
      <reqLimitGuarantee>50</reqLimitGuarantee>
      <timePeriodGuarantee>6000</timePeriodGuarantee>
   </methodGuarantee>
</guarantee>
<restriction> <!-- Optional -->
   <methodRestriction>
      <methodName>createUICall</methodName>
      <reqLimit>100</reqLimit>
      <timePeriod>60000</timePeriod>
   </methodRestriction>
</restriction>
<methodAccess> <!-- Optional -->
   <blacklistedMethod>
      <methodName>sendInfoAndCollectReq</methodName>
   </blacklistedMethod>
</methodAccess>
</serviceContract> 

<startdate>

This is a general tag, see Service capability common service contract data for a description.

<enddate>

This is a general tag, see Service capability common service contract data for a description.

<scs>

This is a general tag, see Service capability common service contract data for a description.

<uiResourceType>

This tag is used to specify the messaging type the application uses for generic user interaction. The following messaging types are supported:

<serviceCode> - Application level SLAs only

This is a general tag, see Service capability common service contract data for a description.

<guarantee>

This is a general tag, see Service capability common service contract data for a description. It is possible to guarantee the access for the following methods:

<restriction>

This is a general tag, see Service capability common service contract data for a description. It is possible to restrict the access for the following methods:

<methodAccess>

This is a general tag, see Service capability common service contract data for a description. It is possible to block the access for the following methods:

 


Multiparty call control service contract data

Listing D-6 shows the tags available for the multiparty call control service contract and the order they have to appear in.

Listing D-6 Multiparty call control service contract data

<serviceContract>
<startDate>2003-01-01</startDate> 
<endDate>2004-01-01</endDate> 
<scs>ESPA_call_control</scs> 
<maxNoOfActiveCalls>1000</maxNoOfActiveCalls> <!-- Optional -->
<maxNoOfCallLegsInCall>31</maxNoOfCallLegsInCall> <!-- Optional --> 
<serviceCode>45</serviceCode> <!-- Optional -->
<guarantee> <!-- Optional -->
   <methodGuarantee>
      <methodNameGuarantee>createCall</methodNameGuarantee>
      <reqLimitGuarantee>10</reqLimitGuarantee>
      <timePeriodGuarantee>1000</timePeriodGuarantee>
   </methodGuarantee>
</guarantee>
<restriction> <!-- Optional -->
   <methodRestriction>
      <methodName>createCall</methodName>
      <reqLimit>20</reqLimit>
      <timePeriod>1000</timePeriod>
   </methodRestriction>
</restriction>
<methodAccess> <!-- Optional -->
   <blacklistedMethod>
      <methodName>createChargingSession</methodName>
   </blacklistedMethod>
</methodAccess>
<allowedMpccEvents>ADDRESS_COLLECTED ANSWER ORIGINATING_CALL_ATTEMPT</allowedMpccEvents> <!-- Optional -->
</serviceContract> 

<startdate>

This is a general tag, see Service capability common service contract data for a description.

<enddate>

This is a general tag, see Service capability common service contract data for a description.

<scs>

This is a general tag, see Service capability common service contract data for a description.

<maxNoOfActiveCalls>

This tag is used to specify the maximum number active calls the application is allowed to have. If there is no restriction, the tag is deleted or commented out.

<maxNoOfCallLegsInCall>

This tag is used to specify the maximum number call legs in a call the application is allowed to have. If there is no restriction, the tag should be deleted or commented out.

<serviceCode> - Application level SLAs only

This is a general tag, see Service capability common service contract data for a description.

<guarantee>

This is a general tag, see Service capability common service contract data for a description. It is possible to guarantee the access for the following methods:

<restriction>

This is a general tag, see Service capability common service contract data for a description. It is possible to restrict the access for the following methods:

<methodAccess>

This is a general tag, see Service capability common service contract data for a description. It is possible to block the access for the following methods:

<allowedMpccEvents>

This tag is used block the application from listening to network events. The allowed events are listed in the tag and separated with a space. The following events are available:

If the application is allowed to listen to all events, the tag should be deleted or commented out.

 


Subscriber profile service contract data

Listing D-7 shows the tags available for the subscriber profile service contract and the order they have to appear in.

Listing D-7 Subscriber profile service contract data

<serviceContract>
<startDate>2003-01-01</startDate> 
<endDate>2004-01-01</endDate> 
<scs>ESPA_subscriber_profile</scs> 
<permission>Read/Write</permission> <!-- Optional --> 
<serviceCode>45</serviceCode> <!-- Optional -->
<guarantee> <!-- Optional -->
   <methodGuarantee>
      <methodNameGuarantee>getInfoProperty</methodNameGuarantee>
      <reqLimitGuarantee>10</reqLimitGuarantee>
      <timePeriodGuarantee>1000</timePeriodGuarantee>
   </methodGuarantee>
</guarantee>
<restriction> <!-- Optional -->
   <methodRestriction>
      <methodName>getInfoProperty</methodName>
      <reqLimit>20</reqLimit>
      <timePeriod>1000</timePeriod>
   </methodRestriction>
</restriction>
<methodAccess> <!-- Optional -->
   <blacklistedMethod>
      <methodName>setInfoProperty</methodName>
   </blacklistedMethod>
</methodAccess>
</serviceContract> 

<startdate>

This is a general tag, see Service capability common service contract data for a description.

<enddate>

This is a general tag, see Service capability common service contract data for a description.

<scs>

This is a general tag, see Service capability common service contract data for a description.

<permission>

This tag specifies if the application's subscriber profile users have read and write access or read access only. Possible values are "Read/Write" or "Read".

<serviceCode> - Application level SLAs only

This is a general tag, see Service capability common service contract data for a description.

<guarantee>

This is a general tag, see Service capability common service contract data for a description. It is possible to guarantee the access for the following methods:

<restriction>

This is a general tag, see Service capability common service contract data for a description. It is possible to restrict the access for the following methods:

<methodAccess>

This is a general tag, see Service capability common service contract data for a description. It is possible to block the access for the following methods:

 


User interaction service contract data

Listing D-8 shows the tags available for the user interaction service contract and the order they have to appear in.

Listing D-8 User interaction service contract data

<serviceContract>
<startDate>2003-01-01</startDate> 
<endDate>2004-01-01</endDate> 
<scs>ESPA_user_interaction</scs> 
<serviceCode>45</serviceCode> <!-- Optional -->
<guarantee> <!-- Optional -->
   <methodGuarantee>
      <methodNameGuarantee>createUICall</methodNameGuarantee>
      <reqLimitGuarantee>10</reqLimitGuarantee>
      <timePeriodGuarantee>1000</timePeriodGuarantee>
   </methodGuarantee>
</guarantee>
<restriction> <!-- Optional -->
   <methodRestriction>
      <methodName>createUICall</methodName>
      <reqLimit>20</reqLimit>
      <timePeriod>1000</timePeriod>
   </methodRestriction>
</restriction>
<methodAccess> <!-- Optional -->
   <blacklistedMethod>
      <methodName>sendInfoAndCollectReq</methodName>
   </blacklistedMethod>
</methodAccess>
</serviceContract> 

<startdate>

This is a general tag, see Service capability common service contract data for a description.

<enddate>

This is a general tag, see Service capability common service contract data for a description.

<scs>

This is a general tag, see Service capability common service contract data for a description.

<serviceCode> - Application level SLAs only

This is a general tag, see Service capability common service contract data for a description.

<guarantee>

This is a general tag, see Service capability common service contract data for a description. It is possible to guarantee the access for the following methods:

<restriction>

This is a general tag, see Service capability common service contract data for a description. It is possible to restrict the access for the following methods:

<methodAccess>

This is a general tag, see Service capability common service contract data for a description. It is possible to block the access for the following methods:

 


User location service contract data

Listing D-9 shows the tags available for the user location service contract and the order they have to appear in.

Listing D-9 User location service contract data

<serviceContract>
<startDate>2003-01-01</startDate> 
<endDate>2004-01-01</endDate> 
<scs>ESPA_user_location</scs> 
<serviceCode>45</serviceCode> <!-- Optional -->
<guarantee> <!-- Optional -->
   <methodGuarantee>
      <methodNameGuarantee>locationReport</methodNameGuarantee>
      <reqLimitGuarantee>10</reqLimitGuarantee>
      <timePeriodGuarantee>1000</timePeriodGuarantee>
   </methodGuarantee>
</guarantee>
<restriction> <!-- Optional -->
   <methodRestriction>
      <methodName>locationReport</methodName>
      <reqLimit>20</reqLimit>
      <timePeriod>1000</timePeriod>
   </methodRestriction>
</restriction>
<methodAccess> <!-- Optional -->
   <blacklistedMethod>
      <methodName>periodicLocationReport</methodName>
   </blacklistedMethod>
</methodAccess>
</serviceContract> 

<startdate>

This is a general tag, see Service capability common service contract data for a description.

<enddate>

This is a general tag, see Service capability common service contract data for a description.

<scs>

This is a general tag, see Service capability common service contract data for a description.

<serviceCode>

This is a general tag, see Service capability common service contract data for a description.

<guarantee>

This is a general tag, see Service capability common service contract data for a description. It is possible to guarantee the access for the following methods:

<restriction>

This is a general tag, see Service capability common service contract data for a description. It is possible to restrict the access for the following methods:

<methodAccess>

This is a general tag, see Service capability common service contract data for a description. It is possible to block the access for the following methods:

 


User status service contract data

Listing D-10 shows the tags available for the user status service contract and the order they have to appear in.

Listing D-10 User status service contract data

<serviceContract>
<startDate>2003-01-01</startDate> 
<endDate>2004-01-01</endDate> 
<scs>ESPA_user_status</scs> 
<serviceCode>45</serviceCode> <!-- Optional -->
<guarantee> <!-- Optional -->
   <methodGuarantee>
      <methodNameGuarantee>statusReport</methodNameGuarantee>
      <reqLimitGuarantee>10</reqLimitGuarantee>
      <timePeriodGuarantee>1000</timePeriodGuarantee>
   </methodGuarantee>
</guarantee>
<restriction> <!-- Optional -->
   <methodRestriction>
      <methodName>statusReport</methodName>
      <reqLimit>20</reqLimit>
      <timePeriod>1000</timePeriod>
   </methodRestriction>
</restriction
<methodAccess> <!-- Optional -->
   <blacklistedMethod>
      <methodName>createChargingSession</methodName>
   </blacklistedMethod>
</methodAccess>
</serviceContract> 

<startdate>

This is a general tag, see Service capability common service contract data for a description.

<enddate>

This is a general tag, see Service capability common service contract data for a description.

<scs>

This is a general tag, see Service capability common service contract data for a description.

<serviceCode>

This is a general tag, see Service capability common service contract data for a description.

<guarantee>

This is a general tag, see Service capability common service contract data for a description. It is possible to guarantee the access for the following methods:

<restriction>

This is a general tag, see Service capability common service contract data for a description. It is possible to restrict the access for the following methods:

Note: Since only one method is available for user status, the <restriction> and <methodAccess> tags cannot exist together in the same service contract.

<methodAccess>

This is a general tag, see Service capability common service contract data for a description. It is possible to block the access for the following methods:

Note: Since only one method is available for user status, the <restriction> and <methodAccess> tags cannot exist together in the same service contract.

 


Service capability common service contract data

<startdate>

This tag specifies the date the application can start using the service capability . Use format YY-MM-DD.

Note that a later start date on the service provider level service contract overrides this date.

<enddate>

This tag specifies the last date the application can use service capability . Use format YY-MM-DD.

Note that an earlier end date on the service provider level service contract overrides this date.

<scs>

This tag specifies the SLEE service name of the ESPA service capability. The SLEE service name is the same as displayed in Network Gatekeeper Management Tool.

<serviceCode>

This tag is used to specify a serivce code that can be used for charging purposes. A service code specified by the application will be replaced with this code.

<guarantee>

This tag is used to specify a number of method requests the service provider or application is guaranteed during a specified time period (in milliseconds). That is, method requests from service providers and applications having the method tagged as guaranteed will have precedence before requests from service providers and applications not having the method tagged as guaranteed.

One <guarantee> tag (including the <methodName>, <reqLimit>, and <timePeriod> tags) is needed for each method that should have guaranteed usage.

<restriction>

This tag is used to restrict the number of method requests the application is allowed to do during a specified time period (in milliseconds). One <methodRestriction> tag (including the <methodName>, <reqLimit>, and <timePeriod> tags) is needed for each method that should have restricted usage.

If the application does not have any usage restrictions within the allowed methods, the whole <restriction> tag should be deleted or commented out.

<methodAccess>

This tag is used to block the application from accessing one or more methods in the service capability . One <blacklistedMethod> (including the <methodName> tag) is needed for each blocked method.

If the application is allowed to access all methods, the whole <methodAccess> tag should be deleted or commented out.

 

Skip navigation bar  Back to Top Previous Next