WebSphere brand IBM WebSphere Presence Server, Version 7.0

The XML configuration file

An XML file is used to set up the configuration during installation. The same file is used to update the configuration as needed.

Configuration file location

During the installation process, the XML configuration file–SystemConfiguration.xml–is copied to thePresence Server. The default location is
  • AIXLinux was_root/installableApps/presence/scripts/config/SystemConfiguration.xml
Note: was_root is the installation root directory for WebSphere® Application Server Network Deployment. By default, this directory is:
  • AIX /usr/IBM/WebSphere/AppServer
  • Linux /opt/IBM/WebSphere/AppServer

Default configuration file

The following is an example of the Presence Server SystemConfiguration.xml configuration file. The values in this file are the default values that Presence Server uses if a configuration file is not found in the database.

<system-configuration version="7.0">
	<!-- Expiration period (in minutes) of SIP PUBLISH requests -->
	<publishExpiration default="60" maximum="1440" minimum="1"/>
	
	<!-- Expiration period (in minutes) of SIP SUBSCRIBE requests -->
	<subscribeExpiration default="60" maximum="1440" minimum="1"/>
	
	<!--  Usage records generation per SIP request -->
	<usageRecords publish="true" subscribe="true" notify="true"/>
	
	<!--  PMI configuration -->
	<PMI accumulationTime="1" outputToTrace="false" outputViaSOA="false"/>
	
	<!-- Flag indicating whether the JMS message sent to servers in the cluster following a change in a full document, 
	should include the full document in the JMS message body -->
	<documentChangeJMS includeFullDocument="true"/>
	
	<!-- Cache Configuration -->
	<documentCache enable="true"/>
	
	<!-- Partial Configuration -->
	<partialDocuments acceptPartialPublish="false" sendPartialNotify="false"/>
	
	<!-- Configuring XDMS server, the sip-address for SUBSCRIBE request, and authorized user to get XCAP documents -->
	<groupListServer enable="false" sipAddress="" fromURI="" assertedIdentity="" user="" password="" subscribeExpiration="63"  retryInterval="5" 
	                 xcapRoot="" enableXcapEvent="" specifyAssertedIdentityOnAllRequests="true"/>
	
	<!-- Configuring S-CSCF server, the sip-address to send SUBSCRIBE requests is required -->
	<S-CSCF enable="false" sipAddress="" fromURI="" assertedIdentity="" subscribeExpiration="63" 
			retryInterval="5" specifyAssertedIdentityOnAllRequests="true"/>
	
	<!-- Watcher information subscriptions -->
	<watcherInfo enable="false" waitingDays="4" waitingCheckInterval="60"/>
	
	<!--  disabling/enabling the authorization mechanism  --> 
	<externalAuthorization enable="false"/>
	
	<!-- white and black list authorization  --> 
	<authorizationLists enable="false" sipAddress="" fromURI="" assertedIdentity="" user="" password="" subscribeExpiration="63" retryInterval="1" 
	                 xcapRoot="" whiteListPath="" blackListPath="" specifyAssertedIdentityOnAllRequests="true"/> 	
	
	<!-- Configuring XDMS server, the sip-address for SUBSCRIBE request, and authorized user to get presence rules documents -->
	<presenceRules enable="false" XDMSSipAddress="" fromURI="" assertedIdentity="" user="" password="" subscribeExpiration="63" retryInterval="5" 
	                 xcapRoot="" enableMultipleIDMapping="true" specifyAssertedIdentityOnAllRequests="true"/>
	
	<!-- Flag indicating whether the JMS message sent to servers in the cluster following a change in authorization, 
		 should include the authorization document in the JMS message body  --> 
	<authorizationChangeJMS includeFullDocument="true"/>
	
	<!-- list of SIP external sources for presence informations  --> 
	<externalSources>
		<externalSource enable="false" sipAddress="" fromURI="" assertedIdentity="" subscribeExpiration="60" retryInterval="5" 
	                 triggerEventPackage="" sourceEventPackage="" acceptHeader="" specifyAssertedIdentityOnAllRequests="true"/>
	</externalSources>
	
	<!-- JmxListener user and password, for Mbean server connection -->
	<jmxListener enable="false" user="" password=""/>
	
	<!--  Configure the presence server to copy headers from incoming Subscribe requests to Notify requests on the same session   --> 
	<copyToNotifyHeaders enable="false">
	  	<header name="" />
	</copyToNotifyHeaders>
	
	<!--  Configure Presence Server to consider fundamental URIs for presentity management.  --> 
    <publicIDMapping enableForWhiteList="false" enableForBlackList="false" enableForPresenceRules="false"/>
	
	<!--  Configure how long to wait (in seconds) while collecting information from XDMS and external sources before 
  		  sending the notification to the client  --> 
	<waitForExternalInformation maxInterval="15" /> 	
	
	<!--  Configure Notification throttling -->	
	<throttling enable="true">
		<!-- list of event package and default throttle intervals (in seconds) -->
		<event name="presence" default="5" minimum="5" maximum="600"/>
		<event name="presence.winfo" default="5" minimum="5" maximum="600"/>
		<event name="presence.winfo.winfo" default="5" minimum="5" maximum="600"/>
	</throttling>
	
	<!-- Configure Content Indirection -->
	<contentIndirection enable="false" maxDocumentLength="1000" proxyHttpUrl="" documentExpiration="600" /> 
	
	<!-- Standalone Presence Server   -->
	<standalonePresenceServer enable="false" RLSAssertedIdentity=""/>
	
	<!-- Standalone RLS configuration  -->
	<standaloneRLS enable="false" entryAddress="" assertedIdentity=""/>
	
	<!-- Routing service configuration  -->
	<routingService enable="false" class="com.ibm.presence.routing.DefaultRoutingService">
		<presenceServerCluster address=""/>
		<presenceServerCluster address=""/>
		<presenceServerCluster address=""/>
	</routingService>
	
	<!-- Configure Presence Server authentication behavior -->
	<authentication authenticatedUserOnAllRequests="true"/>
	
