|
|
|
@ -9133,6 +9133,13 @@ static char *function_iaxpeer(struct ast_channel *chan, char *cmd, char *data, c
|
|
|
|
|
return ret;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* if our channel, return the IP address of the endpoint of current channel */
|
|
|
|
|
if (!strcmp(peername,"CURRENTCHANNEL")) {
|
|
|
|
|
unsigned short callno = PTR_TO_CALLNO(chan->tech_pvt);
|
|
|
|
|
ast_copy_string(buf, iaxs[callno]->addr.sin_addr.s_addr ? ast_inet_ntoa(iabuf, sizeof(iabuf), iaxs[callno]->addr.sin_addr) : "", len);
|
|
|
|
|
return buf;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ((colname = strchr(peername, ':'))) {
|
|
|
|
|
*colname = '\0';
|
|
|
|
|
colname++;
|
|
|
|
@ -9181,9 +9188,9 @@ static char *function_iaxpeer(struct ast_channel *chan, char *cmd, char *data, c
|
|
|
|
|
struct ast_custom_function iaxpeer_function = {
|
|
|
|
|
.name = "IAXPEER",
|
|
|
|
|
.synopsis = "Gets IAX peer information",
|
|
|
|
|
.syntax = "IAXPEER(<peername>[:item])",
|
|
|
|
|
.syntax = "IAXPEER(<peername|CURRENTCHANNEL>[:item])",
|
|
|
|
|
.read = function_iaxpeer,
|
|
|
|
|
.desc = "Valid items are:\n"
|
|
|
|
|
.desc = "If peername specified, valid items are:\n"
|
|
|
|
|
"- ip (default) The IP address.\n"
|
|
|
|
|
"- mailbox The configured mailbox.\n"
|
|
|
|
|
"- context The configured context.\n"
|
|
|
|
@ -9194,6 +9201,8 @@ struct ast_custom_function iaxpeer_function = {
|
|
|
|
|
"- codecs The configured codecs.\n"
|
|
|
|
|
"- codec[x] Preferred codec index number 'x' (beginning with zero).\n"
|
|
|
|
|
"\n"
|
|
|
|
|
"If CURRENTCHANNEL specified, returns IP address of current channel\n"
|
|
|
|
|
"\n"
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|