From 0df06e9ac54caeec9d29bb11e0b61befec83110b Mon Sep 17 00:00:00 2001 From: Eduardo Ramos Testillano Date: Fri, 20 Nov 2015 16:49:31 +0100 Subject: [PATCH] Remove limit to configure diameter server sessions to negative (no limit to accept incoming connections on diameter servers), at services.xml --- example/diameter/launcher/Launcher.cpp | 39 ++++++++++--------- example/diameter/launcher/RealmNode.cpp | 2 +- .../deployments/st-client/configure.sh | 16 ++++---- .../resources/services_examples/server.xml | 2 +- .../resources/services_examples/services.dtd | 39 ++++++++++--------- 5 files changed, 50 insertions(+), 48 deletions(-) diff --git a/example/diameter/launcher/Launcher.cpp b/example/diameter/launcher/Launcher.cpp index 45f51a9..0968b8d 100644 --- a/example/diameter/launcher/Launcher.cpp +++ b/example/diameter/launcher/Launcher.cpp @@ -65,50 +65,51 @@ const char *ServicesDTD = "\ \n\ originRealm: Node identifier (Origin-Realm name).\n\ applicationId: The Application-Id provided must exists as a registered 'stack id'.\n\ - originHost: Diameter application host name (system name). If missing, process sets o.s. hostname\n\ + originHost: Diameter application host name (system name). If missing, process sets o.s. hostname.\n\ Note that if you have two or more realms, the names must be different.\n\ cer: User defined CER path file to be encoded to establish diameter connections.\n\ - If missing, will be harcoded\n\ + If missing, will be harcoded.\n\ dwr: User defined DWR path file to be encoded for diameter protocol keep alive.\n\ - If missing, will be harcoded\n\ + If missing, will be harcoded.\n\ allowedInactivityTime: Milliseconds for the maximum allowed inactivity time on server sessions born over the\n\ - local server before being reset. If missing, default value of 90000 will be assigned\n\ + local server before being reset. If missing, default value of 90000 will be assigned.\n\ tcpConnectDelay: Milliseconds to wait TCP connect to any server. If missing, default value of 200 will\n\ be assigned\n\ answersTimeout: Milliseconds to wait pending application answers from diameter peers. If missing,\n\ - default value of 10000 will be assigned\n\ + default value of 10000 will be assigned.\n\ ceaTimeout: Milliseconds to wait CEA from diameter server. If missing, default value of 'answersTimeout'\n\ - will be assigned\n\ + will be assigned.\n\ watchdogPeriod: Milliseconds for watchdog timer (Tw) for diameter keep-alive procedure. If missing, default\n\ - value of 30000 will be assigned\n\ + value of 30000 will be assigned.\n\ entity: Target diameter entity (comma-separated '
:' format).\n\ - For example: 10.20.30.40:3868,10.20.30.41:3868. If missing, no entity will be enabled\n\ - entityServerSessions: Diameter entity server sessions (0: diameter entity disabled). Default value of 1\n\ + For example: 10.20.30.40:3868,10.20.30.41:3868. If missing, no entity will be enabled.\n\ + entityServerSessions: Diameter entity server sessions (0: diameter entity disabled). Default value of 1.\n\ diameterServer: Diameter own server address in '
:' format. For example: 10.20.30.40:3868.\n\ - If missing, no local server will be enabled\n\ - diameterServerSessions: Diameter own server available connections (0: diameter server disabled). Default value of 1\n\ + If missing, no local server will be enabled.\n\ + diameterServerSessions: Diameter own server available connections (0: diameter server disabled). Default value of 1.\n\ + Negative value implies no limit accepting incoming connections.\n\ balance: Balance over entity servers instead of doing standard behaviour (first primary, secondary\n\ - if fails, etc.). Default value 'no'\n\ + if fails, etc.). Default value 'no'.\n\ sessionBasedModelsClientSocketSelection: By default, round-robin will be applied for IEC model (SMS/MMS), and Session-Id Low Part\n\ will be analyzed for ECUR/SCUR model (data, voice and content). You could change ECUR/SCUR\n\ analysis behaviour providing 'SessionIdHighPart', 'SessionIdOptionalPart' (atoi applied;\n\ - usually subscriber id data, i.e. MSISDN or IMSI) and 'RoundRobin' (also 'SessionIdLowPart')\n\ - retries: Expired responses will cause a number of request retransmissions. Disabled by default (0 retries)\n\ + usually subscriber id data, i.e. MSISDN or IMSI) and 'RoundRobin' (also 'SessionIdLowPart').\n\ + retries: Expired responses will cause a number of request retransmissions. Disabled by default (0 retries).\n\ log: Process log file (operations result, traffic log, etc.). By default '.launcher.log'.\n\ Empty string or \"null\" name, to disable. Warning: there is no rotation for log files\n\ - (use logrotate or whatever you consider)\n\ + (use logrotate or whatever you consider).\n\ splitLog: Splits log file (appends to log filename, extensions with the type of event: see help on\n\ startup information-level traces). No log files for code/decode and load operations are created.\n\ - Default value 'no'\n\ + Default value 'no'.\n\ detailedLog: Insert detailed information at log files. Should be disabled on automatic tests. Useful on\n\ - 'balance' mode to know messages flow along the sockets. Default value 'no'\n\ + 'balance' mode to know messages flow along the sockets. Default value 'no'.\n\ dumpLog: Write to disk every incoming/outcoming message named as:\n\ '......xml'\n\ - Default value 'no'\n\ + Default value 'no'.\n\ burstLog: Burst operations log file. By default '.launcher.burst'. Empty string or \"null\" name, to disable.\n\ Warning: there is no rotation for log files (use logrotate or whatever). Output: dot (.) for each\n\ burst message sent/pushed, cross (x) for popped ones, and order number when multiple of 1% of burst\n\ - list size, plus OTA requests when changed\n\ + list size, plus OTA requests when changed.\n\ \n\ -->\n\ \n\ diff --git a/example/diameter/launcher/RealmNode.cpp b/example/diameter/launcher/RealmNode.cpp index d227650..ca6cfce 100644 --- a/example/diameter/launcher/RealmNode.cpp +++ b/example/diameter/launcher/RealmNode.cpp @@ -76,7 +76,7 @@ void RealmNode::createEntity(const std::string &entityRepresentation, const anna void RealmNode::startDiameterServer(const std::string &serverRepresentation, int sessions, const anna::Millisecond &inactivityTimeout) throw(anna::RuntimeException) { - if(sessions <= 0) return; + //if(sessions <= 0) return; negative implies no limit for accepted connections std::string address; int port; anna::functions::getAddressAndPortFromSocketLiteral(serverRepresentation, address, port); diff --git a/example/diameter/launcher/deployments/st-client/configure.sh b/example/diameter/launcher/deployments/st-client/configure.sh index 3073050..9030c46 100755 --- a/example/diameter/launcher/deployments/st-client/configure.sh +++ b/example/diameter/launcher/deployments/st-client/configure.sh @@ -76,14 +76,14 @@ calculate_deployment_layout() { read G_ADML_CONNECTIONS [ -z "$G_ADML_CONNECTIONS" ] && G_ADML_CONNECTIONS=1 [ $G_ADML_CONNECTIONS -lt 1 ] && G_ADML_CONNECTIONS=1 - if [ $G_ADML_CONNECTIONS -gt 1 ] - then - echo "Remember to add 'diameterServerSessions="$G_ADML_CONNECTIONS"' on servers services.xml file (node tag)" - echo " in case that you are testing against ADML servers." - echo - echo "Press ENTER to continue, CTRL-C to abort ..." - read dummy - fi +# if [ $G_ADML_CONNECTIONS -gt 1 ] +# then +# echo "Remember to add 'diameterServerSessions="$G_ADML_CONNECTIONS"' on servers services.xml file (node tag)" +# echo " in case that you are testing against ADML servers." +# echo +# echo "Press ENTER to continue, CTRL-C to abort ..." +# read dummy +# fi if [ $G_ADML_CONNECTIONS -gt $MAXIMUM_SUGGESTED_CLIENT_CONNECTION_PER_ADML_INSTANCE ] then G_ADML_CONNECTIONS=$MAXIMUM_SUGGESTED_CLIENT_CONNECTION_PER_ADML_INSTANCE diff --git a/example/diameter/launcher/resources/services_examples/server.xml b/example/diameter/launcher/resources/services_examples/server.xml index c257afc..b58ec6a 100644 --- a/example/diameter/launcher/resources/services_examples/server.xml +++ b/example/diameter/launcher/resources/services_examples/server.xml @@ -3,6 +3,6 @@ - + diff --git a/example/diameter/launcher/resources/services_examples/services.dtd b/example/diameter/launcher/resources/services_examples/services.dtd index 1e40d28..dee3f1e 100755 --- a/example/diameter/launcher/resources/services_examples/services.dtd +++ b/example/diameter/launcher/resources/services_examples/services.dtd @@ -25,50 +25,51 @@ originRealm: Node identifier (Origin-Realm name). applicationId: The Application-Id provided must exists as a registered 'stack id'. - originHost: Diameter application host name (system name). If missing, process sets o.s. hostname + 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. 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 + 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 + local server before being reset. If missing, default value of 90000 will be assigned. tcpConnectDelay: Milliseconds to wait TCP connect to any server. If missing, default value of 200 will - be assigned + be assigned. answersTimeout: Milliseconds to wait pending application answers from diameter peers. If missing, - default value of 10000 will be assigned + 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 + value of 30000 will be assigned. entity: Target diameter entity (comma-separated '
:' 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 + 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 '
:' 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 + 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. 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) + 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 '.launcher.log'. Empty string or "null" name, to disable. Warning: there is no rotation for log files - (use logrotate or whatever you consider) + (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' + 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' + 'balance' mode to know messages flow along the sockets. Default value 'no'. dumpLog: Write to disk every incoming/outcoming message named as: '......xml' - Default value 'no' + Default value 'no'. burstLog: Burst operations log file. By default '.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. --> -- 2.20.1