mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
Merged revisions 286189 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r286189 | twilson | 2010-09-10 17:04:53 -0500 (Fri, 10 Sep 2010) | 30 lines Merged revisions 286115 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r286115 | twilson | 2010-09-10 15:35:25 -0500 (Fri, 10 Sep 2010) | 23 lines Merged revisions 286059 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r286059 | twilson | 2010-09-10 14:25:08 -0500 (Fri, 10 Sep 2010) | 16 lines Inherit CHANNEL() writes to both sides of a Local channel Having Local (/n) channels as queue members and setting the language in the extension with Set(CHANNEL(language)=fr) sets the language on the Local/...,2 channel. Hold time report playbacks happen on the Local/...,1 channel and therefor do not play in the specified language. This patch modifies func_channel_write to call the setoption callback and pass the CHANNEL() write info to the callback. chan_local uses this information to look up the other side of the channel and apply the same changes to it. (closes issue #17673) Reported by: Guggemand Review: https://reviewboard.asterisk.org/r/903/ ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#ifndef _ASTERISK_PBX_H
|
||||
#define _ASTERISK_PBX_H
|
||||
|
||||
#include "asterisk/channel.h"
|
||||
#include "asterisk/sched.h"
|
||||
#include "asterisk/devicestate.h"
|
||||
#include "asterisk/chanvars.h"
|
||||
@@ -89,7 +90,7 @@ struct ast_custom_function {
|
||||
);
|
||||
enum ast_doc_src docsrc; /*!< Where the documentation come from */
|
||||
/*! Read function, if read is supported */
|
||||
int (*read)(struct ast_channel *, const char *, char *, char *, size_t);
|
||||
ast_acf_read_fn_t read; /*!< Read function, if read is supported */
|
||||
/*! Read function, if read is supported. Note: only one of read or read2
|
||||
* needs to be implemented. In new code, read2 should be implemented as
|
||||
* the way forward, but they should return identical results, within the
|
||||
@@ -97,11 +98,11 @@ struct ast_custom_function {
|
||||
* read function is handed a 16-byte buffer, and the result is 17 bytes
|
||||
* long, then the first 15 bytes (remember NULL terminator) should be
|
||||
* the same for both the read and the read2 methods. */
|
||||
int (*read2)(struct ast_channel *, const char *, char *, struct ast_str **, ssize_t);
|
||||
ast_acf_read2_fn_t read2;
|
||||
/*! If no read2 function is provided, what maximum size? */
|
||||
size_t read_max;
|
||||
/*! Write function, if write is supported */
|
||||
int (*write)(struct ast_channel *, const char *, char *, const char *);
|
||||
ast_acf_write_fn_t write; /*!< Write function, if write is supported */
|
||||
struct ast_module *mod; /*!< Module this custom function belongs to */
|
||||
AST_RWLIST_ENTRY(ast_custom_function) acflist;
|
||||
};
|
||||
|
Reference in New Issue
Block a user