[asterisk-commits] eliel: branch eliel/data_api_providers_gsoc2010 r274683 - in /team/eliel/data...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Jul 7 14:48:20 CDT 2010
Author: eliel
Date: Wed Jul 7 14:48:15 2010
New Revision: 274683
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=274683
Log:
Fix comments in review board.
Modified:
team/eliel/data_api_providers_gsoc2010/channels/chan_dahdi.c
team/eliel/data_api_providers_gsoc2010/channels/chan_iax2.c
team/eliel/data_api_providers_gsoc2010/channels/chan_sip.c
team/eliel/data_api_providers_gsoc2010/main/channel.c
Modified: team/eliel/data_api_providers_gsoc2010/channels/chan_dahdi.c
URL: http://svnview.digium.com/svn/asterisk/team/eliel/data_api_providers_gsoc2010/channels/chan_dahdi.c?view=diff&rev=274683&r1=274682&r2=274683
==============================================================================
--- team/eliel/data_api_providers_gsoc2010/channels/chan_dahdi.c (original)
+++ team/eliel/data_api_providers_gsoc2010/channels/chan_dahdi.c Wed Jul 7 14:48:15 2010
@@ -17533,7 +17533,7 @@
"Unknown");
ast_data_add_str(data_span, "options", s.lineconfig & DAHDI_CONFIG_CRC4 ?
s.lineconfig & DAHDI_CONFIG_NOTOPEN ? "CRC4/YEL" : "CRC4" :
- "YEL");
+ s.lineconfig & DAHDI_CONFIG_NOTOPEN ? "YEL" : "");
ast_data_add_str(data_span, "lbo", lbostr[s.lbo]);
/* if this span doesn't match remove it. */
@@ -17589,15 +17589,15 @@
struct ast_data *data_root)
{
int pseudo_fd = -1;
- struct dahdi_versioninfo vi;
+ struct dahdi_versioninfo vi = {
+ .version = "Unknown",
+ .echo_canceller = "Unknown"
+ };
if ((pseudo_fd = open("/dev/dahdi/ctl", O_RDONLY)) < 0) {
ast_log(LOG_ERROR, "Failed to open control file to get version.\n");
return -1;
}
-
- strcpy(vi.version, "Unknown");
- strcpy(vi.echo_canceller, "Unknown");
if (ioctl(pseudo_fd, DAHDI_GETVERSION, &vi)) {
ast_log(LOG_ERROR, "Failed to get DAHDI version: %s\n", strerror(errno));
Modified: team/eliel/data_api_providers_gsoc2010/channels/chan_iax2.c
URL: http://svnview.digium.com/svn/asterisk/team/eliel/data_api_providers_gsoc2010/channels/chan_iax2.c?view=diff&rev=274683&r1=274682&r2=274683
==============================================================================
--- team/eliel/data_api_providers_gsoc2010/channels/chan_iax2.c (original)
+++ team/eliel/data_api_providers_gsoc2010/channels/chan_iax2.c Wed Jul 7 14:48:15 2010
@@ -14204,16 +14204,14 @@
MEMBER(iax2_peer, cid_name, AST_DATA_STRING) \
MEMBER(iax2_peer, zonetag, AST_DATA_STRING) \
MEMBER(iax2_peer, parkinglot, AST_DATA_STRING) \
- MEMBER(iax2_peer, expire, AST_DATA_INTEGER) \
- MEMBER(iax2_peer, expiry, AST_DATA_INTEGER) \
+ MEMBER(iax2_peer, expiry, AST_DATA_SECONDS) \
MEMBER(iax2_peer, callno, AST_DATA_INTEGER) \
- MEMBER(iax2_peer, pokeexpire, AST_DATA_INTEGER) \
- MEMBER(iax2_peer, lastms, AST_DATA_INTEGER) \
- MEMBER(iax2_peer, maxms, AST_DATA_INTEGER) \
- MEMBER(iax2_peer, pokefreqok, AST_DATA_INTEGER) \
- MEMBER(iax2_peer, pokefreqnotok, AST_DATA_INTEGER) \
+ MEMBER(iax2_peer, lastms, AST_DATA_MILLISECONDS) \
+ MEMBER(iax2_peer, maxms, AST_DATA_MILLISECONDS) \
+ MEMBER(iax2_peer, pokefreqok, AST_DATA_MILLISECONDS) \
+ MEMBER(iax2_peer, pokefreqnotok, AST_DATA_MILLISECONDS) \
MEMBER(iax2_peer, historicms, AST_DATA_INTEGER) \
- MEMBER(iax2_peer, smoothing, AST_DATA_INTEGER) \
+ MEMBER(iax2_peer, smoothing, AST_DATA_BOOLEAN) \
MEMBER(iax2_peer, maxcallno, AST_DATA_INTEGER)
AST_DATA_STRUCTURE(iax2_peer, DATA_EXPORT_IAX2_PEER);
@@ -14277,17 +14275,15 @@
MEMBER(iax2_user, cid_num, AST_DATA_STRING) \
MEMBER(iax2_user, cid_name, AST_DATA_STRING) \
MEMBER(iax2_user, parkinglot, AST_DATA_STRING) \
- MEMBER(iax2_user, amaflags, AST_DATA_INTEGER) \
MEMBER(iax2_user, maxauthreq, AST_DATA_INTEGER) \
- MEMBER(iax2_user, curauthreq, AST_DATA_INTEGER) \
- MEMBER(iax2_user, authmethods, AST_DATA_INTEGER)
+ MEMBER(iax2_user, curauthreq, AST_DATA_INTEGER)
AST_DATA_STRUCTURE(iax2_user, DATA_EXPORT_IAX2_USER);
static int users_data_provider_get(const struct ast_data_search *search,
struct ast_data *data_root)
{
- struct ast_data *data_user;
+ struct ast_data *data_user, *data_authmethods, *data_enum_node;
struct iax2_user *user;
struct ao2_iterator i;
char auth[90];
@@ -14315,6 +14311,25 @@
ast_data_add_password(data_user, "secret", auth);
ast_data_add_str(data_user, "context", user->contexts ? user->contexts->context : DEFAULT_CONTEXT);
+
+ /* authmethods */
+ data_authmethods = ast_data_add_node(data_user, "authmethods");
+ if (!data_authmethods) {
+ ast_data_remove_node(data_root, data_user);
+ continue;
+ }
+ ast_data_add_bool(data_authmethods, "rsa", user->authmethods & IAX_AUTH_RSA);
+ ast_data_add_bool(data_authmethods, "md5", user->authmethods & IAX_AUTH_MD5);
+ ast_data_add_bool(data_authmethods, "plaintext", user->authmethods & IAX_AUTH_PLAINTEXT);
+
+ /* amaflags */
+ data_enum_node = ast_data_add_node(data_user, "amaflags");
+ if (!data_enum_node) {
+ ast_data_remove_node(data_root, data_user);
+ continue;
+ }
+ ast_data_add_int(data_enum_node, "value", user->amaflags);
+ ast_data_add_str(data_enum_node, "text", ast_cdr_flags2str(user->amaflags));
ast_data_add_bool(data_user, "access-control", user->ha ? 1 : 0);
Modified: team/eliel/data_api_providers_gsoc2010/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/eliel/data_api_providers_gsoc2010/channels/chan_sip.c?view=diff&rev=274683&r1=274682&r2=274683
==============================================================================
--- team/eliel/data_api_providers_gsoc2010/channels/chan_sip.c (original)
+++ team/eliel/data_api_providers_gsoc2010/channels/chan_sip.c Wed Jul 7 14:48:15 2010
@@ -27570,27 +27570,20 @@
MEMBER(sip_peer, is_realtime, AST_DATA_BOOLEAN) \
MEMBER(sip_peer, host_dynamic, AST_DATA_BOOLEAN) \
MEMBER(sip_peer, autoframing, AST_DATA_BOOLEAN) \
- MEMBER(sip_peer, deprecated_username, AST_DATA_BOOLEAN) \
- MEMBER(sip_peer, amaflags, AST_DATA_INTEGER) \
- MEMBER(sip_peer, callingpres, AST_DATA_INTEGER) \
MEMBER(sip_peer, inUse, AST_DATA_INTEGER) \
MEMBER(sip_peer, inRinging, AST_DATA_INTEGER) \
MEMBER(sip_peer, onHold, AST_DATA_INTEGER) \
MEMBER(sip_peer, call_limit, AST_DATA_INTEGER) \
MEMBER(sip_peer, t38_maxdatagram, AST_DATA_INTEGER) \
- MEMBER(sip_peer, lastmsgssent, AST_DATA_INTEGER) \
- MEMBER(sip_peer, sipoptions, AST_DATA_INTEGER) \
MEMBER(sip_peer, maxcallbitrate, AST_DATA_INTEGER) \
- MEMBER(sip_peer, expire, AST_DATA_INTEGER) \
- MEMBER(sip_peer, rtptimeout, AST_DATA_INTEGER) \
- MEMBER(sip_peer, rtpholdtimeout, AST_DATA_INTEGER) \
- MEMBER(sip_peer, rtpkeepalive, AST_DATA_INTEGER) \
- MEMBER(sip_peer, pokeexpire, AST_DATA_INTEGER) \
- MEMBER(sip_peer, lastms, AST_DATA_INTEGER) \
- MEMBER(sip_peer, maxms, AST_DATA_INTEGER) \
- MEMBER(sip_peer, qualifyfreq, AST_DATA_INTEGER) \
- MEMBER(sip_peer, timer_t1, AST_DATA_INTEGER) \
- MEMBER(sip_peer, timer_b, AST_DATA_INTEGER)
+ MEMBER(sip_peer, rtptimeout, AST_DATA_SECONDS) \
+ MEMBER(sip_peer, rtpholdtimeout, AST_DATA_SECONDS) \
+ MEMBER(sip_peer, rtpkeepalive, AST_DATA_SECONDS) \
+ MEMBER(sip_peer, lastms, AST_DATA_MILLISECONDS) \
+ MEMBER(sip_peer, maxms, AST_DATA_MILLISECONDS) \
+ MEMBER(sip_peer, qualifyfreq, AST_DATA_MILLISECONDS) \
+ MEMBER(sip_peer, timer_t1, AST_DATA_MILLISECONDS) \
+ MEMBER(sip_peer, timer_b, AST_DATA_MILLISECONDS)
AST_DATA_STRUCTURE(sip_peer, DATA_EXPORT_SIP_PEER);
@@ -27600,7 +27593,8 @@
struct sip_peer *peer;
struct ao2_iterator i;
struct ast_data *data_peer, *data_peer_mailboxes = NULL, *data_peer_mailbox, *enum_node;
- int total_mailboxes;
+ struct ast_data *data_sip_options;
+ int total_mailboxes, x;
struct sip_mailbox *mailbox;
i = ao2_iterator_init(peers, 0);
@@ -27654,6 +27648,31 @@
ast_data_add_str(data_peer_mailbox, "mailbox", mailbox->mailbox);
ast_data_add_str(data_peer_mailbox, "context", mailbox->context);
}
+
+ /* amaflags */
+ enum_node = ast_data_add_node(data_peer, "amaflags");
+ if (!enum_node) {
+ continue;
+ }
+ ast_data_add_int(enum_node, "value", peer->amaflags);
+ ast_data_add_str(enum_node, "text", ast_cdr_flags2str(peer->amaflags));
+
+ /* sip options */
+ data_sip_options = ast_data_add_node(data_peer, "sipoptions");
+ if (!data_sip_options) {
+ continue;
+ }
+ for (x = 0 ; x < ARRAY_LEN(sip_options); x++) {
+ ast_data_add_bool(data_sip_options, sip_options[x].text, peer->sipoptions & sip_options[x].id);
+ }
+
+ /* callingpres */
+ enum_node = ast_data_add_node(data_peer, "callingpres");
+ if (!enum_node) {
+ continue;
+ }
+ ast_data_add_int(enum_node, "value", peer->callingpres);
+ ast_data_add_str(enum_node, "text", ast_describe_caller_presentation(peer->callingpres));
/* codecs */
ast_data_add_codecs(data_peer, "codecs", peer->capability);
Modified: team/eliel/data_api_providers_gsoc2010/main/channel.c
URL: http://svnview.digium.com/svn/asterisk/team/eliel/data_api_providers_gsoc2010/main/channel.c?view=diff&rev=274683&r1=274682&r2=274683
==============================================================================
--- team/eliel/data_api_providers_gsoc2010/main/channel.c (original)
+++ team/eliel/data_api_providers_gsoc2010/main/channel.c Wed Jul 7 14:48:15 2010
@@ -72,6 +72,10 @@
#include <sys/epoll.h>
#endif
+#ifdef HAVE_PRI
+#include "sig_pri.h"
+#endif
+
struct ast_epoll_data {
struct ast_channel *chan;
int which;
@@ -142,8 +146,6 @@
MEMBER(ast_callerid, cid_ani, AST_DATA_STRING) \
MEMBER(ast_callerid, cid_pres, AST_DATA_INTEGER) \
MEMBER(ast_callerid, cid_ani2, AST_DATA_INTEGER) \
- MEMBER(ast_callerid, cid_ton, AST_DATA_INTEGER) \
- MEMBER(ast_callerid, cid_tns, AST_DATA_INTEGER) \
MEMBER(ast_callerid, cid_tag, AST_DATA_STRING)
AST_DATA_STRUCTURE(ast_callerid, DATA_EXPORT_CALLERID);
@@ -164,17 +166,14 @@
MEMBER(ast_channel, parkinglot, AST_DATA_STRING) \
MEMBER(ast_channel, hangupsource, AST_DATA_STRING) \
MEMBER(ast_channel, dialcontext, AST_DATA_STRING) \
- MEMBER(ast_channel, _softhangup, AST_DATA_INTEGER) \
MEMBER(ast_channel, rings, AST_DATA_INTEGER) \
MEMBER(ast_channel, priority, AST_DATA_INTEGER) \
MEMBER(ast_channel, macropriority, AST_DATA_INTEGER) \
- MEMBER(ast_channel, amaflags, AST_DATA_INTEGER) \
MEMBER(ast_channel, adsicpe, AST_DATA_INTEGER) \
MEMBER(ast_channel, fin, AST_DATA_UNSIGNED_INTEGER) \
MEMBER(ast_channel, fout, AST_DATA_UNSIGNED_INTEGER) \
MEMBER(ast_channel, emulate_dtmf_duration, AST_DATA_UNSIGNED_INTEGER) \
MEMBER(ast_channel, visible_indication, AST_DATA_INTEGER) \
- MEMBER(ast_channel, transfercapability, AST_DATA_INTEGER) \
MEMBER(ast_channel, context, AST_DATA_STRING) \
MEMBER(ast_channel, exten, AST_DATA_STRING) \
MEMBER(ast_channel, macrocontext, AST_DATA_STRING) \
@@ -284,12 +283,36 @@
ast_data_add_bool(tree, "DISABLE_WORKAROUNDS", ast_test_flag(chan, AST_FLAG_DISABLE_WORKAROUNDS));
}
+static const char *callerid_ton2str(int ton)
+{
+#ifdef HAVE_PRI
+ switch (ton) {
+ case PRI_TON_INTERNATIONAL:
+ return "International Number";
+ case PRI_TON_NATIONAL:
+ return "National Number";
+ case PRI_TON_NET_SPECIFIC:
+ return "Network Specific Number";
+ case PRI_TON_SUBSCRIBER:
+ return "Subscriber Number";
+ case PRI_TON_ABBREVIATED:
+ return "Abbreviated number";
+ case PRI_TON_RESERVED:
+ return "Reserved Number";
+ case PRI_TON_UNKNOWN:
+ default:
+ return "Unknown Number Type";
+ }
+#endif
+ return "";
+}
+
int ast_channel_data_add_structure(struct ast_data *tree,
struct ast_channel *chan, int add_bridged)
{
struct ast_channel *bc;
struct ast_data *data_bridged, *data_cdr, *data_flags, *data_zones;
- struct ast_data *data_callerid, *enum_node;
+ struct ast_data *data_callerid, *enum_node, *data_softhangup;
if (!tree) {
return -1;
@@ -315,6 +338,7 @@
ast_data_add_codecs(tree, "rawreadformat", chan->rawreadformat);
ast_data_add_codecs(tree, "rawwriteformat", chan->rawwriteformat);
+ /* state */
enum_node = ast_data_add_node(tree, "state");
if (!enum_node) {
return -1;
@@ -322,12 +346,42 @@
ast_data_add_str(enum_node, "text", ast_state2str(chan->_state));
ast_data_add_int(enum_node, "value", chan->_state);
+ /* hangupcause */
enum_node = ast_data_add_node(tree, "hangupcause");
if (!enum_node) {
return -1;
}
ast_data_add_str(enum_node, "text", ast_cause2str(chan->hangupcause));
ast_data_add_int(enum_node, "value", chan->hangupcause);
+
+ /* amaflags */
+ enum_node = ast_data_add_node(tree, "amaflags");
+ if (!enum_node) {
+ return -1;
+ }
+ ast_data_add_str(enum_node, "text", ast_cdr_flags2str(chan->amaflags));
+ ast_data_add_int(enum_node, "value", chan->amaflags);
+
+ /* transfercapability */
+ enum_node = ast_data_add_node(tree, "transfercapability");
+ if (!enum_node) {
+ return -1;
+ }
+ ast_data_add_str(enum_node, "text", ast_transfercapability2str(chan->transfercapability));
+ ast_data_add_int(enum_node, "value", chan->transfercapability);
+
+ /* _softphangup */
+ data_softhangup = ast_data_add_node(tree, "softhangup");
+ if (!data_softhangup) {
+ return -1;
+ }
+ ast_data_add_bool(data_softhangup, "dev", chan->_softhangup & AST_SOFTHANGUP_DEV);
+ ast_data_add_bool(data_softhangup, "asyncgoto", chan->_softhangup & AST_SOFTHANGUP_ASYNCGOTO);
+ ast_data_add_bool(data_softhangup, "shutdown", chan->_softhangup & AST_SOFTHANGUP_SHUTDOWN);
+ ast_data_add_bool(data_softhangup, "timeout", chan->_softhangup & AST_SOFTHANGUP_TIMEOUT);
+ ast_data_add_bool(data_softhangup, "appunload", chan->_softhangup & AST_SOFTHANGUP_APPUNLOAD);
+ ast_data_add_bool(data_softhangup, "explicit", chan->_softhangup & AST_SOFTHANGUP_EXPLICIT);
+ ast_data_add_bool(data_softhangup, "unbridge", chan->_softhangup & AST_SOFTHANGUP_UNBRIDGE);
/* channel flags */
data_flags = ast_data_add_node(tree, "flags");
@@ -344,6 +398,13 @@
return -1;
}
ast_data_add_structure(ast_callerid, data_callerid, &(chan->cid));
+ /* insert the callerid ton */
+ enum_node = ast_data_add_node(data_callerid, "cid_ton");
+ if (!enum_node) {
+ return -1;
+ }
+ ast_data_add_int(enum_node, "value", chan->cid.cid_ton);
+ ast_data_add_str(enum_node, "text", callerid_ton2str(chan->cid.cid_ton));
/* tone zone */
if (chan->zone) {
More information about the asterisk-commits
mailing list