asterisk/apps
Mark Michelson b5d5cc565f Enhancements to connected line and redirecting work.
From reviewboard:

Digium has a commercial customer who has made extensive use of the connected party and
redirecting information present in later versions of Asterisk Business Edition and which
is to be in the upcoming 1.8 release. Through their use of the feature, new problems and solutions
have come about. This patch adds several enhancements to maximize usage of the connected party
and redirecting information functionality.

First, Asterisk trunk already had connected line interception macros. These macros allow you to
manipulate connected line information before it was sent out to its target. This patch adds the
same feature except for redirecting information instead.

Second, the ast_callerid and ast_party_id structures have been enhanced to provide a "tag." This
tag can be set with func_callerid, func_connectedline, func_redirecting, and in the case of DAHDI,
mISDN, and SIP channels, can be set in a configuration file. The idea behind the callerid tag is
that it can be set to whatever value the administrator likes. Later, when running connected line
and redirecting macros, the admin can read the tag off the appropriate structure to determine what
action to take. You can think of this sort of like a channel variable, except that instead of having
the variable associated with a channel, the variable is associated with a specific identity within
Asterisk.

Third, app_dial has two new options, s and u. The s option lets a dialplan writer force a specific
caller ID tag to be placed on the outgoing channel. The u option allows the dialplan writer to force
a specific calling presentation value on the outgoing channel.

Fourth, there is a new control frame subclass called AST_CONTROL_READ_ACTION added. This was added
to correct a very specific situation. In the case of SIP semi-attended (blond) transfers, the party
being transferred would not have the opportunity to run a connected line interception macro to
possibly alter the transfer target's connected line information. The issue here was that during a
blond transfer, the SIP transfer code has no bridged channel on which to queue the connected line
update. The way this was corrected was to add this new control frame subclass. Now, we queue an
AST_CONTROL_READ_ACTION frame on the channel on which the connected line interception macro should
be run. When ast_read is called to read the frame, ast_read responds by calling a callback function
associated with the specific read action the control frame describes. In this case, the action taken
is to run the connected line interception macro on the transferee's channel.

