You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.7 KiB
76 lines
1.7 KiB
#!/bin/bash
|
|
|
|
function set_domain
|
|
{
|
|
if [[ $1 -eq 1 ]]; then
|
|
p="s/DOMAIN/${DOMAIN}/"
|
|
else
|
|
p="s/${DOMAIN}/DOMAIN/"
|
|
fi
|
|
for i in e r; do
|
|
if [ -f "${BASE_DIR}/../calle$i.csv" ]; then
|
|
sed -e "$p" -i ${BASE_DIR}/../calle$i.csv
|
|
else
|
|
echo "No ${BASE_DIR}/../calle$i.csv file found"
|
|
exit 1
|
|
fi
|
|
done
|
|
}
|
|
|
|
function usage
|
|
{
|
|
echo "Usage: sipp.sh [-d domain] [-p PORT] [-m MPORT] [-t TIMEOUT] [-r] scenario.xml"
|
|
echo "Options:"
|
|
echo -e "\t-d: DOMAIN. default: spce.test"
|
|
echo -e "\t-p: sip port. default 50602/50603(responder)"
|
|
echo -e "\t-m: media port. default 6002/6003(responder)"
|
|
echo -e "\t-t: timeout. default 10/25(responder)"
|
|
echo "Arguments:"
|
|
echo -e "\t sipp_scenario.xml file"
|
|
}
|
|
|
|
while getopts 'hrp:m:t:d:' opt; do
|
|
case $opt in
|
|
h) usage; exit 0;;
|
|
r) RESP=1;;
|
|
p) PORT=$OPTARG;;
|
|
m) MPORT=$OPTARG;;
|
|
t) TIMEOUT=$OPTARG;;
|
|
d) DOMAIN=$OPTARG;;
|
|
esac
|
|
done
|
|
shift $(($OPTIND - 1))
|
|
|
|
if [[ $# -ne 1 ]]; then
|
|
echo "Wrong number of arguments"
|
|
usage
|
|
exit 1
|
|
fi
|
|
if [ ! -f $1 ]; then
|
|
echo "No $1 file found"
|
|
usage
|
|
exit 1
|
|
fi
|
|
BASE_DIR="$(dirname $1)"
|
|
IP="127.0.0.1"
|
|
DOMAIN=${DOMAIN:-"spce.test"}
|
|
MAX="5000"
|
|
set_domain 1
|
|
|
|
if [ -z ${RESP} ]; then
|
|
MPORT=${PORT:-"6002"}
|
|
PORT=${PORT:-"50602"}
|
|
TIMEOUT=${TIMEOUT:-"10"}
|
|
sipp -max_socket $MAX -inf ${BASE_DIR}/../callee.csv -inf ${BASE_DIR}/../caller.csv -sf $1 -i $IP \
|
|
-nd -t ul -p $PORT $IP -m 1 -mp ${MPORT} -timeout ${TIMEOUT} -timeout_error -trace_err &> /dev/null
|
|
else
|
|
MPORT=${PORT:-"6003"}
|
|
PORT=${PORT:-"50603"}
|
|
TIMEOUT=${TIMEOUT:-"25"}
|
|
sipp -max_socket $MAX -inf ${BASE_DIR}/../callee.csv -sf $1 -i $IP \
|
|
-nd -t ul -p $PORT $IP -m 1 -rtp_echo -mp ${MPORT} -timeout ${TIMEOUT} -timeout_error -trace_err &> /dev/null
|
|
fi
|
|
|
|
set_domain 0
|
|
#EOF
|