</system-configuration>
For the assertedIdentity attribute, the display name is optional. If you choose to define a display name, you must use the HTML code for symbols for the value of the attribute. For example, use
<assertedIdentity="&quot;Super Admin&quot; &lt;glm:GLMSuperAdmin&gt;"/>
instead of
<assertedIdentity=""Super Admin" <glm:GLMSuperAdmin>" />

Sample configuration file

The following sample SystemConfiguration.xml file includes sample values to help you understand the syntax of the attributes.
<system-configuration version="7.0">
	<!-- Expiration period (in minutes) of SIP PUBLISH requests -->
	<publishExpiration default="60" maximum="1440" minimum="1"/>
	
	<!-- Expiration period (in minutes) of SIP SUBSCRIBE requests -->
	<subscribeExpiration default="60" maximum="1440" minimum="1"/>
	
	<!--  Usage records generation per SIP request -->
	<usageRecords publish="true" subscribe="true" notify="true"/>
	
	<!--  PMI configuration -->
	<PMI accumulationTime="1" outputToTrace="false" outputViaSOA="false"/>
	
	<!-- Flag indicating whether the JMS message sent to servers in the cluster following a change in a full document, 
	should include the full document in the JMS message body -->
	<documentChangeJMS includeFullDocument="true"/>
	
	<!-- Cache Configuration -->
	<documentCache enable="true"/>

	<!-- Partial Configuration -->
	<partialDocuments acceptPartialPublish="true" sendPartialNotify="true"/>
	
	<!-- Configuring XDMS server, the sip-address for SUBSCRIBE request, and authorized user to get XCAP documents -->
	<groupListServer enable="true" sipAddress="sip:server.example.com:7010;transport=UDP" 
	                 assertedIdentity="&quot;Super Admin1&quot;&lt;sip:ps@example.com&gt;" user="glsuser" password="authpw" fromURI="sip:Admin1@example.com" 
	                 retryInterval="5" subscribeExpiration="63" xcapRoot="http://xdmshostname.example.com:9086/services" 
	                 enableXcapEvent="true" specifyAssertedIdentityOnAllRequests="true"/>
	
	<!-- Configuring S-CSCF server, the sip-address to send SUBSCRIBE requests is required -->
	<S-CSCF enable="true" sipAddress="sip:server.example.com:7010;transport=UDP" 
	                 fromURI="sip:Admin1@example.com" assertedIdentity="&quot;Super Admin1&quot;&lt;sip:ps@example.com&gt;" 
	                 subscribeExpiration="63" retryInterval="5" specifyAssertedIdentityOnAllRequests="true"/>
	
	<!-- Watcher information subscriptions -->
	<watcherInfo enable="true" waitingDays="4" waitingCheckInterval="60"/>
	
	<!--  disabling/enabling the authorization mechanism  --> 
	<externalAuthorization enable="true"/>
	
	<!-- white and black list authorization  --> 
	<authorizationLists enable="true" sipAddress="sip:xdmshostname.example.com:5070" 
	                 fromURI="sip:user@example.com" assertedIdentity="sip:superadmin@example.com" user="glsuser" 
	                 password="authpw" subscribeExpiration="63" retryInterval="1" xcapRoot="" 
	                 whiteListPath="xcap.example.com/services/resource-lists/users/sip:white.xml" 
	                 blackListPath="xcap.example.com/services/resource-lists/users/sip:black.xml"  specifyAssertedIdentityOnAllRequests="true"/> 	
	
	<!-- Configuring XDMS server, the sip-address for SUBSCRIBE request, and authorized user to get presence rules documents -->
	<presenceRules enable="true" XDMSSipAddress="sip:xdmshostname.example.com:5070" assertedIdentity="sip:superadmin@example.com" 
	                 fromURI="sip:user@example.com" xcapRoot="http://xdmshostname.example.com:9086/services" 
	                 user="glsuser" password="authpw" subscribeExpiration="63" retryInterval="5" 
	                 enableMultipleIDMapping="true" specifyAssertedIdentityOnAllRequests="true"/>	
	<!-- Flag indicating whether the JMS message sent to servers in the cluster following a change in authorization, 
		 should include the authorization document in the JMS message body  --> 
	<authorizationChangeJMS includeFullDocument="true"/>	
	<!-- list of SIP external sources for presence informations  --> 
	<externalSources>
		<externalSource enable="true" sipAddress="sip:server.example.com:7010;transport=UDP" 
	                 fromURI="sip:Admin1@example.com" assertedIdentity="&quot;Super Admin1&quot;&lt;sip:ps@example.com&gt;" 
	                 subscribeExpiration="20" retryInterval="10" triggerEventPackage="presence" sourceEventPackage="presence" 
	                 acceptHeader="" specifyAssertedIdentityOnAllRequests="true"/>
	</externalSources>
	
	<!-- JmxListener user and password, for Mbean server connection -->
	<jmxListener enable="true" user="wasuser" password="passwd"/>
	
	<!--  Configure the presence server to copy headers from incoming Subscribe requests to Notify requests on the same session   --> 
	<copyToNotifyHeaders enable="true">
	  	<header name="P-Charging-Vector" />
	</copyToNotifyHeaders>
	
	<!--  Configure Presence Server to consider fundamental URIs for presentity management.  --> 
	<publicIDMapping enableForWhiteList="true" enableForBlackList="true" enableForPresenceRules="true"/>	

	<!--  Configure how long to wait (in seconds) while collecting information from XDMS and external sources before 
		 sending the notification to the client  --> 
	<waitForExternalInformation maxInterval="15" />	
	
	<!--  Configure Notification throttling -->	
	<throttling enable="true"> 
	     <event name="presence" default="5" minimum="5" maximum="600"/> 
	     <event name="presence.winfo" default="5" minimum="5" maximum="600"/> 
	     <event name="presence.winfo.winfo" default="5" minimum="5" maximum="600"/>
	</throttling>
	
	<!-- Configure Content Indirection -->
	<contentIndirection enable="true" maxDocumentLength="1000" 
	                 proxyHttpUrl="http://sip.server.example.com:9080/siplets/content" documentExpiration="600" /> 
	
	<!-- Standalone Presence Server   -->
	<standalonePresenceServer enable="true" RLSAssertedIdentity="sip:superadmin@example.com"/>
	
	<!-- Standalone RLS configuration  -->
	<standaloneRLS enable="true" entryAddress="sip:scscfhostname.example.com:7010;transport=TCP" 
	                 assertedIdentity="sip:superadmin@example.com"/>
	
	<!-- Routing service configuration  -->
	<routingService enable="true" class="com.ibm.presence.routing.DefaultRoutingService">
	
		<presenceServerCluster address="sip:pshostname.example.com:7010"/>
		</routingService>
	
	<!-- Configure Presence Server authentication behavior -->
	<authentication authenticatedUserOnAllRequests="true"/>

</system-configuration>



Terms of use
(C) Copyright IBM Corporation 2009. All Rights Reserved.