Review: https://reviewboard.asterisk.org/r/652/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@263541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-17 15:36:31 +00:00
..
Makefile One of the changes in 1.6.1 was to allow app_directory to use functionality 2009-06-18 20:52:36 +00:00
app_adsiprog.c AST-2009-005 2009-08-10 19:20:57 +00:00
app_alarmreceiver.c Expand codec bitfield from 32 bits to 64 bits. 2009-11-04 14:05:12 +00:00
app_amd.c Consolidate ast_channel.cid.cid_rdnis into ast_channel.redirecting.from.number. 2010-04-03 02:12:33 +00:00
app_authenticate.c Global var cleanup - constification and removing unused vars. 2009-06-07 14:55:51 +00:00
app_cdr.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
app_celgenuserevent.c Merge the new Channel Event Logging (CEL) subsystem. 2009-06-26 15:28:53 +00:00
app_chanisavail.c Store the cause code that is returned when trying to create a channel in ChanIsAvail in the 2009-11-13 17:22:47 +00:00
app_channelredirect.c Global var cleanup - constification and removing unused vars. 2009-06-07 14:55:51 +00:00
app_chanspy.c Display a list of channel variables in each channel-oriented event. 2009-11-13 20:42:03 +00:00
app_confbridge.c This patch adds custom device state handling for ConfBridge conferences, 2010-03-29 14:07:44 +00:00
app_controlplayback.c Change warning message to debug message. 2009-11-03 19:48:53 +00:00
app_dahdibarge.c Expand codec bitfield from 32 bits to 64 bits. 2009-11-04 14:05:12 +00:00
app_dahdiras.c Global var cleanup - constification and removing unused vars. 2009-06-07 14:55:51 +00:00
app_db.c Global var cleanup - constification and removing unused vars. 2009-06-07 14:55:51 +00:00
app_dial.c Enhancements to connected line and redirecting work. 2010-05-17 15:36:31 +00:00
app_dictate.c Expand codec bitfield from 32 bits to 64 bits. 2009-11-04 14:05:12 +00:00
app_directed_pickup.c fixes PickupChan application 2010-05-10 19:06:08 +00:00
app_directory.c Add supporting code for app-directory pause option. 2010-03-11 07:03:51 +00:00
app_disa.c Expand codec bitfield from 32 bits to 64 bits. 2009-11-04 14:05:12 +00:00
app_dumpchan.c Consolidate ast_channel.cid.cid_rdnis into ast_channel.redirecting.from.number. 2010-04-03 02:12:33 +00:00
app_echo.c revert ability to exit echo app 2010-03-02 19:39:58 +00:00
app_exec.c Because ExecIf needs to reprocess arguments, it's best if we don't remove quotes during parsing. 2010-03-11 21:07:07 +00:00
app_externalivr.c Add send DTMF feature to ExternalIVR app 2010-01-22 16:20:43 +00:00
app_fax.c Updated CHANGES file to mention res_fax and res_fax_spandsp. 2010-03-03 15:39:45 +00:00
app_festival.c Expand codec bitfield from 32 bits to 64 bits. 2009-11-04 14:05:12 +00:00
app_flash.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
app_followme.c Resolve compiler warnings on FreeBSD. 2010-03-20 11:43:08 +00:00
app_forkcdr.c This patch adds a sequence field to CDRs that can be combined with the linkedid or uniqueid field to uniquely identify a CDR. 2009-11-03 21:21:09 +00:00
app_getcpeid.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
app_ices.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
app_image.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
app_ivrdemo.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
app_jack.c Convert a few places to use ast_calloc_with_stringfields where applicable. 2010-01-15 18:21:50 +00:00
app_macro.c AST-2009-005 2009-08-10 19:20:57 +00:00
app_meetme.c Merged revisions 262662 via svnmerge from 2010-05-12 18:01:20 +00:00
app_milliwatt.c Expand codec bitfield from 32 bits to 64 bits. 2009-11-04 14:05:12 +00:00
app_minivm.c Display a list of channel variables in each channel-oriented event. 2009-11-13 20:42:03 +00:00
app_mixmonitor.c Added MixMonitorMute manager command 2010-04-21 11:27:27 +00:00
app_morsecode.c AST-2009-005 2009-08-10 19:20:57 +00:00
app_mp3.c Merged revisions 238009 via svnmerge from 2010-01-06 15:19:10 +00:00
app_nbscat.c Expand codec bitfield from 32 bits to 64 bits. 2009-11-04 14:05:12 +00:00
app_originate.c Revert inadvertant code commit to app_originate 2009-10-13 01:58:09 +00:00
app_osplookup.c Fix several XML documentation validate errors. 2010-03-02 19:02:56 +00:00
app_page.c Add audio announcement option to app_page 2009-12-10 17:31:23 +00:00
app_parkandannounce.c Merge the new Channel Event Logging (CEL) subsystem. 2009-06-26 15:28:53 +00:00
app_playback.c Merged revisions 220288 via svnmerge from 2009-09-24 19:41:02 +00:00
app_playtones.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
app_privacy.c Ensure the arguments are initialized. Also miscellaneous CG cleanup. 2010-05-12 16:23:26 +00:00
app_queue.c Enhancements to connected line and redirecting work. 2010-05-17 15:36:31 +00:00
app_read.c Last batch of 'static' qualifiers for module-level global variables. 2009-06-15 19:10:10 +00:00
app_readexten.c Allow tonelist as argument to ReadExten. 2009-12-14 21:32:03 +00:00
app_readfile.c AST-2009-005 2009-08-10 19:20:57 +00:00
app_record.c Be less ambiguous in Record() app docs. 2010-03-10 20:53:43 +00:00
app_rpt.c AST-2009-005 2009-08-10 19:20:57 +00:00
app_sayunixtime.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
app_senddtmf.c Code clean up in app_senddtmf 2010-01-26 20:49:57 +00:00
app_sendtext.c Enable SendText to send strings in encoded format. 2010-01-19 22:41:36 +00:00
app_setcallerid.c AST-2009-005 2009-08-10 19:20:57 +00:00
app_skel.c Last batch of 'static' qualifiers for module-level global variables. 2009-06-15 19:10:10 +00:00
app_sms.c Expand codec bitfield from 32 bits to 64 bits. 2009-11-04 14:05:12 +00:00
app_softhangup.c Flags not initialized in app_softhangup.c, causing undefined behavior 2009-11-11 18:13:56 +00:00
app_speech_utils.c Expand codec bitfield from 32 bits to 64 bits. 2009-11-04 14:05:12 +00:00
app_stack.c Mask out previous arguments on each nested invocation of Gosub. 2010-03-16 23:49:35 +00:00
app_system.c If the argument to the system application is quoted, ensure we remove the quotes before trying to execute. 2010-03-11 20:25:02 +00:00
app_talkdetect.c Expand codec bitfield from 32 bits to 64 bits. 2009-11-04 14:05:12 +00:00
app_test.c Expand codec bitfield from 32 bits to 64 bits. 2009-11-04 14:05:12 +00:00
app_transfer.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
app_url.c Expand codec bitfield from 32 bits to 64 bits. 2009-11-04 14:05:12 +00:00
app_userevent.c Change usage of pipe to comma in UserEvent docs. 2010-03-18 17:52:35 +00:00
app_verbose.c AST-2009-005 2009-08-10 19:20:57 +00:00
app_voicemail.c Merged revisions 262321 via svnmerge from 2010-05-11 17:23:51 +00:00
app_voicemail.exports.in Allow symbol export filtering to work properly on platforms that have symbol prefixes. 2010-04-02 18:57:58 +00:00
app_waitforring.c add silence gen to wait apps 2010-01-13 16:31:14 +00:00
app_waitforsilence.c add silence gen to wait apps 2010-01-13 16:31:14 +00:00
app_waituntil.c AST-2009-005 2009-08-10 19:20:57 +00:00
app_while.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
app_zapateller.c Const-ify the world (or at least a good part of it) 2009-05-21 21:13:09 +00:00
enter.h remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00
leave.h remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00
rpt_flow.pdf remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00