Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
liblinphone
Commits
eaad8d79
Commit
eaad8d79
authored
Aug 03, 2013
by
jehan
Browse files
make sure offers/answer algo is executed on call accept to take call params into account
parent
9dd8b9aa
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
86 additions
and
9 deletions
+86
-9
coreapi/bellesip_sal/sal_op_call.c
coreapi/bellesip_sal/sal_op_call.c
+3
-1
tester/call_tester.c
tester/call_tester.c
+83
-8
No files found.
coreapi/bellesip_sal/sal_op_call.c
View file @
eaad8d79
...
...
@@ -557,7 +557,9 @@ static void handle_offer_answer_response(SalOp* op, belle_sip_response_t* respon
if
(
op
->
sdp_offering
)
{
set_sdp_from_desc
(
BELLE_SIP_MESSAGE
(
response
),
op
->
base
.
local_media
);
}
else
{
if
(
op
->
sdp_answer
==
NULL
)
sdp_process
(
op
);
sdp_process
(
op
);
if
(
op
->
sdp_answer
){
set_sdp
(
BELLE_SIP_MESSAGE
(
response
),
op
->
sdp_answer
);
belle_sip_object_unref
(
op
->
sdp_answer
);
...
...
tester/call_tester.c
View file @
eaad8d79
...
...
@@ -94,16 +94,19 @@ static void linphone_call_cb(LinphoneCall *call,void * user_data) {
bool_t
call_with_params
(
LinphoneCoreManager
*
caller_mgr
,
LinphoneCoreManager
*
callee_mgr
,
const
LinphoneCallParams
*
params
)
{
bool_t
call_with_params
(
LinphoneCoreManager
*
caller_mgr
,
LinphoneCoreManager
*
callee_mgr
,
const
LinphoneCallParams
*
caller_params
,
const
LinphoneCallParams
*
callee_params
)
{
int
retry
=
0
;
stats
initial_caller
=
caller_mgr
->
stat
;
stats
initial_callee
=
callee_mgr
->
stat
;
bool_t
result
=
FALSE
;
if
(
!
params
){
if
(
!
caller_
params
){
CU_ASSERT_PTR_NOT_NULL
(
linphone_core_invite_address
(
caller_mgr
->
lc
,
callee_mgr
->
identity
));
}
else
{
CU_ASSERT_PTR_NOT_NULL
(
linphone_core_invite_address_with_params
(
caller_mgr
->
lc
,
callee_mgr
->
identity
,
params
));
CU_ASSERT_PTR_NOT_NULL
(
linphone_core_invite_address_with_params
(
caller_mgr
->
lc
,
callee_mgr
->
identity
,
caller_
params
));
}
/*linphone_core_invite(caller_mgr->lc,"pauline");*/
...
...
@@ -138,7 +141,10 @@ bool_t call_with_params(LinphoneCoreManager* caller_mgr,LinphoneCoreManager* cal
CU_ASSERT_FALSE
(
linphone_address_weak_equal
(
caller_mgr
->
identity
,
linphone_core_get_current_call_remote_address
(
callee_mgr
->
lc
)));
}
linphone_core_accept_call
(
callee_mgr
->
lc
,
linphone_core_get_current_call
(
callee_mgr
->
lc
));
if
(
callee_params
)
linphone_core_accept_call_with_params
(
callee_mgr
->
lc
,
linphone_core_get_current_call
(
callee_mgr
->
lc
),
callee_params
);
else
linphone_core_accept_call
(
callee_mgr
->
lc
,
linphone_core_get_current_call
(
callee_mgr
->
lc
));
CU_ASSERT_TRUE
(
wait_for
(
callee_mgr
->
lc
,
caller_mgr
->
lc
,
&
callee_mgr
->
stat
.
number_of_LinphoneCallConnected
,
initial_callee
.
number_of_LinphoneCallConnected
+
1
));
CU_ASSERT_TRUE
(
wait_for
(
callee_mgr
->
lc
,
caller_mgr
->
lc
,
&
caller_mgr
->
stat
.
number_of_LinphoneCallConnected
,
initial_callee
.
number_of_LinphoneCallConnected
+
1
));
...
...
@@ -156,9 +162,11 @@ bool_t call_with_params(LinphoneCoreManager* caller_mgr,LinphoneCoreManager* cal
}
return
result
;
}
bool_t
call_with_caller_params
(
LinphoneCoreManager
*
caller_mgr
,
LinphoneCoreManager
*
callee_mgr
,
const
LinphoneCallParams
*
params
)
{
return
call_with_params
(
caller_mgr
,
callee_mgr
,
params
,
NULL
);
}
bool_t
call
(
LinphoneCoreManager
*
caller_mgr
,
LinphoneCoreManager
*
callee_mgr
){
return
call_with_params
(
caller_mgr
,
callee_mgr
,
NULL
);
return
call_with_params
(
caller_mgr
,
callee_mgr
,
NULL
,
NULL
);
}
static
void
simple_call
(
void
)
{
...
...
@@ -473,7 +481,7 @@ static void call_with_custom_headers(void) {
linphone_call_params_add_custom_header
(
params
,
"Weather"
,
"bad"
);
linphone_call_params_add_custom_header
(
params
,
"Working"
,
"yes"
);
CU_ASSERT_TRUE
(
call_with_params
(
pauline
,
marie
,
params
));
CU_ASSERT_TRUE
(
call_with_
caller_
params
(
pauline
,
marie
,
params
));
linphone_call_params_destroy
(
params
);
c1
=
linphone_core_get_current_call
(
marie
->
lc
);
...
...
@@ -610,6 +618,71 @@ static void call_with_video_added(void) {
linphone_core_manager_destroy
(
pauline
);
}
static
void
call_with_declined_video
(
void
)
{
LinphoneCoreManager
*
marie
=
linphone_core_manager_new
(
"marie_rc"
);
LinphoneCoreManager
*
pauline
=
linphone_core_manager_new
(
"pauline_rc"
);
LinphoneCallParams
*
callee_params
;
LinphoneCallParams
*
caller_params
;
LinphoneCall
*
marie_call
;
LinphoneCall
*
pauline_call
;
linphone_core_enable_video
(
marie
->
lc
,
TRUE
,
TRUE
);
linphone_core_enable_video
(
pauline
->
lc
,
TRUE
,
FALSE
);
caller_params
=
linphone_core_create_default_call_parameters
(
marie
->
lc
);
linphone_call_params_enable_video
(
caller_params
,
TRUE
);
callee_params
=
linphone_core_create_default_call_parameters
(
pauline
->
lc
);
linphone_call_params_enable_video
(
callee_params
,
FALSE
);
CU_ASSERT_TRUE
(
call_with_params
(
pauline
,
marie
,
caller_params
,
callee_params
));
marie_call
=
linphone_core_get_current_call
(
marie
->
lc
);
pauline_call
=
linphone_core_get_current_call
(
pauline
->
lc
);
CU_ASSERT_FALSE
(
linphone_call_log_video_enabled
(
linphone_call_get_call_log
(
marie_call
)));
CU_ASSERT_FALSE
(
linphone_call_log_video_enabled
(
linphone_call_get_call_log
(
pauline_call
)));
linphone_core_terminate_all_calls
(
pauline
->
lc
);
CU_ASSERT_TRUE
(
wait_for
(
pauline
->
lc
,
marie
->
lc
,
&
pauline
->
stat
.
number_of_LinphoneCallEnd
,
1
));
CU_ASSERT_TRUE
(
wait_for
(
pauline
->
lc
,
marie
->
lc
,
&
marie
->
stat
.
number_of_LinphoneCallEnd
,
1
));
linphone_core_manager_destroy
(
marie
);
linphone_core_manager_destroy
(
pauline
);
}
static
void
video_call
(
void
)
{
LinphoneCoreManager
*
marie
=
linphone_core_manager_new
(
"marie_rc"
);
LinphoneCoreManager
*
pauline
=
linphone_core_manager_new
(
"pauline_rc"
);
LinphoneCallParams
*
callee_params
;
LinphoneCallParams
*
caller_params
;
LinphoneCall
*
marie_call
;
LinphoneCall
*
pauline_call
;
linphone_core_enable_video
(
marie
->
lc
,
TRUE
,
TRUE
);
linphone_core_enable_video
(
pauline
->
lc
,
TRUE
,
FALSE
);
caller_params
=
linphone_core_create_default_call_parameters
(
marie
->
lc
);
linphone_call_params_enable_video
(
caller_params
,
TRUE
);
callee_params
=
linphone_core_create_default_call_parameters
(
pauline
->
lc
);
linphone_call_params_enable_video
(
callee_params
,
TRUE
);
CU_ASSERT_TRUE
(
call_with_params
(
pauline
,
marie
,
caller_params
,
callee_params
));
marie_call
=
linphone_core_get_current_call
(
marie
->
lc
);
pauline_call
=
linphone_core_get_current_call
(
pauline
->
lc
);
CU_ASSERT_TRUE
(
linphone_call_log_video_enabled
(
linphone_call_get_call_log
(
marie_call
)));
CU_ASSERT_TRUE
(
linphone_call_log_video_enabled
(
linphone_call_get_call_log
(
pauline_call
)));
/*check video path*/
linphone_call_set_next_video_frame_decoded_callback
(
marie_call
,
linphone_call_cb
,
marie
->
lc
);
linphone_call_send_vfu_request
(
marie_call
);
CU_ASSERT_TRUE
(
wait_for
(
marie
->
lc
,
pauline
->
lc
,
&
marie
->
stat
.
number_of_IframeDecoded
,
1
));
linphone_core_terminate_all_calls
(
pauline
->
lc
);
CU_ASSERT_TRUE
(
wait_for
(
pauline
->
lc
,
marie
->
lc
,
&
pauline
->
stat
.
number_of_LinphoneCallEnd
,
1
));
CU_ASSERT_TRUE
(
wait_for
(
pauline
->
lc
,
marie
->
lc
,
&
marie
->
stat
.
number_of_LinphoneCallEnd
,
1
));
linphone_core_manager_destroy
(
marie
);
linphone_core_manager_destroy
(
pauline
);
}
#endif
static
void
call_with_privacy
(
void
)
{
...
...
@@ -621,7 +694,7 @@ static void call_with_privacy(void) {
params
=
linphone_core_create_default_call_parameters
(
pauline
->
lc
);
linphone_call_params_set_privacy
(
params
,
LinphonePrivacyId
);
CU_ASSERT_TRUE
(
call_with_params
(
pauline
,
marie
,
params
));
CU_ASSERT_TRUE
(
call_with_
caller_
params
(
pauline
,
marie
,
params
));
linphone_call_params_destroy
(
params
);
c1
=
linphone_core_get_current_call
(
pauline
->
lc
);
...
...
@@ -976,8 +1049,10 @@ test_t call_tests[] = {
{
"SRTP call"
,
srtp_call
},
{
"SRTP call with declined srtp"
,
call_with_declined_srtp
},
#ifdef VIDEO_ENABLED
{
"Simple video call"
,
video_call
},
{
"SRTP ice video call"
,
srtp_video_ice_call
},
{
"Call with video added"
,
call_with_video_added
},
{
"Call with video declined"
,
call_with_declined_video
},
#else
{
"SRTP ice call"
,
srtp_ice_call
},
#endif
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment