Improve dtd for ADML services
[anna.git] / example / diameter / launcher / resources / services_examples / services.dtd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Diameter services DTD -->
3
4 <!ELEMENT services ((stack*, node*)|(node*, stack*))>
5
6 <!ELEMENT stack EMPTY>
7 <!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>
8 <!--
9    Stack record
10
11    id:                      Normally the id corresponds to the Application-Id for which the dictionary provided is designed
12                             (in multistack applications, it shall be mandatory respect such association to know the stack used
13                             for processed messages).
14    dictionary:              Path to the dictionary file.
15    validationMode:          Sets the validation mode. Default is 'AfterDecoding'.
16    validationDepth:         Sets the validation depth. Default is 'FirstError'.
17    fixMode:                 Sets the fix mode. Default is 'BeforeEncoding'.
18    ignoreFlagsOnValidation: Ignore flags during message validation. Default is 'no'.
19 -->
20
21 <!ELEMENT node EMPTY>
22 <!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>
23 <!--
24    Node record
25
26    originHost:                              Node identifier as diameter application host name.
27    applicationId:                           The Application-Id provided must exists as a registered 'stack id'.
28    originRealm:                             Origin-Realm (domain-name internally used by default).
29
30
31    - Diameter clients:
32
33    entity:                                  Target diameter entity (comma-separated '<address>:<port>' format).
34                                             For example: 10.20.30.40:3868,10.20.30.41:3868. If missing, no entity will be enabled.
35    entityServerSessions:                    Diameter entity server sessions (0: diameter entity disabled). Default value of 1.
36    cer:                                     User defined CER path file to be encoded to establish diameter connections.
37                                             If missing, will be harcoded.
38    dwr:                                     User defined DWR path file to be encoded for diameter protocol keep alive.
39                                             If missing, will be harcoded.
40    tcpConnectDelay:                         Milliseconds to wait TCP connect to any server. If missing, default value of 200 will
41                                             be assigned
42    ceaTimeout:                              Milliseconds to wait CEA from diameter server. If missing, default value of 'answersTimeout'
43                                             will be assigned.
44    watchdogPeriod:                          Milliseconds for watchdog timer (Tw) for diameter keep-alive procedure. If missing, default
45                                             value of 30000 will be assigned.
46    balance:                                 Balance over entity servers instead of doing standard behaviour (first primary, secondary
47                                             if fails, etc.). Default value 'no'.
48    sessionBasedModelsClientSocketSelection: By default, round-robin will be applied for IEC model (SMS/MMS), and Session-Id Low Part
49                                             will be analyzed for ECUR/SCUR model (data, voice and content). You could change ECUR/SCUR
50                                             analysis behaviour providing 'SessionIdHighPart', 'SessionIdOptionalPart' (atoi applied;
51                                             usually subscriber id data, i.e. MSISDN or IMSI) and 'RoundRobin' (also 'SessionIdLowPart').
52
53
54    - Diameter servers:
55
56    diameterServer:                          Diameter own server address in '<address>:<port>' format. For example: 10.20.30.40:3868.
57                                             If missing, no local server will be enabled.
58    diameterServerSessions:                  Diameter own server available connections (0: diameter server disabled). Default value of 1.
59                                             Negative value implies no limit accepting incoming connections.
60    cea:                                     User defined CEA path file to be encoded to answer client CERs.
61                                             If missing, will be harcoded.
62    allowedInactivityTime:                   Milliseconds for the maximum allowed inactivity time on server sessions born over the
63                                             local server before being reset. If missing, default value of 90000 will be assigned.
64
65
66    - General:
67
68    answersTimeout:                          Milliseconds to wait pending application answers from diameter peers. If missing,
69                                             default value of 10000 will be assigned.
70    retries:                                 Expired responses will cause a number of request retransmissions. Disabled by default (0 retries).
71    log:                                     Process log file (operations result, traffic log, etc.). By default '<originHost>.launcher.log'.
72                                             Empty string or \"null\" name, to disable. Warning: there is no rotation for log files
73                                             (use logrotate or whatever you consider).
74    splitLog:                                Splits log file (appends to log filename, extensions with the type of event: check 'HELP.md' for
75                                             more information. No log files for code/decode and load operations are created. Default value 'no'.
76    detailedLog:                             Insert detailed information at log files (timestamps, communication resources, etc.). Useful
77                                             to analyze the messages flow along the sockets (specially on 'balance' mode). Default 'no'.
78    dumpLog:                                 Write to disk every incoming/outcoming message named as:
79                                                '<unix ms timestamp>.<originHost>.<hop by hop>.<end to end>.<message code>.<request|answer>.<type of event>.xml'
80                                             Default value 'no'.
81    burstLog:                                Burst operations log file. By default '<originHost>.launcher.burst'. Empty string or \"null\" name, to disable.
82                                             Warning: there is no rotation for log files (use logrotate or whatever). Output: dot (.) for each
83                                             burst message sent/pushed, cross (x) for popped ones, and order number when multiple of 1% of burst
84                                             list size, plus OTA requests when changed.
85
86 -->
87