Module: kamailio Branch: master Commit: 8d4c2e419068b034ced89828878c6635d69c8d6f URL: https://github.com/kamailio/kamailio/commit/8d4c2e419068b034ced89828878c6635...
Author: Mikko Lehto mslehto@iki.fi Committer: Mikko Lehto mslehto@iki.fi Date: 2016-11-17T01:17:00+02:00
test/unit: update unit test 60
- Kamailio sdpops manipulates SDP in MESSAGE request - count certain SDP lines before and after sdp_remove_line_by_prefix() - only m=video is to be manipulated - verify by counting prefix line count vs. other lines
---
Added: test/unit/60-message-sdp9.sip Modified: test/unit/60.cfg Modified: test/unit/60.sh
---
Diff: https://github.com/kamailio/kamailio/commit/8d4c2e419068b034ced89828878c6635... Patch: https://github.com/kamailio/kamailio/commit/8d4c2e419068b034ced89828878c6635...
---
diff --git a/test/unit/60-message-sdp9.sip b/test/unit/60-message-sdp9.sip new file mode 100644 index 0000000..1e0019a --- /dev/null +++ b/test/unit/60-message-sdp9.sip @@ -0,0 +1,31 @@ +MESSAGE sip:bob@example.invalid SIP/2.0 +From: sip:alice@example.invalid;tag=45dfdf49 +To: sip:bob@example.invalid +Call-ID: 1172299593a +CSeq: 1 MESSAGE +Content-Type: application/sdp +Max-Forwards: 2 +X-Case: 60-test9 +X-Info: sdpops remove_line_by_prefix test9 - filter video attribute + +v=0 +o=FreeSWITCH 1447318678 1447318679 IN IP4 10.0.0.145 +s=FreeSWITCH +c=IN IP4 10.0.0.145 +t=0 0 +m=audio 28504 RTP/AVP 96 101 +a=rtpmap:96 opus/48000/2 +a=fmtp:96 useinbandfec=1; maxaveragebitrate=14400; maxplaybackrate=8000 +a=rtpmap:101 telephone-event/48000 +a=fmtp:101 0-16 +a=ptime:20 +a=sendrecv +a=rtcp:28505 IN IP4 10.0.0.145 +a=rtcp-fb:101 nack +m=video 21992 RTP/SAVPF 100 +a=rtpmap:100 VP8/90000 +a=rtcp:21992 IN IP4 10.0.0.150 +a=rtcp-fb:100 ccm fir +a=rtcp-fb:100 nack +a=rtcp-fb:100 nack pli + diff --git a/test/unit/60.cfg b/test/unit/60.cfg index 62c0a5b..cd7aa1c 100644 --- a/test/unit/60.cfg +++ b/test/unit/60.cfg @@ -26,6 +26,13 @@ route { sl_send_reply(200,"OK"); exit; } + if ($hdr(X-Case) == '60-test9') { + sdp_remove_line_by_prefix("a=rtcp","video"); + msg_apply_changes(); + set_reply_body($rb,"application/sdp"); + sl_send_reply(200,"OK"); + exit; + } sl_send_reply(500,"Unknown test case"); exit;
diff --git a/test/unit/60.sh b/test/unit/60.sh index e3f0b02..54d514c 100755 --- a/test/unit/60.sh +++ b/test/unit/60.sh @@ -85,6 +85,27 @@ else exit ${ret} fi
+# Filter only video stream attributes +FILE="60-message-sdp9.sip" +TOTALBEFORE=$(awk '/^v=0/,/^$/ {total++; if ($0 ~ /^a=rtcp/ ) { prefix++;} else { other++} } END {if (prefix) {print other " + " prefix} else { print other " + 0"} }' ${FILE}) +OTHERBEFORE=$(echo ${TOTALBEFORE}|cut -d+ -f1) +PREFIXBEFORE=$(echo ${TOTALBEFORE}|cut -d+ -f2) +sipsak ${SIPSAKOPTS} -f ${FILE} > ${TMPFILE} +ret=$? +if [ "${ret}" -eq 0 ] ; then + TOTALAFTER=$(awk '/^v=0/,/^$/ {total++; if ($0 ~ /^a=rtcp:/ ) { prefix++;} else { other++} } END {if (prefix) {print other " + " prefix} else { print other " + 0"} }' ${TMPFILE}) + OTHERAFTER=$(echo ${TOTALBEFORE}|cut -d+ -f1) + PREFIXAFTER=$(echo ${TOTALAFTER}|cut -d+ -f2) + if [ ${PREFIXAFTER} -eq 1 ] && [ ${OTHERBEFORE} -eq ${OTHERAFTER} ]; then + ret=0 + else + ret=1 + echo "found ${PREFIXAFTER} lines with prefix "a=rtcp", was expecting 1 (in m=audio)(${FILE})" + fi + else + echo "invalid sipsak return: ${ret}" +fi + kill_kamailio rm ${TMPFILE} exit ${ret}