]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
boostrap
authorMoises Silva <moy@sangoma.com>
Fri, 5 Mar 2010 20:14:44 +0000 (20:14 +0000)
committerMoises Silva <moy@sangoma.com>
Fri, 5 Mar 2010 20:14:44 +0000 (20:14 +0000)
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@1050 a93c3328-9c30-0410-af19-c9cd2b2d52af

libs/openzap/bootstrap [new file with mode: 0755]
libs/openzap/mod_openzap/mod_openzap.c

diff --git a/libs/openzap/bootstrap b/libs/openzap/bootstrap
new file mode 100755 (executable)
index 0000000..8ca4856
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/bash
+autoheader
+libtoolize --force --copy
+aclocal
+automake -f --copy --add-missing
+autoconf
index 6787108f49621931d75077885a53dffee79b93d2..a117e14a053aa10c5acdfaaab351cfab6be28b71 100644 (file)
@@ -1824,6 +1824,49 @@ static ZIO_SIGNAL_CB_FUNCTION(on_r2_signal)
        return status;
 }
 
+static ZIO_SIGNAL_CB_FUNCTION(on_common_signal)
+{
+       switch_event_t *event = NULL;
+
+       switch (sigmsg->event_id) {
+
+       case ZAP_SIGEVENT_ALARM_CLEAR:
+       case ZAP_SIGEVENT_ALARM_TRAP:
+               {
+                       if (zap_channel_get_alarms(sigmsg->channel) != ZAP_SUCCESS) {
+                               zap_log(ZAP_LOG_ERROR, "failed to retrieve alarms\n");
+                               return ZAP_FAIL;
+                       }
+                       if (switch_event_create(&event, SWITCH_EVENT_TRAP) != SWITCH_STATUS_SUCCESS) {
+                               zap_log(ZAP_LOG_ERROR, "failed to create alarms events\n");
+                               return ZAP_FAIL;
+                       }
+                       if (sigmsg->event_id == ZAP_SIGEVENT_ALARM_CLEAR) {
+                               switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "condition", "zap-alarm-clear");
+                       } else {
+                               switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "condition", "zap-alarm-trap");
+                       }
+               }
+               break;
+       default:
+               return ZAP_SUCCESS;
+               break;
+       }
+
+       if (zap_test_alarm_flag(sigmsg->channel, ZAP_ALARM_RED)) {
+               switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alarm", "red");
+       }
+       if (zap_test_alarm_flag(sigmsg->channel, ZAP_ALARM_YELLOW)) {
+               switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alarm", "yellow");
+       }
+       if (zap_test_alarm_flag(sigmsg->channel, ZAP_ALARM_BLUE)) {
+               switch_event_add_header_string(event, SWITCH_STACK_BOTTOM, "alarm", "blue");
+       }
+       switch_event_fire(&event);
+
+       return ZAP_BREAK;
+}
+
 static ZIO_SIGNAL_CB_FUNCTION(on_clear_channel_signal)
 {
        switch_core_session_t *session = NULL;
@@ -1831,6 +1874,10 @@ static ZIO_SIGNAL_CB_FUNCTION(on_clear_channel_signal)
 
        zap_log(ZAP_LOG_DEBUG, "got clear channel sig [%s]\n", zap_signal_event2str(sigmsg->event_id));
 
+       if (on_common_signal(sigmsg) == ZAP_BREAK) {
+               return ZAP_SUCCESS;
+       }
+
     switch(sigmsg->event_id) {
     case ZAP_SIGEVENT_START:
                {