asterisk/res
Kevin Harwell 9e53c30610 res_pjsip_refer/session: Calls dropped during transfer
When doing an attended transfer it's possible for the transferer, after
receiving an accepted response from Asterisk, to send a BYE to Asterisk,
which can then be processed before Asterisk has time to start and/or
complete the transfer process. This of course causes the transfer to not
complete successfully, thus dropping the call.

This patch makes it so any BYEs received from the transferer, after the REFER,
that initiate a session end are deferred until the transfer is complete. This
allows the channel that would have otherwise been hung up by Asterisk to
remain available throughout the transfer process.

ASTERISK-27053 #close

Change-Id: I43586db79079457d92d71f1fd993be9a3b409d5a
2017-06-13 14:28:21 -05:00
..
ael core/pbx: dialplan show - display filename/line# 2017-01-04 14:06:20 -06:00
ari make ari-stubs so doc periodic jobs can run 2017-04-16 18:59:54 -06:00
parking core/pbx: dialplan show - display filename/line# 2017-01-04 14:06:20 -06:00
res_pjsip res_pjsip: Add support for returning only reachable contacts and use it. 2017-06-06 09:46:39 -05:00
snmp Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
srtp res_srtp: Add support for libsrtp2 2017-05-26 12:15:42 -04:00
stasis Merge "ari: Implement 'debug all' and request/response logging" 2017-01-26 17:06:40 -06:00
stasis_recording stasis_recording: Correct ast_asprintf error checking 2017-05-30 16:09:50 -05:00
Makefile Build System: Create Makefile macro MOD_ADD_SOURCE. 2015-04-14 12:53:03 -04:00
ari.make Build System: Create Makefile macro MOD_ADD_SOURCE. 2015-04-14 12:53:03 -04:00
res.xml build_tools: Add ability to download variants to download_externals 2016-09-25 13:40:23 -05:00
res_adsi.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_ael_share.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_ael_share.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_agi.c Merge "asterisk: Audit locking of channel when manipulating flags." 2017-05-26 09:25:51 -05:00
res_agi.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_ari.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_ari.exports.in Rename everything Stasis-HTTP to ARI 2013-07-27 23:11:02 +00:00
res_ari_applications.c make ari-stubs so doc periodic jobs can run 2017-04-16 18:59:54 -06:00
res_ari_asterisk.c make ari-stubs so doc periodic jobs can run 2017-04-16 18:59:54 -06:00
res_ari_bridges.c make ari-stubs so doc periodic jobs can run 2017-04-16 18:59:54 -06:00
res_ari_channels.c make ari-stubs so doc periodic jobs can run 2017-04-16 18:59:54 -06:00
res_ari_device_states.c make ari-stubs so doc periodic jobs can run 2017-04-16 18:59:54 -06:00
res_ari_endpoints.c make ari-stubs so doc periodic jobs can run 2017-04-16 18:59:54 -06:00
res_ari_events.c make ari-stubs so doc periodic jobs can run 2017-04-16 18:59:54 -06:00
res_ari_mailboxes.c make ari-stubs so doc periodic jobs can run 2017-04-16 18:59:54 -06:00
res_ari_model.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_ari_model.exports.in Rename everything Stasis-HTTP to ARI 2013-07-27 23:11:02 +00:00
res_ari_playbacks.c make ari-stubs so doc periodic jobs can run 2017-04-16 18:59:54 -06:00
res_ari_recordings.c make ari-stubs so doc periodic jobs can run 2017-04-16 18:59:54 -06:00
res_ari_sounds.c make ari-stubs so doc periodic jobs can run 2017-04-16 18:59:54 -06:00
res_calendar.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_calendar.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_calendar_caldav.c res_calendar_caldav: Add support reading gmail calendar 2016-11-29 13:35:26 -02:00
res_calendar_ews.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_calendar_exchange.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_calendar_icalendar.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_chan_stats.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_clialiases.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_clioriginate.c manager: Restore Originate failure behavior from Asterisk 11 2017-02-10 18:04:41 -05:00
res_config_curl.c realtime: Centralize some common realtime backend code 2017-02-21 10:53:17 -06:00
res_config_ldap.c res_config_ldap: Various code improvements 2017-02-22 17:37:52 -06:00
res_config_odbc.c realtime: Centralize some common realtime backend code 2017-02-21 10:53:17 -06:00
res_config_pgsql.c res_config_pgsql: Make 'require' return consistent with other backends 2017-03-01 07:27:50 -06:00
res_config_sqlite.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_config_sqlite3.c Sqlite3: make busy_timeout configurable. 2017-05-25 10:02:42 +02:00
res_convert.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_corosync.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_crypto.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_crypto.exports.in Remove built-in AES code and use optional_api instead 2010-07-21 19:11:32 +00:00
res_curl.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_endpoint_stats.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_fax.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_fax.exports.in res_fax: Provide AMI equivalents for fax CLI commands 2014-07-18 15:49:46 +00:00
res_fax_spandsp.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_format_attr_celt.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_format_attr_g729.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_format_attr_h263.c res_format_attr_h26x: Trim blanks in fmtp attributes 2017-05-23 10:57:57 -05:00
res_format_attr_h264.c res_format_attr_h26x: Trim blanks in fmtp attributes 2017-05-23 10:57:57 -05:00
res_format_attr_ilbc.c codecs: Add iLBC 20. 2016-07-22 10:09:08 +02:00
res_format_attr_opus.c res_format_attr_opus: Fix crash when fmtp contains spaces. 2016-12-08 11:47:30 +00:00
res_format_attr_silk.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_format_attr_siren7.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_format_attr_siren14.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_format_attr_vp8.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_hep.c res_hep: Add additional config initialization and validation 2017-04-24 13:22:48 -05:00
res_hep.exports.in res_hep_{pjsip|rtcp}: Decline module loads if res_hep had not loaded 2016-06-08 12:32:02 -05:00
res_hep_pjsip.c res_hep: Capture actual transport type in use 2017-03-21 13:40:29 -06:00
res_hep_rtcp.c res_hep_rtcp: Add support level to module info 2017-05-18 16:36:21 -05:00
res_http_media_cache.c modules: change module LOAD_FAILUREs to LOAD_DECLINES (14) 2017-04-12 15:57:39 -06:00
res_http_post.c Implement internal abstraction for iostreams 2016-11-15 22:25:14 +02:00
res_http_websocket.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_http_websocket.exports.in res_http_websocket: Export symbol for ast_websocket_set_timeout 2014-06-26 18:27:53 +00:00
res_limit.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_manager_devicestate.c AST_MODULE_INFO: Format corrections to the usages of AST_MODULE_INFO macro. 2015-05-13 16:34:23 -05:00
res_manager_presencestate.c AST_MODULE_INFO: Format corrections to the usages of AST_MODULE_INFO macro. 2015-05-13 16:34:23 -05:00
res_monitor.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_monitor.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_musiconhold.c asterisk: Audit locking of channel when manipulating flags. 2017-05-16 14:25:23 +00:00
res_mutestream.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_mwi_external.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_mwi_external.exports.in External MWI core support. 2014-01-06 17:45:25 +00:00
res_mwi_external_ami.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_odbc.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_odbc.exports.in res_odbc: Fix exports.in for missing symbols 2016-02-16 16:42:26 -06:00
res_odbc_transaction.c res_odbc_transaction: add dep on generic_odbc 2016-08-21 18:56:01 -05:00
res_odbc_transaction.exports.in res_odbc: Remove connection management 2016-01-22 11:59:06 -06:00
res_parking.c core/pbx: dialplan show - display filename/line# 2017-01-04 14:06:20 -06:00
res_phoneprov.c Implement internal abstraction for iostreams 2016-11-15 22:25:14 +02:00
res_phoneprov.exports.in res_phoneprov: Refactor phoneprov to allow pluggable config providers 2014-10-09 17:46:23 +00:00
res_pjproject.c PJPROJECT logging: Fix detection of max supported log level. 2017-01-24 11:25:19 -06:00
res_pjproject.exports.in res_pjproject: Add module providing pjproject logging and utils 2016-01-20 09:56:13 -07:00
res_pjsip.c res_pjsip: Add support for returning only reachable contacts and use it. 2017-06-06 09:46:39 -05:00
res_pjsip.exports.in res_pjsip: AMI commands and events. 2013-11-23 17:26:57 +00:00
res_pjsip_acl.c AST_MODULE_INFO: Format corrections to the usages of AST_MODULE_INFO macro. 2015-05-13 16:34:23 -05:00
res_pjsip_authenticator_digest.c res_pjsip_authenticator_digest.c: Fix sorcery's immutable contract violation. 2017-02-20 22:24:31 -06:00
res_pjsip_caller_id.c res_pjsip/res_pjsip_callerid: NULL check on caller id name string 2017-04-26 15:32:11 -05:00
res_pjsip_config_wizard.c res_pjsip_config_wizard: Add 2 new parameters to help with proxy config 2017-03-28 15:51:21 -06:00
res_pjsip_dialog_info_body_generator.c res_pjsip_exten_state: Use the extension for publishing to. 2016-05-18 18:37:27 -05:00
res_pjsip_diversion.c res_pjsip: Fix known compact header issues 2016-12-31 20:00:46 -06:00
res_pjsip_dlg_options.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_pjsip_dtmf_info.c res_pjsip_empty_info: Respond to empty SIP INFO packets 2016-05-19 09:08:37 -03:00
res_pjsip_empty_info.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_pjsip_endpoint_identifier_anonymous.c res_pjsip: disable multi domain to improve realtime performace 2016-04-27 10:58:43 -05:00
res_pjsip_endpoint_identifier_ip.c res_pjsip_endpoint_identifier_ip: Don't output error if no header_match. 2017-03-15 13:52:15 +00:00
res_pjsip_endpoint_identifier_user.c res_pjsip: Add ignore_uri_user_options option. 2016-09-09 17:13:02 -05:00
res_pjsip_exten_state.c res_pjsip_pubsub: Correctly implement persisted subscriptions 2017-02-15 13:11:46 -06:00
res_pjsip_exten_state.exports.in The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_header_funcs.c res_pjsip: Add clarifying documentation to PJSIP_HEADER help text 2016-05-27 12:43:54 -05:00
res_pjsip_history.c pjproject_bundled: Update for pjproject 2.6 2017-02-23 16:23:53 -06:00
res_pjsip_logger.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_pjsip_messaging.c res_pjsip_messaging: Check URI type before dereferencing 2017-03-21 08:45:37 -06:00
res_pjsip_mwi.c res_pjsip: Fix some off nominal tdata leaks. 2017-02-06 11:02:35 -06:00
res_pjsip_mwi_body_generator.c res_pjsip_mwi_body_generator: Re-order the body items 2016-05-30 19:31:26 -05:00
res_pjsip_nat.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_pjsip_notify.c res_pjsip: Strip spaces from items parsed from comma-separated lists 2016-03-07 13:16:41 -06:00
res_pjsip_one_touch_record_info.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_pjsip_outbound_authenticator_digest.c res_pjsip_outbound_authenticator_digest: Add context to log messages 2017-04-28 11:04:57 -05:00
res_pjsip_outbound_publish.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_pjsip_outbound_publish.exports.in res_pjsip_outbound_publish: Add module which provides outbound PUBLISH support. 2014-08-07 14:35:09 +00:00
res_pjsip_outbound_registration.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_pjsip_path.c res_pjsip: Add ignore_uri_user_options option. 2016-09-09 17:13:02 -05:00
res_pjsip_phoneprov_provider.c AST_MODULE_INFO: Format corrections to the usages of AST_MODULE_INFO macro. 2015-05-13 16:34:23 -05:00
res_pjsip_pidf_body_generator.c PJSIP XML, XPIDF: Fix buffer size overwrite memory corruption error. 2015-07-06 16:15:12 -05:00
res_pjsip_pidf_digium_body_supplement.c res_pjsip: Ensure sanitized XML is NULL terminated. 2015-08-06 05:20:47 -05:00
res_pjsip_pidf_eyebeam_body_supplement.c AST_MODULE_INFO: Format corrections to the usages of AST_MODULE_INFO macro. 2015-05-13 16:34:23 -05:00
res_pjsip_publish_asterisk.c pjsip: Add Alembic for PUBLISH support. 2017-04-07 08:44:49 -05:00
res_pjsip_pubsub.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_pjsip_pubsub.exports.in res_pjsip_mwi: Add voicemail extension and mwi_subscribe_replaces_unsolicited 2016-03-30 13:23:54 -05:00
res_pjsip_refer.c res_pjsip_refer/session: Calls dropped during transfer 2017-06-13 14:28:21 -05:00
res_pjsip_registrar.c Revert "Update qualifies when AOR configuration changes." 2017-02-08 11:54:39 -06:00
res_pjsip_registrar_expire.c res_pjsip_registrar_expire.c: Remove extra linefeed in debug message. 2016-11-10 16:59:41 -05:00
res_pjsip_rfc3326.c res_pjsip_rfc3326.c: Fix crash when channel goes away. 2015-11-13 16:34:41 -05:00
res_pjsip_sdp_rtp.c pjsip: Extend 'asymmetric_rtp_codec' option to include us changing. 2017-06-07 13:34:58 +00:00
res_pjsip_send_to_voicemail.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_pjsip_session.c res_pjsip_refer/session: Calls dropped during transfer 2017-06-13 14:28:21 -05:00
res_pjsip_session.exports.in res_pjsip_refer/session: Calls dropped during transfer 2017-06-13 14:28:21 -05:00
res_pjsip_sips_contact.c AST_MODULE_INFO: Format corrections to the usages of AST_MODULE_INFO macro. 2015-05-13 16:34:23 -05:00
res_pjsip_t38.c res_pjsip_t38.c: Fix deadlock in T.38 framehook. 2017-04-29 18:15:32 -05:00
res_pjsip_transport_management.c res_pjsip_transport_management: Convert time in log message to seconds. 2016-09-14 09:53:33 -05:00
res_pjsip_transport_websocket.c res_pjsip_transport_websocket: Add support for IPv6. 2017-03-08 15:09:59 -06:00
res_pjsip_xpidf_body_generator.c PJSIP XML, XPIDF: Fix buffer size overwrite memory corruption error. 2015-07-06 16:15:12 -05:00
res_pktccops.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_pktccops.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_realtime.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_resolver_unbound.c res_resolver_unbound.c: Fix frequent ref leak caught by excessive ref trap. 2017-02-01 17:33:41 -06:00
res_rtp_asterisk.c format: Reintroduce smoother flags 2017-05-30 15:10:20 -05:00
res_rtp_multicast.c res_rtp_multicast: Use consistent timestamps when possible 2017-06-06 10:55:04 -05:00
res_rtp_multicast.exports.in multicast RTP: Add dialing options 2016-05-27 11:00:09 -05:00
res_sdp_translator_pjmedia.c res_sdp_translator_pjmedia.c: Add TODO notes. 2017-04-27 19:08:05 -05:00
res_security_log.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_smdi.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_smdi.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_snmp.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_sorcery_astdb.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_sorcery_config.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_sorcery_memory.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_sorcery_memory_cache.c cli: Fix various CLI documentation and completion issues 2017-02-13 11:33:15 -05:00
res_sorcery_realtime.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_speech.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_speech.exports.in app_speech_utils: Fix unresolved symbol ast_speech_get_setting(). 2013-09-16 18:00:32 +00:00
res_srtp.c res_srtp: Add support for libsrtp2 2017-05-26 12:15:42 -04:00
res_srtp.exports.in Reverting accidental ci of wrong change in r433061 2015-03-17 22:03:01 +00:00
res_stasis.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_stasis.exports.in Moved core logic from app_stasis to res_stasis 2013-04-15 16:43:47 +00:00
res_stasis_answer.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_stasis_answer.exports.in Add missing exports file 2013-05-20 14:21:39 +00:00
res_stasis_device_state.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_stasis_device_state.exports.in ARI: Implement device state API 2013-11-23 17:48:28 +00:00
res_stasis_mailbox.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_stasis_mailbox.exports.in ARI: Add mailboxes resource for controlling and polling external MWI 2014-01-14 23:44:57 +00:00
res_stasis_playback.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_stasis_playback.exports.in This patch implements the REST API's for POST /channels/{channelId}/play 2013-05-23 20:11:35 +00:00
res_stasis_recording.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_stasis_recording.exports.in ARI - channel recording support 2013-07-03 17:58:45 +00:00
res_stasis_snoop.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_stasis_snoop.exports.in ari: Add Snoop operation for spying/whispering on channels. 2013-11-23 12:40:46 +00:00
res_stasis_test.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_stasis_test.exports.in Initial support for endpoints. 2013-05-08 13:39:08 +00:00
res_statsd.c modules: change module LOAD_FAILUREs to LOAD_DECLINES 2017-04-12 15:57:21 -06:00
res_statsd.exports.in res_statsd: Fix exports.in for missing symbols 2016-02-16 12:26:29 -06:00
res_stun_monitor.c res_stun_monitor: Don't fail to load if DNS resolution fails 2017-04-14 16:55:03 -05:00
res_timing_dahdi.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_timing_kqueue.c res_timing: Don't close FD 0 when out of open files. 2015-07-02 05:13:37 -05:00
res_timing_pthread.c Remove ASTERISK_REGISTER_FILE. 2016-10-27 09:53:55 -04:00
res_timing_timerfd.c res_timing: Don't close FD 0 when out of open files. 2015-07-02 05:13:37 -05:00
res_xmpp.c Merge "res_xmpp: Fix ref counting issue" 2017-03-29 06:57:49 -05:00
res_xmpp.exports.in Add a new unified Jingle, Google Jingle, and Google Talk channel driver written from scratch called chan_motif. 2012-07-07 17:06:51 +00:00