asterisk/res
Mark Michelson 6cc7319455 Improve detection of answer on SIP blind transfer.
A problem encountered during testing was that res_pjsip_refer would
not ever send a NOTIFY with a 200 OK sipfrag. This is because the framehook
that was supposed to send the NOTIFY would never be told that an answer
had occurred. This happened for two reasons:

1) The transferee channel on which the framehook was on was already up.
2) Answers are rarely if ever written to channels. Rather, the ast_answer()
or ast_raw_answer() function is used to answer channels.

Thanks to a suggestion by Matt Jordan, the best way to detect that the call
had been answered was to find out when the transferee channel joined a bridge.
With stasis this is an easy task. So now, in addition to the framehook logic,
there is a stasis subscription used to determine when the transferee has entered
a bridge. Once it has entered, an appropriate NOTIFY is sent.
........

Merged revisions 397876 from http://svn.asterisk.org/svn/asterisk/branches/12


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 21:09:43 +00:00
..
ael Clean up and ensure proper usage of alloca() 2012-07-31 20:21:43 +00:00
ari ARI: Correct error codes for bridge operations 2013-08-23 17:19:02 +00:00
parking Bridge API: Set a cause code on a channel when it is ejected from a bridge. 2013-08-22 21:09:52 +00:00
res_pjsip Fix dialog matching in the SIP distributor. 2013-08-28 15:43:15 +00:00
snmp Get the SNMP code to compile. 2013-08-02 15:01:37 +00:00
stasis ARI: WebSocket event cleanup 2013-08-27 19:19:36 +00:00
ari.make Rename everything Stasis-HTTP to ARI 2013-07-27 23:11:02 +00:00
Makefile The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_adsi.c Multiple revisions 369323-369324 2012-06-25 15:55:25 +00:00
res_ael_share.c Merged revisions 328247 via svnmerge from 2011-07-14 20:28:54 +00: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 Add SayAlphaCase and similar functionality for AGI 2013-08-22 22:33:48 +00: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 Rename everything Stasis-HTTP to ARI 2013-07-27 23:11:02 +00:00
res_ari.exports.in Rename everything Stasis-HTTP to ARI 2013-07-27 23:11:02 +00:00
res_ari_asterisk.c ARI: WebSocket event cleanup 2013-08-27 19:19:36 +00:00
res_ari_bridges.c ARI: WebSocket event cleanup 2013-08-27 19:19:36 +00:00
res_ari_channels.c ARI: Correct segfault with /variable calls are missing ?variable parameter. 2013-08-21 16:23:59 +00:00
res_ari_endpoints.c ARI - implement allowMultiple for parameters 2013-08-02 14:36:32 +00:00
res_ari_events.c ARI: WebSocket event cleanup 2013-08-27 19:19:36 +00:00
res_ari_model.c Rename everything Stasis-HTTP to ARI 2013-07-27 23:11:02 +00:00
res_ari_model.exports.in Rename everything Stasis-HTTP to ARI 2013-07-27 23:11:02 +00:00
res_ari_playback.c ARI - implement allowMultiple for parameters 2013-08-02 14:36:32 +00:00
res_ari_recordings.c ARI: Add recording controls 2013-08-06 14:44:45 +00:00
res_ari_sounds.c ARI - implement allowMultiple for parameters 2013-08-02 14:36:32 +00:00
res_calendar.c Fix memory/ref counting leaks in a variety of locations 2013-06-25 01:12:58 +00: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 Fix a variety of memory leaks 2012-05-18 14:43:44 +00:00
res_calendar_ews.c Properly extract the Body information of an EWS calendar item 2012-10-31 14:58:44 +00:00
res_calendar_exchange.c Add uuid wrapper API call ast_uuid_generate_str(). 2013-03-28 23:59:20 +00:00
res_calendar_icalendar.c Fix memory leak in res_calendar_icalendar 2013-01-30 14:19:29 +00:00
res_chan_stats.c Split caching out from the stasis_caching_topic. 2013-08-01 13:49:34 +00:00
res_clialiases.c The UUID commit removed changes made in res_clialiases.c 2012-12-13 15:37:45 +00:00
res_clioriginate.c Allow support for early media on AMI originates and call files. 2012-08-08 22:39:40 +00:00
res_config_curl.c Add support for a realtime sorcery module. 2013-04-27 12:01:29 +00:00
res_config_ldap.c Add support for a realtime sorcery module. 2013-04-27 12:01:29 +00:00
res_config_odbc.c Fix Finding Extensions With Patterns Using ODBC Realtime 2013-05-10 20:28:18 +00:00
res_config_pgsql.c Minor fixups to Doxygen comments. 2013-05-07 18:30:55 +00:00
res_config_sqlite.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00:00
res_config_sqlite3.c Add support for a realtime sorcery module. 2013-04-27 12:01:29 +00:00
res_convert.c Merged revisions 328247 via svnmerge from 2011-07-14 20:28:54 +00:00
res_corosync.c Disable build of res_corosync until it is back in a compiling state 2013-08-18 02:55:54 +00:00
res_crypto.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00: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 Doxygen Updates - Title update 2012-10-14 21:44:27 +00:00
res_fax.c Properly pack the parameters into ast_json_pack when sending a send fax message 2013-06-23 19:19:30 +00:00
res_fax.exports.in Log spandsp's fax debug output to the FAX logger level. 2010-05-21 15:15:58 +00:00
res_fax_spandsp.c Fix some more fax test errors due to needing the peer in a bridge 2013-05-27 01:33:12 +00:00
res_format_attr_celt.c Add support for parsing SDP attributes, generating SDP attributes, and passing it through. 2012-07-13 16:49:40 +00:00
res_format_attr_h263.c Reduce memory consumption and add the H.264 and H.263 modules I shamefully neglected to add. 2012-07-13 18:41:07 +00:00
res_format_attr_h264.c AST-2013-001: Prevent buffer overflow through H.264 format negotiation 2013-03-27 14:28:36 +00:00
res_format_attr_opus.c Add pass through support for Opus and VP8; Opus format attribute negotiation 2013-08-23 15:42:27 +00:00
res_format_attr_silk.c Add support for parsing SDP attributes, generating SDP attributes, and passing it through. 2012-07-13 16:49:40 +00:00
res_http_post.c Avoid cppcheck warnings; removing unused vars and a bit of cleanup. 2012-04-17 18:57:40 +00:00
res_http_websocket.c Fixed null dereference when WebSocket subprotocol isn't specified 2013-07-18 18:05:07 +00:00
res_http_websocket.exports.in Shuffle RESTful URL's around. 2013-07-03 16:32:00 +00:00
res_jabber.c Strip down the old event system 2013-08-17 14:39:27 +00:00
res_jabber.exports.in Fix chan_jingle/gtalk load regression introduced in r346087 2011-12-05 14:47:11 +00:00
res_limit.c Doxygen Updates - Title update 2012-10-14 21:44:27 +00:00
res_monitor.c Update Asterisk's CDRs for the new bridging framework 2013-06-17 03:00:38 +00: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 Handle DTMF and hold wrapup when a channel leaves the bridging system. 2013-08-23 18:33:36 +00:00
res_mutestream.c ARI: Add support for suppressing media streams. 2013-07-18 16:03:12 +00:00
res_odbc.c Doxygen Updates - Title update 2012-10-14 21:44:27 +00:00
res_odbc.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_parking.c Bridge API: Set a cause code on a channel when it is ejected from a bridge. 2013-08-22 21:09:52 +00:00
res_phoneprov.c Doxygen Updates - Title update 2012-10-14 21:44:27 +00:00
res_pjsip.c Add some clarifying documentation to the rewrite_contact endpoint option. 2013-08-23 21:53:48 +00:00
res_pjsip.exports.in The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_acl.c Localize and rename ACL configuration. 2013-08-20 21:01:59 +00:00
res_pjsip_authenticator_digest.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_caller_id.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_diversion.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_dtmf_info.c res_sip_dtmf_info: Support sending of 'raw' DTMF 2013-08-22 22:09:16 +00:00
res_pjsip_endpoint_identifier_anonymous.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_endpoint_identifier_ip.c Add debug message to res_pjsip_endpoint_identifier_ip to indicate when an endpoint is successfully retrieved. 2013-08-20 15:32:20 +00:00
res_pjsip_endpoint_identifier_user.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_exten_state.c Handle default body types for SIP event packages in res_pjsip_pubsub 2013-08-22 17:42:37 +00:00
res_pjsip_exten_state.exports.in The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_logger.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_messaging.c Fix crash in res_pjsip_outbound_registration when the remote server can not be resolved. 2013-08-06 12:39:27 +00:00
res_pjsip_mwi.c Handle default body types for SIP event packages in res_pjsip_pubsub 2013-08-22 17:42:37 +00:00
res_pjsip_nat.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_notify.c Fix crash in res_pjsip_outbound_registration when the remote server can not be resolved. 2013-08-06 12:39:27 +00:00
res_pjsip_one_touch_record_info.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_outbound_authenticator_digest.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_outbound_registration.c Fix crash in res_pjsip_outbound_registration when the remote server can not be resolved. 2013-08-06 12:39:27 +00:00
res_pjsip_pidf.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_pubsub.c Handle default body types for SIP event packages in res_pjsip_pubsub 2013-08-22 17:42:37 +00:00
res_pjsip_pubsub.exports.in The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_refer.c Improve detection of answer on SIP blind transfer. 2013-08-28 21:09:43 +00:00
res_pjsip_registrar.c Add warning messages for registration failure paths. 2013-08-20 15:27:48 +00:00
res_pjsip_registrar_expire.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_rfc3326.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_sdp_rtp.c Add pass through support for Opus and VP8; Opus format attribute negotiation 2013-08-23 15:42:27 +00:00
res_pjsip_session.c Answer with multiple codecs if the underlying pjproject supports it. 2013-08-01 11:21:28 +00:00
res_pjsip_session.exports.in The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_t38.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pjsip_transport_websocket.c The large GULP->PJSIP renaming effort. 2013-07-30 18:14:50 +00:00
res_pktccops.c Fix compilation on gcc 4.8.1 2013-07-30 13:46:16 +00: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 Cleanup references to sipusers and sipfriends dynamic realtime families 2011-11-01 19:53:26 +00:00
res_rtp_asterisk.c Add pass through support for Opus and VP8; Opus format attribute negotiation 2013-08-23 15:42:27 +00:00
res_rtp_multicast.c Calculate the timestamp for outbound RTP if we don't have timing information 2013-04-14 03:01:33 +00:00
res_security_log.c Strip down the old event system 2013-08-17 14:39:27 +00:00
res_smdi.c Doxygen Updates - Title update 2012-10-14 21:44:27 +00: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 Doxygen Updates - Title update 2012-10-14 21:44:27 +00:00
res_sorcery_astdb.c Address JSON thread safety issues. 2013-08-02 14:27:35 +00:00
res_sorcery_config.c Merge the pimp_my_sip branch into trunk. 2013-04-25 18:25:31 +00:00
res_sorcery_memory.c Pass the sorcery instance to wizards for CUD operations as well as retrieve. 2013-03-20 14:52:23 +00:00
res_sorcery_realtime.c Add support for a realtime sorcery module. 2013-04-27 12:01:29 +00:00
res_speech.c Add support for retrieving engine specific settings using the speech API and from dialplan. 2012-10-01 12:29:04 +00:00
res_speech.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
res_srtp.c Use srtp_shutdown when available 2013-05-15 12:42:04 +00:00
res_srtp.exports.in Add SRTP support for Asterisk 2010-06-08 05:29:08 +00:00
res_stasis.c ARI: WebSocket event cleanup 2013-08-27 19:19:36 +00: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 Fix menuselect display for stasis modules. 2013-06-24 21:40:52 +00:00
res_stasis_answer.exports.in Add missing exports file 2013-05-20 14:21:39 +00:00
res_stasis_playback.c ARI: allow other operations to happen while bridged 2013-08-13 15:27:32 +00: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 ARI: allow other operations to happen while bridged 2013-08-13 15:27:32 +00:00
res_stasis_recording.exports.in ARI - channel recording support 2013-07-03 17:58:45 +00:00
res_stasis_test.c Fix menuselect display for stasis modules. 2013-06-24 21:40:52 +00:00
res_stasis_test.exports.in Initial support for endpoints. 2013-05-08 13:39:08 +00:00
res_statsd.c Rename everything Stasis-HTTP to ARI 2013-07-27 23:11:02 +00:00
res_statsd.exports.in Example of how to use the Stasis message bus 2013-04-26 20:05:15 +00:00
res_stun_monitor.c Move channel driver Registry manager events to core. 2013-07-08 14:42:57 +00:00
res_timing_dahdi.c Refactor ast_timer_ack to return an error and handle the error in timer users 2012-11-05 23:10:14 +00:00
res_timing_kqueue.c Refactor ast_timer_ack to return an error and handle the error in timer users 2012-11-05 23:10:14 +00:00
res_timing_pthread.c Prevent res_timing_pthread from blocking callers 2013-04-19 22:27:08 +00:00
res_timing_timerfd.c Refactor ast_timer_ack to return an error and handle the error in timer users 2012-11-05 23:10:14 +00:00
res_xmpp.c Strip down the old event system 2013-08-17 14:39:27 +00: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