DCTDTD=../../../include/anna/diameter/stack/dictionary.dtd
BASE_PROT=commands_baseProtocol.xml
SERVICES=./resources/services_examples
+STACK_EXAMPLES=./resources/stack_examples
SRVDTD=$SERVICES/services.dtd
# Executables in priority order:
# Stack management
STACKMGMT_EXEC_installed=/opt/bin/anna/example_diameter_stackManagement
STACKMGMT_EXECS=( $STACKMGMT_EXEC_installed ../stackManagement/release/example_diameter_stackManagement ../stackManagement/debug/example_diameter_stackManagement )
+:1
#############
# FUNCTIONS #
[ "$1" = "b" ] && return
local other=
- [ "$1" = "a" ] && { exe=ADML-launcher ; other="--httpServer \`grep -v ^# .httpServer\`"; }
- [ "$1" = "f" ] && { exe=ADML-ftclient ; ln -s ADML-launcher $exe ; }
- [ "$1" = "s" ] && { exe=ADML-stclient ; other="--disableLogs"; ln -s ADML-launcher $exe ; }
+ [ "$1" = "a" ] && other="--httpServer \`grep -v ^# .httpServer\`"
+ [ "$1" = "f" ] && ln -s ADML-launcher $EXE
+ [ "$1" = "s" ] && { other="--disableLogs"; ln -s ADML-launcher $EXE ; }
echo "Creating 'run.sh' script ..."
cat << EOF > run.sh
#!/bin/bash
cd \`dirname \$0\`
-EXE=$exe
-STARTED=\`pgrep \$EXE 2>/dev/null\`
+EXE=$EXE
+STARTED=\`pgrep \$EXE$ 2>/dev/null\`
[ \$? -eq 0 ] && { echo "Already started!"; echo "\$STARTED" ; exit 1 ; }
./pre-start.sh
0> launcher.trace
echo " (a)dvanced version: includes burst management script and templates for different scenarios. Automatic configuration during start."
echo " (b)asic version: 4 types of launcher (client, server, balancer, dummy), lightly configured and managed through SIGURS2 method."
echo " (f)unction test client: special client with regexp scheduler script based on splitted traffic logs. Requires a server to perform the tests."
- echo " (s)ystem test client: special client for stress testing. Requires a server to perform the tests."
+ echo " (s)ystem test client: special client for stress testing. Requires a server/s to perform the tests."
echo
echo "Input option [b]:"
read option
fi
[ -d $DPATH ] && _exit "The installation path '$DPATH' must not exists."
+EXE=ADML-`basename $DPATH`
echo "Copying to '$DPATH' ..."
mkdir -p $DPATH
cp $SETUPS_DIR/*xml $DPATH/stacks
cp $SETUPS_DIR/*sh $DPATH/stacks
cp $SETUPS_DIR/readme.txt $DPATH/stacks
+mkdir $DPATH/stacks/other_examples
+cp $STACK_EXAMPLES/* $DPATH/stacks/other_examples
cp $MSGDTD $DPATH/DTDs
cp $DCTDTD $DPATH/DTDs
cp $SRVDTD $DPATH/DTDs
echo
echo " 1. Client and server"
echo " 2. Ft-client and server"
-echo " 3. St-client and server"
+echo " 3. St-client and servers"
echo
read type
[ "$type" = "" ] && type=1
;;
3)
- DEPLOY_DIR__dflt=$HOME/ADML-stclientAndServer
+ DEPLOY_DIR__dflt=$HOME/ADML-stclientAndServers
;;
*)
1)
$DEPLOY_SCR b $DIR/client
$DEPLOY_SCR b $DIR/server
+ echo "Configuring ..."
cd $DIR/client
- echo c | ./configure.sh
+ echo c | ./configure.sh >/dev/null
cd - >/dev/null
cd $DIR/server
- echo s | ./configure.sh
+ echo s | ./configure.sh >/dev/null
cd - >/dev/null
;;
2)
$DEPLOY_SCR f $DIR/ft-client
$DEPLOY_SCR b $DIR/server
+ echo "Configuring ..."
cd $DIR/server
- echo s | ./configure.sh
+ echo s | ./configure.sh >/dev/null
cd - >/dev/null
;;
3)
$DEPLOY_SCR s $DIR/st-client
- $DEPLOY_SCR b $DIR/server
- cd $DIR/server
- echo s | ./configure.sh
+ $DEPLOY_SCR b $DIR/serverGx
+ $DEPLOY_SCR b $DIR/serverRx
+ echo "Configuring ..."
+ cd $DIR/st-client
+ mv run.sh .run-one.sh
+ mv run_all.sh run.sh
+ mv operation.sh .operation-one.sh
+ mv operation_all.sh operation.sh
+ rm dictionary.xml
+ cd - >/dev/null
+ cd $DIR/serverGx
+ echo s | ./configure.sh >/dev/null
+ sed -i 's/3868/3869/' services.xml
+ ln -sf stacks/other_examples/16777238.xml dictionary.xml
+ cd - >/dev/null
+ cd $DIR/serverRx
+ echo s | ./configure.sh >/dev/null
+ ln -sf stacks/other_examples/16777236.xml dictionary.xml
cd - >/dev/null
;;
esac
cat << EOF > run.sh
#!/bin/bash
cd \`dirname \$0\`
-STARTED=\`pgrep $1 2>/dev/null\`
+STARTED=\`pgrep $1$ 2>/dev/null\`
[ \$? -eq 0 ] && { echo "Already started!"; echo "\$STARTED" ; exit 1 ; }
0> launcher.trace
rm -f counters/* test-reports/*
fi
# Run script:
-EXE_LINK=ADML-$tol
+EXE_LINK=ADML-`basename $PWD`
ln -sf $EXE_BN $EXE_LINK
case $tol in
STARTING THE PROCESS
--------------------
After configuring the ADML execution context, a new script has been created: 'run.sh'.
-This script will run all the cloned ADML instances within ADMLS directory.
+This script will run all the cloned ADML instances within ADMLS directory. Also, an
+'./operation.sh' script will broadcast the operation provided through every cloned
+instance. For example, if you provide 'test|ttps|5', the speed of 5 test cases per
+second will be set on every ADML instance. Imagine you have N instances, and then
+you actually are establishing a total 5*N speed rate over the servers.
+
+TESTING PROCEDURE
+-----------------
+Firstly you shall program the test cases. For example:
+ ./program.sh st_examples/DynamicQualification
+
+Using option '-s', the testing will start after programming, with the desired rate
+selected on configuration stage.
+
+Don't forget to populate whatever data you need on the tested system, because this
+work is not done here.
OPERATION
---------
Management interface for lite version is based on SIGUSR2 signal caugh. Use './operation.sh'
-script to send any operation to the processes. Ask for help with that script to see all the
-operations supported.
+script within a specific instance directory to send any operation to the process. Ask for
+help with that script to see all the operations supported.
--- /dev/null
+../../resources/scripts/clone.sh
\ No newline at end of file
ADML_CONNECTIONS__ST_CONF_FILE=.st_conf_adml_connections
CYCLE_REPEATS__ST_CONF_FILE=.st_conf_cycle_repeats
N_TESTCASES__ST_CONF_FILE=.st_conf_n_testcases
+ADML_RATE_PER_INSTANCE__ST_CONF_FILE=.st_conf_rate_per_instance
+ADML_DESIRED_RATE__ST_CONF_FILE=.st_conf_desired_rate
+N_TESTCASES_PROGRAM_LAYOUT__ST_CONF_FILE=.st_conf_n_testcases_program_layout
#############
# FUNCTIONS #
# ceil of division $1/$2
ceil() {
- echo "$1 $2" | awk '{print int( ($1/$2) + 1 )}'
+ #echo "$1 $2" | awk '{print int( ($1/$2) + 1 )}'
+ awk -vnumber="$1" -vdiv="$2" '
+ function ceiling(x){return x%1 ? int(x)+1 : x}
+ BEGIN{ print ceiling(number/div) }'
}
# Calculates the number of ADML instances and their client connections
read G_ADML_CONNECTIONS
[ -z "$G_ADML_CONNECTIONS" ] && G_ADML_CONNECTIONS=1
[ $G_ADML_CONNECTIONS -lt 1 ] && G_ADML_CONNECTIONS=1
- [ $G_ADML_CONNECTIONS -gt $MAXIMUM_SUGGESTED_CLIENT_CONNECTION_PER_ADML_INSTANCE ] && G_ADML_CONNECTIONS=$MAXIMUM_SUGGESTED_CLIENT_CONNECTION_PER_ADML_INSTANCE
+ 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
+ fi
- G_ADML_INSTANCES=$((max_connections/G_ADML_CONNECTIONS))
+ G_ADML_INSTANCES=$(ceil $max_connections $G_ADML_CONNECTIONS)
}
#############
echo "ADML SYSTEM TEST CONFIGURATION WIZARD"
echo "====================================="
echo
+[ -d ADMLS ] && _exit "ADMLS directory still exists. Please remove it to continue (perhaps you have to 'pkill ADML' before) !"
+[ ! -d realms ] && _exit "Missing realms configuration (expecting '$PWD/realms' directory). Try with 'realms-example' and see README inside it !"
calculate_deployment_layout
echo $G_ADML_INSTANCES > $ADML_INSTANCES__ST_CONF_FILE
echo $G_ADML_CONNECTIONS > $ADML_CONNECTIONS__ST_CONF_FILE
+# Rate per instance:
+#rate_per_instance=$(ceil $desired_rate $G_ADML_INSTANCES)
+rate_per_instance=$((desired_rate/$G_ADML_INSTANCES))
+[ $rate_per_instance -lt 1 ] && rate_per_instance=1
+echo $rate_per_instance > $ADML_RATE_PER_INSTANCE__ST_CONF_FILE
+echo $desired_rate > $ADML_DESIRED_RATE__ST_CONF_FILE
+
echo
echo "Suggested layout:"
echo " - $G_ADML_INSTANCES ADML instances"
read N_TESTCASES
while [ -z "$N_TESTCASES" ]; do read N_TESTCASES; done
echo $N_TESTCASES > $N_TESTCASES__ST_CONF_FILE
+testcase_per_adml_instance=$N_TESTCASES
echo
time_covered_1=$(ceil $N_TESTCASES $maximum_rate)
time_covered=$(ceil $N_TESTCASES $((maximum_rate*G_ADML_INSTANCES)))
if [ $G_ADML_INSTANCES -gt 1 ]
then
echo "But you will have $G_ADML_INSTANCES instances running in parallel, then the total covered time is: $time_covered seconds"
- testcase_per_adml_instance=$(ceil $N_TESTCASES $G_ADML_INSTANCES)
+ testcase_per_adml_instance=$((N_TESTCASES/G_ADML_INSTANCES))
echo "(aproximately, $testcase_per_adml_instance test cases will be programmed on each ADML instance)"
fi
+0>$N_TESTCASES_PROGRAM_LAYOUT__ST_CONF_FILE
+for instance in `seq 1 $G_ADML_INSTANCES`
+do
+ offset=$((testcase_per_adml_instance * (instance-1)))
+ ini=$((offset + 1))
+ fin=$((offset + testcase_per_adml_instance))
+ echo "$instance $ini $fin" >> $N_TESTCASES_PROGRAM_LAYOUT__ST_CONF_FILE
+done
+
echo
if [ $time_covered -lt 300 ]
then
seconds=$((minutes*60))
repeats=$(ceil $seconds $time_covered)
echo $repeats > $CYCLE_REPEATS__ST_CONF_FILE
-[ $repeats -gt 0 ] && echo "Configured $repeats cycle repeats ($repeats x $time_covered seconds = $seconds seconds (desired $minutes minutes)"
+[ $repeats -gt 0 ] && echo "Configured $repeats cycle repeats ($repeats x $time_covered seconds ~ $seconds seconds (desired $minutes minutes)"
echo
echo "System test configuration completed."
echo
echo "Ready to clone/start the ADML instances: press ENTER to continue, CTRL+C to abort ..."
read dummy
-[ ! -d realms ] && _exit "Missing realms configuration (expecting '$PWD/realms' directory). Try with 'realms.example' and see README inside it !"
# Update services.xml regarding the number of client connections:
-cp realms/services.msk realms/services.xml
-sed -i 's/__CLIENT_CONNECTIONS__/'$G_ADML_CONNECTIONS'/g' realms/services.xml
+cd realms
+cp services.msk services.xml
+sed -i 's/__CLIENT_CONNECTIONS__/'$G_ADML_CONNECTIONS'/g' services.xml
+cd - >/dev/null
+
-rm -rf ADMLS
for instance in `seq 1 $G_ADML_INSTANCES`
do
+ echo "Creating ADMLS/$instance ..."
mkdir -p ADMLS/$instance
cd ADMLS/$instance
# Create resources:
- ln -s ../../ADML-launcher
- ln -s ../../operation.sh
- ln -s ../../realms/services.xml
- for cer in `ls ../../realms/cer*xml`; do ln -s $cer; done
+ ln -s ../../.operation-one.sh operation.sh
+ ln -s ../../pre-start.sh
+ cp ../../.run-one.sh run.sh
+ sed -i 's/^EXE=.*/EXE=ADML-'$instance'/' run.sh
+ ln -s ../../ADML-launcher ADML-$instance
+ for xml in `ls ../../realms/*xml`; do ln -s $xml; done
cd - >/dev/null
done
+echo
+echo "Now you can run all the instances deployed: ./run.sh"
+echo
+echo "Done!"
+
--- /dev/null
+#!/bin/bash
+cd `dirname $0`
+if [ ! -d "ADMLS" ]
+then
+ echo
+ echo "Run './configure.sh' first !"
+ echo
+ exit 1
+fi
+
+for op in `ls ADMLS/*/operation.sh`
+do
+ cd `dirname $op`
+ ./operation.sh $@
+ cd - >/dev/null
+done
+
--- /dev/null
+#!/bin/bash
+echo "Launching ADML instance `pwd` ..."
--- /dev/null
+#!/bin/bash
+
+#############
+# VARIABLES #
+#############
+ADML_INSTANCES=`cat .st_conf_adml_instances 2>/dev/null`
+RATE_PER_INSTANCE=`cat .st_conf_rate_per_instance 2>/dev/null`
+DESIRED_RATE=`cat .st_conf_desired_rate 2>/dev/null`
+REPEATS=`cat .st_conf_cycle_repeats 2>/dev/null`
+PROGRAM_LAYOUT_FILE=.st_conf_n_testcases_program_layout
+
+#############
+# FUNCTIONS #
+#############
+_exit() {
+ echo
+ echo $1
+ echo
+ exit 1
+}
+
+usage() {
+ echo "Usage: $0 <test stuff directory> [-s]"
+ echo
+ echo " test stuff directory: contains msk files, specially a testcase description with xml files referenced."
+ echo " Those files, adding .msk extension, shall exists in the same directory. For example:"
+ echo " $0 st_examples/DynamicQualification"
+ echo
+ echo " -s: start testing just after programming, using desired rate: $DESIRED_RATE test cases per second."
+ [ $ADML_INSTANCES -gt 1 ] && echo " In your case, with $ADML_INSTANCES, a rate of $RATE_PER_INSTANCE ttps will be send per instance"
+ echo
+ _exit
+}
+
+children () {
+ bash_pid=$$
+ children=`ps -eo ppid | grep -w $bash_pid`
+ echo $children | wc -w
+}
+
+
+#############
+# EXECUTION #
+#############
+miss_conf=
+[ ! -f .st_conf_adml_instances ] && miss_conf=yes
+[ ! -f .st_conf_n_testcases_program_layout ] && miss_conf=yes
+[ ! -f .st_conf_cycle_repeats ] && miss_conf=yes
+[ ! -f .st_conf_rate_per_instance ] && miss_conf=yes
+[ ! -f .st_conf_desired_rate ] && miss_conf=yes
+[ -n "$miss_conf" ] && _exit "You must run './configure.sh' script firtly !!"
+
+echo
+[ -z "$1" ] && usage
+TESTCASE_DIR=$1
+AUTOSTART=$2
+
+[ ! -d $TESTCASE_DIR ] && _exit "Cannot found the test directory '$TESTCASE_DIR' !!"
+TESTCASE=( `ls $TESTCASE_DIR/testcase*msk 2>/dev/null` )
+TESTCASE_FILES=${#TESTCASE[@]}
+[ $TESTCASE_FILES -ne 1 ] && _exit "One and only one 'testcase*msk' file must be present !!"
+
+children_before=$(children)
+while read -r line
+do
+ instance=$(echo $line | awk '{ print $1 }')
+ ini_seq=$(echo $line | awk '{ print $2 }')
+ fin_seq=$(echo $line | awk '{ print $3 }')
+ ADML_DIR=`readlink -f ADMLS/$instance`
+ ./clone.sh $ADML_DIR $TESTCASE $ini_seq $fin_seq 1 &
+
+done < $PROGRAM_LAYOUT_FILE
+
+# Wait background jobs to finish:
+sleep 1
+echo "Waiting for clone completion ..."
+while true
+do
+ [ $(children) -eq $children_before ] && break
+ sleep 1
+done
+
+echo "Configuring repeat cycles ..."
+./operation.sh "test|repeats|$REPEATS"
+
+start_testing=
+if [ "$AUTOSTART" = "-s" ]
+then
+ start_testing=yes
+else
+ echo "Input desired rate (test cases per second) to start testing [0: nothing done]:"
+ read desired_rate
+ if [ "$desired_rate" != "" ]
+ then
+ rate_per_instance=$((desired_rate/$ADML_INSTANCES))
+ [ $rate_per_instance -lt 1 ] && rate_per_instance=1
+ ./operation.sh "test|ttps|$rate_per_instance"
+ fi
+fi
+
+if [ -n "$start_testing" ]
+then
+ echo
+ echo "Start testing to achieve desired rate of $DESIRED_RATE test cases per second ..."
+ echo
+ ./operation.sh "test|ttps|$RATE_PER_INSTANCE"
+fi
+
+echo
+echo "Done !"
+echo
+
--- /dev/null
+
+Content
+=======
+
+README: this file.
+services.msk: services with some possible parseable variables:
+ __CLIENT_CONNECTIONS__: Number of client conections from a specific realm to the
+ corresponding diameter entity.
+cerGx.xml: CER file for Gx referenced in the services specification.
+cerRx.xml: CER file for Rx referenced in the services specification.
+dictionaryBase.xml: Diameter base dictionary used in the services specification.
+dictionaryGx.xml: Gx dictionary used in the services specification.
+dictionaryRx.xml: Rx dictionary used in the services specification.
--- /dev/null
+<message version="1" name="CER" application-id="0" hop-by-hop-id="722470" end-by-end-id="539510">
+ <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
+ <avp name="Auth-Application-Id" data="16777238"/>
+ <avp name="Origin-State-Id" data="1"/>
+ <avp name="Host-IP-Address" data="1|192.168.14.42"/>
+ <avp name="Vendor-Id" data="193"/>
+ <avp name="Product-Name" data="ggsnNode"/>
+ <avp name="Firmware-Revision" data="1"/>
+</message>
--- /dev/null
+<message version="1" name="CER" application-id="0" hop-by-hop-id="956775" end-by-end-id="968247">
+ <avp name="Origin-Host" data="afNodeHostname.afNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="afNodeHostRealm.com"/>
+ <avp name="Auth-Application-Id" data="16777236"/>
+ <avp name="Origin-State-Id" data="1"/>
+ <avp name="Host-IP-Address" data="1|192.168.14.42"/>
+ <avp name="Vendor-Id" data="193"/>
+ <avp name="Product-Name" data="afNode"/>
+ <avp name="Firmware-Revision" data="1"/>
+</message>
--- /dev/null
+../../../resources/stack_examples/0.xml
\ No newline at end of file
--- /dev/null
+../../../resources/stack_examples/16777238.xml
\ No newline at end of file
--- /dev/null
+../../../resources/stack_examples/16777236.xml
\ No newline at end of file
--- /dev/null
+<services>
+ <!-- Stacks -->
+ <stack id="16777238" dictionary="dictionaryGx.xml"/>
+ <stack id="16777236" dictionary="dictionaryRx.xml"/>
+ <stack id="0" dictionary="dictionaryBase.xml"/>
+
+ <!-- Nodes -->
+ <node originRealm="afNodeHostRealm.com" applicationId="16777236" entity="localhost:3868" cer="cerRx.xml" entityServerSessions="__CLIENT_CONNECTIONS__"/>
+ <node originRealm="ggsnNodeHostRealm.com" applicationId="16777238" entity="localhost:3869" cer="cerGx.xml" entityServerSessions="__CLIENT_CONNECTIONS__"/>
+</services>
+
+++ /dev/null
-#!/bin/bash
-cd `dirname $0`
-EXE_BN=`basename $PWD`
-STARTED=`pgrep $EXE_BN 2>/dev/null`
-[ $? -eq 0 ] && { echo "Already started!"; echo "$STARTED" ; exit 1 ; }
-0> launcher.trace
-rm -f counters/* test-reports/*
-# Execution line:
-nohup ./ADML-client --cntDir counters --tmDir test-reports --disableLogs --services $SERVICES > stdout &
-echo $! > .pid
-
#!/bin/bash
cd `dirname $0`
+if [ ! -d "ADMLS" ]
+then
+ echo
+ echo "Run './configure.sh' first !"
+ echo
+ exit 1
+fi
+
for run in `ls ADMLS/*/run.sh`
do
- $run
+ cd `dirname $run`
+ ./run.sh
+ sleep 0.1
+ cd - >/dev/null
done
+
+sleep 1
+echo "Now you could program the tests by mean script 'program.sh'. For example:"
+echo " ./program.sh st_examples/DynamicQualification"
+echo
+echo "To stop the processes, you could execute:"
+echo " pgrep ADML-[0-9] | xargs kill"
+echo
+echo "Done!"
+
--- /dev/null
+../../resources/st_examples
\ No newline at end of file
+++ /dev/null
-<message version="1" name="CER" application-id="0" hop-by-hop-id="722470" end-by-end-id="539510">
- <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- <avp name="Origin-State-Id" data="1"/>
- <avp name="Host-IP-Address" data="1|192.168.14.42"/>
- <avp name="Vendor-Id" data="193"/>
- <avp name="Product-Name" data="ggsnNode"/>
- <avp name="Firmware-Revision" data="1"/>
-</message>
+++ /dev/null
-<message version="1" name="CEA" application-id="0" hop-by-hop-id="722470" end-by-end-id="539510">
- <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
- <avp name="Origin-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Origin-Realm" data="operatorRealm.com"/>
- <avp name="Host-IP-Address" data="1|192.168.12.40"/>
- <avp name="Vendor-Id" data="193"/>
- <avp name="Product-Name" data="SAPC"/>
- <avp name="Supported-Vendor-Id" data="5535"/>
- <avp name="Supported-Vendor-Id" data="10415"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- <avp name="Auth-Application-Id" data="16777236"/>
- <avp name="Vendor-Specific-Application-Id">
- <avp name="Vendor-Id" data="10415"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- </avp>
- <avp name="Vendor-Specific-Application-Id">
- <avp name="Vendor-Id" data="10415"/>
- <avp name="Auth-Application-Id" data="16777236"/>
- </avp>
- <avp name="Firmware-Revision" data="1"/>
-</message>
+++ /dev/null
-<message version="1" name="CER" application-id="0" hop-by-hop-id="956775" end-by-end-id="968247">
- <avp name="Origin-Host" data="afNodeHostname.afNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="afNodeHostRealm.com"/>
- <avp name="Auth-Application-Id" data="16777236"/>
- <avp name="Origin-State-Id" data="1"/>
- <avp name="Host-IP-Address" data="1|192.168.14.42"/>
- <avp name="Vendor-Id" data="193"/>
- <avp name="Product-Name" data="afNode"/>
- <avp name="Firmware-Revision" data="1"/>
-</message>
+++ /dev/null
-<message version="1" name="CEA" application-id="0" hop-by-hop-id="956775" end-by-end-id="968247">
- <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
- <avp name="Origin-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Origin-Realm" data="operatorRealm.com"/>
- <avp name="Host-IP-Address" data="1|192.168.12.40"/>
- <avp name="Vendor-Id" data="193"/>
- <avp name="Product-Name" data="SAPC"/>
- <avp name="Supported-Vendor-Id" data="5535"/>
- <avp name="Supported-Vendor-Id" data="10415"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- <avp name="Auth-Application-Id" data="16777236"/>
- <avp name="Vendor-Specific-Application-Id">
- <avp name="Vendor-Id" data="10415"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- </avp>
- <avp name="Vendor-Specific-Application-Id">
- <avp name="Vendor-Id" data="10415"/>
- <avp name="Auth-Application-Id" data="16777236"/>
- </avp>
- <avp name="Firmware-Revision" data="1"/>
-</message>
+++ /dev/null
-<message version="1" name="CC-Request" application-id="16777238" hop-by-hop-id="529097" end-by-end-id="419342">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"/>
- <avp name="Destination-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Destination-Realm" data="operatorRealm.com"/>
- <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- <avp name="Origin-State-Id" data="1"/>
- <avp name="CC-Request-Number" data="0"/>
- <avp name="CC-Request-Type" data="1" alias="INITIAL_REQUEST"/>
- <avp name="Framed-IP-Address" hex-data="8132bb64"/>
- <avp name="Bearer-Usage" data="0" alias="GENERAL"/>
- <avp name="Subscription-Id">
- <avp name="Subscription-Id-Type" data="0" alias="END_USER_E164"/>
- <avp name="Subscription-Id-Data" data="34600000001"/>
- </avp>
- <avp name="RAT-Type" data="1004" alias="EUTRAN"/>
- <avp name="Called-Station-Id" data="defaultApnId"/>
- <avp name="QoS-Negotiation" data="1" alias="QoS_NEGOTIATION_SUPPORTED"/>
- <avp name="QoS-Upgrade" data="1" alias="QoS_UPGRADE_SUPPORTED"/>
- <avp name="Supported-Features" flags="192">
- <avp name="Vendor-Id" data="10415"/>
- <avp name="Feature-List-ID" data="1"/>
- <avp name="Feature-List" data="11"/>
- </avp>
- <avp name="IP-CAN-Type" data="5" alias="3GPP-EPS"/>
-</message>
+++ /dev/null
-<message version="1" name="CC-Answer" application-id="16777238" hop-by-hop-id="529097" end-by-end-id="419342">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- <avp name="Origin-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
- <avp name="Origin-State-Id" data="1441363963"/>
- <avp name="Origin-Realm" data="operatorRealm.com"/>
- <avp name="CC-Request-Number" data="0"/>
- <avp name="CC-Request-Type" data="1" alias="INITIAL_REQUEST"/>
- <avp name="Supported-Features" flags="128">
- <avp name="Vendor-Id" data="10415"/>
- <avp name="Feature-List-ID" data="1"/>
- <avp name="Feature-List" data="11"/>
- </avp>
- <avp name="Bearer-Control-Mode" data="0" alias="UE_ONLY"/>
-</message>
+++ /dev/null
-<message version="1" name="AA-Request" application-id="16777236" hop-by-hop-id="187793" end-by-end-id="827675">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;1;690434"/>
- <avp name="Destination-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Destination-Realm" data="operatorRealm.com"/>
- <avp name="Origin-Host" data="afNodeHostname.afNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="afNodeHostRealm.com"/>
- <avp name="Auth-Application-Id" data="16777236"/>
- <avp name="Origin-State-Id" data="1"/>
- <avp name="Framed-IP-Address" hex-data="8132bb64"/>
- <avp name="AF-Application-Identifier" hex-data="75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c"/>
- <avp name="Media-Component-Description">
- <avp name="Media-Component-Number" data="1"/>
- <avp name="Media-Sub-Component">
- <avp name="Flow-Number" data="1"/>
- <avp name="Flow-Description" data="permit in 17 from 129.50.187.100 2234 to 10.95.130.50 2234"/>
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2234 to 129.50.187.100 2234"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Flow-Usage" data="0" alias="NO_INFORMATION"/>
- </avp>
- <avp name="Media-Sub-Component">
- <avp name="Flow-Number" data="2"/>
- <avp name="Flow-Description" data="permit in 17 from 129.50.187.100 2235 to 10.95.130.50 2235"/>
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2235 to 129.50.187.100 2235"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Flow-Usage" data="1" alias="RTCP"/>
- </avp>
- <avp name="AF-Application-Identifier" hex-data="75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c"/>
- <avp name="Media-Type" data="0" alias="OTHER"/>
- <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
- <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Reservation-Priority" data="3" alias="PRIORITY-THREE"/>
- <avp name="RR-Bandwidth" data="64000"/>
- <avp name="RS-Bandwidth" data="64000"/>
- </avp>
- <avp name="Media-Component-Description">
- <avp name="Media-Component-Number" data="2"/>
- <avp name="Media-Sub-Component">
- <avp name="Flow-Number" data="1"/>
- <avp name="Flow-Description" data="permit in 17 from 129.50.187.100 2236 to 10.95.130.50 2236"/>
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2236 to 129.50.187.100 2236"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Flow-Usage" data="0" alias="NO_INFORMATION"/>
- </avp>
- <avp name="Media-Sub-Component">
- <avp name="Flow-Number" data="2"/>
- <avp name="Flow-Description" data="permit in 17 from 129.50.187.100 2237 to 10.95.130.50 2237"/>
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2237 to 129.50.187.100 2237"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Flow-Usage" data="1" alias="RTCP"/>
- </avp>
- <avp name="AF-Application-Identifier" hex-data="75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c"/>
- <avp name="Media-Type" data="1" alias="VIDEO"/>
- <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
- <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Reservation-Priority" data="4" alias="PRIORITY-FOUR"/>
- <avp name="RR-Bandwidth" data="64000"/>
- <avp name="RS-Bandwidth" data="64000"/>
- </avp>
- <avp name="AF-Charging-Identifier" hex-data="41462d4368617267696e674964656e746966696572"/>
- <avp name="SIP-Forking-Indication" data="0" alias="SINGLE_DIALOGUE"/>
- <avp name="Supported-Features" flags="192">
- <avp name="Vendor-Id" data="10415"/>
- <avp name="Feature-List-ID" data="1"/>
- <avp name="Feature-List" data="19"/>
- </avp>
-</message>
+++ /dev/null
-<message version="1" name="AA-Answer" application-id="16777236" hop-by-hop-id="187793" end-by-end-id="827675">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;1;690434"/>
- <avp name="Auth-Application-Id" data="16777236"/>
- <avp name="Origin-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
- <avp name="Origin-State-Id" data="1441363963"/>
- <avp name="Origin-Realm" data="operatorRealm.com"/>
- <avp name="Supported-Features" flags="128">
- <avp name="Vendor-Id" data="10415"/>
- <avp name="Feature-List-ID" data="1"/>
- <avp name="Feature-List" data="19"/>
- </avp>
-</message>
+++ /dev/null
-<message version="1" name="RA-Request" p-bit="yes" application-id="16777238" hop-by-hop-id="771961614" end-by-end-id="771961614">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- <avp name="Origin-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Origin-State-Id" data="1441363963"/>
- <avp name="Destination-Realm" data="ggsnNodeHostRealm.com"/>
- <avp name="Re-Auth-Request-Type" data="0" alias="AUTHORIZE_ONLY"/>
- <avp name="Destination-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="operatorRealm.com"/>
- <avp name="Charging-Rule-Install">
- <avp name="Charging-Rule-Definition">
- <avp name="Rating-Group" data="4"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Charging-Rule-Name" hex-data="4d4d54656c7c317c317c303030303030323235363534343736303436383530333138"/>
- <avp name="Metering-Method" data="0" alias="DURATION"/>
- <avp name="Offline" data="1" alias="ENABLE_OFFLINE"/>
- <avp name="Online" data="0" alias="DISABLE_ONLINE"/>
- <avp name="Precedence" data="0"/>
- <avp name="Reporting-Level" data="1" alias="RATING_GROUP_LEVEL"/>
- <avp name="QoS-Information">
- <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
- <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
- <avp name="Guaranteed-Bitrate-DL" data="32000"/>
- <avp name="Guaranteed-Bitrate-UL" data="32000"/>
- <avp name="QoS-Class-Identifier" data="1" alias="QCI_1"/>
- <avp name="Allocation-Retention-Priority">
- <avp name="Priority-Level" data="3"/>
- </avp>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2234 to 129.50.187.100 2234"/>
- <avp name="Flow-Direction" data="2" alias="UPLINK"/>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2234 to 129.50.187.100 2234"/>
- <avp name="Flow-Direction" data="1" alias="DOWNLINK"/>
- </avp>
- </avp>
- <avp name="Charging-Rule-Definition">
- <avp name="Rating-Group" data="4"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Charging-Rule-Name" hex-data="4d4d54656c7c317c327c303030303030323235363534343736303436383530333138"/>
- <avp name="Metering-Method" data="0" alias="DURATION"/>
- <avp name="Offline" data="1" alias="ENABLE_OFFLINE"/>
- <avp name="Online" data="0" alias="DISABLE_ONLINE"/>
- <avp name="Precedence" data="0"/>
- <avp name="Reporting-Level" data="1" alias="RATING_GROUP_LEVEL"/>
- <avp name="QoS-Information">
- <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
- <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
- <avp name="Guaranteed-Bitrate-DL" data="1600"/>
- <avp name="Guaranteed-Bitrate-UL" data="1600"/>
- <avp name="QoS-Class-Identifier" data="1" alias="QCI_1"/>
- <avp name="Allocation-Retention-Priority">
- <avp name="Priority-Level" data="3"/>
- </avp>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2235 to 129.50.187.100 2235"/>
- <avp name="Flow-Direction" data="2" alias="UPLINK"/>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2235 to 129.50.187.100 2235"/>
- <avp name="Flow-Direction" data="1" alias="DOWNLINK"/>
- </avp>
- </avp>
- <avp name="Charging-Rule-Definition">
- <avp name="Rating-Group" data="4"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Charging-Rule-Name" hex-data="4d4d54656c7c327c317c303030303030323235363534343736303436383530333138"/>
- <avp name="Metering-Method" data="2" alias="DURATION_VOLUME"/>
- <avp name="Offline" data="0" alias="DISABLE_OFFLINE"/>
- <avp name="Online" data="1" alias="ENABLE_ONLINE"/>
- <avp name="Precedence" data="0"/>
- <avp name="Reporting-Level" data="1" alias="RATING_GROUP_LEVEL"/>
- <avp name="QoS-Information">
- <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
- <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
- <avp name="Guaranteed-Bitrate-DL" data="208000"/>
- <avp name="Guaranteed-Bitrate-UL" data="208000"/>
- <avp name="QoS-Class-Identifier" data="2" alias="QCI_2"/>
- <avp name="Allocation-Retention-Priority">
- <avp name="Priority-Level" data="4"/>
- </avp>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2236 to 129.50.187.100 2236"/>
- <avp name="Flow-Direction" data="2" alias="UPLINK"/>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2236 to 129.50.187.100 2236"/>
- <avp name="Flow-Direction" data="1" alias="DOWNLINK"/>
- </avp>
- </avp>
- <avp name="Charging-Rule-Definition">
- <avp name="Rating-Group" data="4"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Charging-Rule-Name" hex-data="4d4d54656c7c327c327c303030303030323235363534343736303436383530333138"/>
- <avp name="Metering-Method" data="2" alias="DURATION_VOLUME"/>
- <avp name="Offline" data="0" alias="DISABLE_OFFLINE"/>
- <avp name="Online" data="1" alias="ENABLE_ONLINE"/>
- <avp name="Precedence" data="0"/>
- <avp name="Reporting-Level" data="1" alias="RATING_GROUP_LEVEL"/>
- <avp name="QoS-Information">
- <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
- <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
- <avp name="Guaranteed-Bitrate-DL" data="10400"/>
- <avp name="Guaranteed-Bitrate-UL" data="10400"/>
- <avp name="QoS-Class-Identifier" data="2" alias="QCI_2"/>
- <avp name="Allocation-Retention-Priority">
- <avp name="Priority-Level" data="4"/>
- </avp>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2237 to 129.50.187.100 2237"/>
- <avp name="Flow-Direction" data="2" alias="UPLINK"/>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2237 to 129.50.187.100 2237"/>
- <avp name="Flow-Direction" data="1" alias="DOWNLINK"/>
- </avp>
- </avp>
- </avp>
-</message>
+++ /dev/null
-<message version="1" name="RA-Answer" p-bit="yes" application-id="16777238" hop-by-hop-id="771961614" end-by-end-id="771961614">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"/>
- <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
- <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
- <avp name="Origin-State-Id" data="1"/>
-</message>
+++ /dev/null
-<message version="1" name="CC-Request" application-id="16777238" hop-by-hop-id="771961615" end-by-end-id="771961615">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"/>
- <avp name="Destination-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Destination-Realm" data="operatorRealm.com"/>
- <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- <avp name="Origin-State-Id" data="1"/>
- <avp name="CC-Request-Number" data="1"/>
- <avp name="CC-Request-Type" data="2" alias="UPDATE_REQUEST"/>
- <avp name="Bearer-Usage" data="0" alias="GENERAL"/>
- <avp name="Subscription-Id">
- <avp name="Subscription-Id-Type" data="0" alias="END_USER_E164"/>
- <avp name="Subscription-Id-Data" data="34600000001"/>
- </avp>
- <avp name="RAT-Type" data="1004" alias="EUTRAN"/>
- <avp name="IP-CAN-Type" data="6" alias="Non-3GPP-EPS"/>
-</message>
+++ /dev/null
-<message version="1" name="CC-Answer" application-id="16777238" hop-by-hop-id="771961615" end-by-end-id="771961615">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- <avp name="Origin-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
- <avp name="Origin-State-Id" data="1441363963"/>
- <avp name="Origin-Realm" data="operatorRealm.com"/>
- <avp name="CC-Request-Number" data="1"/>
- <avp name="CC-Request-Type" data="2" alias="UPDATE_REQUEST"/>
- <avp name="Charging-Rule-Install">
- <avp name="Charging-Rule-Definition">
- <avp name="Rating-Group" data="4"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Charging-Rule-Name" hex-data="4d4d54656c7c317c317c303030303030323235363534343736303436383530333138"/>
- <avp name="Metering-Method" data="0" alias="DURATION"/>
- <avp name="Offline" data="1" alias="ENABLE_OFFLINE"/>
- <avp name="Online" data="0" alias="DISABLE_ONLINE"/>
- <avp name="Precedence" data="0"/>
- <avp name="Reporting-Level" data="1" alias="RATING_GROUP_LEVEL"/>
- <avp name="QoS-Information">
- <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
- <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
- <avp name="QoS-Class-Identifier" data="5" alias="QCI_5"/>
- <avp name="Allocation-Retention-Priority">
- <avp name="Priority-Level" data="5"/>
- </avp>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2234 to 129.50.187.100 2234"/>
- <avp name="Flow-Direction" data="2" alias="UPLINK"/>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2234 to 129.50.187.100 2234"/>
- <avp name="Flow-Direction" data="1" alias="DOWNLINK"/>
- </avp>
- </avp>
- <avp name="Charging-Rule-Definition">
- <avp name="Rating-Group" data="4"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Charging-Rule-Name" hex-data="4d4d54656c7c317c327c303030303030323235363534343736303436383530333138"/>
- <avp name="Metering-Method" data="0" alias="DURATION"/>
- <avp name="Offline" data="1" alias="ENABLE_OFFLINE"/>
- <avp name="Online" data="0" alias="DISABLE_ONLINE"/>
- <avp name="Precedence" data="0"/>
- <avp name="Reporting-Level" data="1" alias="RATING_GROUP_LEVEL"/>
- <avp name="QoS-Information">
- <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
- <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
- <avp name="QoS-Class-Identifier" data="5" alias="QCI_5"/>
- <avp name="Allocation-Retention-Priority">
- <avp name="Priority-Level" data="5"/>
- </avp>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2235 to 129.50.187.100 2235"/>
- <avp name="Flow-Direction" data="2" alias="UPLINK"/>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2235 to 129.50.187.100 2235"/>
- <avp name="Flow-Direction" data="1" alias="DOWNLINK"/>
- </avp>
- </avp>
- <avp name="Charging-Rule-Definition">
- <avp name="Rating-Group" data="4"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Charging-Rule-Name" hex-data="4d4d54656c7c327c317c303030303030323235363534343736303436383530333138"/>
- <avp name="Metering-Method" data="2" alias="DURATION_VOLUME"/>
- <avp name="Offline" data="0" alias="DISABLE_OFFLINE"/>
- <avp name="Online" data="1" alias="ENABLE_ONLINE"/>
- <avp name="Precedence" data="0"/>
- <avp name="Reporting-Level" data="1" alias="RATING_GROUP_LEVEL"/>
- <avp name="QoS-Information">
- <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
- <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
- <avp name="QoS-Class-Identifier" data="5" alias="QCI_5"/>
- <avp name="Allocation-Retention-Priority">
- <avp name="Priority-Level" data="5"/>
- </avp>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2236 to 129.50.187.100 2236"/>
- <avp name="Flow-Direction" data="2" alias="UPLINK"/>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2236 to 129.50.187.100 2236"/>
- <avp name="Flow-Direction" data="1" alias="DOWNLINK"/>
- </avp>
- </avp>
- <avp name="Charging-Rule-Definition">
- <avp name="Rating-Group" data="4"/>
- <avp name="Flow-Status" data="2" alias="ENABLED"/>
- <avp name="Charging-Rule-Name" hex-data="4d4d54656c7c327c327c303030303030323235363534343736303436383530333138"/>
- <avp name="Metering-Method" data="2" alias="DURATION_VOLUME"/>
- <avp name="Offline" data="0" alias="DISABLE_OFFLINE"/>
- <avp name="Online" data="1" alias="ENABLE_ONLINE"/>
- <avp name="Precedence" data="0"/>
- <avp name="Reporting-Level" data="1" alias="RATING_GROUP_LEVEL"/>
- <avp name="QoS-Information">
- <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
- <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
- <avp name="QoS-Class-Identifier" data="5" alias="QCI_5"/>
- <avp name="Allocation-Retention-Priority">
- <avp name="Priority-Level" data="5"/>
- </avp>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2237 to 129.50.187.100 2237"/>
- <avp name="Flow-Direction" data="2" alias="UPLINK"/>
- </avp>
- <avp name="Flow-Information">
- <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2237 to 129.50.187.100 2237"/>
- <avp name="Flow-Direction" data="1" alias="DOWNLINK"/>
- </avp>
- </avp>
- </avp>
-</message>
+++ /dev/null
-<message version="1" name="ST-Request" application-id="16777236" hop-by-hop-id="187793" end-by-end-id="827675">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;1;690434"/>
- <avp name="Destination-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Destination-Realm" data="operatorRealm.com"/>
- <avp name="Origin-Host" data="afNodeHostname.afNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="afNodeHostRealm.com"/>
- <avp name="Auth-Application-Id" data="16777236"/>
- <avp name="Origin-State-Id" data="1"/>
- <avp name="Termination-Cause" data="1" alias="LOGOUT"/>
-</message>
+++ /dev/null
-<message version="1" name="ST-Answer" application-id="16777236" hop-by-hop-id="187793" end-by-end-id="827675">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;1;690434"/>
- <avp name="Origin-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
- <avp name="Origin-State-Id" data="1441363963"/>
- <avp name="Origin-Realm" data="operatorRealm.com"/>
-</message>
+++ /dev/null
-<message version="1" name="RA-Request" p-bit="yes" application-id="16777238" hop-by-hop-id="771961615" end-by-end-id="771961615">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- <avp name="Origin-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Origin-State-Id" data="1441363963"/>
- <avp name="Destination-Realm" data="ggsnNodeHostRealm.com"/>
- <avp name="Re-Auth-Request-Type" data="0" alias="AUTHORIZE_ONLY"/>
- <avp name="Destination-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="operatorRealm.com"/>
- <avp name="Charging-Rule-Remove">
- <avp name="Charging-Rule-Name" hex-data="4d4d54656c7c317c317c303030303030323235363534343736303436383530333138"/>
- <avp name="Charging-Rule-Name" hex-data="4d4d54656c7c317c327c303030303030323235363534343736303436383530333138"/>
- <avp name="Charging-Rule-Name" hex-data="4d4d54656c7c327c317c303030303030323235363534343736303436383530333138"/>
- <avp name="Charging-Rule-Name" hex-data="4d4d54656c7c327c327c303030303030323235363534343736303436383530333138"/>
- </avp>
-</message>
+++ /dev/null
-<message version="1" name="RA-Answer" p-bit="yes" application-id="16777238" hop-by-hop-id="771961615" end-by-end-id="771961615">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"/>
- <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
- <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
- <avp name="Origin-State-Id" data="1"/>
-</message>
+++ /dev/null
-<message version="1" name="CC-Request" application-id="16777238" hop-by-hop-id="771961616" end-by-end-id="771961616">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"/>
- <avp name="Destination-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Destination-Realm" data="operatorRealm.com"/>
- <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- <avp name="Origin-State-Id" data="1"/>
- <avp name="CC-Request-Number" data="2"/>
- <avp name="CC-Request-Type" data="3" alias="TERMINATION_REQUEST"/>
- <avp name="Bearer-Usage" data="0" alias="GENERAL"/>
- <avp name="Subscription-Id">
- <avp name="Subscription-Id-Type" data="0" alias="END_USER_E164"/>
- <avp name="Subscription-Id-Data" data="34600000001"/>
- </avp>
- <avp name="RAT-Type" data="1004" alias="EUTRAN"/>
- <avp name="Termination-Cause" data="1" alias="LOGOUT"/>
-</message>
+++ /dev/null
-<message version="1" name="CC-Answer" application-id="16777238" hop-by-hop-id="771961616" end-by-end-id="771961616">
- <avp name="Session-Id" data="tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"/>
- <avp name="Auth-Application-Id" data="16777238"/>
- <avp name="Origin-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
- <avp name="Origin-State-Id" data="1441363963"/>
- <avp name="Origin-Realm" data="operatorRealm.com"/>
- <avp name="CC-Request-Number" data="2"/>
- <avp name="CC-Request-Type" data="3" alias="TERMINATION_REQUEST"/>
-</message>
+++ /dev/null
-<message version="1" name="DPR" application-id="0" hop-by-hop-id="118544" end-by-end-id="901132">
- <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
- <avp name="Disconnect-Cause" data="2" alias="DO_NOT_WANT_TO_TALK_TO_YOU"/>
-</message>
+++ /dev/null
-<message version="1" name="DPA" application-id="0" hop-by-hop-id="118544" end-by-end-id="901132">
- <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
- <avp name="Origin-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Origin-Realm" data="operatorRealm.com"/>
-</message>
+++ /dev/null
-<message version="1" name="DPR" application-id="0" hop-by-hop-id="640659" end-by-end-id="633282">
- <avp name="Origin-Host" data="afNodeHostname.afNodeHostRealm.com"/>
- <avp name="Origin-Realm" data="afNodeHostRealm.com"/>
- <avp name="Disconnect-Cause" data="2" alias="DO_NOT_WANT_TO_TALK_TO_YOU"/>
-</message>
+++ /dev/null
-<message version="1" name="DPA" application-id="0" hop-by-hop-id="640659" end-by-end-id="633282">
- <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
- <avp name="Origin-Host" data="sapcOwnHostId.operatorRealm.com"/>
- <avp name="Origin-Realm" data="operatorRealm.com"/>
-</message>
+++ /dev/null
-#!/bin/sh
-pkill ADML
-sleep 1
-./run.sh
-sleep 1
-
-SCR_DIR=`dirname $0`
-./operation.sh "test|report|yes"
-
-./operation.sh "test|1|timeout|5000"
-./operation.sh "test|1|sendxml2e|$SCR_DIR/05.CCR-I.xml"
-./operation.sh "test|1|waitfe|272|0|2001|tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"
-./operation.sh "test|1|sendxml2e|$SCR_DIR/07.AAR-flows.xml"
-./operation.sh "test|1|waitfe|265|0|2001|tc_01_MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;1;690434"
-./operation.sh "test|1|waitfe|258|1||tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"
-./operation.sh "test|1|sendxml2e|$SCR_DIR/10.RAA-install.xml|6"
-./operation.sh "test|1|sendxml2e|$SCR_DIR/17.CCR-T.xml"
-./operation.sh "test|1|waitfe|272|0|2001|tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571|H1"
-./operation.sh "test|1|waitfe|258|1||tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;1;629571"
-./operation.sh "test|1|sendxml2e|$SCR_DIR/16.RAA-remove.xml|10"
-
-#./operation.sh "test|ttps|1"
-
+++ /dev/null
-#!/bin/sh
-pkill ADML
-sleep 1
-./run.sh
-sleep 1
-
-./operation.sh "test|1|timeout|5000"
-./operation.sh "test|1|delay|5000"
-./operation.sh "test|1|waitfe|258|1"
-./operation.sh "test|1|waitfc|258|1"
-./operation.sh "test|1|sendxml2e|aar.xml|7"
-
-#for id in `seq 1 2`
-#do
-# ./operation.sh "test|$id|timeout|5000"
-# ./operation.sh "test|$id|delay|5000"
-# ./operation.sh "test|$id|sendxml2e|aar${id}.xml"
-## ./operation.sh "test|$id|waitfe-answer|2"
-## ./operation.sh "test|$id|waitfe|258|1||Session|hbhx"
-## ./operation.sh "test|$id|waitfe|258|1|rcxxx|Session"
-#done
-
-#./operation.sh "test|ttps|40"
-
+++ /dev/null
-#!/bin/sh
-# Checking the correct cycle repeat and reports appending
-program () {
-
- if [ "$2" = "ok" ]
- then
- ./operation.sh "test|$1|timeout|5000"
- ./operation.sh "test|$1|delay|2000"
- ./operation.sh "test|$1|delay|2000"
- else
- ./operation.sh "test|$1|timeout|5000"
- ./operation.sh "test|$1|delay|2000"
- ./operation.sh "test|$1|delay|4000"
- fi
-}
-
-pkill ADML
-sleep 1
-./run.sh
-sleep 1
-./operation.sh "test|repeat|yes"
-./operation.sh "test|report|yes"
-
-COVERED_SECONDS=1
-for id in `seq 0 $((COVERED_SECONDS/2))`
-do
- program $((2*id + 1)) ok
- program $((2*id + 2)) nok
-done
-
-echo "Press ENTER to continue, CTRL+C to abort ..."
-read dummy
-./operation.sh "test|ttps|1"
-
-while true
-do
- sleep 1
- ./operation.sh "test|look"
-done
-
+++ /dev/null
-#!/bin/sh
-pkill ADML
-sleep 1
-./run.sh
-sleep 1
-./operation.sh "test|report|yes"
-./operation.sh "test|1|timeout|5000"
-./operation.sh "test|1|delay|2000"
-./operation.sh "test|1|delay|2000"
-# Last timeout ignored:
-./operation.sh "test|1|timeout|3000"
-
-echo "Press ENTER to continue, CTRL+C to abort ..."
-read dummy
-./operation.sh "test|ttps|1"
-
-while true
-do
- sleep 1
- ./operation.sh "test|look|1"
-done
-
}
usage() {
- echo "Usage: $0 <ADML directory> <testcase variable file> <initial sequence> <final sequence> [number of groups]"
+ echo "Usage: $0 <ADML directory> <testcase variable file> <initial sequence> <final sequence> [number of groups] [population]"
echo
echo " ADML directory: path to the ADML directory where 'operation.sh' script is used to load the test cases."
echo " testcase variable file: path to the testcase file with parseable variables, for example '<directory>/testcase.txt.msk'."
echo " __SRX1_SUFFIX__: \""
echo " __SGX2_SUFFIX__: 2<8-digit sequence>"
echo " __SRX2_SUFFIX__: \""
+ echo " Edit the variables section to add more special values if you need them."
echo
echo " initial sequence: initial sequence number to parse over variables."
echo " final sequence: final sequence number to parse over variables."
echo " number of groups: number of background group jobs to clone the provided sequence range."
- echo " By default, it will be the number of items divided by 25, with a maximum of $MAX_NUMBER_GROUPS."
- echo
- echo
+ echo " By default (or if you provide \"\"), it will be the number of items divided by 25, with a maximum"
+ echo " of $MAX_NUMBER_GROUPS."
+ echo " population: Optionally, a population file (basename) can be provided. It must exist on the same directory"
+ echo " than other stuff (testcase, xml files). The behaviour will be the accumulation of every parsing"
+ echo " operation during clone procedure regarding the templated content of the population file. The"
+ echo " accumulated content will be dump over a new file created together with cloned <population> and"
+ echo " named with the extension '.all' (<population>.all). This population file could be useful to"
+ echo " specify database commands related to each sequence (each single testcase), in order to have"
+ echo " the whole population file. This won't include common database elements for the tested scenary,"
+ echo " which shall be provisioned in a separated procedure."
+ echo
_exit
}
local wkdir=$2
mkdir -p $wkdir
- # Values:
+ ############################################# SPECIAL VARIABLES SECTION #############################################
+ ################################ EDIT THIS SECTION IF YOU NEED NEW SPECIAL VARIABLES ################################
testid=$sequence
seq8=$(printf "%08d" $testid)
msisdn9=6${seq8}
echo "__SRX2_SUFFIX__=$srx2_suffix" >> $target
source $target
#rm $target
+ ######################################### END SPECIAL VARIABLES SECTION #########################################
+
# Parse template files:
parse_file $sequence $TESTCASE_TEMPLATE $wkdir/testcase.txt.$sequence
done
cat $wkdir/testcase.txt.$sequence >> $wkdir/testcase.txt
rm $wkdir/testcase.txt.$sequence
+
+ # Population:
+ if [ -n "$POPULATION_FILE" ]
+ then
+ parse_file $sequence $POPULATION_FILE $CLONE_WKDIR/${POPULATION}.$sequence
+ cat $CLONE_WKDIR/${POPULATION}.$sequence >> $POPULATION_ALL
+ fi
}
# $1: group number; $2: initial subrange value; $3: final subrange value
for i in `seq $2 $3`
do
clone $i $CLONE_WKDIR/$1
- #sleep 0.01
+ sleep 0.01
done
}
ADML_DIR=$1
TESTCASE_TEMPLATE=`readlink -f $2`
+TESTCASE_TEMPLATE_DIR=`dirname $TESTCASE_TEMPLATE`
CLONE_SEQ_BEGIN=$3
CLONE_SEQ_END=$4
N_GROUPS=$5
+POPULATION=$6
+POPULATION_FILE=$TESTCASE_TEMPLATE_DIR/$POPULATION
+POPULATION_ALL=$TESTCASE_TEMPLATE_DIR/${POPULATION}.all
[ "$4" = "" ] && usage
[ ! -f $OPERATION ] && _exit "Missing '$OPERATION' file !!"
[ ! -f $TESTCASE_TEMPLATE ] && _exit "Missing '$TESTCASE_TEMPLATE' testcase template file !!"
-TESTCASE_TEMPLATE_DIR=`dirname $TESTCASE_TEMPLATE`
+if [ -n "$POPULATION" ]
+then
+ bn_population=`basename $POPULATION`
+ [ "$bn_population" != "$POPULATION" ] && _exit "Only basename is allowed for population provided !!"
+ [ ! -f $POPULATION_FILE ] && _exit "Missing provided population file '$POPULATION_FILE' !!"
+ 0> $POPULATION_ALL
+fi
+
N_ITEMS=$((CLONE_SEQ_END - CLONE_SEQ_BEGIN + 1))
if [ -z "$N_GROUPS" ]
then
offset=0
$OPERATION "test|clear"
echo "Please be patient, this may take a while ..."
+#echo "Temporary directory: $CLONE_WKDIR"
for group in `seq 1 $((N_GROUPS+1))`
do
n_begin=$((CLONE_SEQ_BEGIN + offset))
clone_group $group $n_begin $n_end &
offset=$((group * GROUPS_SIZE))
done
-children_now=$(children)
# Wait background jobs to finish:
while true
grep -v "^#" $FILE | sed '/^[ \t]*$/d' > sigusr2.in
fi
0> sigusr2.out
+kill -0 $PID 2>/dev/null
+[ $? -ne 0 ] && _exit "Operation error: missing process with pid $PID"
kill -s SIGUSR2 $PID
+
# Detect EOF and print all except that last line:
while [ -z "$(tail -1 sigusr2.out | grep ^EOF)" ]; do sleep 0.1; done
head --lines=-1 `pwd`/sigusr2.out
--- /dev/null
+test|1|delay|0
+test|1|delay|0
+test|1|delay|0
+test|1|sendxml2e|15.hex.as.xml
+test|1|waitfe|272|0|||tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;|2001
+test|1|sendxml2e|20.hex.as.xml
+test|1|waitfe|265|0|||tc_01_MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;2;|2001
+test|1|waitfe|258|1|||tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;
+test|1|sendxml2e|28.hex.as.xml|8
+test|1|sendxml2e|30.hex.as.xml
+test|1|waitfe|272|0|||tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;|2001
+test|1|sendxml2e|35.hex.as.xml
+test|1|waitfe|275|0|||tc_01_MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;2;|2001
+test|1|waitfe|258|1|||tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;
+test|1|sendxml2e|39.hex.as.xml|14
+test|1|sendxml2e|41.hex.as.xml
+test|1|waitfe|272|0|||tc_01_MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;|2001
--- /dev/null
+<message version="1" name="CC-Request" application-id="16777238" hop-by-hop-id="15" end-by-end-id="143351">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;100000001"/>
+ <avp name="Destination-Host" data="ownHostId.operatorRealm.com"/>
+ <avp name="Destination-Realm" data="operatorRealm.com"/>
+ <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
+ <avp name="Auth-Application-Id" data="16777238"/>
+ <avp name="Origin-State-Id" data="1"/>
+ <avp name="CC-Request-Number" data="0"/>
+ <avp name="CC-Request-Type" data="1" alias="INITIAL_REQUEST"/>
+ <avp name="Framed-IP-Address" hex-data="00000001"/>
+ <avp name="Bearer-Usage" data="0" alias="GENERAL"/>
+ <avp name="Subscription-Id">
+ <avp name="Subscription-Id-Type" data="0" alias="END_USER_E164"/>
+ <avp name="Subscription-Id-Data" data="34600000001"/>
+ </avp>
+ <avp name="RAT-Type" data="1004" alias="EUTRAN"/>
+ <avp name="Called-Station-Id" data="defaultApnId"/>
+ <avp name="QoS-Negotiation" data="1" alias="QoS_NEGOTIATION_SUPPORTED"/>
+ <avp name="QoS-Upgrade" data="1" alias="QoS_UPGRADE_SUPPORTED"/>
+ <avp name="Supported-Features" flags="192">
+ <avp name="Vendor-Id" data="10415"/>
+ <avp code="629" vendor-code="10415" flags="192" data="1"/>
+ <avp code="630" vendor-code="10415" flags="192" data="11"/>
+ </avp>
+ <avp name="IP-CAN-Type" data="5" alias="3GPP-EPS"/>
+</message>
--- /dev/null
+<message version="1" name="AA-Request" application-id="16777236" hop-by-hop-id="20" end-by-end-id="163097">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;2;100000001"/>
+ <avp name="Destination-Host" data="ownHostId.operatorRealm.com"/>
+ <avp name="Destination-Realm" data="operatorRealm.com"/>
+ <avp name="Origin-Host" data="afNodeHostname.afNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="afNodeHostRealm.com"/>
+ <avp name="Auth-Application-Id" data="16777236"/>
+ <avp name="Origin-State-Id" data="1"/>
+ <avp name="Framed-IP-Address" hex-data="00000001"/>
+ <avp name="AF-Application-Identifier" hex-data="75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c"/>
+ <avp name="Media-Component-Description">
+ <avp name="Media-Component-Number" data="1"/>
+ <avp name="Media-Sub-Component">
+ <avp name="Flow-Number" data="1"/>
+ <avp name="Flow-Description" data="permit in 17 from 0.0.0.1 2234 to 10.95.130.50 2234"/>
+ <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2234 to 0.0.0.1 2234"/>
+ <avp name="Flow-Status" data="2" alias="ENABLED"/>
+ <avp name="Flow-Usage" data="0" alias="NO_INFORMATION"/>
+ </avp>
+ <avp name="Media-Sub-Component">
+ <avp name="Flow-Number" data="2"/>
+ <avp name="Flow-Description" data="permit in 17 from 0.0.0.1 2235 to 10.95.130.50 2235"/>
+ <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2235 to 0.0.0.1 2235"/>
+ <avp name="Flow-Status" data="2" alias="ENABLED"/>
+ <avp name="Flow-Usage" data="1" alias="RTCP"/>
+ </avp>
+ <avp name="AF-Application-Identifier" hex-data="75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c"/>
+ <avp name="Media-Type" data="0" alias="OTHER"/>
+ <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
+ <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
+ <avp name="Flow-Status" data="2" alias="ENABLED"/>
+ <avp code="458" vendor-code="13019" flags="192" data="3" alias="PRIORITY-THREE"/>
+ <avp name="RR-Bandwidth" data="64000"/>
+ <avp name="RS-Bandwidth" data="64000"/>
+ </avp>
+ <avp name="Media-Component-Description">
+ <avp name="Media-Component-Number" data="2"/>
+ <avp name="Media-Sub-Component">
+ <avp name="Flow-Number" data="1"/>
+ <avp name="Flow-Description" data="permit in 17 from 0.0.0.1 2236 to 10.95.130.50 2236"/>
+ <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2236 to 0.0.0.1 2236"/>
+ <avp name="Flow-Status" data="2" alias="ENABLED"/>
+ <avp name="Flow-Usage" data="0" alias="NO_INFORMATION"/>
+ </avp>
+ <avp name="Media-Sub-Component">
+ <avp name="Flow-Number" data="2"/>
+ <avp name="Flow-Description" data="permit in 17 from 0.0.0.1 2237 to 10.95.130.50 2237"/>
+ <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2237 to 0.0.0.1 2237"/>
+ <avp name="Flow-Status" data="2" alias="ENABLED"/>
+ <avp name="Flow-Usage" data="1" alias="RTCP"/>
+ </avp>
+ <avp name="AF-Application-Identifier" hex-data="75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c"/>
+ <avp name="Media-Type" data="1" alias="VIDEO"/>
+ <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
+ <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
+ <avp name="Flow-Status" data="2" alias="ENABLED"/>
+ <avp code="458" vendor-code="13019" flags="192" data="4" alias="PRIORITY-FOUR"/>
+ <avp name="RR-Bandwidth" data="64000"/>
+ <avp name="RS-Bandwidth" data="64000"/>
+ </avp>
+ <avp name="AF-Charging-Identifier" hex-data="41462d4368617267696e674964656e746966696572"/>
+ <avp name="SIP-Forking-Indication" data="0" alias="SINGLE_DIALOGUE"/>
+ <avp name="Supported-Features" flags="192">
+ <avp name="Vendor-Id" data="10415"/>
+ <avp code="629" vendor-code="10415" flags="192" data="1"/>
+ <avp code="630" vendor-code="10415" flags="192" data="19"/>
+ </avp>
+</message>
--- /dev/null
+<message version="1" name="RA-Answer" p-bit="yes" application-id="16777238" hop-by-hop-id="3244878460" end-by-end-id="3244878460">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;100000001"/>
+ <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
+ <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
+ <avp name="Origin-State-Id" data="1"/>
+</message>
--- /dev/null
+<message version="1" name="CC-Request" application-id="16777238" hop-by-hop-id="30" end-by-end-id="3244878461">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;100000001"/>
+ <avp name="Destination-Host" data="ownHostId.operatorRealm.com"/>
+ <avp name="Destination-Realm" data="operatorRealm.com"/>
+ <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
+ <avp name="Auth-Application-Id" data="16777238"/>
+ <avp name="Origin-State-Id" data="1"/>
+ <avp name="CC-Request-Number" data="1"/>
+ <avp name="CC-Request-Type" data="2" alias="UPDATE_REQUEST"/>
+ <avp name="Bearer-Usage" data="0" alias="GENERAL"/>
+ <avp name="Subscription-Id">
+ <avp name="Subscription-Id-Type" data="0" alias="END_USER_E164"/>
+ <avp name="Subscription-Id-Data" data="34600000001"/>
+ </avp>
+ <avp name="RAT-Type" data="1004" alias="EUTRAN"/>
+ <avp name="IP-CAN-Type" data="6" alias="Non-3GPP-EPS"/>
+</message>
--- /dev/null
+<message version="1" name="ST-Request" application-id="16777236" hop-by-hop-id="35" end-by-end-id="163097">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;2;100000001"/>
+ <avp name="Destination-Host" data="ownHostId.operatorRealm.com"/>
+ <avp name="Destination-Realm" data="operatorRealm.com"/>
+ <avp name="Origin-Host" data="afNodeHostname.afNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="afNodeHostRealm.com"/>
+ <avp name="Auth-Application-Id" data="16777236"/>
+ <avp name="Origin-State-Id" data="1"/>
+ <avp name="Termination-Cause" data="1" alias="LOGOUT"/>
+</message>
--- /dev/null
+<message version="1" name="RA-Answer" p-bit="yes" application-id="16777238" hop-by-hop-id="3244878461" end-by-end-id="3244878461">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;100000001"/>
+ <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
+ <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
+ <avp name="Origin-State-Id" data="1"/>
+</message>
--- /dev/null
+<message version="1" name="CC-Request" application-id="16777238" hop-by-hop-id="41" end-by-end-id="3244878462">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;100000001"/>
+ <avp name="Destination-Host" data="ownHostId.operatorRealm.com"/>
+ <avp name="Destination-Realm" data="operatorRealm.com"/>
+ <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
+ <avp name="Auth-Application-Id" data="16777238"/>
+ <avp name="Origin-State-Id" data="1"/>
+ <avp name="CC-Request-Number" data="2"/>
+ <avp name="CC-Request-Type" data="3" alias="TERMINATION_REQUEST"/>
+ <avp name="Bearer-Usage" data="0" alias="GENERAL"/>
+ <avp name="Subscription-Id">
+ <avp name="Subscription-Id-Type" data="0" alias="END_USER_E164"/>
+ <avp name="Subscription-Id-Data" data="34600000001"/>
+ </avp>
+ <avp name="RAT-Type" data="1004" alias="EUTRAN"/>
+ <avp name="Termination-Cause" data="1" alias="LOGOUT"/>
+</message>
--- /dev/null
+<message version="1" name="CC-Request" application-id="16777238" hop-by-hop-id="15" end-by-end-id="143351">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;__SGX1_SUFFIX__"/>
+ <avp name="Destination-Host" data="ownHostId.operatorRealm.com"/>
+ <avp name="Destination-Realm" data="operatorRealm.com"/>
+ <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
+ <avp name="Auth-Application-Id" data="16777238"/>
+ <avp name="Origin-State-Id" data="1"/>
+ <avp name="CC-Request-Number" data="0"/>
+ <avp name="CC-Request-Type" data="1" alias="INITIAL_REQUEST"/>
+ <avp name="Framed-IP-Address" hex-data="__IPV4HEX__"/>
+ <avp name="Bearer-Usage" data="0" alias="GENERAL"/>
+ <avp name="Subscription-Id">
+ <avp name="Subscription-Id-Type" data="0" alias="END_USER_E164"/>
+ <avp name="Subscription-Id-Data" data="34__MSISDN9__"/>
+ </avp>
+ <avp name="RAT-Type" data="1004" alias="EUTRAN"/>
+ <avp name="Called-Station-Id" data="defaultApnId"/>
+ <avp name="QoS-Negotiation" data="1" alias="QoS_NEGOTIATION_SUPPORTED"/>
+ <avp name="QoS-Upgrade" data="1" alias="QoS_UPGRADE_SUPPORTED"/>
+ <avp name="Supported-Features" flags="192">
+ <avp name="Vendor-Id" data="10415"/>
+ <avp code="629" vendor-code="10415" flags="192" data="1"/>
+ <avp code="630" vendor-code="10415" flags="192" data="11"/>
+ </avp>
+ <avp name="IP-CAN-Type" data="5" alias="3GPP-EPS"/>
+</message>
--- /dev/null
+<message version="1" name="AA-Request" application-id="16777236" hop-by-hop-id="20" end-by-end-id="163097">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;2;__SRX1_SUFFIX__"/>
+ <avp name="Destination-Host" data="ownHostId.operatorRealm.com"/>
+ <avp name="Destination-Realm" data="operatorRealm.com"/>
+ <avp name="Origin-Host" data="afNodeHostname.afNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="afNodeHostRealm.com"/>
+ <avp name="Auth-Application-Id" data="16777236"/>
+ <avp name="Origin-State-Id" data="1"/>
+ <avp name="Framed-IP-Address" hex-data="__IPV4HEX__"/>
+ <avp name="AF-Application-Identifier" hex-data="75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c"/>
+ <avp name="Media-Component-Description">
+ <avp name="Media-Component-Number" data="1"/>
+ <avp name="Media-Sub-Component">
+ <avp name="Flow-Number" data="1"/>
+ <avp name="Flow-Description" data="permit in 17 from __IPV4__ 2234 to 10.95.130.50 2234"/>
+ <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2234 to __IPV4__ 2234"/>
+ <avp name="Flow-Status" data="2" alias="ENABLED"/>
+ <avp name="Flow-Usage" data="0" alias="NO_INFORMATION"/>
+ </avp>
+ <avp name="Media-Sub-Component">
+ <avp name="Flow-Number" data="2"/>
+ <avp name="Flow-Description" data="permit in 17 from __IPV4__ 2235 to 10.95.130.50 2235"/>
+ <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2235 to __IPV4__ 2235"/>
+ <avp name="Flow-Status" data="2" alias="ENABLED"/>
+ <avp name="Flow-Usage" data="1" alias="RTCP"/>
+ </avp>
+ <avp name="AF-Application-Identifier" hex-data="75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c"/>
+ <avp name="Media-Type" data="0" alias="OTHER"/>
+ <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
+ <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
+ <avp name="Flow-Status" data="2" alias="ENABLED"/>
+ <avp code="458" vendor-code="13019" flags="192" data="3" alias="PRIORITY-THREE"/>
+ <avp name="RR-Bandwidth" data="64000"/>
+ <avp name="RS-Bandwidth" data="64000"/>
+ </avp>
+ <avp name="Media-Component-Description">
+ <avp name="Media-Component-Number" data="2"/>
+ <avp name="Media-Sub-Component">
+ <avp name="Flow-Number" data="1"/>
+ <avp name="Flow-Description" data="permit in 17 from __IPV4__ 2236 to 10.95.130.50 2236"/>
+ <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2236 to __IPV4__ 2236"/>
+ <avp name="Flow-Status" data="2" alias="ENABLED"/>
+ <avp name="Flow-Usage" data="0" alias="NO_INFORMATION"/>
+ </avp>
+ <avp name="Media-Sub-Component">
+ <avp name="Flow-Number" data="2"/>
+ <avp name="Flow-Description" data="permit in 17 from __IPV4__ 2237 to 10.95.130.50 2237"/>
+ <avp name="Flow-Description" data="permit out 17 from 10.95.130.50 2237 to __IPV4__ 2237"/>
+ <avp name="Flow-Status" data="2" alias="ENABLED"/>
+ <avp name="Flow-Usage" data="1" alias="RTCP"/>
+ </avp>
+ <avp name="AF-Application-Identifier" hex-data="75726e25334175726e2d787878253341336770702d736572766963652e696d732e696373692e6d6d74656c"/>
+ <avp name="Media-Type" data="1" alias="VIDEO"/>
+ <avp name="Max-Requested-Bandwidth-UL" data="128000"/>
+ <avp name="Max-Requested-Bandwidth-DL" data="128000"/>
+ <avp name="Flow-Status" data="2" alias="ENABLED"/>
+ <avp code="458" vendor-code="13019" flags="192" data="4" alias="PRIORITY-FOUR"/>
+ <avp name="RR-Bandwidth" data="64000"/>
+ <avp name="RS-Bandwidth" data="64000"/>
+ </avp>
+ <avp name="AF-Charging-Identifier" hex-data="41462d4368617267696e674964656e746966696572"/>
+ <avp name="SIP-Forking-Indication" data="0" alias="SINGLE_DIALOGUE"/>
+ <avp name="Supported-Features" flags="192">
+ <avp name="Vendor-Id" data="10415"/>
+ <avp code="629" vendor-code="10415" flags="192" data="1"/>
+ <avp code="630" vendor-code="10415" flags="192" data="19"/>
+ </avp>
+</message>
--- /dev/null
+<message version="1" name="RA-Answer" p-bit="yes" application-id="16777238" hop-by-hop-id="3244878460" end-by-end-id="3244878460">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;__SGX1_SUFFIX__"/>
+ <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
+ <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
+ <avp name="Origin-State-Id" data="1"/>
+</message>
--- /dev/null
+<message version="1" name="CC-Request" application-id="16777238" hop-by-hop-id="30" end-by-end-id="3244878461">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;__SGX1_SUFFIX__"/>
+ <avp name="Destination-Host" data="ownHostId.operatorRealm.com"/>
+ <avp name="Destination-Realm" data="operatorRealm.com"/>
+ <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
+ <avp name="Auth-Application-Id" data="16777238"/>
+ <avp name="Origin-State-Id" data="1"/>
+ <avp name="CC-Request-Number" data="1"/>
+ <avp name="CC-Request-Type" data="2" alias="UPDATE_REQUEST"/>
+ <avp name="Bearer-Usage" data="0" alias="GENERAL"/>
+ <avp name="Subscription-Id">
+ <avp name="Subscription-Id-Type" data="0" alias="END_USER_E164"/>
+ <avp name="Subscription-Id-Data" data="34__MSISDN9__"/>
+ </avp>
+ <avp name="RAT-Type" data="1004" alias="EUTRAN"/>
+ <avp name="IP-CAN-Type" data="6" alias="Non-3GPP-EPS"/>
+</message>
--- /dev/null
+<message version="1" name="ST-Request" application-id="16777236" hop-by-hop-id="35" end-by-end-id="163097">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;2;__SRX1_SUFFIX__"/>
+ <avp name="Destination-Host" data="ownHostId.operatorRealm.com"/>
+ <avp name="Destination-Realm" data="operatorRealm.com"/>
+ <avp name="Origin-Host" data="afNodeHostname.afNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="afNodeHostRealm.com"/>
+ <avp name="Auth-Application-Id" data="16777236"/>
+ <avp name="Origin-State-Id" data="1"/>
+ <avp name="Termination-Cause" data="1" alias="LOGOUT"/>
+</message>
--- /dev/null
+<message version="1" name="RA-Answer" p-bit="yes" application-id="16777238" hop-by-hop-id="3244878461" end-by-end-id="3244878461">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;__SGX1_SUFFIX__"/>
+ <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
+ <avp name="Result-Code" data="2001" alias="DIAMETER_SUCCESS"/>
+ <avp name="Origin-State-Id" data="1"/>
+</message>
--- /dev/null
+<message version="1" name="CC-Request" application-id="16777238" hop-by-hop-id="41" end-by-end-id="3244878462">
+ <avp name="Session-Id" data="MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;__SGX1_SUFFIX__"/>
+ <avp name="Destination-Host" data="ownHostId.operatorRealm.com"/>
+ <avp name="Destination-Realm" data="operatorRealm.com"/>
+ <avp name="Origin-Host" data="ggsnNodeHostname.ggsnNodeHostRealm.com"/>
+ <avp name="Origin-Realm" data="ggsnNodeHostRealm.com"/>
+ <avp name="Auth-Application-Id" data="16777238"/>
+ <avp name="Origin-State-Id" data="1"/>
+ <avp name="CC-Request-Number" data="2"/>
+ <avp name="CC-Request-Type" data="3" alias="TERMINATION_REQUEST"/>
+ <avp name="Bearer-Usage" data="0" alias="GENERAL"/>
+ <avp name="Subscription-Id">
+ <avp name="Subscription-Id-Type" data="0" alias="END_USER_E164"/>
+ <avp name="Subscription-Id-Data" data="34__MSISDN9__"/>
+ </avp>
+ <avp name="RAT-Type" data="1004" alias="EUTRAN"/>
+ <avp name="Termination-Cause" data="1" alias="LOGOUT"/>
+</message>
--- /dev/null
+test|__TESTID__|delay|0
+test|__TESTID__|delay|0
+test|__TESTID__|delay|0
+test|__TESTID__|sendxml2e|15.hex.as.xml
+test|__TESTID__|waitfe|272|0|||MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;__SGX1_SUFFIX__|2001
+test|__TESTID__|sendxml2e|20.hex.as.xml
+test|__TESTID__|waitfe|265|0|||MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;2;__SRX1_SUFFIX__|2001
+test|__TESTID__|waitfe|258|1|||MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;__SGX1_SUFFIX__
+test|__TESTID__|sendxml2e|28.hex.as.xml|8
+test|__TESTID__|sendxml2e|30.hex.as.xml
+test|__TESTID__|waitfe|272|0|||MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;__SGX1_SUFFIX__|2001
+test|__TESTID__|sendxml2e|35.hex.as.xml
+test|__TESTID__|waitfe|275|0|||MMTel_DynamicQualification;afNodeHostname.afNodeHostRealm.com;2;__SRX1_SUFFIX__|2001
+test|__TESTID__|waitfe|258|1|||MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;__SGX1_SUFFIX__
+test|__TESTID__|sendxml2e|39.hex.as.xml|14
+test|__TESTID__|sendxml2e|41.hex.as.xml
+test|__TESTID__|waitfe|272|0|||MMTel_DynamicQualification;ggsnNodeHostname.ggsnNodeHostRealm.com;2;__SGX1_SUFFIX__|2001
--- /dev/null
+Here there are testcase to clone. For example:
+
+ ../scripts/clone.sh <ADML directory> DynamicQualification/testcase.txt.msk 1 40 1
--- /dev/null
+<dictionary name="diameter_gen_base_rfc3588 | Application-Id: 0">
+ <vendor name="IETF" code="0"/>
+ <avp name="User-Name" code="1" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Class" code="25" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Session-Timeout" code="27" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Proxy-State" code="33" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Acct-Session-Id" code="44" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Acct-Multi-Session-Id" code="50" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Event-Timestamp" code="55" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Time"/>
+ </avp>
+ <avp name="Acct-Interim-Interval" code="85" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Host-IP-Address" code="257" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Address"/>
+ </avp>
+ <avp name="Auth-Application-Id" code="258" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Acct-Application-Id" code="259" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Vendor-Specific-Application-Id" code="260" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Vendor-Id" type="Mandatory" qual="1*"/>
+ <avprule id="Auth-Application-Id" type="Optional"/>
+ <avprule id="Acct-Application-Id" type="Optional"/>
+ </grouped>
+ </avp>
+ <avp name="Redirect-Host-Usage" code="261" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-6">
+ <label data="0" alias="DONT_CACHE"/>
+ <label data="1" alias="ALL_SESSION"/>
+ <label data="2" alias="ALL_REALM"/>
+ <label data="3" alias="REALM_AND_APPLICATION"/>
+ <label data="4" alias="ALL_APPLICATION"/>
+ <label data="5" alias="ALL_HOST"/>
+ <label data="6" alias="ALL_USER"/>
+ </single>
+ </avp>
+ <avp name="Redirect-Max-Cache-Time" code="262" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Session-Id" code="263" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Origin-Host" code="264" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Supported-Vendor-Id" code="265" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Vendor-Id" code="266" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Firmware-Revision" code="267" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Result-Code" code="268" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32">
+ <label data="1001" alias="DIAMETER_MULTI_ROUND_AUTH"/>
+ <label data="2001" alias="DIAMETER_SUCCESS"/>
+ <label data="2002" alias="DIAMETER_LIMITED_SUCCESS"/>
+ <label data="3001" alias="DIAMETER_COMMAND_UNSUPPORTED"/>
+ <label data="3002" alias="DIAMETER_UNABLE_TO_DELIVER"/>
+ <label data="3003" alias="DIAMETER_REALM_NOT_SERVED"/>
+ <label data="3004" alias="DIAMETER_TOO_BUSY"/>
+ <label data="3005" alias="DIAMETER_LOOP_DETECTED"/>
+ <label data="3006" alias="DIAMETER_REDIRECT_INDICATION"/>
+ <label data="3007" alias="DIAMETER_APPLICATION_UNSUPPORTED"/>
+ <label data="3008" alias="DIAMETER_INVALID_HDR_BITS"/>
+ <label data="3009" alias="DIAMETER_INVALID_AVP_BITS"/>
+ <label data="3010" alias="DIAMETER_UNKNOWN_PEER"/>
+ <label data="4001" alias="DIAMETER_AUTHENTICATION_REJECTED"/>
+ <label data="4002" alias="DIAMETER_OUT_OF_SPACE"/>
+ <label data="4003" alias="DIAMETER_ELECTION_LOST"/>
+ <label data="5001" alias="DIAMETER_AVP_UNSUPPORTED"/>
+ <label data="5002" alias="DIAMETER_UNKNOWN_SESSION_ID"/>
+ <label data="5003" alias="DIAMETER_AUTHORIZATION_REJECTED"/>
+ <label data="5004" alias="DIAMETER_INVALID_AVP_VALUE"/>
+ <label data="5005" alias="DIAMETER_MISSING_AVP"/>
+ <label data="5006" alias="DIAMETER_RESOURCES_EXCEEDED"/>
+ <label data="5007" alias="DIAMETER_CONTRADICTING_AVPS"/>
+ <label data="5008" alias="DIAMETER_AVP_NOT_ALLOWED"/>
+ <label data="5009" alias="DIAMETER_AVP_OCCURS_TOO_MANY_TIMES"/>
+ <label data="5010" alias="DIAMETER_NO_COMMON_APPLICATION"/>
+ <label data="5011" alias="DIAMETER_UNSUPPORTED_VERSION"/>
+ <label data="5012" alias="DIAMETER_UNABLE_TO_COMPLY"/>
+ <label data="5013" alias="DIAMETER_INVALID_BIT_IN_HEADER"/>
+ <label data="5014" alias="DIAMETER_INVALID_AVP_LENGTH"/>
+ <label data="5015" alias="DIAMETER_INVALID_MESSAGE_LENGTH"/>
+ <label data="5016" alias="DIAMETER_INVALID_AVP_BIT_COMBO"/>
+ <label data="5017" alias="DIAMETER_NO_COMMON_SECURITY"/>
+ <label data="5030" alias="DIAMETER_USER_UNKNOWN"/>
+ <label data="5063" alias="REQUESTED_SERVICE_NOT_AUTHORIZED"/>
+ <label data="5065" alias="IP_CAN_SESSION_NOT_AVAILABLE"/>
+ </single>
+ </avp>
+ <avp name="Product-Name" code="269" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Session-Binding" code="270" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Session-Server-Failover" code="271" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-3">
+ <label data="0" alias="REFUSE_SERVICE"/>
+ <label data="1" alias="TRY_AGAIN"/>
+ <label data="2" alias="ALLOW_SERVICE"/>
+ <label data="3" alias="TRY_AGAIN_ALLOW_SERVICE"/>
+ </single>
+ </avp>
+ <avp name="Multi-Round-Time-Out" code="272" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Disconnect-Cause" code="273" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-2">
+ <label data="0" alias="REBOOTING"/>
+ <label data="1" alias="BUSY"/>
+ <label data="2" alias="DO_NOT_WANT_TO_TALK_TO_YOU"/>
+ </single>
+ </avp>
+ <avp name="Auth-Request-Type" code="274" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-3">
+ <label data="1" alias="AUTHENTICATE_ONLY"/>
+ <label data="2" alias="AUTHORIZE_ONLY"/>
+ <label data="3" alias="AUTHORIZE_AUTHENTICATE"/>
+ </single>
+ </avp>
+ <avp name="Auth-Grace-Period" code="276" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Auth-Session-State" code="277" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="STATE_MAINTAINED"/>
+ <label data="1" alias="NO_STATE_MAINTAINED"/>
+ </single>
+ </avp>
+ <avp name="Origin-State-Id" code="278" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Failed-AVP" code="279" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="AVP" type="Mandatory" qual="1*"/>
+ </grouped>
+ </avp>
+ <avp name="Proxy-Host" code="280" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Error-Message" code="281" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Route-Record" code="282" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Destination-Realm" code="283" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Proxy-Info" code="284" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Proxy-Host" type="Mandatory"/>
+ <avprule id="Proxy-State" type="Mandatory"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Re-Auth-Request-Type" code="285" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="AUTHORIZE_ONLY"/>
+ <label data="1" alias="AUTHORIZE_AUTHENTICATE"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Sub-Session-Id" code="287" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned64"/>
+ </avp>
+ <avp name="Redirect-Host" code="292" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterURI"/>
+ </avp>
+ <avp name="Destination-Host" code="293" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Error-Reporting-Host" code="294" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Termination-Cause" code="295" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-8">
+ <label data="1" alias="LOGOUT"/>
+ <label data="2" alias="SERVICE_NOT_PROVIDED"/>
+ <label data="3" alias="BAD_ANSWER"/>
+ <label data="4" alias="ADMINISTRATIVE"/>
+ <label data="5" alias="LINK_BROKEN"/>
+ <label data="6" alias="AUTH_EXPIRED"/>
+ <label data="7" alias="USER_MOVED"/>
+ <label data="8" alias="SESSION_TIMEOUT"/>
+ </single>
+ </avp>
+ <avp name="Origin-Realm" code="296" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Experimental-Result" code="297" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Experimental-Result-Code" type="Mandatory"/>
+ </grouped>
+ </avp>
+ <avp name="Experimental-Result-Code" code="298" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Inband-Security-Id" code="299" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="E2E-Sequence" code="300" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="AVP" type="Mandatory" qual="2*"/>
+ </grouped>
+ </avp>
+ <avp name="Accounting-Record-Type" code="480" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-4">
+ <label data="1" alias="EVENT_RECORD"/>
+ <label data="2" alias="START_RECORD"/>
+ <label data="3" alias="INTERIM_RECORD"/>
+ <label data="4" alias="STOP_RECORD"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Realtime-Required" code="483" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-3">
+ <label data="1" alias="DELIVER_AND_GRANT"/>
+ <label data="2" alias="GRANT_AND_STORE"/>
+ <label data="3" alias="GRANT_AND_LOSE"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Record-Number" code="485" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <command name="CER" code="257" type="Request">
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Host-IP-Address" type="Mandatory" qual="1*"/>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Product-Name" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Supported-Vendor-Id" type="Optional" qual="*"/>
+ <avprule id="Auth-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Inband-Security-Id" type="Optional" qual="*"/>
+ <avprule id="Acct-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Firmware-Revision" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="CEA" code="257" type="Answer">
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Host-IP-Address" type="Mandatory" qual="1*"/>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Product-Name" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Supported-Vendor-Id" type="Optional" qual="*"/>
+ <avprule id="Auth-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Inband-Security-Id" type="Optional" qual="*"/>
+ <avprule id="Acct-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Firmware-Revision" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="RAR" code="258" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Mandatory"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Re-Auth-Request-Type" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="RAA" code="258" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ACR" code="271" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Accounting-Record-Type" type="Mandatory"/>
+ <avprule id="Accounting-Record-Number" type="Mandatory"/>
+ <avprule id="Acct-Application-Id" type="Optional"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Accounting-Sub-Session-Id" type="Optional"/>
+ <avprule id="Acct-Session-Id" type="Optional"/>
+ <avprule id="Acct-Multi-Session-Id" type="Optional"/>
+ <avprule id="Acct-Interim-Interval" type="Optional"/>
+ <avprule id="Accounting-Realtime-Required" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Event-Timestamp" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ACA" code="271" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Accounting-Record-Type" type="Mandatory"/>
+ <avprule id="Accounting-Record-Number" type="Mandatory"/>
+ <avprule id="Acct-Application-Id" type="Optional"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Accounting-Sub-Session-Id" type="Optional"/>
+ <avprule id="Acct-Session-Id" type="Optional"/>
+ <avprule id="Acct-Multi-Session-Id" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Acct-Interim-Interval" type="Optional"/>
+ <avprule id="Accounting-Realtime-Required" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Event-Timestamp" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ASR" code="274" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Mandatory"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ASA" code="274" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="STR" code="275" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Termination-Cause" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Destination-Host" type="Optional"/>
+ <avprule id="Class" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="STA" code="275" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Class" type="Optional" qual="*"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="DWR" code="280" type="Request">
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ </command>
+ <command name="DWA" code="280" type="Answer">
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ </command>
+ <command name="DPR" code="282" type="Request">
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Disconnect-Cause" type="Mandatory"/>
+ </command>
+ <command name="DPA" code="282" type="Answer">
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ </command>
+</dictionary>
--- /dev/null
+<dictionary name="DictionaryRx | Application-Id: 16777236">
+ <vendor name="IETF" code="0"/>
+ <vendor name="3GPP" code="10415"/>
+ <vendor name="ETSI" code="13019"/>
+ <avp name="User-Name" code="1" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Framed-IP-Address" code="8" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Class" code="25" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Session-Timeout" code="27" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Called-Station-Id" code="30" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Proxy-State" code="33" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Acct-Session-Id" code="44" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Acct-Multi-Session-Id" code="50" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Event-Timestamp" code="55" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Time"/>
+ </avp>
+ <avp name="Acct-Interim-Interval" code="85" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Framed-IPv6-Prefix" code="97" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Host-IP-Address" code="257" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Address"/>
+ </avp>
+ <avp name="Auth-Application-Id" code="258" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Acct-Application-Id" code="259" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Vendor-Specific-Application-Id" code="260" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Vendor-Id" type="Mandatory" qual="1*"/>
+ <avprule id="Auth-Application-Id" type="Optional"/>
+ <avprule id="Acct-Application-Id" type="Optional"/>
+ </grouped>
+ </avp>
+ <avp name="Redirect-Host-Usage" code="261" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-6">
+ <label data="0" alias="DONT_CACHE"/>
+ <label data="1" alias="ALL_SESSION"/>
+ <label data="2" alias="ALL_REALM"/>
+ <label data="3" alias="REALM_AND_APPLICATION"/>
+ <label data="4" alias="ALL_APPLICATION"/>
+ <label data="5" alias="ALL_HOST"/>
+ <label data="6" alias="ALL_USER"/>
+ </single>
+ </avp>
+ <avp name="Redirect-Max-Cache-Time" code="262" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Session-Id" code="263" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Origin-Host" code="264" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Supported-Vendor-Id" code="265" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Vendor-Id" code="266" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Firmware-Revision" code="267" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Result-Code" code="268" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32">
+ <label data="1001" alias="DIAMETER_MULTI_ROUND_AUTH"/>
+ <label data="2001" alias="DIAMETER_SUCCESS"/>
+ <label data="2002" alias="DIAMETER_LIMITED_SUCCESS"/>
+ <label data="3001" alias="DIAMETER_COMMAND_UNSUPPORTED"/>
+ <label data="3002" alias="DIAMETER_UNABLE_TO_DELIVER"/>
+ <label data="3003" alias="DIAMETER_REALM_NOT_SERVED"/>
+ <label data="3004" alias="DIAMETER_TOO_BUSY"/>
+ <label data="3005" alias="DIAMETER_LOOP_DETECTED"/>
+ <label data="3006" alias="DIAMETER_REDIRECT_INDICATION"/>
+ <label data="3007" alias="DIAMETER_APPLICATION_UNSUPPORTED"/>
+ <label data="3008" alias="DIAMETER_INVALID_HDR_BITS"/>
+ <label data="3009" alias="DIAMETER_INVALID_AVP_BITS"/>
+ <label data="3010" alias="DIAMETER_UNKNOWN_PEER"/>
+ <label data="4001" alias="DIAMETER_AUTHENTICATION_REJECTED"/>
+ <label data="4002" alias="DIAMETER_OUT_OF_SPACE"/>
+ <label data="4003" alias="DIAMETER_ELECTION_LOST"/>
+ <label data="5001" alias="DIAMETER_AVP_UNSUPPORTED"/>
+ <label data="5002" alias="DIAMETER_UNKNOWN_SESSION_ID"/>
+ <label data="5003" alias="DIAMETER_AUTHORIZATION_REJECTED"/>
+ <label data="5004" alias="DIAMETER_INVALID_AVP_VALUE"/>
+ <label data="5005" alias="DIAMETER_MISSING_AVP"/>
+ <label data="5006" alias="DIAMETER_RESOURCES_EXCEEDED"/>
+ <label data="5007" alias="DIAMETER_CONTRADICTING_AVPS"/>
+ <label data="5008" alias="DIAMETER_AVP_NOT_ALLOWED"/>
+ <label data="5009" alias="DIAMETER_AVP_OCCURS_TOO_MANY_TIMES"/>
+ <label data="5010" alias="DIAMETER_NO_COMMON_APPLICATION"/>
+ <label data="5011" alias="DIAMETER_UNSUPPORTED_VERSION"/>
+ <label data="5012" alias="DIAMETER_UNABLE_TO_COMPLY"/>
+ <label data="5013" alias="DIAMETER_INVALID_BIT_IN_HEADER"/>
+ <label data="5014" alias="DIAMETER_INVALID_AVP_LENGTH"/>
+ <label data="5015" alias="DIAMETER_INVALID_MESSAGE_LENGTH"/>
+ <label data="5016" alias="DIAMETER_INVALID_AVP_BIT_COMBO"/>
+ <label data="5017" alias="DIAMETER_NO_COMMON_SECURITY"/>
+ <label data="5030" alias="DIAMETER_USER_UNKNOWN"/>
+ <label data="5063" alias="REQUESTED_SERVICE_NOT_AUTHORIZED"/>
+ <label data="5065" alias="IP_CAN_SESSION_NOT_AVAILABLE"/>
+ </single>
+ </avp>
+ <avp name="Product-Name" code="269" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Session-Binding" code="270" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Session-Server-Failover" code="271" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-3">
+ <label data="0" alias="REFUSE_SERVICE"/>
+ <label data="1" alias="TRY_AGAIN"/>
+ <label data="2" alias="ALLOW_SERVICE"/>
+ <label data="3" alias="TRY_AGAIN_ALLOW_SERVICE"/>
+ </single>
+ </avp>
+ <avp name="Multi-Round-Time-Out" code="272" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Disconnect-Cause" code="273" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-2">
+ <label data="0" alias="REBOOTING"/>
+ <label data="1" alias="BUSY"/>
+ <label data="2" alias="DO_NOT_WANT_TO_TALK_TO_YOU"/>
+ </single>
+ </avp>
+ <avp name="Auth-Request-Type" code="274" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-3">
+ <label data="1" alias="AUTHENTICATE_ONLY"/>
+ <label data="2" alias="AUTHORIZE_ONLY"/>
+ <label data="3" alias="AUTHORIZE_AUTHENTICATE"/>
+ </single>
+ </avp>
+ <avp name="Auth-Grace-Period" code="276" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Auth-Session-State" code="277" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="STATE_MAINTAINED"/>
+ <label data="1" alias="NO_STATE_MAINTAINED"/>
+ </single>
+ </avp>
+ <avp name="Origin-State-Id" code="278" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Failed-AVP" code="279" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="AVP" type="Mandatory" qual="1*"/>
+ </grouped>
+ </avp>
+ <avp name="Proxy-Host" code="280" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Error-Message" code="281" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Route-Record" code="282" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Destination-Realm" code="283" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Proxy-Info" code="284" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Proxy-Host" type="Mandatory"/>
+ <avprule id="Proxy-State" type="Mandatory"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Re-Auth-Request-Type" code="285" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="AUTHORIZE_ONLY"/>
+ <label data="1" alias="AUTHORIZE_AUTHENTICATE"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Sub-Session-Id" code="287" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned64"/>
+ </avp>
+ <avp name="Redirect-Host" code="292" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterURI"/>
+ </avp>
+ <avp name="Destination-Host" code="293" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Error-Reporting-Host" code="294" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Termination-Cause" code="295" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-8">
+ <label data="1" alias="LOGOUT"/>
+ <label data="2" alias="SERVICE_NOT_PROVIDED"/>
+ <label data="3" alias="BAD_ANSWER"/>
+ <label data="4" alias="ADMINISTRATIVE"/>
+ <label data="5" alias="LINK_BROKEN"/>
+ <label data="6" alias="AUTH_EXPIRED"/>
+ <label data="7" alias="USER_MOVED"/>
+ <label data="8" alias="SESSION_TIMEOUT"/>
+ </single>
+ </avp>
+ <avp name="Origin-Realm" code="296" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Experimental-Result" code="297" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Experimental-Result-Code" type="Mandatory"/>
+ </grouped>
+ </avp>
+ <avp name="Experimental-Result-Code" code="298" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Inband-Security-Id" code="299" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="E2E-Sequence" code="300" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="AVP" type="Mandatory" qual="2*"/>
+ </grouped>
+ </avp>
+ <avp name="Subscription-Id" code="443" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Subscription-Id-Type" type="Mandatory"/>
+ <avprule id="Subscription-Id-Data" type="Mandatory"/>
+ </grouped>
+ </avp>
+ <avp name="Subscription-Id-Data" code="444" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Subscription-Id-Type" code="450" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-4">
+ <label data="0" alias="END_USER_E164"/>
+ <label data="1" alias="END_USER_IMSI"/>
+ <label data="2" alias="END_USER_SIP_URI"/>
+ <label data="3" alias="END_USER_NAI"/>
+ <label data="4" alias="END_USER_PRIVATE"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Record-Type" code="480" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-4">
+ <label data="1" alias="EVENT_RECORD"/>
+ <label data="2" alias="START_RECORD"/>
+ <label data="3" alias="INTERIM_RECORD"/>
+ <label data="4" alias="STOP_RECORD"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Realtime-Required" code="483" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-3">
+ <label data="1" alias="DELIVER_AND_GRANT"/>
+ <label data="2" alias="GRANT_AND_STORE"/>
+ <label data="3" alias="GRANT_AND_LOSE"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Record-Number" code="485" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Abort-Cause" code="500" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-4">
+ <label data="0" alias="BEARER_RELEASED"/>
+ <label data="1" alias="INSUFFICIENT_SERVER_RESOURCES"/>
+ <label data="2" alias="INSUFFICIENT_BEARER_RESOURCES"/>
+ <label data="3" alias="PS_TO_CS_HANDOVER"/>
+ <label data="4" alias="SPONSORED_DATA_CONNECTIVITY_DISALLOWED"/>
+ </single>
+ </avp>
+ <avp name="AF-Application-Identifier" code="504" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="AF-Charging-Identifier" code="505" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Flow-Description" code="507" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="IPFilterRule"/>
+ </avp>
+ <avp name="Flow-Number" code="509" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Flows" code="510" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Media-Component-Number" type="Mandatory"/>
+ <avprule id="Flow-Number" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Flow-Status" code="511" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-4">
+ <label data="0" alias="ENABLED-UPLINK"/>
+ <label data="1" alias="ENABLED-DOWNLINK"/>
+ <label data="2" alias="ENABLED"/>
+ <label data="3" alias="DISABLED"/>
+ <label data="4" alias="REMOVED"/>
+ </single>
+ </avp>
+ <avp name="Flow-Usage" code="512" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-2">
+ <label data="0" alias="NO_INFORMATION"/>
+ <label data="1" alias="RTCP"/>
+ <label data="2" alias="AF_SIGNALLING"/>
+ </single>
+ </avp>
+ <avp name="Specific-Action" code="513" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-4,6-14">
+ <label data="1" alias="CHARGING_CORRELATION_EXCHANGE"/>
+ <label data="2" alias="INDICATION_OF_LOSS_OF_BEARER"/>
+ <label data="3" alias="INDICATION_OF_RECOVERY_OF_BEARER"/>
+ <label data="4" alias="INDICATION_OF_RELEASE_OF_BEARER"/>
+ <label data="6" alias="IP-CAN_CHANGE"/>
+ <label data="7" alias="INDICATION_OF_OUT_OF_CREDIT"/>
+ <label data="8" alias="INDICATION_OF_SUCCESSFUL_RESOURCES_ALLOCATION"/>
+ <label data="9" alias="INDICATION_OF_FAILED_RESOURCES_ALLOCATION"/>
+ <label data="10" alias="INDICATION_OF_LIMITED_PCC_DEPLOYMENT"/>
+ <label data="11" alias="USAGE_REPORT"/>
+ <label data="12" alias="ACCESS_NETWORK_INFO_REPORT"/>
+ <label data="13" alias="INDICATION_OF_RECOVERY_FROM_LIMITED_PCC_DEPLOYMENT"/>
+ <label data="14" alias="INDICATION_OF_ACCESS_NETWORK_INFO_REPORTING_FAILURE"/>
+ </single>
+ </avp>
+ <avp name="Max-Requested-Bandwidth-DL" code="515" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Max-Requested-Bandwidth-UL" code="516" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Media-Component-Description" code="517" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Media-Component-Number" type="Mandatory"/>
+ <avprule id="Media-Sub-Component" type="Optional" qual="*"/>
+ <avprule id="AF-Application-Identifier" type="Optional"/>
+ <avprule id="Media-Type" type="Optional"/>
+ <avprule id="Max-Requested-Bandwidth-UL" type="Optional"/>
+ <avprule id="Max-Requested-Bandwidth-DL" type="Optional"/>
+ <avprule id="Min-Requested-Bandwidth-UL" type="Optional"/>
+ <avprule id="Min-Requested-Bandwidth-DL" type="Optional"/>
+ <avprule id="Flow-Status" type="Optional"/>
+ <avprule id="Reservation-Priority" type="Optional"/>
+ <avprule id="RS-Bandwidth" type="Optional"/>
+ <avprule id="RR-Bandwidth" type="Optional"/>
+ <avprule id="Codec-Data" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Media-Component-Number" code="518" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Media-Sub-Component" code="519" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Flow-Number" type="Mandatory"/>
+ <avprule id="Flow-Description" type="Optional" qual="0*2"/>
+ <avprule id="Flow-Status" type="Optional"/>
+ <avprule id="Flow-Usage" type="Optional"/>
+ <avprule id="Max-Requested-Bandwidth-UL" type="Optional"/>
+ <avprule id="Max-Requested-Bandwidth-DL" type="Optional"/>
+ </grouped>
+ </avp>
+ <avp name="Media-Type" code="520" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-6">
+ <label data="0" alias="OTHER"/>
+ <label data="1" alias="VIDEO"/>
+ <label data="2" alias="DATA"/>
+ <label data="3" alias="APPLICATION"/>
+ <label data="4" alias="CONTROL"/>
+ <label data="5" alias="TEXT"/>
+ <label data="6" alias="MESSAGE"/>
+ </single>
+ </avp>
+ <avp name="RR-Bandwidth" code="521" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="RS-Bandwidth" code="522" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="SIP-Forking-Indication" code="523" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="SINGLE_DIALOGUE"/>
+ <label data="1" alias="SEVERAL_DIALOGUES"/>
+ </single>
+ </avp>
+ <avp name="Codec-Data" code="524" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Service-URN" code="525" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Service-Info-Status" code="527" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="FINAL_SERVICE_INFORMATION"/>
+ <label data="1" alias="PRELIMINARY_SERVICE_INFORMATION"/>
+ </single>
+ </avp>
+ <avp name="MPS-Identifier" code="528" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="AF-Signalling-Protocol" code="529" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="NO_INFORMATION"/>
+ <label data="1" alias="SIP"/>
+ </single>
+ </avp>
+ <avp name="Rx-Request-Type" code="533" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="INITIAL_REQUEST"/>
+ <label data="1" alias="UPDATE_REQUEST"/>
+ </single>
+ </avp>
+ <avp name="Min-Requested-Bandwidth-DL" code="534" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Min-Requested-Bandwidth-UL" code="535" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Required-Access-Info" code="536" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="USER_LOCATION"/>
+ <label data="1" alias="MS_TIME_ZONE"/>
+ </single>
+ </avp>
+ <avp name="IP-Domain-Id" code="537" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Supported-Features" code="628" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="may" p-bit="mustnot">
+ <grouped>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Feature-List-ID" type="Mandatory"/>
+ <avprule id="Feature-List" type="Mandatory"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Feature-List-ID" code="629" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Feature-List" code="630" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Reservation-Priority" code="458" vendor-name="ETSI" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-15">
+ <label data="0" alias="DEFAULT"/>
+ <label data="1" alias="PRIORITY-ONE"/>
+ <label data="2" alias="PRIORITY-TWO"/>
+ <label data="3" alias="PRIORITY-THREE"/>
+ <label data="4" alias="PRIORITY-FOUR"/>
+ <label data="5" alias="PRIORITY-FIVE"/>
+ <label data="6" alias="PRIORITY-SIX"/>
+ <label data="7" alias="PRIORITY-SEVEN"/>
+ <label data="8" alias="PRIORITY-EIGHT"/>
+ <label data="9" alias="PRIORITY-NINE"/>
+ <label data="10" alias="PRIORITY-TEN"/>
+ <label data="11" alias="PRIORITY-ELEVEN"/>
+ <label data="12" alias="PRIORITY-TWELVE"/>
+ <label data="13" alias="PRIORITY-THIRTEEN"/>
+ <label data="14" alias="PRIORITY-FOURTEEN"/>
+ <label data="15" alias="PRIORITY-FIFTEEN"/>
+ </single>
+ </avp>
+ <command name="CER" code="257" type="Request">
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Host-IP-Address" type="Mandatory" qual="1*"/>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Product-Name" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Supported-Vendor-Id" type="Optional" qual="*"/>
+ <avprule id="Auth-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Inband-Security-Id" type="Optional" qual="*"/>
+ <avprule id="Acct-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Firmware-Revision" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="CEA" code="257" type="Answer">
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Host-IP-Address" type="Mandatory" qual="1*"/>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Product-Name" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Supported-Vendor-Id" type="Optional" qual="*"/>
+ <avprule id="Auth-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Inband-Security-Id" type="Optional" qual="*"/>
+ <avprule id="Acct-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Firmware-Revision" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="RA-Request" code="258" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Mandatory"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Specific-Action" type="Mandatory" qual="*"/>
+ <avprule id="Flows" type="Optional" qual="*"/>
+ <avprule id="Abort-Cause" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ </command>
+ <command name="RA-Answer" code="258" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Result-Code" type="Optional"/>
+ <avprule id="Experimental-Result" type="Optional"/>
+ <avprule id="Media-Component-Description" type="Optional" qual="*"/>
+ <avprule id="Service-URN" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Class" type="Optional" qual="*"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="AA-Request" code="265" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Optional"/>
+ <avprule id="IP-Domain-Id" type="Optional"/>
+ <avprule id="AF-Application-Identifier" type="Optional"/>
+ <avprule id="Media-Component-Description" type="Optional" qual="*"/>
+ <avprule id="Service-Info-Status" type="Optional"/>
+ <avprule id="AF-Charging-Identifier" type="Optional"/>
+ <avprule id="SIP-Forking-Indication" type="Optional"/>
+ <avprule id="Specific-Action" type="Optional" qual="*"/>
+ <avprule id="Subscription-Id" type="Optional" qual="*"/>
+ <avprule id="Supported-Features" type="Optional" qual="*"/>
+ <avprule id="Reservation-Priority" type="Optional"/>
+ <avprule id="Framed-IP-Address" type="Optional"/>
+ <avprule id="Framed-IPv6-Prefix" type="Optional"/>
+ <avprule id="Called-Station-Id" type="Optional"/>
+ <avprule id="Service-URN" type="Optional"/>
+ <avprule id="MPS-Identifier" type="Optional"/>
+ <avprule id="Rx-Request-Type" type="Optional"/>
+ <avprule id="Required-Access-Info" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="AA-Answer" code="265" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Result-Code" type="Optional"/>
+ <avprule id="Experimental-Result" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Supported-Features" type="Optional" qual="*"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ </command>
+ <command name="ACR" code="271" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Accounting-Record-Type" type="Mandatory"/>
+ <avprule id="Accounting-Record-Number" type="Mandatory"/>
+ <avprule id="Acct-Application-Id" type="Optional"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Accounting-Sub-Session-Id" type="Optional"/>
+ <avprule id="Acct-Session-Id" type="Optional"/>
+ <avprule id="Acct-Multi-Session-Id" type="Optional"/>
+ <avprule id="Acct-Interim-Interval" type="Optional"/>
+ <avprule id="Accounting-Realtime-Required" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Event-Timestamp" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ACA" code="271" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Accounting-Record-Type" type="Mandatory"/>
+ <avprule id="Accounting-Record-Number" type="Mandatory"/>
+ <avprule id="Acct-Application-Id" type="Optional"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Accounting-Sub-Session-Id" type="Optional"/>
+ <avprule id="Acct-Session-Id" type="Optional"/>
+ <avprule id="Acct-Multi-Session-Id" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Acct-Interim-Interval" type="Optional"/>
+ <avprule id="Accounting-Realtime-Required" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Event-Timestamp" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="AS-Request" code="274" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Mandatory"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Abort-Cause" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ </command>
+ <command name="AS-Answer" code="274" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Result-Code" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ST-Request" code="275" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Termination-Cause" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Optional"/>
+ <avprule id="Required-Access-Info" type="Optional" qual="*"/>
+ <avprule id="Class" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ST-Answer" code="275" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Result-Code" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ </command>
+ <command name="DWR" code="280" type="Request">
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ </command>
+ <command name="DWA" code="280" type="Answer">
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ </command>
+ <command name="DPR" code="282" type="Request">
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Disconnect-Cause" type="Mandatory"/>
+ </command>
+ <command name="DPA" code="282" type="Answer">
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ </command>
+</dictionary>
--- /dev/null
+<dictionary name="DictionaryGx | Application-Id: 16777238">
+ <vendor name="IETF" code="0"/>
+ <vendor name="ERICSSON" code="193"/>
+ <vendor name="3GPP2" code="5535"/>
+ <vendor name="3GPP" code="10415"/>
+ <avp name="User-Name" code="1" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Framed-IP-Address" code="8" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Class" code="25" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Session-Timeout" code="27" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Called-Station-Id" code="30" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Proxy-State" code="33" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Acct-Session-Id" code="44" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Acct-Multi-Session-Id" code="50" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Event-Timestamp" code="55" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Time"/>
+ </avp>
+ <avp name="Acct-Interim-Interval" code="85" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Framed-IPv6-Prefix" code="97" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Host-IP-Address" code="257" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Address"/>
+ </avp>
+ <avp name="Auth-Application-Id" code="258" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Acct-Application-Id" code="259" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Vendor-Specific-Application-Id" code="260" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Vendor-Id" type="Mandatory" qual="1*"/>
+ <avprule id="Auth-Application-Id" type="Optional"/>
+ <avprule id="Acct-Application-Id" type="Optional"/>
+ </grouped>
+ </avp>
+ <avp name="Redirect-Host-Usage" code="261" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-6">
+ <label data="0" alias="DONT_CACHE"/>
+ <label data="1" alias="ALL_SESSION"/>
+ <label data="2" alias="ALL_REALM"/>
+ <label data="3" alias="REALM_AND_APPLICATION"/>
+ <label data="4" alias="ALL_APPLICATION"/>
+ <label data="5" alias="ALL_HOST"/>
+ <label data="6" alias="ALL_USER"/>
+ </single>
+ </avp>
+ <avp name="Redirect-Max-Cache-Time" code="262" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Session-Id" code="263" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Origin-Host" code="264" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Supported-Vendor-Id" code="265" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Vendor-Id" code="266" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Firmware-Revision" code="267" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Result-Code" code="268" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32">
+ <label data="1001" alias="DIAMETER_MULTI_ROUND_AUTH"/>
+ <label data="2001" alias="DIAMETER_SUCCESS"/>
+ <label data="2002" alias="DIAMETER_LIMITED_SUCCESS"/>
+ <label data="3001" alias="DIAMETER_COMMAND_UNSUPPORTED"/>
+ <label data="3002" alias="DIAMETER_UNABLE_TO_DELIVER"/>
+ <label data="3003" alias="DIAMETER_REALM_NOT_SERVED"/>
+ <label data="3004" alias="DIAMETER_TOO_BUSY"/>
+ <label data="3005" alias="DIAMETER_LOOP_DETECTED"/>
+ <label data="3006" alias="DIAMETER_REDIRECT_INDICATION"/>
+ <label data="3007" alias="DIAMETER_APPLICATION_UNSUPPORTED"/>
+ <label data="3008" alias="DIAMETER_INVALID_HDR_BITS"/>
+ <label data="3009" alias="DIAMETER_INVALID_AVP_BITS"/>
+ <label data="3010" alias="DIAMETER_UNKNOWN_PEER"/>
+ <label data="4001" alias="DIAMETER_AUTHENTICATION_REJECTED"/>
+ <label data="4002" alias="DIAMETER_OUT_OF_SPACE"/>
+ <label data="4003" alias="DIAMETER_ELECTION_LOST"/>
+ <label data="5001" alias="DIAMETER_AVP_UNSUPPORTED"/>
+ <label data="5002" alias="DIAMETER_UNKNOWN_SESSION_ID"/>
+ <label data="5003" alias="DIAMETER_AUTHORIZATION_REJECTED"/>
+ <label data="5004" alias="DIAMETER_INVALID_AVP_VALUE"/>
+ <label data="5005" alias="DIAMETER_MISSING_AVP"/>
+ <label data="5006" alias="DIAMETER_RESOURCES_EXCEEDED"/>
+ <label data="5007" alias="DIAMETER_CONTRADICTING_AVPS"/>
+ <label data="5008" alias="DIAMETER_AVP_NOT_ALLOWED"/>
+ <label data="5009" alias="DIAMETER_AVP_OCCURS_TOO_MANY_TIMES"/>
+ <label data="5010" alias="DIAMETER_NO_COMMON_APPLICATION"/>
+ <label data="5011" alias="DIAMETER_UNSUPPORTED_VERSION"/>
+ <label data="5012" alias="DIAMETER_UNABLE_TO_COMPLY"/>
+ <label data="5013" alias="DIAMETER_INVALID_BIT_IN_HEADER"/>
+ <label data="5014" alias="DIAMETER_INVALID_AVP_LENGTH"/>
+ <label data="5015" alias="DIAMETER_INVALID_MESSAGE_LENGTH"/>
+ <label data="5016" alias="DIAMETER_INVALID_AVP_BIT_COMBO"/>
+ <label data="5017" alias="DIAMETER_NO_COMMON_SECURITY"/>
+ <label data="5030" alias="DIAMETER_USER_UNKNOWN"/>
+ <label data="5063" alias="REQUESTED_SERVICE_NOT_AUTHORIZED"/>
+ <label data="5065" alias="IP_CAN_SESSION_NOT_AVAILABLE"/>
+ </single>
+ </avp>
+ <avp name="Product-Name" code="269" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Session-Binding" code="270" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Session-Server-Failover" code="271" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-3">
+ <label data="0" alias="REFUSE_SERVICE"/>
+ <label data="1" alias="TRY_AGAIN"/>
+ <label data="2" alias="ALLOW_SERVICE"/>
+ <label data="3" alias="TRY_AGAIN_ALLOW_SERVICE"/>
+ </single>
+ </avp>
+ <avp name="Multi-Round-Time-Out" code="272" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Disconnect-Cause" code="273" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-2">
+ <label data="0" alias="REBOOTING"/>
+ <label data="1" alias="BUSY"/>
+ <label data="2" alias="DO_NOT_WANT_TO_TALK_TO_YOU"/>
+ </single>
+ </avp>
+ <avp name="Auth-Request-Type" code="274" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-3">
+ <label data="1" alias="AUTHENTICATE_ONLY"/>
+ <label data="2" alias="AUTHORIZE_ONLY"/>
+ <label data="3" alias="AUTHORIZE_AUTHENTICATE"/>
+ </single>
+ </avp>
+ <avp name="Auth-Grace-Period" code="276" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Auth-Session-State" code="277" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="STATE_MAINTAINED"/>
+ <label data="1" alias="NO_STATE_MAINTAINED"/>
+ </single>
+ </avp>
+ <avp name="Origin-State-Id" code="278" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Failed-AVP" code="279" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="AVP" type="Mandatory" qual="1*"/>
+ </grouped>
+ </avp>
+ <avp name="Proxy-Host" code="280" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Error-Message" code="281" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Route-Record" code="282" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Destination-Realm" code="283" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Proxy-Info" code="284" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Proxy-Host" type="Mandatory"/>
+ <avprule id="Proxy-State" type="Mandatory"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Re-Auth-Request-Type" code="285" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="AUTHORIZE_ONLY"/>
+ <label data="1" alias="AUTHORIZE_AUTHENTICATE"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Sub-Session-Id" code="287" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned64"/>
+ </avp>
+ <avp name="Redirect-Host" code="292" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterURI"/>
+ </avp>
+ <avp name="Destination-Host" code="293" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Error-Reporting-Host" code="294" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Termination-Cause" code="295" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-8">
+ <label data="1" alias="LOGOUT"/>
+ <label data="2" alias="SERVICE_NOT_PROVIDED"/>
+ <label data="3" alias="BAD_ANSWER"/>
+ <label data="4" alias="ADMINISTRATIVE"/>
+ <label data="5" alias="LINK_BROKEN"/>
+ <label data="6" alias="AUTH_EXPIRED"/>
+ <label data="7" alias="USER_MOVED"/>
+ <label data="8" alias="SESSION_TIMEOUT"/>
+ </single>
+ </avp>
+ <avp name="Origin-Realm" code="296" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Experimental-Result" code="297" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Experimental-Result-Code" type="Mandatory"/>
+ </grouped>
+ </avp>
+ <avp name="Experimental-Result-Code" code="298" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Inband-Security-Id" code="299" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="E2E-Sequence" code="300" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="AVP" type="Mandatory" qual="2*"/>
+ </grouped>
+ </avp>
+ <avp name="CC-Input-Octets" code="412" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned64"/>
+ </avp>
+ <avp name="CC-Output-Octets" code="414" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned64"/>
+ </avp>
+ <avp name="CC-Request-Number" code="415" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="CC-Request-Type" code="416" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-4">
+ <label data="1" alias="INITIAL_REQUEST"/>
+ <label data="2" alias="UPDATE_REQUEST"/>
+ <label data="3" alias="TERMINATION_REQUEST"/>
+ <label data="4" alias="EVENT_REQUEST"/>
+ </single>
+ </avp>
+ <avp name="CC-Time" code="420" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="CC-Total-Octets" code="421" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned64"/>
+ </avp>
+ <avp name="Granted-Service-Unit" code="431" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <grouped>
+ <avprule id="CC-Total-Octets" type="Optional"/>
+ <avprule id="CC-Time" type="Optional"/>
+ <avprule id="CC-Input-Octets" type="Optional"/>
+ <avprule id="CC-Output-Octets" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Rating-Group" code="432" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Redirect-Server-Address" code="435" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Service-Identifier" code="439" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Subscription-Id" code="443" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Subscription-Id-Type" type="Mandatory"/>
+ <avprule id="Subscription-Id-Data" type="Mandatory"/>
+ </grouped>
+ </avp>
+ <avp name="Subscription-Id-Data" code="444" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Used-Service-Unit" code="446" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <grouped>
+ <avprule id="CC-Total-Octets" type="Optional"/>
+ <avprule id="CC-Time" type="Optional"/>
+ <avprule id="CC-Input-Octets" type="Optional"/>
+ <avprule id="CC-Output-Octets" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Subscription-Id-Type" code="450" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-4">
+ <label data="0" alias="END_USER_E164"/>
+ <label data="1" alias="END_USER_IMSI"/>
+ <label data="2" alias="END_USER_SIP_URI"/>
+ <label data="3" alias="END_USER_NAI"/>
+ <label data="4" alias="END_USER_PRIVATE"/>
+ </single>
+ </avp>
+ <avp name="User-Equipment-Info" code="458" may-encrypt="yes" v-bit="mustnot" m-bit="may" p-bit="mustnot">
+ <grouped>
+ <avprule id="User-Equipment-Info-Type" type="Mandatory"/>
+ <avprule id="User-Equipment-Info-Value" type="Mandatory"/>
+ </grouped>
+ </avp>
+ <avp name="User-Equipment-Info-Type" code="459" may-encrypt="yes" v-bit="mustnot" m-bit="may" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-3">
+ <label data="0" alias="IMEISV"/>
+ <label data="1" alias="MAC"/>
+ <label data="2" alias="EUI64"/>
+ <label data="3" alias="MODIFIED_EUI64"/>
+ </single>
+ </avp>
+ <avp name="User-Equipment-Info-Value" code="460" may-encrypt="yes" v-bit="mustnot" m-bit="may" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Accounting-Record-Type" code="480" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-4">
+ <label data="1" alias="EVENT_RECORD"/>
+ <label data="2" alias="START_RECORD"/>
+ <label data="3" alias="INTERIM_RECORD"/>
+ <label data="4" alias="STOP_RECORD"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Realtime-Required" code="483" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-3">
+ <label data="1" alias="DELIVER_AND_GRANT"/>
+ <label data="2" alias="GRANT_AND_STORE"/>
+ <label data="3" alias="GRANT_AND_LOSE"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Record-Number" code="485" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Rule-Space-Suggestion" code="290" vendor-name="ERICSSON" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Authorization-State" code="1056" vendor-name="ERICSSON" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-12">
+ <label data="0" alias="AUTHORIZED"/>
+ <label data="1" alias="DENIED_CALENDAR_TIME"/>
+ <label data="2" alias="DENIED_ROAMING"/>
+ <label data="3" alias="DENIED_QUALITY_OF_SERVICE"/>
+ <label data="4" alias="DENIED_BLACKLISTED"/>
+ <label data="5" alias="DENIED_TERMINAL"/>
+ <label data="6" alias="DENIED_OPERATOR_REASON_ONE"/>
+ <label data="7" alias="DENIED_OPERATOR_REASON_TWO"/>
+ <label data="8" alias="DENIED_OPERATOR_REASON_THREE"/>
+ <label data="9" alias="DENIED_OPERATOR_REASON_FOUR"/>
+ <label data="10" alias="DENIED_OPERATOR_REASON_FIVE"/>
+ <label data="11" alias="DENIED_UNKNOWN_REASON"/>
+ <label data="12" alias="DENIED_USAGE_CONTROL"/>
+ </single>
+ </avp>
+ <avp name="Gx-Capability-List" code="1060" vendor-name="ERICSSON" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Content-Filtering-Profile-Id" code="1138" vendor-name="ERICSSON" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="3GPP2-BSID" code="9010" vendor-name="3GPP2" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="3GPP-SGSN-Address" code="6" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="3GPP-Charging-Characteristics" code="13" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="3GPP-SGSN-IPv6-Address" code="15" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="3GPP-SGSN-MCC-MNC" code="18" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="3GPP-RAT-Type" code="21" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="3GPP-User-Location-Info" code="22" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="3GPP-MS-TimeZone" code="23" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Access-Network-Charging-Address" code="501" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Address"/>
+ </avp>
+ <avp name="Access-Network-Charging-Identifier-Value" code="503" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="AF-Charging-Identifier" code="505" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Flow-Description" code="507" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="IPFilterRule"/>
+ </avp>
+ <avp name="Flow-Number" code="509" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Flows" code="510" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Media-Component-Number" type="Mandatory"/>
+ <avprule id="Flow-Number" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Flow-Status" code="511" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-4">
+ <label data="0" alias="ENABLED-UPLINK"/>
+ <label data="1" alias="ENABLED-DOWNLINK"/>
+ <label data="2" alias="ENABLED"/>
+ <label data="3" alias="DISABLED"/>
+ <label data="4" alias="REMOVED"/>
+ </single>
+ </avp>
+ <avp name="Max-Requested-Bandwidth-DL" code="515" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Max-Requested-Bandwidth-UL" code="516" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Media-Component-Number" code="518" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Charging-Information" code="618" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Primary-Event-Charging-Function-Name" type="Optional"/>
+ <avprule id="Secondary-Event-Charging-Function-Name" type="Optional"/>
+ <avprule id="Primary-Charging-Collection-Function-Name" type="Optional"/>
+ <avprule id="Secondary-Charging-Collection-Function-Name" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Primary-Event-Charging-Function-Name" code="619" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterURI"/>
+ </avp>
+ <avp name="Secondary-Event-Charging-Function-Name" code="620" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterURI"/>
+ </avp>
+ <avp name="Primary-Charging-Collection-Function-Name" code="621" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterURI"/>
+ </avp>
+ <avp name="Secondary-Charging-Collection-Function-Name" code="622" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterURI"/>
+ </avp>
+ <avp name="Supported-Features" code="628" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="may" p-bit="mustnot">
+ <grouped>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Feature-List-ID" type="Mandatory"/>
+ <avprule id="Feature-List" type="Mandatory"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Feature-List-ID" code="629" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Feature-List" code="630" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="RAI" code="909" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Bearer-Usage" code="1000" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="GENERAL"/>
+ <label data="1" alias="IMS_SIGNALLING"/>
+ </single>
+ </avp>
+ <avp name="Charging-Rule-Install" code="1001" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Charging-Rule-Definition" type="Optional" qual="*"/>
+ <avprule id="Charging-Rule-Name" type="Optional" qual="*"/>
+ <avprule id="Charging-Rule-Base-Name" type="Optional" qual="*"/>
+ <avprule id="Charging-Rule-Authorization" type="Optional" qual="*"/>
+ <avprule id="Bearer-Identifier" type="Optional"/>
+ <avprule id="Rule-Activation-Time" type="Optional"/>
+ <avprule id="Rule-DeActivation-Time" type="Optional"/>
+ <avprule id="Resource-Allocation-Notification" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Charging-Rule-Remove" code="1002" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Charging-Rule-Name" type="Optional" qual="*"/>
+ <avprule id="Charging-Rule-Base-Name" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Charging-Rule-Definition" code="1003" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Charging-Rule-Name" type="Mandatory"/>
+ <avprule id="Service-Identifier" type="Optional"/>
+ <avprule id="Rating-Group" type="Optional"/>
+ <avprule id="Flow-Information" type="Optional" qual="*"/>
+ <avprule id="Flow-Status" type="Optional"/>
+ <avprule id="QoS-Information" type="Optional"/>
+ <avprule id="Reporting-Level" type="Optional"/>
+ <avprule id="Online" type="Optional"/>
+ <avprule id="Offline" type="Optional"/>
+ <avprule id="Metering-Method" type="Optional"/>
+ <avprule id="Precedence" type="Optional"/>
+ <avprule id="AF-Charging-Identifier" type="Optional"/>
+ <avprule id="Flows" type="Optional" qual="*"/>
+ <avprule id="Monitoring-Key" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Charging-Rule-Base-Name" code="1004" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Charging-Rule-Name" code="1005" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Event-Trigger" code="1006" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-2,4-4,7-7,12-13,15-17,20-22,25-27,29-29,33-34">
+ <label data="0" alias="SGSN_CHANGE"/>
+ <label data="1" alias="QOS_CHANGE"/>
+ <label data="2" alias="RAT_CHANGE"/>
+ <label data="4" alias="PLMN_CHANGE"/>
+ <label data="7" alias="IP-CAN-CHANGE"/>
+ <label data="12" alias="RAI_CHANGE"/>
+ <label data="13" alias="USER_LOCATION_CHANGE"/>
+ <label data="15" alias="OUT_OF_CREDIT"/>
+ <label data="16" alias="REALLOCATION_OF_CREDIT"/>
+ <label data="17" alias="REVALIDATION_TIMEOUT"/>
+ <label data="20" alias="DEFAULT_EPS_BEARER_QOS_CHANGE"/>
+ <label data="21" alias="AN_GW_CHANGE"/>
+ <label data="22" alias="SUCCESSFUL_RESOURCE_ALLOCATION"/>
+ <label data="25" alias="UE_TIME_ZONE_CHANGE"/>
+ <label data="26" alias="TAI_CHANGE"/>
+ <label data="27" alias="ECGI_CHANGE"/>
+ <label data="29" alias="APN-AMBR_MODIFICATION_FAILURE"/>
+ <label data="33" alias="USAGE_REPORT"/>
+ <label data="34" alias="DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE"/>
+ </single>
+ </avp>
+ <avp name="Metering-Method" code="1007" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-2">
+ <label data="0" alias="DURATION"/>
+ <label data="1" alias="VOLUME"/>
+ <label data="2" alias="DURATION_VOLUME"/>
+ </single>
+ </avp>
+ <avp name="Offline" code="1008" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="DISABLE_OFFLINE"/>
+ <label data="1" alias="ENABLE_OFFLINE"/>
+ </single>
+ </avp>
+ <avp name="Online" code="1009" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="DISABLE_ONLINE"/>
+ <label data="1" alias="ENABLE_ONLINE"/>
+ </single>
+ </avp>
+ <avp name="Precedence" code="1010" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Reporting-Level" code="1011" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="SERVICE_IDENTIFIER_LEVEL"/>
+ <label data="1" alias="RATING_GROUP_LEVEL"/>
+ </single>
+ </avp>
+ <avp name="ToS-Traffic-Class" code="1014" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="QoS-Information" code="1016" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="QoS-Class-Identifier" type="Optional"/>
+ <avprule id="Max-Requested-Bandwidth-UL" type="Optional"/>
+ <avprule id="Max-Requested-Bandwidth-DL" type="Optional"/>
+ <avprule id="Guaranteed-Bitrate-UL" type="Optional"/>
+ <avprule id="Guaranteed-Bitrate-DL" type="Optional"/>
+ <avprule id="Bearer-Identifier" type="Optional"/>
+ <avprule id="Allocation-Retention-Priority" type="Optional"/>
+ <avprule id="APN-Aggregate-Max-Bitrate-UL" type="Optional"/>
+ <avprule id="APN-Aggregate-Max-Bitrate-DL" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Charging-Rule-Report" code="1018" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Charging-Rule-Name" type="Optional" qual="*"/>
+ <avprule id="Charging-Rule-Base-Name" type="Optional" qual="*"/>
+ <avprule id="PCC-Rule-Status" type="Optional"/>
+ <avprule id="Rule-Failure-Code" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="PCC-Rule-Status" code="1019" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-2">
+ <label data="0" alias="ACTIVE"/>
+ <label data="1" alias="INACTIVE"/>
+ <label data="2" alias="TEMPORARILY_INACTIVE"/>
+ </single>
+ </avp>
+ <avp name="Bearer-Identifier" code="1020" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Bearer-Operation" code="1021" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-2">
+ <label data="0" alias="TERMINATION"/>
+ <label data="1" alias="ESTABLISHMENT"/>
+ <label data="2" alias="MODIFICATION"/>
+ </single>
+ </avp>
+ <avp name="Access-Network-Charging-Identifier-Gx" code="1022" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Access-Network-Charging-Identifier-Value" type="Mandatory"/>
+ <avprule id="Charging-Rule-Base-Name" type="Optional" qual="*"/>
+ <avprule id="Charging-Rule-Name" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Bearer-Control-Mode" code="1023" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-2">
+ <label data="0" alias="UE_ONLY"/>
+ <label data="1" alias="RESERVED"/>
+ <label data="2" alias="UE_NW"/>
+ </single>
+ </avp>
+ <avp name="Network-Request-Support" code="1024" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="NETWORK_REQUEST_NOT_SUPPORTED"/>
+ <label data="1" alias="NETWORK_REQUEST_SUPPORTED"/>
+ </single>
+ </avp>
+ <avp name="Guaranteed-Bitrate-DL" code="1025" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Guaranteed-Bitrate-UL" code="1026" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="IP-CAN-Type" code="1027" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-6">
+ <label data="0" alias="3GPP-GPRS"/>
+ <label data="1" alias="DOCSIS"/>
+ <label data="2" alias="xDSL"/>
+ <label data="3" alias="WiMAX"/>
+ <label data="4" alias="3GPP2"/>
+ <label data="5" alias="3GPP-EPS"/>
+ <label data="6" alias="Non-3GPP-EPS"/>
+ </single>
+ </avp>
+ <avp name="QoS-Class-Identifier" code="1028" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-9,128-254">
+ <label data="1" alias="QCI_1"/>
+ <label data="2" alias="QCI_2"/>
+ <label data="3" alias="QCI_3"/>
+ <label data="4" alias="QCI_4"/>
+ <label data="5" alias="QCI_5"/>
+ <label data="6" alias="QCI_6"/>
+ <label data="7" alias="QCI_7"/>
+ <label data="8" alias="QCI_8"/>
+ <label data="9" alias="QCI_9"/>
+ <label data="128" alias="QCI_128"/>
+ <label data="129" alias="QCI_129"/>
+ <label data="130" alias="QCI_130"/>
+ <label data="131" alias="QCI_131"/>
+ <label data="132" alias="QCI_132"/>
+ <label data="133" alias="QCI_133"/>
+ <label data="134" alias="QCI_134"/>
+ <label data="135" alias="QCI_135"/>
+ <label data="136" alias="QCI_136"/>
+ <label data="137" alias="QCI_137"/>
+ <label data="138" alias="QCI_138"/>
+ <label data="139" alias="QCI_139"/>
+ <label data="140" alias="QCI_140"/>
+ <label data="141" alias="QCI_141"/>
+ <label data="142" alias="QCI_142"/>
+ <label data="143" alias="QCI_143"/>
+ <label data="144" alias="QCI_144"/>
+ <label data="145" alias="QCI_145"/>
+ <label data="146" alias="QCI_146"/>
+ <label data="147" alias="QCI_147"/>
+ <label data="148" alias="QCI_148"/>
+ <label data="149" alias="QCI_149"/>
+ <label data="150" alias="QCI_150"/>
+ <label data="151" alias="QCI_151"/>
+ <label data="152" alias="QCI_152"/>
+ <label data="153" alias="QCI_153"/>
+ <label data="154" alias="QCI_154"/>
+ <label data="155" alias="QCI_155"/>
+ <label data="156" alias="QCI_156"/>
+ <label data="157" alias="QCI_157"/>
+ <label data="158" alias="QCI_158"/>
+ <label data="159" alias="QCI_159"/>
+ <label data="160" alias="QCI_160"/>
+ <label data="161" alias="QCI_161"/>
+ <label data="162" alias="QCI_162"/>
+ <label data="163" alias="QCI_163"/>
+ <label data="164" alias="QCI_164"/>
+ <label data="165" alias="QCI_165"/>
+ <label data="166" alias="QCI_166"/>
+ <label data="167" alias="QCI_167"/>
+ <label data="168" alias="QCI_168"/>
+ <label data="169" alias="QCI_169"/>
+ <label data="170" alias="QCI_170"/>
+ <label data="171" alias="QCI_171"/>
+ <label data="172" alias="QCI_172"/>
+ <label data="173" alias="QCI_173"/>
+ <label data="174" alias="QCI_174"/>
+ <label data="175" alias="QCI_175"/>
+ <label data="176" alias="QCI_176"/>
+ <label data="177" alias="QCI_177"/>
+ <label data="178" alias="QCI_178"/>
+ <label data="179" alias="QCI_179"/>
+ <label data="180" alias="QCI_180"/>
+ <label data="181" alias="QCI_181"/>
+ <label data="182" alias="QCI_182"/>
+ <label data="183" alias="QCI_183"/>
+ <label data="184" alias="QCI_184"/>
+ <label data="185" alias="QCI_185"/>
+ <label data="186" alias="QCI_186"/>
+ <label data="187" alias="QCI_187"/>
+ <label data="188" alias="QCI_188"/>
+ <label data="189" alias="QCI_189"/>
+ <label data="190" alias="QCI_190"/>
+ <label data="191" alias="QCI_191"/>
+ <label data="192" alias="QCI_192"/>
+ <label data="193" alias="QCI_193"/>
+ <label data="194" alias="QCI_194"/>
+ <label data="195" alias="QCI_195"/>
+ <label data="196" alias="QCI_196"/>
+ <label data="197" alias="QCI_197"/>
+ <label data="198" alias="QCI_198"/>
+ <label data="199" alias="QCI_199"/>
+ <label data="200" alias="QCI_200"/>
+ <label data="201" alias="QCI_201"/>
+ <label data="202" alias="QCI_202"/>
+ <label data="203" alias="QCI_203"/>
+ <label data="204" alias="QCI_204"/>
+ <label data="205" alias="QCI_205"/>
+ <label data="206" alias="QCI_206"/>
+ <label data="207" alias="QCI_207"/>
+ <label data="208" alias="QCI_208"/>
+ <label data="209" alias="QCI_209"/>
+ <label data="210" alias="QCI_210"/>
+ <label data="211" alias="QCI_211"/>
+ <label data="212" alias="QCI_212"/>
+ <label data="213" alias="QCI_213"/>
+ <label data="214" alias="QCI_214"/>
+ <label data="215" alias="QCI_215"/>
+ <label data="216" alias="QCI_216"/>
+ <label data="217" alias="QCI_217"/>
+ <label data="218" alias="QCI_218"/>
+ <label data="219" alias="QCI_219"/>
+ <label data="220" alias="QCI_220"/>
+ <label data="221" alias="QCI_221"/>
+ <label data="222" alias="QCI_222"/>
+ <label data="223" alias="QCI_223"/>
+ <label data="224" alias="QCI_224"/>
+ <label data="225" alias="QCI_225"/>
+ <label data="226" alias="QCI_226"/>
+ <label data="227" alias="QCI_227"/>
+ <label data="228" alias="QCI_228"/>
+ <label data="229" alias="QCI_229"/>
+ <label data="230" alias="QCI_230"/>
+ <label data="231" alias="QCI_231"/>
+ <label data="232" alias="QCI_232"/>
+ <label data="233" alias="QCI_233"/>
+ <label data="234" alias="QCI_234"/>
+ <label data="235" alias="QCI_235"/>
+ <label data="236" alias="QCI_236"/>
+ <label data="237" alias="QCI_237"/>
+ <label data="238" alias="QCI_238"/>
+ <label data="239" alias="QCI_239"/>
+ <label data="240" alias="QCI_240"/>
+ <label data="241" alias="QCI_241"/>
+ <label data="242" alias="QCI_242"/>
+ <label data="243" alias="QCI_243"/>
+ <label data="244" alias="QCI_244"/>
+ <label data="245" alias="QCI_245"/>
+ <label data="246" alias="QCI_246"/>
+ <label data="247" alias="QCI_247"/>
+ <label data="248" alias="QCI_248"/>
+ <label data="249" alias="QCI_249"/>
+ <label data="250" alias="QCI_250"/>
+ <label data="251" alias="QCI_251"/>
+ <label data="252" alias="QCI_252"/>
+ <label data="253" alias="QCI_253"/>
+ <label data="254" alias="QCI_254"/>
+ </single>
+ </avp>
+ <avp name="QoS-Negotiation" code="1029" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="NO_QoS_NEGOTIATION"/>
+ <label data="1" alias="QoS_NEGOTIATION_SUPPORTED"/>
+ </single>
+ </avp>
+ <avp name="QoS-Upgrade" code="1030" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="QoS_UPGRADE_NOT_SUPPORTED"/>
+ <label data="1" alias="QoS_UPGRADE_SUPPORTED"/>
+ </single>
+ </avp>
+ <avp name="Rule-Failure-Code" code="1031" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-13,15">
+ <label data="1" alias="UNKNOWN_RULE_NAME"/>
+ <label data="2" alias="RATING_GROUP_ERROR"/>
+ <label data="3" alias="SERVICE_IDENTIFIER_ERROR"/>
+ <label data="4" alias="GWPCEF_MALFUNCTION"/>
+ <label data="5" alias="RESOURCES_LIMITATION"/>
+ <label data="6" alias="MAX_NR_BEARERS_REACHED"/>
+ <label data="7" alias="UNKNOWN_BEARER_ID"/>
+ <label data="8" alias="MISSING_BEARER_ID"/>
+ <label data="9" alias="MISSING_FLOW_INFORMATION"/>
+ <label data="10" alias="RESOURCE_ALLOCATION_FAILURE"/>
+ <label data="11" alias="UNSUCCESSFUL_QOS_VALIDATION"/>
+ <label data="12" alias="INCORRECT_FLOW_INFORMATION"/>
+ <label data="13" alias="PS_TO_CS_HANDOVER"/>
+ <label data="15" alias="NO_BEARER_BOUND"/>
+ </single>
+ </avp>
+ <avp name="RAT-Type" code="1032" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1,1000-1004,2000-2003">
+ <label data="0" alias="WLAN"/>
+ <label data="1" alias="VIRTUAL"/>
+ <label data="1000" alias="UTRAN"/>
+ <label data="1001" alias="GERAN"/>
+ <label data="1002" alias="GAN"/>
+ <label data="1003" alias="HSPA_EVOLUTION"/>
+ <label data="1004" alias="EUTRAN"/>
+ <label data="2000" alias="CDMA2000_1X"/>
+ <label data="2001" alias="HRPD"/>
+ <label data="2002" alias="UMB"/>
+ <label data="2003" alias="EHRPD"/>
+ </single>
+ </avp>
+ <avp name="Allocation-Retention-Priority" code="1034" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <grouped>
+ <avprule id="Priority-Level" type="Mandatory"/>
+ <avprule id="Pre-emption-Capability" type="Optional"/>
+ <avprule id="Pre-emption-Vulnerability" type="Optional"/>
+ </grouped>
+ </avp>
+ <avp name="APN-Aggregate-Max-Bitrate-DL" code="1040" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="APN-Aggregate-Max-Bitrate-UL" code="1041" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Revalidation-Time" code="1042" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Rule-Activation-Time" code="1043" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Rule-DeActivation-Time" code="1044" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Session-Release-Cause" code="1045" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="UNSPECIFIED_REASON"/>
+ <label data="1" alias="UE_SUBSCRIPTION_REASON"/>
+ </single>
+ </avp>
+ <avp name="Priority-Level" code="1046" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Pre-emption-Capability" code="1047" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="PRE-EMPTION_CAPABILITY_ENABLED"/>
+ <label data="1" alias="PRE-EMPTION_CAPABILITY_DISABLED"/>
+ </single>
+ </avp>
+ <avp name="Pre-emption-Vulnerability" code="1048" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="PRE-EMPTION_VULNERABILITY_ENABLED"/>
+ <label data="1" alias="PRE-EMPTION_VULNERABILITY_DISABLED"/>
+ </single>
+ </avp>
+ <avp name="Default-EPS-Bearer-QoS" code="1049" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <grouped>
+ <avprule id="QoS-Class-Identifier" type="Optional"/>
+ <avprule id="Allocation-Retention-Priority" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="AN-GW-Address" code="1050" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Address"/>
+ </avp>
+ <avp name="Authorization-State-Change-Time" code="1057" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Time"/>
+ </avp>
+ <avp name="Flow-Information" code="1058" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <grouped>
+ <avprule id="Flow-Description" type="Optional"/>
+ <avprule id="Flow-Direction" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Next-Authorization-State" code="1059" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="AUTHORIZED"/>
+ <label data="1" alias="DENIED_CALENDAR_TIME"/>
+ </single>
+ </avp>
+ <avp name="Resource-Allocation-Notification" code="1063" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0">
+ <label data="0" alias="ENABLE_NOTIFICATION"/>
+ </single>
+ </avp>
+ <avp name="Monitoring-Key" code="1066" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Usage-Monitoring-Information" code="1067" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <grouped>
+ <avprule id="Monitoring-Key" type="Optional"/>
+ <avprule id="Granted-Service-Unit" type="Optional"/>
+ <avprule id="Used-Service-Unit" type="Optional"/>
+ <avprule id="Usage-Monitoring-Level" type="Optional"/>
+ <avprule id="Usage-Monitoring-Report" type="Optional"/>
+ <avprule id="Usage-Monitoring-Support" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Usage-Monitoring-Level" code="1068" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="SESSION_LEVEL"/>
+ <label data="1" alias="PCC_RULE_LEVEL"/>
+ </single>
+ </avp>
+ <avp name="Usage-Monitoring-Report" code="1069" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0">
+ <label data="0" alias="USAGE_MONITORING_REPORT_REQUIRED"/>
+ </single>
+ </avp>
+ <avp name="Usage-Monitoring-Support" code="1070" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0">
+ <label data="0" alias="USAGE_MONITORING_DISABLED"/>
+ </single>
+ </avp>
+ <avp name="Flow-Direction" code="1080" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-3">
+ <label data="0" alias="UNSPECIFIED"/>
+ <label data="1" alias="DOWNLINK"/>
+ <label data="2" alias="UPLINK"/>
+ <label data="3" alias="BIDIRECTIONAL"/>
+ </single>
+ </avp>
+ <avp name="Rule-Space-Decision" code="291" vendor-name="ERICSSON" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Charging-Rule-Authorization" code="1055" vendor-name="ERICSSON" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Authorization-State" type="Mandatory"/>
+ <avprule id="Authorization-State-Change-Time" type="Optional"/>
+ <avprule id="Next-Authorization-State" type="Optional"/>
+ <avprule id="One-Time-Redirect-Control" type="Optional"/>
+ </grouped>
+ </avp>
+ <avp name="Customer-Id" code="1146" vendor-name="ERICSSON" may-encrypt="yes" v-bit="must" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="One-Time-Redirect-Control" code="1193" vendor-name="ERICSSON" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-10">
+ <label data="0" alias="INACTIVE"/>
+ <label data="1" alias="DEFAULT"/>
+ <label data="2" alias="ROAMING"/>
+ <label data="3" alias="QBAU"/>
+ <label data="4" alias="TIME"/>
+ <label data="5" alias="OPERATOR_REASON_ONE"/>
+ <label data="6" alias="OPERATOR_REASON_TWO"/>
+ <label data="7" alias="OPERATOR_REASON_THREE"/>
+ <label data="8" alias="OPERATOR_REASON_FOUR"/>
+ <label data="9" alias="OPERATOR_REASON_FIVE"/>
+ <label data="10" alias="OPERATOR_REASON_SIX"/>
+ </single>
+ </avp>
+ <command name="CER" code="257" type="Request">
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Host-IP-Address" type="Mandatory" qual="1*"/>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Product-Name" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Supported-Vendor-Id" type="Optional" qual="*"/>
+ <avprule id="Auth-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Inband-Security-Id" type="Optional" qual="*"/>
+ <avprule id="Acct-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Firmware-Revision" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="CEA" code="257" type="Answer">
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Host-IP-Address" type="Mandatory" qual="1*"/>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Product-Name" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Supported-Vendor-Id" type="Optional" qual="*"/>
+ <avprule id="Auth-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Inband-Security-Id" type="Optional" qual="*"/>
+ <avprule id="Acct-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Firmware-Revision" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="RA-Request" code="258" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Mandatory"/>
+ <avprule id="Re-Auth-Request-Type" type="Mandatory"/>
+ <avprule id="Session-Release-Cause" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Event-Trigger" type="Optional" qual="*"/>
+ <avprule id="Charging-Rule-Remove" type="Optional" qual="*"/>
+ <avprule id="Charging-Rule-Install" type="Optional" qual="*"/>
+ <avprule id="Default-EPS-Bearer-QoS" type="Optional"/>
+ <avprule id="QoS-Information" type="Optional"/>
+ <avprule id="Revalidation-Time" type="Optional"/>
+ <avprule id="Content-Filtering-Profile-Id" type="Optional"/>
+ <avprule id="Usage-Monitoring-Information" type="Optional" qual="*"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="RA-Answer" code="258" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Result-Code" type="Optional"/>
+ <avprule id="Experimental-Result" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="IP-CAN-Type" type="Optional"/>
+ <avprule id="RAT-Type" type="Optional"/>
+ <avprule id="AN-GW-Address" type="Optional" qual="0*2"/>
+ <avprule id="3GPP-SGSN-MCC-MNC" type="Optional"/>
+ <avprule id="3GPP-SGSN-Address" type="Optional"/>
+ <avprule id="3GPP-SGSN-IPv6-Address" type="Optional"/>
+ <avprule id="RAI" type="Optional"/>
+ <avprule id="3GPP-User-Location-Info" type="Optional"/>
+ <avprule id="3GPP-MS-TimeZone" type="Optional"/>
+ <avprule id="Charging-Rule-Report" type="Optional" qual="*"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ACR" code="271" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Accounting-Record-Type" type="Mandatory"/>
+ <avprule id="Accounting-Record-Number" type="Mandatory"/>
+ <avprule id="Acct-Application-Id" type="Optional"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Accounting-Sub-Session-Id" type="Optional"/>
+ <avprule id="Acct-Session-Id" type="Optional"/>
+ <avprule id="Acct-Multi-Session-Id" type="Optional"/>
+ <avprule id="Acct-Interim-Interval" type="Optional"/>
+ <avprule id="Accounting-Realtime-Required" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Event-Timestamp" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ACA" code="271" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Accounting-Record-Type" type="Mandatory"/>
+ <avprule id="Accounting-Record-Number" type="Mandatory"/>
+ <avprule id="Acct-Application-Id" type="Optional"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Accounting-Sub-Session-Id" type="Optional"/>
+ <avprule id="Acct-Session-Id" type="Optional"/>
+ <avprule id="Acct-Multi-Session-Id" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Acct-Interim-Interval" type="Optional"/>
+ <avprule id="Accounting-Realtime-Required" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Event-Timestamp" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="CC-Request" code="272" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="CC-Request-Type" type="Mandatory"/>
+ <avprule id="CC-Request-Number" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Subscription-Id" type="Optional" qual="*"/>
+ <avprule id="Supported-Features" type="Optional" qual="*"/>
+ <avprule id="Network-Request-Support" type="Optional"/>
+ <avprule id="Bearer-Identifier" type="Optional"/>
+ <avprule id="Bearer-Operation" type="Optional"/>
+ <avprule id="Framed-IP-Address" type="Optional"/>
+ <avprule id="Framed-IPv6-Prefix" type="Optional"/>
+ <avprule id="IP-CAN-Type" type="Optional"/>
+ <avprule id="3GPP-RAT-Type" type="Optional"/>
+ <avprule id="RAT-Type" type="Optional"/>
+ <avprule id="Termination-Cause" type="Optional"/>
+ <avprule id="User-Equipment-Info" type="Optional"/>
+ <avprule id="QoS-Information" type="Optional"/>
+ <avprule id="QoS-Negotiation" type="Optional"/>
+ <avprule id="QoS-Upgrade" type="Optional"/>
+ <avprule id="Default-EPS-Bearer-QoS" type="Optional"/>
+ <avprule id="AN-GW-Address" type="Optional" qual="0*2"/>
+ <avprule id="3GPP-SGSN-MCC-MNC" type="Optional"/>
+ <avprule id="3GPP-SGSN-Address" type="Optional"/>
+ <avprule id="3GPP-SGSN-IPv6-Address" type="Optional"/>
+ <avprule id="RAI" type="Optional"/>
+ <avprule id="3GPP-User-Location-Info" type="Optional"/>
+ <avprule id="3GPP-MS-TimeZone" type="Optional"/>
+ <avprule id="Called-Station-Id" type="Optional"/>
+ <avprule id="Bearer-Usage" type="Optional"/>
+ <avprule id="Online" type="Optional"/>
+ <avprule id="Offline" type="Optional"/>
+ <avprule id="3GPP-Charging-Characteristics" type="Optional"/>
+ <avprule id="Gx-Capability-List" type="Optional"/>
+ <avprule id="Rule-Space-Decision" type="Optional"/>
+ <avprule id="Rule-Space-Suggestion" type="Optional"/>
+ <avprule id="Charging-Rule-Report" type="Optional" qual="*"/>
+ <avprule id="Event-Trigger" type="Optional" qual="*"/>
+ <avprule id="Access-Network-Charging-Address" type="Optional"/>
+ <avprule id="Access-Network-Charging-Identifier-Gx" type="Optional" qual="*"/>
+ <avprule id="Usage-Monitoring-Information" type="Optional" qual="*"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="CC-Answer" code="272" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="CC-Request-Type" type="Mandatory"/>
+ <avprule id="CC-Request-Number" type="Mandatory"/>
+ <avprule id="Result-Code" type="Optional"/>
+ <avprule id="Experimental-Result" type="Optional"/>
+ <avprule id="Supported-Features" type="Optional" qual="*"/>
+ <avprule id="Bearer-Control-Mode" type="Optional"/>
+ <avprule id="Event-Trigger" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Charging-Rule-Remove" type="Optional" qual="*"/>
+ <avprule id="Charging-Rule-Install" type="Optional" qual="*"/>
+ <avprule id="Charging-Information" type="Optional"/>
+ <avprule id="Online" type="Optional"/>
+ <avprule id="Offline" type="Optional"/>
+ <avprule id="Content-Filtering-Profile-Id" type="Optional"/>
+ <avprule id="3GPP-Charging-Characteristics" type="Optional"/>
+ <avprule id="Gx-Capability-List" type="Optional"/>
+ <avprule id="QoS-Information" type="Optional"/>
+ <avprule id="Revalidation-Time" type="Optional"/>
+ <avprule id="Default-EPS-Bearer-QoS" type="Optional"/>
+ <avprule id="Customer-Id" type="Optional"/>
+ <avprule id="Usage-Monitoring-Information" type="Optional" qual="*"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ASR" code="274" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Mandatory"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ASA" code="274" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="STR" code="275" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Termination-Cause" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Destination-Host" type="Optional"/>
+ <avprule id="Class" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="STA" code="275" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Class" type="Optional" qual="*"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="DWR" code="280" type="Request">
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ </command>
+ <command name="DWA" code="280" type="Answer">
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ </command>
+ <command name="DPR" code="282" type="Request">
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Disconnect-Cause" type="Mandatory"/>
+ </command>
+ <command name="DPA" code="282" type="Answer">
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ </command>
+</dictionary>
--- /dev/null
+<dictionary name="DictionarySy | Application-Id: 16777302">
+ <vendor name="IETF" code="0"/>
+ <vendor name="3GPP" code="10415"/>
+ <avp name="User-Name" code="1" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Class" code="25" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Session-Timeout" code="27" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Proxy-State" code="33" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Acct-Session-Id" code="44" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Acct-Multi-Session-Id" code="50" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Event-Timestamp" code="55" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Time"/>
+ </avp>
+ <avp name="Acct-Interim-Interval" code="85" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Host-IP-Address" code="257" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Address"/>
+ </avp>
+ <avp name="Auth-Application-Id" code="258" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Acct-Application-Id" code="259" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Vendor-Specific-Application-Id" code="260" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Vendor-Id" type="Mandatory" qual="1*"/>
+ <avprule id="Auth-Application-Id" type="Optional"/>
+ <avprule id="Acct-Application-Id" type="Optional"/>
+ </grouped>
+ </avp>
+ <avp name="Redirect-Host-Usage" code="261" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-6">
+ <label data="0" alias="DONT_CACHE"/>
+ <label data="1" alias="ALL_SESSION"/>
+ <label data="2" alias="ALL_REALM"/>
+ <label data="3" alias="REALM_AND_APPLICATION"/>
+ <label data="4" alias="ALL_APPLICATION"/>
+ <label data="5" alias="ALL_HOST"/>
+ <label data="6" alias="ALL_USER"/>
+ </single>
+ </avp>
+ <avp name="Redirect-Max-Cache-Time" code="262" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Session-Id" code="263" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Origin-Host" code="264" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Supported-Vendor-Id" code="265" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Vendor-Id" code="266" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Firmware-Revision" code="267" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Result-Code" code="268" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32">
+ <label data="1001" alias="DIAMETER_MULTI_ROUND_AUTH"/>
+ <label data="2001" alias="DIAMETER_SUCCESS"/>
+ <label data="2002" alias="DIAMETER_LIMITED_SUCCESS"/>
+ <label data="3001" alias="DIAMETER_COMMAND_UNSUPPORTED"/>
+ <label data="3002" alias="DIAMETER_UNABLE_TO_DELIVER"/>
+ <label data="3003" alias="DIAMETER_REALM_NOT_SERVED"/>
+ <label data="3004" alias="DIAMETER_TOO_BUSY"/>
+ <label data="3005" alias="DIAMETER_LOOP_DETECTED"/>
+ <label data="3006" alias="DIAMETER_REDIRECT_INDICATION"/>
+ <label data="3007" alias="DIAMETER_APPLICATION_UNSUPPORTED"/>
+ <label data="3008" alias="DIAMETER_INVALID_HDR_BITS"/>
+ <label data="3009" alias="DIAMETER_INVALID_AVP_BITS"/>
+ <label data="3010" alias="DIAMETER_UNKNOWN_PEER"/>
+ <label data="4001" alias="DIAMETER_AUTHENTICATION_REJECTED"/>
+ <label data="4002" alias="DIAMETER_OUT_OF_SPACE"/>
+ <label data="4003" alias="DIAMETER_ELECTION_LOST"/>
+ <label data="5001" alias="DIAMETER_AVP_UNSUPPORTED"/>
+ <label data="5002" alias="DIAMETER_UNKNOWN_SESSION_ID"/>
+ <label data="5003" alias="DIAMETER_AUTHORIZATION_REJECTED"/>
+ <label data="5004" alias="DIAMETER_INVALID_AVP_VALUE"/>
+ <label data="5005" alias="DIAMETER_MISSING_AVP"/>
+ <label data="5006" alias="DIAMETER_RESOURCES_EXCEEDED"/>
+ <label data="5007" alias="DIAMETER_CONTRADICTING_AVPS"/>
+ <label data="5008" alias="DIAMETER_AVP_NOT_ALLOWED"/>
+ <label data="5009" alias="DIAMETER_AVP_OCCURS_TOO_MANY_TIMES"/>
+ <label data="5010" alias="DIAMETER_NO_COMMON_APPLICATION"/>
+ <label data="5011" alias="DIAMETER_UNSUPPORTED_VERSION"/>
+ <label data="5012" alias="DIAMETER_UNABLE_TO_COMPLY"/>
+ <label data="5013" alias="DIAMETER_INVALID_BIT_IN_HEADER"/>
+ <label data="5014" alias="DIAMETER_INVALID_AVP_LENGTH"/>
+ <label data="5015" alias="DIAMETER_INVALID_MESSAGE_LENGTH"/>
+ <label data="5016" alias="DIAMETER_INVALID_AVP_BIT_COMBO"/>
+ <label data="5017" alias="DIAMETER_NO_COMMON_SECURITY"/>
+ <label data="5030" alias="DIAMETER_USER_UNKNOWN"/>
+ <label data="5063" alias="REQUESTED_SERVICE_NOT_AUTHORIZED"/>
+ <label data="5065" alias="IP_CAN_SESSION_NOT_AVAILABLE"/>
+ </single>
+ </avp>
+ <avp name="Product-Name" code="269" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Session-Binding" code="270" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Session-Server-Failover" code="271" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-3">
+ <label data="0" alias="REFUSE_SERVICE"/>
+ <label data="1" alias="TRY_AGAIN"/>
+ <label data="2" alias="ALLOW_SERVICE"/>
+ <label data="3" alias="TRY_AGAIN_ALLOW_SERVICE"/>
+ </single>
+ </avp>
+ <avp name="Multi-Round-Time-Out" code="272" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Disconnect-Cause" code="273" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-2">
+ <label data="0" alias="REBOOTING"/>
+ <label data="1" alias="BUSY"/>
+ <label data="2" alias="DO_NOT_WANT_TO_TALK_TO_YOU"/>
+ </single>
+ </avp>
+ <avp name="Auth-Request-Type" code="274" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-3">
+ <label data="1" alias="AUTHENTICATE_ONLY"/>
+ <label data="2" alias="AUTHORIZE_ONLY"/>
+ <label data="3" alias="AUTHORIZE_AUTHENTICATE"/>
+ </single>
+ </avp>
+ <avp name="Auth-Grace-Period" code="276" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Auth-Session-State" code="277" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="STATE_MAINTAINED"/>
+ <label data="1" alias="NO_STATE_MAINTAINED"/>
+ </single>
+ </avp>
+ <avp name="Origin-State-Id" code="278" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Failed-AVP" code="279" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="AVP" type="Mandatory" qual="1*"/>
+ </grouped>
+ </avp>
+ <avp name="Proxy-Host" code="280" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Error-Message" code="281" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Route-Record" code="282" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Destination-Realm" code="283" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Proxy-Info" code="284" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Proxy-Host" type="Mandatory"/>
+ <avprule id="Proxy-State" type="Mandatory"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Re-Auth-Request-Type" code="285" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="AUTHORIZE_ONLY"/>
+ <label data="1" alias="AUTHORIZE_AUTHENTICATE"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Sub-Session-Id" code="287" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned64"/>
+ </avp>
+ <avp name="Redirect-Host" code="292" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterURI"/>
+ </avp>
+ <avp name="Destination-Host" code="293" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Error-Reporting-Host" code="294" may-encrypt="yes" v-bit="mustnot" m-bit="mustnot" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Termination-Cause" code="295" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-8">
+ <label data="1" alias="LOGOUT"/>
+ <label data="2" alias="SERVICE_NOT_PROVIDED"/>
+ <label data="3" alias="BAD_ANSWER"/>
+ <label data="4" alias="ADMINISTRATIVE"/>
+ <label data="5" alias="LINK_BROKEN"/>
+ <label data="6" alias="AUTH_EXPIRED"/>
+ <label data="7" alias="USER_MOVED"/>
+ <label data="8" alias="SESSION_TIMEOUT"/>
+ </single>
+ </avp>
+ <avp name="Origin-Realm" code="296" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="DiameterIdentity"/>
+ </avp>
+ <avp name="Experimental-Result" code="297" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Experimental-Result-Code" type="Mandatory"/>
+ </grouped>
+ </avp>
+ <avp name="Experimental-Result-Code" code="298" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Inband-Security-Id" code="299" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="E2E-Sequence" code="300" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="AVP" type="Mandatory" qual="2*"/>
+ </grouped>
+ </avp>
+ <avp name="Logical-Access-ID" code="302" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="OctetString"/>
+ </avp>
+ <avp name="Physical-Access-ID" code="313" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Subscription-Id" code="443" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Subscription-Id-Type" type="Mandatory"/>
+ <avprule id="Subscription-Id-Data" type="Mandatory"/>
+ </grouped>
+ </avp>
+ <avp name="Subscription-Id-Data" code="444" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Subscription-Id-Type" code="450" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-4">
+ <label data="0" alias="END_USER_E164"/>
+ <label data="1" alias="END_USER_IMSI"/>
+ <label data="2" alias="END_USER_SIP_URI"/>
+ <label data="3" alias="END_USER_NAI"/>
+ <label data="4" alias="END_USER_PRIVATE"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Record-Type" code="480" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-4">
+ <label data="1" alias="EVENT_RECORD"/>
+ <label data="2" alias="START_RECORD"/>
+ <label data="3" alias="INTERIM_RECORD"/>
+ <label data="4" alias="STOP_RECORD"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Realtime-Required" code="483" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="1-3">
+ <label data="1" alias="DELIVER_AND_GRANT"/>
+ <label data="2" alias="GRANT_AND_STORE"/>
+ <label data="3" alias="GRANT_AND_LOSE"/>
+ </single>
+ </avp>
+ <avp name="Accounting-Record-Number" code="485" may-encrypt="yes" v-bit="mustnot" m-bit="must" p-bit="mustnot">
+ <single format-name="Unsigned32"/>
+ </avp>
+ <avp name="Policy-Counter-Identifier" code="2901" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Policy-Counter-Status" code="2902" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="UTF8String"/>
+ </avp>
+ <avp name="Policy-Counter-Status-Report" code="2903" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Policy-Counter-Identifier" type="Mandatory"/>
+ <avprule id="Policy-Counter-Status" type="Mandatory"/>
+ <avprule id="Pending-Policy-Counter-Information" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="SL-Request-Type" code="2904" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Enumerated" enum="0-1">
+ <label data="0" alias="INITIAL_REQUEST"/>
+ <label data="1" alias="INTERMEDIATE_REQUEST"/>
+ </single>
+ </avp>
+ <avp name="Pending-Policy-Counter-Information" code="2905" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <grouped>
+ <avprule id="Policy-Counter-Status" type="Mandatory"/>
+ <avprule id="Pending-Policy-Counter-Change-Time" type="Mandatory"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </grouped>
+ </avp>
+ <avp name="Pending-Policy-Counter-Change-Time" code="2906" vendor-name="3GPP" may-encrypt="yes" v-bit="must" m-bit="must" p-bit="mustnot">
+ <single format-name="Time"/>
+ </avp>
+ <command name="CER" code="257" type="Request">
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Host-IP-Address" type="Mandatory" qual="1*"/>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Product-Name" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Supported-Vendor-Id" type="Optional" qual="*"/>
+ <avprule id="Auth-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Inband-Security-Id" type="Optional" qual="*"/>
+ <avprule id="Acct-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Firmware-Revision" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="CEA" code="257" type="Answer">
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Host-IP-Address" type="Mandatory" qual="1*"/>
+ <avprule id="Vendor-Id" type="Mandatory"/>
+ <avprule id="Product-Name" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Supported-Vendor-Id" type="Optional" qual="*"/>
+ <avprule id="Auth-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Inband-Security-Id" type="Optional" qual="*"/>
+ <avprule id="Acct-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional" qual="*"/>
+ <avprule id="Firmware-Revision" type="Optional"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="RAR" code="258" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Mandatory"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Re-Auth-Request-Type" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="RAA" code="258" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ACR" code="271" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Accounting-Record-Type" type="Mandatory"/>
+ <avprule id="Accounting-Record-Number" type="Mandatory"/>
+ <avprule id="Acct-Application-Id" type="Optional"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Accounting-Sub-Session-Id" type="Optional"/>
+ <avprule id="Acct-Session-Id" type="Optional"/>
+ <avprule id="Acct-Multi-Session-Id" type="Optional"/>
+ <avprule id="Acct-Interim-Interval" type="Optional"/>
+ <avprule id="Accounting-Realtime-Required" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Event-Timestamp" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ACA" code="271" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Accounting-Record-Type" type="Mandatory"/>
+ <avprule id="Accounting-Record-Number" type="Mandatory"/>
+ <avprule id="Acct-Application-Id" type="Optional"/>
+ <avprule id="Vendor-Specific-Application-Id" type="Optional"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Accounting-Sub-Session-Id" type="Optional"/>
+ <avprule id="Acct-Session-Id" type="Optional"/>
+ <avprule id="Acct-Multi-Session-Id" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Acct-Interim-Interval" type="Optional"/>
+ <avprule id="Accounting-Realtime-Required" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Event-Timestamp" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ASR" code="274" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Mandatory"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ASA" code="274" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="User-Name" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ST-Request" code="275" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Termination-Cause" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="ST-Answer" code="275" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Result-Code" type="Optional"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="DWR" code="280" type="Request">
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ </command>
+ <command name="DWA" code="280" type="Answer">
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ </command>
+ <command name="DPR" code="282" type="Request">
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Disconnect-Cause" type="Mandatory"/>
+ </command>
+ <command name="DPA" code="282" type="Answer">
+ <avprule id="Result-Code" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="SL-Request" code="8388635" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="SL-Request-Type" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Subscription-Id" type="Optional" qual="*"/>
+ <avprule id="Policy-Counter-Identifier" type="Optional" qual="*"/>
+ <avprule id="Logical-Access-ID" type="Optional"/>
+ <avprule id="Physical-Access-ID" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="SL-Answer" code="8388635" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Result-Code" type="Optional"/>
+ <avprule id="Experimental-Result" type="Optional"/>
+ <avprule id="Policy-Counter-Status-Report" type="Optional" qual="*"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="SN-Request" code="8388636" type="Request">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Destination-Realm" type="Mandatory"/>
+ <avprule id="Destination-Host" type="Mandatory"/>
+ <avprule id="Auth-Application-Id" type="Mandatory"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Policy-Counter-Status-Report" type="Optional" qual="*"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="Route-Record" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+ <command name="SN-Answer" code="8388636" type="Answer">
+ <avprule id="Session-Id" type="Fixed"/>
+ <avprule id="Origin-Host" type="Mandatory"/>
+ <avprule id="Origin-Realm" type="Mandatory"/>
+ <avprule id="Result-Code" type="Optional"/>
+ <avprule id="Experimental-Result" type="Optional"/>
+ <avprule id="Origin-State-Id" type="Optional"/>
+ <avprule id="Error-Message" type="Optional"/>
+ <avprule id="Error-Reporting-Host" type="Optional"/>
+ <avprule id="Redirect-Host" type="Optional" qual="*"/>
+ <avprule id="Redirect-Host-Usage" type="Optional"/>
+ <avprule id="Redirect-Max-Cache-Time" type="Optional"/>
+ <avprule id="Failed-AVP" type="Optional" qual="*"/>
+ <avprule id="Proxy-Info" type="Optional" qual="*"/>
+ <avprule id="AVP" type="Optional" qual="*"/>
+ </command>
+</dictionary>