[asterisk-commits] oej: branch oej/moremanager r61854 - in
/team/oej/moremanager: ./ channels/ m...
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Wed Apr 25 13:22:10 MST 2007
Author: oej
Date: Wed Apr 25 15:22:09 2007
New Revision: 61854
URL: http://svn.digium.com/view/asterisk?view=rev&rev=61854
Log:
Changes to ZapShowChannels - not compiled on a Zaptel system yet :-)
Modified:
team/oej/moremanager/CHANGES.moremanager
team/oej/moremanager/channels/chan_zap.c
team/oej/moremanager/main/manager.c
Modified: team/oej/moremanager/CHANGES.moremanager
URL: http://svn.digium.com/view/asterisk/team/oej/moremanager/CHANGES.moremanager?view=diff&rev=61854&r1=61853&r2=61854
==============================================================================
--- team/oej/moremanager/CHANGES.moremanager (original)
+++ team/oej/moremanager/CHANGES.moremanager Wed Apr 25 15:22:09 2007
@@ -87,6 +87,17 @@
- The MeetmeJoin now has caller ID name and Caller ID number fields (like MeetMeLeave)
+- Action ZapShowChannels
+ Header changes
+ - Channel: -> ZapChannel
+ For active channels, the Channel: and Uniqueid: headers are added
+ You can now add a "ZapChannel: " argument to zapshowchannels actions
+ to only get information about one channel.
+
+- Event ZapShowChannelsComplete
+ New header
+ - (new) -> Items: Reports number of channels reported
+
* NEW EVENTS
------------
Modified: team/oej/moremanager/channels/chan_zap.c
URL: http://svn.digium.com/view/asterisk/team/oej/moremanager/channels/chan_zap.c?view=diff&rev=61854&r1=61853&r2=61854
==============================================================================
--- team/oej/moremanager/channels/chan_zap.c (original)
+++ team/oej/moremanager/channels/chan_zap.c Wed Apr 25 15:22:09 2007
@@ -10226,7 +10226,13 @@
{
struct zt_pvt *tmp = NULL;
const char *id = astman_get_header(m, "ActionID");
+ const char *zapchannel = astman_get_header(m, "ZapChannel");
char idText[256] = "";
+ int channels = 0;
+ int zapchanquery = -1;
+ if (!ast_strlen_zero(zapchannel)) {
+ zapchanquery = atoi(zapchannel);
+ }
astman_send_ack(s, m, "Zapata channel status will follow");
if (!ast_strlen_zero(id))
@@ -10238,18 +10244,48 @@
while (tmp) {
if (tmp->channel > 0) {
int alarm = get_alarms(tmp);
- astman_append(s,
- "Event: ZapShowChannels\r\n"
- "Channel: %d\r\n"
- "Signalling: %s\r\n"
- "Context: %s\r\n"
- "DND: %s\r\n"
- "Alarm: %s\r\n"
- "%s"
- "\r\n",
- tmp->channel, sig2str(tmp->sig), tmp->context,
- tmp->dnd ? "Enabled" : "Disabled",
- alarm2str(alarm), idText);
+
+ /* If a specific channel is queried for, only deliver status for that channel */
+ if (zapchanquery > 0 && tmp->channel != zapchanquery)
+ continue;
+
+ channels++;
+ if (tmp->owner) {
+ /* Add data if we have a current call */
+ astman_append(s,
+ "Event: ZapShowChannels\r\n"
+ "ZapChannel: %d\r\n"
+ "Channel: %s\r\n"
+ "Uniqueid: %s\r\n"
+ "AccountCode: %s\r\n"
+ "Signalling: %s\r\n"
+ "Context: %s\r\n"
+ "DND: %s\r\n"
+ "Alarm: %s\r\n"
+ "%s"
+ "\r\n",
+ tmp->channel,
+ tmp->owner->name,
+ tmp->owner->uniqueid,
+ tmp->owner->accountcode,
+ sig2str(tmp->sig),
+ tmp->context,
+ tmp->dnd ? "Enabled" : "Disabled",
+ alarm2str(alarm), idText);
+ } else {
+ astman_append(s,
+ "Event: ZapShowChannels\r\n"
+ "ZapChannel: %d\r\n"
+ "Signalling: %s\r\n"
+ "Context: %s\r\n"
+ "DND: %s\r\n"
+ "Alarm: %s\r\n"
+ "%s"
+ "\r\n",
+ tmp->channel, sig2str(tmp->sig), tmp->context,
+ tmp->dnd ? "Enabled" : "Disabled",
+ alarm2str(alarm), idText);
+ }
}
tmp = tmp->next;
@@ -10260,8 +10296,10 @@
astman_append(s,
"Event: ZapShowChannelsComplete\r\n"
"%s"
+ "Items: %d\r\n"
"\r\n",
- idText);
+ idText,
+ channels);
return 0;
}
Modified: team/oej/moremanager/main/manager.c
URL: http://svn.digium.com/view/asterisk/team/oej/moremanager/main/manager.c?view=diff&rev=61854&r1=61853&r2=61854
==============================================================================
--- team/oej/moremanager/main/manager.c (original)
+++ team/oej/moremanager/main/manager.c Wed Apr 25 15:22:09 2007
@@ -1466,7 +1466,7 @@
while (c) {
channels++;
if (c->_bridge)
- snprintf(bridge, sizeof(bridge), "BridgedChannel: %s\r\nBridgedUniqueid\r\n", c->_bridge->name, c->_bridge->uniqueid);
+ snprintf(bridge, sizeof(bridge), "BridgedChannel: %s\r\nBridgedUniqueid: %s\r\n", c->_bridge->name, c->_bridge->uniqueid);
else
bridge[0] = '\0';
if (c->pbx) {
More information about the asterisk-commits
mailing list