asterisk/res/res_pjsip
Sean Bright 20f672539e pjsip_transport_management: Shutdown transport immediately on disconnect
The transport management code that checks for idle connections keeps a
reference to PJSIP's transport for IDLE_TIMEOUT milliseconds (32000 by
default). Because of this, if the transport is closed before this
timeout, the idle checking code will keep the transport from actually
being shutdown until the timeout expires.

Rather than passing the AO2 object to the scheduler task, we just pass
its key and look it up when it is time to potentially close the idle
connection. The other transport management code handles cleaning up
everything else for us.

Additionally, because we use the address of the transport when
generating its name, we concatenate an incrementing ID to the end of the
name to guarantee uniqueness.

Related to ASTERISK~28231

Change-Id: I02ee9f4073b6abca9169d30c47aa69b5e8ae9afb
2019-01-21 07:57:12 -06:00
..
include pjsip: Rewrite OPTIONS support with new eyes. 2018-04-27 17:28:16 -05:00
config_auth.c res_pjsip: Implement additional SIP RFCs for Google Voice trunk compatability 2018-10-24 07:51:25 -05:00
config_domain_aliases.c res_pjsip: Make pjlib.h consistently included. 2018-08-03 16:07:22 -05:00
config_global.c res_pjsip: add option to enable ContactStatus event when contact is updated 2019-01-11 10:52:18 -05:00
config_system.c pjproject: Upgrade to 2.8. 2018-09-18 11:32:18 -05:00
config_transport.c astobj2: Remove legacy ao2_container_alloc routine. 2018-11-21 09:56:16 -05:00
location.c res_pjsip: improve realtime performance on CLI 'pjsip show contacts' 2018-09-28 17:09:33 -05:00
pjsip_cli.c pjsip: Improve CLI completion performance 2017-12-10 12:57:24 -06:00
pjsip_configuration.c stasis: Segment channel snapshot to reduce creation cost. 2018-11-26 12:56:24 -06:00
pjsip_distributor.c res_pjsip: Send a 503 response when overload state if reliable transport. 2018-11-07 07:59:03 -05:00
pjsip_global_headers.c Remove redundant module checks and references. 2018-01-24 13:37:29 -05:00
pjsip_message_filter.c res_pjsip: Patch for res_pjsip_* module load/reload crash 2018-12-03 08:44:59 -06:00
pjsip_options.c res_pjsip: add option to enable ContactStatus event when contact is updated 2019-01-11 10:52:18 -05:00
pjsip_resolver.c pjproject_bundled: Fix for Solaris builds. Do not undef s_addr. 2018-08-03 16:59:03 -05:00
pjsip_scheduler.c Merge "pjsip_scheduler.c: Add ability to trace scheduled tasks." 2018-04-16 07:11:26 -05:00
pjsip_session.c res_pjsip: Patch for res_pjsip_* module load/reload crash 2018-12-03 08:44:59 -06:00
pjsip_transport_events.c pjsip_transport_events.c: Fix crash using stale transport pointer. 2018-03-28 16:20:11 -06:00
pjsip_transport_management.c pjsip_transport_management: Shutdown transport immediately on disconnect 2019-01-21 07:57:12 -06:00
presence_xml.c res_pjsip_pidf_eyebeam_body_supplement: Correct status presentation 2017-08-01 15:42:38 -06:00
security_events.c security-events: Fix SuccessfulAuth using_password declaration. 2017-12-04 17:21:27 -06:00