case ZAP_SIGEVENT_START:
{
zap_tone_type_t tt = ZAP_TONE_DTMF;
-
+
if (zap_channel_command(sigmsg->channel, ZAP_COMMAND_ENABLE_DTMF_DETECT, &tt) != ZAP_SUCCESS) {
zap_log(ZAP_LOG_ERROR, "TONE ERROR\n");
}
break;
case ZAP_SIGEVENT_STOP:
case ZAP_SIGEVENT_RESTART:
- {
+ {
while((session = zap_channel_get_session(sigmsg->channel, 0))) {
channel = switch_core_session_get_channel(session);
switch_channel_hangup(channel, sigmsg->channel->caller_data.hangup_cause);
zap_log(ZAP_LOG_ERROR, "TONE ERROR\n");
}
switch_core_session_rwunlock(session);
+ } else {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Session for channel %d:%d not found\n",
+ sigmsg->channel->span_id, sigmsg->channel->chan_id);
}
}
case ZAP_SIGEVENT_PROGRESS_MEDIA:
channel = switch_core_session_get_channel(session);
switch_channel_mark_pre_answered(channel);
switch_core_session_rwunlock(session);
+ } else {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Session for channel %d:%d not found\n",
+ sigmsg->channel->span_id, sigmsg->channel->chan_id);
}
}
break;
channel = switch_core_session_get_channel(session);
switch_channel_mark_ring_ready(channel);
switch_core_session_rwunlock(session);
+ } else {
+ switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Session for channel %d:%d not found\n",
+ sigmsg->channel->span_id, sigmsg->channel->chan_id);
}
}
break;
static ZIO_SIGNAL_CB_FUNCTION(on_analog_signal)
{
switch_status_t status = SWITCH_STATUS_FALSE;
-
+
switch (sigmsg->channel->type) {
case ZAP_CHAN_TYPE_FXO:
case ZAP_CHAN_TYPE_EM: