mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-02 20:08:17 +00:00
Add some more IAX2-specific information about the channel to the CHANNEL()
function and begin the transition from SIPCHANINFO() to just using CHANNEL(). (closes issue #12856) Reported by: mostyn Patches: iax_and_sip_channel_info.patch uploaded by mostyn (license 398) (with some additional cleanup by me) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -15510,6 +15510,7 @@ struct ast_custom_function sippeer_function = {
|
||||
static int function_sipchaninfo_read(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
|
||||
{
|
||||
struct sip_pvt *p;
|
||||
static int deprecated = 0;
|
||||
|
||||
*buf = 0;
|
||||
|
||||
@@ -15525,6 +15526,11 @@ static int function_sipchaninfo_read(struct ast_channel *chan, const char *cmd,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (deprecated++ % 20 == 0) {
|
||||
/* Deprecated in 1.6.1 */
|
||||
ast_log(LOG_WARNING, "SIPCHANINFO() is deprecated. Please transition to using CHANNEL().\n");
|
||||
}
|
||||
|
||||
p = chan->tech_pvt;
|
||||
|
||||
/* If there is no private structure, this channel is no longer alive */
|
||||
@@ -18524,7 +18530,25 @@ static int acf_channel_read(struct ast_channel *chan, const char *funcname, char
|
||||
|
||||
memset(buf, 0, buflen);
|
||||
|
||||
if (!strcasecmp(args.param, "rtpdest")) {
|
||||
if (!strcasecmp(args.param, "peerip")) {
|
||||
ast_copy_string(buf, p->sa.sin_addr.s_addr ? ast_inet_ntoa(p->sa.sin_addr) : "", buflen);
|
||||
} else if (!strcasecmp(args.param, "recvip")) {
|
||||
ast_copy_string(buf, p->recv.sin_addr.s_addr ? ast_inet_ntoa(p->recv.sin_addr) : "", buflen);
|
||||
} else if (!strcasecmp(args.param, "from")) {
|
||||
ast_copy_string(buf, p->from, buflen);
|
||||
} else if (!strcasecmp(args.param, "uri")) {
|
||||
ast_copy_string(buf, p->uri, buflen);
|
||||
} else if (!strcasecmp(args.param, "useragent")) {
|
||||
ast_copy_string(buf, p->useragent, buflen);
|
||||
} else if (!strcasecmp(args.param, "peername")) {
|
||||
ast_copy_string(buf, p->peername, buflen);
|
||||
} else if (!strcasecmp(args.param, "t38passthrough")) {
|
||||
if (p->t38.state == T38_DISABLED) {
|
||||
ast_copy_string(buf, "0", sizeof("0"));
|
||||
} else { /* T38 is offered or enabled in this call */
|
||||
ast_copy_string(buf, "1", sizeof("1"));
|
||||
}
|
||||
} else if (!strcasecmp(args.param, "rtpdest")) {
|
||||
struct sockaddr_in sin;
|
||||
|
||||
if (ast_strlen_zero(args.type))
|
||||
|
||||
Reference in New Issue
Block a user