push progress event up to mod_openzap on analog ring

git-svn-id: http://svn.openzap.org/svn/openzap/trunk@555 a93c3328-9c30-0410-af19-c9cd2b2d52af
This commit is contained in:
Anthony Minessale 2008-09-11 17:55:27 +00:00
parent 1b6e79d89b
commit 02ea4b4d34
2 changed files with 19 additions and 0 deletions

View File

@ -1158,6 +1158,15 @@ static ZIO_SIGNAL_CB_FUNCTION(on_fxs_signal)
} }
} }
break; break;
case ZAP_SIGEVENT_PROGRESS:
{
if ((session = zap_channel_get_session(sigmsg->channel, 0))) {
channel = switch_core_session_get_channel(session);
switch_channel_mark_ring_ready(channel);
switch_core_session_rwunlock(session);
}
}
break;
case ZAP_SIGEVENT_START: case ZAP_SIGEVENT_START:
{ {
zap_clear_flag_locked(sigmsg->channel, ZAP_CHANNEL_HOLD); zap_clear_flag_locked(sigmsg->channel, ZAP_CHANNEL_HOLD);

View File

@ -477,8 +477,18 @@ static void *zap_analog_channel_run(zap_thread_t *me, void *obj)
break; break;
case ZAP_CHANNEL_STATE_GENRING: case ZAP_CHANNEL_STATE_GENRING:
{ {
zap_sigmsg_t sig;
send_caller_id(zchan); send_caller_id(zchan);
zap_channel_command(zchan, ZAP_COMMAND_GENERATE_RING_ON, NULL); zap_channel_command(zchan, ZAP_COMMAND_GENERATE_RING_ON, NULL);
memset(&sig, 0, sizeof(sig));
sig.chan_id = zchan->chan_id;
sig.span_id = zchan->span_id;
sig.channel = zchan;
sig.event_id = ZAP_SIGEVENT_PROGRESS;
analog_data->sig_cb(&sig);
} }
break; break;
case ZAP_CHANNEL_STATE_GET_CALLERID: case ZAP_CHANNEL_STATE_GET_CALLERID: