<!ELEMENT services (stack*, node*)>
<!ELEMENT stack EMPTY>
-<!ATTLIST stack id CDATA #REQUIRED dictionary CDATA #REQUIRED>
+<!ATTLIST stack id CDATA #REQUIRED dictionary CDATA #REQUIRED validationMode (BeforeEncoding | AfterDecoding | Always | Never) #IMPLIED validationDepth (Complete | FirstError) #IMPLIED fixMode (BeforeEncoding | AfterDecoding | Always | Never) #IMPLIED ignoreFlagsOnValidation (yes | no) #IMPLIED>
<!--
Stack record
- id: Normally the id corresponds to the Application-Id for which the dictionary provided is designed
- (in multistack applications, it shall be mandatory respect such association to know the stack used
- for processed messages).
- dictionary: Path to the dictionary file
+ id: Normally the id corresponds to the Application-Id for which the dictionary provided is designed
+ (in multistack applications, it shall be mandatory respect such association to know the stack used
+ for processed messages).
+ dictionary: Path to the dictionary file.
+ validationMode: Sets the validation mode. Default is 'AfterDecoding'.
+ validationDepth: Sets the validation depth. Default is 'FirstError'.
+ fixMode: Sets the fix mode. Default is 'BeforeEncoding'.
+ ignoreFlagsOnValidation: Ignore flags during message validation. Default is 'no'.
-->
<!ELEMENT node EMPTY>
-<!ATTLIST node originRealm CDATA #REQUIRED originHost CDATA #IMPLIED cer CDATA #IMPLIED dwr CDATA #IMPLIED allowedInactivityTime CDATA #IMPLIED tcpConnectDelay CDATA #IMPLIED answersTimeout CDATA #IMPLIED ceaTimeout CDATA #IMPLIED watchdogPeriod CDATA #IMPLIED entity CDATA #IMPLIED entityServerSessions CDATA #IMPLIED diameterServer CDATA #IMPLIED diameterServerSessions CDATA #IMPLIED balance (yes | no) #IMPLIED sessionBasedModelsClientSocketSelection (SessionIdLowPart | SessionIdHighPart | SessionIdOptionalPart | RoundRobin) #IMPLIED retries CDATA #IMPLIED log CDATA #IMPLIED splitLog (yes | no) #IMPLIED detailedLog (yes | no) #IMPLIED dumpLog (yes | no) #IMPLIED burstLog (yes | no) #IMPLIED>
+<!ATTLIST node originHost CDATA #REQUIRED applicationId CDATA #REQUIRED originRealm CDATA #IMPLIED cer CDATA #IMPLIED dwr CDATA #IMPLIED cea CDATA #IMPLIED allowedInactivityTime CDATA #IMPLIED tcpConnectDelay CDATA #IMPLIED answersTimeout CDATA #IMPLIED ceaTimeout CDATA #IMPLIED watchdogPeriod CDATA #IMPLIED entity CDATA #IMPLIED entityServerSessions CDATA #IMPLIED diameterServer CDATA #IMPLIED diameterServerSessions CDATA #IMPLIED balance (yes | no) #IMPLIED sessionBasedModelsClientSocketSelection (SessionIdLowPart | SessionIdHighPart | SessionIdOptionalPart | RoundRobin) #IMPLIED retries CDATA #IMPLIED log CDATA #IMPLIED splitLog (yes | no) #IMPLIED detailedLog (yes | no) #IMPLIED dumpLog (yes | no) #IMPLIED burstLog (yes | no) #IMPLIED>
<!--
Node record
- originRealm: Node identifier (Origin-Realm name).
- originHost: Diameter application host name (system name). If missing, process sets o.s. hostname
- Note that if you have two or more realms, the names must be different.
+ originHost: Node identifier as diameter application host name.
+ applicationId: The Application-Id provided must exists as a registered 'stack id'.
+ originRealm: Origin-Realm (domain-name internally used by default).
+
+
+ - Diameter clients:
+
+ entity: Target diameter entity (comma-separated '<address>:<port>' format).
+ For example: 10.20.30.40:3868,10.20.30.41:3868. If missing, no entity will be enabled.
+ entityServerSessions: Diameter entity server sessions (0: diameter entity disabled). Default value of 1.
cer: User defined CER path file to be encoded to establish diameter connections.
- If missing, will be harcoded
+ If missing, will be harcoded.
dwr: User defined DWR path file to be encoded for diameter protocol keep alive.
- If missing, will be harcoded
- allowedInactivityTime: Milliseconds for the maximum allowed inactivity time on server sessions born over the
- local server before being reset. If missing, default value of 90000 will be assigned
+ If missing, will be harcoded.
tcpConnectDelay: Milliseconds to wait TCP connect to any server. If missing, default value of 200 will
be assigned
- answersTimeout: Milliseconds to wait pending application answers from diameter peers. If missing,
- default value of 10000 will be assigned
ceaTimeout: Milliseconds to wait CEA from diameter server. If missing, default value of 'answersTimeout'
- will be assigned
+ will be assigned.
watchdogPeriod: Milliseconds for watchdog timer (Tw) for diameter keep-alive procedure. If missing, default
- value of 30000 will be assigned
- entity: Target diameter entity (comma-separated '<address>:<port>' format).
- For example: 10.20.30.40:3868,10.20.30.41:3868. If missing, no entity will be enabled
- entityServerSessions: Diameter entity server sessions (0: diameter entity disabled). Default value of 1
- diameterServer: Diameter own server address in '<address>:<port>' format. For example: 10.20.30.40:3868.
- If missing, no local server will be enabled
- diameterServerSessions: Diameter own server available connections (0: diameter server disabled). Default value of 1
+ value of 30000 will be assigned.
balance: Balance over entity servers instead of doing standard behaviour (first primary, secondary
- if fails, etc.). Default value 'no'
+ if fails, etc.). Default value 'no'.
sessionBasedModelsClientSocketSelection: By default, round-robin will be applied for IEC model (SMS/MMS), and Session-Id Low Part
will be analyzed for ECUR/SCUR model (data, voice and content). You could change ECUR/SCUR
analysis behaviour providing 'SessionIdHighPart', 'SessionIdOptionalPart' (atoi applied;
- usually subscriber id data, i.e. MSISDN or IMSI) and 'RoundRobin' (also 'SessionIdLowPart')
- retries: Expired responses will cause a number of request retransmissions. Disabled by default (0 retries)
- log: Process log file (operations result, traffic log, etc.). By default '<originRealm>.launcher.log'.
- Empty string or "null" name, to disable. Warning: there is no rotation for log files
- (use logrotate or whatever you consider)
+ usually subscriber id data, i.e. MSISDN or IMSI) and 'RoundRobin' (also 'SessionIdLowPart').
+
+
+ - Diameter servers:
+
+ diameterServer: Diameter own server address in '<address>:<port>' format. For example: 10.20.30.40:3868.
+ If missing, no local server will be enabled.
+ diameterServerSessions: Diameter own server available connections (0: diameter server disabled). Default value of 1.
+ Negative value implies no limit accepting incoming connections.
+ cea: User defined CEA path file to be encoded to answer client CERs.
+ If missing, will be harcoded.
+ allowedInactivityTime: Milliseconds for the maximum allowed inactivity time on server sessions born over the
+ local server before being reset. If missing, default value of 90000 will be assigned.
+
+
+ - General:
+
+ answersTimeout: Milliseconds to wait pending application answers from diameter peers. If missing,
+ default value of 10000 will be assigned.
+ retries: Expired responses will cause a number of request retransmissions. Disabled by default (0 retries).
+ log: Process log file (operations result, traffic log, etc.). By default '<originHost>.launcher.log'.
+ Empty string or \"null\" name, to disable. Warning: there is no rotation for log files
+ (use logrotate or whatever you consider).
splitLog: Splits log file (appends to log filename, extensions with the type of event: see help on
startup information-level traces). No log files for code/decode and load operations are created.
- Default value 'no'
- detailedLog: Insert detailed information at log files. Should be disabled on automatic tests. Useful on
- 'balance' mode to know messages flow along the sockets. Default value 'no'
+ Default value 'no'.
+ detailedLog: Insert detailed information at log files (timestamps, communication resources, etc.). Useful
+ to analyze the messages flow along the sockets (specially on 'balance' mode). Default 'no'.
dumpLog: Write to disk every incoming/outcoming message named as:
- '<originRealm>.<hop by hop>.<end to end>.<message code>.<request|answer>.<type of event>.xml'
- Default value 'no'
- burstLog: Burst operations log file. By default '<originRealm>.launcher.burst'. Empty string or "null" name, to disable.
+ '<unix ms timestamp>.<originHost>.<hop by hop>.<end to end>.<message code>.<request|answer>.<type of event>.xml'
+ Default value 'no'.
+ burstLog: Burst operations log file. By default '<originHost>.launcher.burst'. Empty string or \"null\" name, to disable.
Warning: there is no rotation for log files (use logrotate or whatever). Output: dot (.) for each
burst message sent/pushed, cross (x) for popped ones, and order number when multiple of 1% of burst
- list size, plus OTA requests when changed
+ list size, plus OTA requests when changed.
-->