From 52a5ab76e751c9f1c08bcdd9082d104223264f90 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 22 Sep 2015 10:55:43 +0200 Subject: [PATCH] Added test for multiple video streams in sdp --- tester/complex_sip_call.c | 39 ++++++ .../call_with_multiple_video_mline_in_sdp.xml | 129 ++++++++++++++++++ 2 files changed, 168 insertions(+) create mode 100644 tester/sipp/call_with_multiple_video_mline_in_sdp.xml diff --git a/tester/complex_sip_call.c b/tester/complex_sip_call.c index da9a68165..d82841f28 100644 --- a/tester/complex_sip_call.c +++ b/tester/complex_sip_call.c @@ -228,11 +228,50 @@ static void call_with_multiple_audio_mline_in_sdp() { linphone_core_manager_destroy(mgr); } +static void call_with_multiple_video_mline_in_sdp() { + LinphoneCoreManager *mgr; + char *identity_char; + char *scen; + FILE * sipp_out; + LinphoneCall *call = NULL; + + /*currently we use direct connection because sipp do not properly set ACK request uri*/ + mgr= linphone_core_manager_new2( "empty_rc", FALSE); + mgr->identity = linphone_core_get_primary_contact_parsed(mgr->lc); + linphone_address_set_username(mgr->identity,"marie"); + identity_char = linphone_address_as_string(mgr->identity); + linphone_core_set_primary_contact(mgr->lc,identity_char); + + linphone_core_iterate(mgr->lc); + + scen = bc_tester_res("sipp/call_with_multiple_video_mline_in_sdp.xml"); + + sipp_out = sip_start(scen, linphone_address_get_username(mgr->identity), mgr->identity); + + if (sipp_out) { + BC_ASSERT_TRUE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallIncomingReceived, 1)); + call = linphone_core_get_current_call(mgr->lc); + linphone_core_accept_call(mgr->lc, call); + BC_ASSERT_TRUE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallStreamsRunning, 1)); + BC_ASSERT_EQUAL(call->main_audio_stream_index, 0, int, "%d"); + BC_ASSERT_EQUAL(call->main_video_stream_index, 1, int, "%d"); + BC_ASSERT_TRUE(call->main_text_stream_index > 3); + BC_ASSERT_TRUE(linphone_call_log_video_enabled(linphone_call_get_call_log(call))); + + check_rtcp(call); + + BC_ASSERT_TRUE(wait_for(mgr->lc, mgr->lc, &mgr->stat.number_of_LinphoneCallEnd, 1)); + pclose(sipp_out); + } + linphone_core_manager_destroy(mgr); +} + static test_t tests[] = { { "SIP UPDATE within incoming reinvite without sdp", sip_update_within_icoming_reinvite_with_no_sdp }, { "Call with audio mline before video in sdp", call_with_audio_mline_before_video_in_sdp }, { "Call with video mline before audio in sdp", call_with_video_mline_before_audio_in_sdp }, { "Call with multiple audio mline in sdp", call_with_multiple_audio_mline_in_sdp }, + { "Call with multiple video mline in sdp", call_with_multiple_video_mline_in_sdp }, }; test_suite_t complex_sip_call_test_suite = { diff --git a/tester/sipp/call_with_multiple_video_mline_in_sdp.xml b/tester/sipp/call_with_multiple_video_mline_in_sdp.xml new file mode 100644 index 000000000..77fd615e9 --- /dev/null +++ b/tester/sipp/call_with_multiple_video_mline_in_sdp.xml @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + ;tag=[pid]SIPpTag00[call_number] + To: sut + Call-ID: [call_id] + CSeq: 1 INVITE + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Performance Test + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 96 97 0 8 101 98 + a=rtpmap:96 speex/16000 + a=fmtp:96 vbr=on + a=rtpmap:97 speex/8000 + a=fmtp:97 vbr=on + a=rtpmap:101 telephone-event/16000 + a=rtpmap:98 telephone-event/8000 + m=video [media_port+2] RTP/AVP 96 + a=rtpmap:96 VP8/90000 + m=video [media_port+3] RTP/AVP 96 + a=rtpmap:96 VP8/90000 + m=video [media_port+4] RTP/AVP 96 + a=rtpmap:96 VP8/90000 + + ]]> + + + + + + + + + + + + + + + + + + + + + ;tag=[pid]SIPpTag00[call_number] + To: sut [peer_tag_param] + Call-ID: [call_id] + CSeq: 1 ACK + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Performance Test + Content-Length: 0 + + ]]> + + + + + + + + + ;tag=[pid]SIPpTag00[call_number] + To: sut [peer_tag_param] + Call-ID: [call_id] + CSeq: 2 BYE + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Performance Test + Content-Length: 0 + + ]]> + + + + + + + + + + + + +