-#!/bin/ksh
+#!/bin/bash
# Remove logs:
rm *.log* *.csv 2>/dev/null
echo
echo
-# Fast start
-quick () {
- echo "Do you wish to answer wizard commandline configuration ? (y/n) [n]:"
- read wizard
- [[ "$wizard" = "" ]] && wizard=n
- [[ "$wizard" = "n" ]] && exit
-}
-
-[ "$httpServer_dflt" != "" -a "$diameterServer_dflt" != "" -a "$diameterServerSessions_dflt" != "" -a \
+# If all have values:
+if [ "$httpServer_dflt" != "" -a "$diameterServer_dflt" != "" -a "$diameterServerSessions_dflt" != "" -a \
"$entity_dflt" != "" -a "$entityServerSessions_dflt" != "" -a \
- "$dictionary_dflt" != "" ] && quick
+ "$dictionary_dflt" != "" ]
+then
+ echo "Do you wish to answer wizard commandline configuration ? (y/n) [n]:"
+ read wizard
+ [[ "$wizard" = "" ]] && wizard=n
+ [[ "$wizard" = "n" ]] && exit
+fi
+
+# DEFAULTS
+[[ "$httpServer_dflt" = "" ]] && httpServer_dflt="localhost:9000"
+[[ "$diameterServer_dflt" = "" ]] && diameterServer_dflt="localhost:3868"
+[[ "$diameterServerSessions_dflt" = "" ]] && diameterServerSessions_dflt=1
+[[ "$entity_dflt" = "" ]] && entity_dflt="localhost:4000,localhost:4001"
+[[ "$entityServerSessions_dflt" = "" ]] && entityServerSessions_dflt=0
+[[ "$dictionary_dflt" = "" ]] && dictionary_dflt=dictionary.xml
+
# Wizard
-[[ "$httpServer_dflt" = "" ]] && httpServer_dflt="localhost:9000"
echo "HTTP Management interface address (using i.e. curl tool) as <ip|hostname>:<port> socket literal [$httpServer_dflt]:"
read httpServer
[[ "$httpServer" = "" ]] && httpServer=$httpServer_dflt
-echo "Diameter dictionary: you could use NexusPL 'stackManagement' tool in order to build an autonomous dictionary"
-echo " for any kind of application. See '<NEXUSPL>/test.ss/diameter.ss/stackManagement.p/self_ruling_setups.sh'."
+echo "Diameter dictionary: you could use '/opt/bin/anna/example_diameter_stackManagement' tool in order to build"
+echo " autonomous dictionaries for any kind of application. The key is to concatenate xml contents (ietf, 3gpp,"
+echo " vendor-specific, etc.). See 'example/diameter/stackManagement/self_ruling_setups.sh' for this."
echo
-[[ "$dictionary_dflt" = "" ]] && dictionary_dflt=dictionary.xml
-echo "Diameter stack pathfiles [$dictionary_dflt]:"
+echo "This launcher can also join them providing a comma-separated list (dictionaries available on ./stack)."
+echo "By default, a QoS Application setup is suggested. Input the desired configuration instead, or press ENTER:"
+echo
+echo " [$dictionary_dflt]:"
read dictionary
[[ "$dictionary" = "" ]] && dictionary=$dictionary_dflt
-[[ "$diameterServer_dflt" = "" ]] && diameterServer_dflt="ocs2dfed1:3868"
-echo "Diameter own server address as <ip|hostname>:<port> socket literal [$diameterServer_dflt]:"
-read diameterServer
-[[ "$diameterServer" = "" ]] && diameterServer=$diameterServer_dflt
-
-[[ "$diameterServerSessions_dflt" = "" ]] && diameterServerSessions_dflt=0
+# As server:
echo "Diameter own server available connections (0: diameter server disabled) [$diameterServerSessions_dflt]:"
read diameterServerSessions
[[ "$diameterServerSessions" = "" ]] && diameterServerSessions=$diameterServerSessions_dflt
+diameterServer=
+if test "$diameterServerSessions" != "0"
+then
+ echo "Diameter own server address as <ip|hostname>:<port> socket literal [$diameterServer_dflt]:"
+ read diameterServer
+fi
+[[ "$diameterServer" = "" ]] && diameterServer=$diameterServer_dflt
-[[ "$entity_dflt" = "" ]] && entity_dflt="ocs2dfed1:4000,ocs2dfed1:4001"
-echo "Target diameter entity (pipe-separated <ip|hostname>:<port> socket literal list) ["$entity_dflt"]:"
-read entity
-[[ "$entity" = "" ]] && entity="$entity_dflt"
-
-[[ "$entityServerSessions_dflt" = "" ]] && entityServerSessions_dflt=1
+# As client:
echo "Diameter entity server sessions (0: diameter entity disabled) [$entityServerSessions_dflt]:"
read entityServerSessions
[[ "$entityServerSessions" = "" ]] && entityServerSessions=$entityServerSessions_dflt
+entity=
+if test "$entityServerSessions" != "0"
+then
+ echo "Target diameter entity (pipe-separated <ip|hostname>:<port> socket literal list) ["$entity_dflt"]:"
+ read entity
+fi
+[[ "$entity" = "" ]] && entity="$entity_dflt"
+# Configure:
echo $httpServer > .httpServer
echo $dictionary > .dictionary
echo $diameterServer > .diameterServer