mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-16 00:41:41 +00:00
Wed Sep 3 13:49:53 EDT 2008 Pekka Pessi <first.last@nokia.com>
* outbound.c: do not use OPTIONS keepalive by default but on UDP On TCP, use TCP-level keepalives. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9418 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
9770bd3a12
commit
8e37367fb6
@ -1 +1 @@
|
|||||||
Wed Sep 3 14:27:05 EDT 2008
|
Wed Sep 3 14:27:37 EDT 2008
|
||||||
|
@ -77,7 +77,7 @@ struct outbound {
|
|||||||
unsigned gruuize:1; /**< Establish a GRUU */
|
unsigned gruuize:1; /**< Establish a GRUU */
|
||||||
unsigned outbound:1; /**< Try to use outbound */
|
unsigned outbound:1; /**< Try to use outbound */
|
||||||
unsigned natify:1; /**< Try to detect NAT */
|
unsigned natify:1; /**< Try to detect NAT */
|
||||||
unsigned okeepalive:1; /**< Connection keepalive with OPTIONS */
|
signed okeepalive:2; /**< Connection keepalive with OPTIONS */
|
||||||
unsigned validate:1; /**< Validate registration with OPTIONS */
|
unsigned validate:1; /**< Validate registration with OPTIONS */
|
||||||
/* How to detect NAT binding or connect to outbound: */
|
/* How to detect NAT binding or connect to outbound: */
|
||||||
unsigned use_connect:1; /**< Use HTTP connect */
|
unsigned use_connect:1; /**< Use HTTP connect */
|
||||||
@ -270,7 +270,7 @@ int outbound_set_options(outbound_t *ob,
|
|||||||
prefs->gruuize = 1;
|
prefs->gruuize = 1;
|
||||||
prefs->outbound = 0;
|
prefs->outbound = 0;
|
||||||
prefs->natify = 1;
|
prefs->natify = 1;
|
||||||
prefs->okeepalive = 1;
|
prefs->okeepalive = -1;
|
||||||
prefs->validate = 1;
|
prefs->validate = 1;
|
||||||
prefs->use_rport = 1;
|
prefs->use_rport = 1;
|
||||||
|
|
||||||
@ -662,12 +662,18 @@ void outbound_start_keepalive(outbound_t *ob,
|
|||||||
nta_outgoing_t *register_transaction)
|
nta_outgoing_t *register_transaction)
|
||||||
{
|
{
|
||||||
unsigned interval = 0;
|
unsigned interval = 0;
|
||||||
int need_to_validate;
|
int need_to_validate, udp;
|
||||||
|
|
||||||
if (!ob)
|
if (!ob)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (ob->ob_prefs.natify && ob->ob_prefs.okeepalive)
|
udp = ob->ob_via && ob->ob_via->v_protocol == sip_transport_udp;
|
||||||
|
|
||||||
|
if (ob->ob_prefs.natify &&
|
||||||
|
/* On UDP, use OPTIONS keepalive by default */
|
||||||
|
(udp ? ob->ob_prefs.okeepalive != 0
|
||||||
|
/* Otherwise, only if requested */
|
||||||
|
: ob->ob_prefs.okeepalive > 0))
|
||||||
interval = ob->ob_prefs.interval;
|
interval = ob->ob_prefs.interval;
|
||||||
need_to_validate = ob->ob_prefs.validate && !ob->ob_validated;
|
need_to_validate = ob->ob_prefs.validate && !ob->ob_validated;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user