]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
remove -w from makefile and fix all the obvious mistakes it was hiding
authorAnthony Minessale <anthony.minessale@gmail.com>
Tue, 8 Jan 2008 23:33:07 +0000 (23:33 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Tue, 8 Jan 2008 23:33:07 +0000 (23:33 +0000)
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@360 a93c3328-9c30-0410-af19-c9cd2b2d52af

libs/freetdm/mod_openzap/Makefile
libs/freetdm/mod_openzap/mod_openzap.c
libs/freetdm/src/zap_pika.c

index aa763e48d89e2b63bc99a4524bb3eb965ec7e375..fcbf198180db2d92c1fa64486d516251bd771b37 100644 (file)
@@ -2,7 +2,7 @@ BASE=../../..
 OZ_DIR=..
 VERBOSE=1
 OZA=$(OZ_DIR)/libopenzap.a
-LOCAL_CFLAGS=-w -I$(OZ_DIR)/src/include -I$(OZ_DIR)/src/isdn/include
+LOCAL_CFLAGS=-I$(OZ_DIR)/src/include -I$(OZ_DIR)/src/isdn/include
 LOCAL_LIBADD=$(OZA)
 include $(BASE)/build/modmake.rules
 
index b997997dd6e972bc0d7bde6976bcd66a74936e35..5323715ab27e5b7bf51c362a12eaeedfbd62a3aa 100644 (file)
@@ -41,7 +41,6 @@ SWITCH_MODULE_DEFINITION(mod_openzap, mod_openzap_load, mod_openzap_shutdown, NU
 switch_endpoint_interface_t *openzap_endpoint_interface;
 
 static switch_memory_pool_t *module_pool = NULL;
-static int running = 1;
 
 struct span_config {
        zap_span_t *span;
@@ -52,7 +51,7 @@ struct span_config {
 
 };
 
-static struct span_config SPAN_CONFIG[ZAP_MAX_SPANS_INTERFACE] = {0};
+static struct span_config SPAN_CONFIG[ZAP_MAX_SPANS_INTERFACE] = {{0}};
 
 typedef enum {
        TFLAG_IO = (1 << 0),
@@ -106,7 +105,9 @@ static switch_status_t channel_on_loopback(switch_core_session_t *session);
 static switch_status_t channel_on_transmit(switch_core_session_t *session);
 static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *session,
                                                                                                        switch_caller_profile_t *outbound_profile,
-                                                                                                       switch_core_session_t **new_session, switch_memory_pool_t **pool);
+                                                                                                       switch_core_session_t **new_session, 
+                                                                                                       switch_memory_pool_t **pool,
+                                                                                                       switch_originate_flag_t flags);
 static switch_status_t channel_read_frame(switch_core_session_t *session, switch_frame_t **frame, int timeout, switch_io_flag_t flags, int stream_id);
 static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, switch_io_flag_t flags, int stream_id);
 static switch_status_t channel_kill_channel(switch_core_session_t *session, int sig);
@@ -197,6 +198,8 @@ static switch_status_t tech_init(private_t *tech_pvt, switch_core_session_t *ses
                        dname = "L16";
                }
                break;
+       default:
+               abort();
        }
 
 
@@ -702,7 +705,8 @@ that allocate memory or you will have 1 channel with memory allocated from anoth
 */
 static switch_call_cause_t channel_outgoing_channel(switch_core_session_t *session,
                                                                                                        switch_caller_profile_t *outbound_profile,
-                                                                                                       switch_core_session_t **new_session, switch_memory_pool_t **pool)
+                                                                                                       switch_core_session_t **new_session, switch_memory_pool_t **pool,
+                                                                                                       switch_originate_flag_t flags)
 {
 
        char *p, *dest = NULL;
@@ -918,6 +922,7 @@ static ZIO_SIGNAL_CB_FUNCTION(on_fxo_signal)
                                zap_channel_clear_token(sigmsg->channel, 0);
                                channel = switch_core_session_get_channel(session);
                                switch_channel_hangup(channel, sigmsg->channel->caller_data.hangup_cause);
+                               zap_channel_clear_token(sigmsg->channel, switch_core_session_get_uuid(session));
                                switch_core_session_rwunlock(session);
                        }
                }
