]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Freetdm: Added check for channel_on_routing called more than once on incoming calls
authorDavid Yat Sin <dyatsin@sangoma.com>
Mon, 10 Jan 2011 16:29:55 +0000 (11:29 -0500)
committerDavid Yat Sin <dyatsin@sangoma.com>
Mon, 10 Jan 2011 16:29:55 +0000 (11:29 -0500)
libs/freetdm/src/ftdm_io.c

index fb153c80623ebb018fe09c7fb315918395f6f849..f97029b8dc5f392a46326d711934cee4aeb1b201 100644 (file)
@@ -2281,7 +2281,8 @@ FT_DECLARE(ftdm_status_t) _ftdm_channel_call_indicate(const char *file, const ch
                status = ftdm_channel_set_state(file, func, line, ftdmchan, FTDM_CHANNEL_STATE_BUSY, 1);
                break;
        case FTDM_CHANNEL_INDICATE_PROCEED:
-               if (!ftdm_test_flag(ftdmchan->span, FTDM_SPAN_USE_PROCEED_STATE)) {
+               if (!ftdm_test_flag(ftdmchan->span, FTDM_SPAN_USE_PROCEED_STATE) ||
+                       ftdmchan->state == FTDM_CHANNEL_STATE_PROCEED) {
                        ftdm_ack_indication(ftdmchan, indication, status);
                        goto done;
                }