]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
freetdm: ftmod_r2 - implemented ftdm_r2_get_channel_sig_status()
authorArnaldo Pereira <arnaldo@sangoma.com>
Fri, 3 Dec 2010 15:59:42 +0000 (13:59 -0200)
committerArnaldo Pereira <arnaldo@sangoma.com>
Fri, 3 Dec 2010 16:01:26 +0000 (14:01 -0200)
libs/freetdm/src/ftmod/ftmod_r2/ftmod_r2.c

index 5160005dc102a0fa457155c3668cb63517686666..e9bc24e2a61bd3419327b8c6a0ef33128b743f83 100644 (file)
@@ -397,6 +397,17 @@ static ftdm_status_t ftdm_r2_stop(ftdm_span_t *span)
        return FTDM_SUCCESS;
 }
 
+static FIO_CHANNEL_GET_SIG_STATUS_FUNCTION(ftdm_r2_get_channel_sig_status)
+{
+       if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_SIG_UP)) {
+               *status = FTDM_SIG_STATE_UP;
+       } else {
+               *status = FTDM_SIG_STATE_DOWN;
+       }
+
+       return FTDM_SUCCESS;
+}
+
 /* always called from the monitor thread */
 static void ftdm_r2_on_call_init(openr2_chan_t *r2chan)
 {
@@ -1250,6 +1261,9 @@ static FIO_CONFIGURE_SPAN_SIGNALING_FUNCTION(ftdm_r2_configure_span_signaling)
        span->stop = ftdm_r2_stop;
        span->sig_read = NULL;
 
+       /* let the core set the states, we just read them */
+       span->get_channel_sig_status = ftdm_r2_get_channel_sig_status;
+
        span->signal_cb = sig_cb;
        span->signal_type = FTDM_SIGTYPE_R2;
        span->signal_data = r2data;