@@ -939,6 +944,14 @@ static ZIO_SIGNAL_CB_FUNCTION(on_fxo_signal)
                        }
                }
                break;
+
+       default:
+               {
+                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Unhandled type for channel %d:%d\n",
+                                                         sigmsg->channel->span_id, sigmsg->channel->chan_id);
+               }
+               break;
+
        }
 
        return ZAP_SUCCESS;
@@ -973,9 +986,9 @@ static ZIO_SIGNAL_CB_FUNCTION(on_fxs_signal)
     case ZAP_SIGEVENT_STOP:
                {
                        while((session = zap_channel_get_session(sigmsg->channel, 0))) {
-                               zap_channel_clear_token(sigmsg->channel, 0);
                                channel = switch_core_session_get_channel(session);
                                switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING);
+                               zap_channel_clear_token(sigmsg->channel, switch_core_session_get_uuid(session));
                                switch_core_session_rwunlock(session);
                        }
                }
@@ -1022,6 +1035,14 @@ static ZIO_SIGNAL_CB_FUNCTION(on_fxs_signal)
 
                }
                break;
+
+       default:
+               {
+                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Unhandled type for channel %d:%d\n",
+                                                         sigmsg->channel->span_id, sigmsg->channel->chan_id);
+               }
+               break;
+
        }
 
        return status;
@@ -1043,9 +1064,9 @@ static ZIO_SIGNAL_CB_FUNCTION(on_isdn_signal)
     case ZAP_SIGEVENT_STOP:
                {
                        while((session = zap_channel_get_session(sigmsg->channel, 0))) {
-                               zap_channel_clear_token(sigmsg->channel, 0);
                                channel = switch_core_session_get_channel(session);
                                switch_channel_hangup(channel, sigmsg->channel->caller_data.hangup_cause);
+                               zap_channel_clear_token(sigmsg->channel, switch_core_session_get_uuid(session));
                                switch_core_session_rwunlock(session);
                        }
                }
@@ -1076,6 +1097,13 @@ static ZIO_SIGNAL_CB_FUNCTION(on_isdn_signal)
                        }
                }
                break;
+
+       default:
+               {
+                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Unhandled type for channel %d:%d\n",
+                                                         sigmsg->channel->span_id, sigmsg->channel->chan_id);
+               }
+               break;
        }
 
        return ZAP_SUCCESS;
@@ -1084,7 +1112,7 @@ static ZIO_SIGNAL_CB_FUNCTION(on_isdn_signal)
 
 static ZIO_SIGNAL_CB_FUNCTION(on_analog_signal)
 {
-       switch_status_t status;
+       switch_status_t status = SWITCH_STATUS_FALSE;
        
        switch (sigmsg->channel->type) {
        case ZAP_CHAN_TYPE_FXO:
index 9d79641dc0b4cc5eae5e64af2cb6dd490fbaaf71..b78710054c3718ace670a1cc509683128e1e694a 100644 (file)
@@ -1135,6 +1135,9 @@ static ZIO_CHANNEL_DESTROY_FUNCTION(pika_channel_destroy)
                return ZAP_FAIL;
        }
 
+       if (!zap_test_flag(chan_data, PK_FLAG_READY)) {
+               goto end;
+       }
 
        PKH_RECORD_Stop(chan_data->media_in);
        PKH_PLAY_Stop(chan_data->media_out);
@@ -1160,6 +1163,8 @@ static ZIO_CHANNEL_DESTROY_FUNCTION(pika_channel_destroy)
 
        zap_mutex_destroy(&chan_data->digit_mutex);
        zap_buffer_destroy(&chan_data->digit_buffer);
+
+ end:
        zap_safe_free(chan_data);
        
        return ZAP_SUCCESS;