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
95693527
Commit
95693527
authored
Feb 19, 2013
by
jehan
Browse files
Merge remote-tracking branch 'public/master' into belle-sip
parents
5737db39
9cb68a7d
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
62 additions
and
18 deletions
+62
-18
coreapi/linphonecall.c
coreapi/linphonecall.c
+15
-8
coreapi/linphonecore.c
coreapi/linphonecore.c
+41
-9
coreapi/linphonecore.h
coreapi/linphonecore.h
+4
-0
coreapi/private.h
coreapi/private.h
+1
-0
mediastreamer2
mediastreamer2
+1
-1
No files found.
coreapi/linphonecall.c
View file @
95693527
...
...
@@ -508,14 +508,21 @@ LinphoneCall * linphone_call_new_incoming(LinphoneCore *lc, LinphoneAddress *fro
call
->
core
=
lc
;
if
(
lc
->
sip_conf
.
ping_with_options
){
/*the following sends an option request back to the caller so that
we get a chance to discover our nat'd address before answering.*/
call
->
ping_op
=
sal_op_new
(
lc
->
sal
);
from_str
=
linphone_address_as_string_uri_only
(
from
);
sal_op_set_route
(
call
->
ping_op
,
sal_op_get_network_origin
(
op
));
sal_op_set_user_pointer
(
call
->
ping_op
,
call
);
sal_ping
(
call
->
ping_op
,
linphone_core_find_best_identity
(
lc
,
from
,
NULL
),
from_str
);
ms_free
(
from_str
);
#ifdef BUILD_UPNP
if
(
lc
->
upnp
!=
NULL
&&
linphone_core_get_firewall_policy
(
lc
)
==
LinphonePolicyUseUpnp
&&
linphone_upnp_context_get_state
(
lc
->
upnp
)
==
LinphoneUpnpStateOk
)
{
#else //BUILD_UPNP
{
#endif //BUILD_UPNP
/*the following sends an option request back to the caller so that
we get a chance to discover our nat'd address before answering.*/
call
->
ping_op
=
sal_op_new
(
lc
->
sal
);
from_str
=
linphone_address_as_string_uri_only
(
from
);
sal_op_set_route
(
call
->
ping_op
,
sal_op_get_network_origin
(
op
));
sal_op_set_user_pointer
(
call
->
ping_op
,
call
);
sal_ping
(
call
->
ping_op
,
linphone_core_find_best_identity
(
lc
,
from
,
NULL
),
from_str
);
ms_free
(
from_str
);
}
}
linphone_address_clean
(
from
);
...
...
coreapi/linphonecore.c
View file @
95693527
...
...
@@ -669,6 +669,9 @@ static void sip_config_read(LinphoneCore *lc)
tmp
=
lp_config_get_int
(
lc
->
config
,
"sip"
,
"in_call_timeout"
,
0
);
linphone_core_set_in_call_timeout
(
lc
,
tmp
);
tmp
=
lp_config_get_int
(
lc
->
config
,
"sip"
,
"delayed_timeout"
,
4
);
linphone_core_set_delayed_timeout
(
lc
,
tmp
);
/* get proxies config */
for
(
i
=
0
;;
i
++
){
...
...
@@ -2099,7 +2102,7 @@ void linphone_core_iterate(LinphoneCore *lc){
linphone_core_start_invite() */
calls
=
calls
->
next
;
linphone_call_background_tasks
(
call
,
one_second_elapsed
);
if
(
call
->
state
==
LinphoneCallOutgoingInit
&&
(
elapsed
>=
4
)){
if
(
call
->
state
==
LinphoneCallOutgoingInit
&&
(
elapsed
>=
lc
->
sip_conf
.
delayed_timeout
)){
/*start the call even if the OPTIONS reply did not arrive*/
if
(
call
->
ice_session
!=
NULL
)
{
ms_warning
(
"ICE candidates gathering from [%s] has not finished yet, proceed with the call without ICE anyway."
...
...
@@ -2655,15 +2658,23 @@ LinphoneCall * linphone_core_invite_address_with_params(LinphoneCore *lc, const
}
if
(
call
->
dest_proxy
==
NULL
&&
lc
->
sip_conf
.
ping_with_options
==
TRUE
){
/*defer the start of the call after the OPTIONS ping*/
call
->
ping_replied
=
FALSE
;
call
->
ping_op
=
sal_op_new
(
lc
->
sal
);
sal_ping
(
call
->
ping_op
,
from
,
real_url
);
sal_op_set_user_pointer
(
call
->
ping_op
,
call
);
call
->
start_time
=
time
(
NULL
);
}
else
{
if
(
defer
==
FALSE
)
linphone_core_start_invite
(
lc
,
call
);
#ifdef BUILD_UPNP
if
(
lc
->
upnp
!=
NULL
&&
linphone_core_get_firewall_policy
(
lc
)
==
LinphonePolicyUseUpnp
&&
linphone_upnp_context_get_state
(
lc
->
upnp
)
==
LinphoneUpnpStateOk
)
{
#else //BUILD_UPNP
{
#endif //BUILD_UPNP
/*defer the start of the call after the OPTIONS ping*/
call
->
ping_replied
=
FALSE
;
call
->
ping_op
=
sal_op_new
(
lc
->
sal
);
sal_ping
(
call
->
ping_op
,
from
,
real_url
);
sal_op_set_user_pointer
(
call
->
ping_op
,
call
);
call
->
start_time
=
time
(
NULL
);
defer
=
TRUE
;
}
}
if
(
defer
==
FALSE
)
linphone_core_start_invite
(
lc
,
call
);
if
(
real_url
!=
NULL
)
ms_free
(
real_url
);
return
call
;
...
...
@@ -3547,6 +3558,26 @@ int linphone_core_get_in_call_timeout(LinphoneCore *lc){
return
lc
->
sip_conf
.
in_call_timeout
;
}
/**
* Returns the delayed timeout
*
* @ingroup call_control
* See linphone_core_set_delayed_timeout() for details.
**/
int
linphone_core_get_delayed_timeout
(
LinphoneCore
*
lc
){
return
lc
->
sip_conf
.
delayed_timeout
;
}
/**
* Set the in delayed timeout in seconds.
*
* @ingroup call_control
* After this timeout period, a delayed call (internal call initialisation or resolution) is resumed.
**/
void
linphone_core_set_delayed_timeout
(
LinphoneCore
*
lc
,
int
seconds
){
lc
->
sip_conf
.
delayed_timeout
=
seconds
;
}
void
linphone_core_set_presence_info
(
LinphoneCore
*
lc
,
int
minutes_away
,
const
char
*
contact
,
LinphoneOnlineStatus
presence_mode
)
...
...
@@ -5072,6 +5103,7 @@ void sip_config_uninit(LinphoneCore *lc)
lp_config_set_string
(
lc
->
config
,
"sip"
,
"contact"
,
config
->
contact
);
lp_config_set_int
(
lc
->
config
,
"sip"
,
"inc_timeout"
,
config
->
inc_timeout
);
lp_config_set_int
(
lc
->
config
,
"sip"
,
"in_call_timeout"
,
config
->
in_call_timeout
);
lp_config_set_int
(
lc
->
config
,
"sip"
,
"delayed_timeout"
,
config
->
delayed_timeout
);
lp_config_set_int
(
lc
->
config
,
"sip"
,
"use_info"
,
config
->
use_info
);
lp_config_set_int
(
lc
->
config
,
"sip"
,
"use_rfc2833"
,
config
->
use_rfc2833
);
lp_config_set_int
(
lc
->
config
,
"sip"
,
"use_ipv6"
,
config
->
ipv6_enabled
);
...
...
coreapi/linphonecore.h
View file @
95693527
...
...
@@ -1099,6 +1099,10 @@ void linphone_core_set_in_call_timeout(LinphoneCore *lc, int seconds);
int
linphone_core_get_in_call_timeout
(
LinphoneCore
*
lc
);
void
linphone_core_set_delayed_timeout
(
LinphoneCore
*
lc
,
int
seconds
);
int
linphone_core_get_delayed_timeout
(
LinphoneCore
*
lc
);
void
linphone_core_set_stun_server
(
LinphoneCore
*
lc
,
const
char
*
server
);
const
char
*
linphone_core_get_stun_server
(
const
LinphoneCore
*
lc
);
...
...
coreapi/private.h
View file @
95693527
...
...
@@ -427,6 +427,7 @@ typedef struct sip_config
MSList
*
deleted_proxies
;
int
inc_timeout
;
/*timeout after an un-answered incoming call is rejected*/
int
in_call_timeout
;
/*timeout after a call is hangup */
int
delayed_timeout
;
/*timeout after a delayed call is resumed */
unsigned
int
keepalive_period
;
/* interval in ms between keep alive messages sent to the proxy server*/
LCSipTransports
transports
;
bool_t
use_info
;
...
...
mediastreamer2
@
756a5141
Subproject commit 7
3a772ac4754734c57ecbc1149cbe665acd2f376
Subproject commit 7
56a51419d833105a6378db71679073f6e9492b0
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