]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
OPENZAP-220 fix blocked into read and add cause for a correct hangup
authorMatteo Brancaleoni <mbrancaleoni@voismart.it>
Mon, 22 Sep 2014 08:55:27 +0000 (10:55 +0200)
committerMatteo Brancaleoni <mbrancaleoni@voismart.it>
Tue, 7 Oct 2014 12:34:39 +0000 (14:34 +0200)
libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c
libs/freetdm/src/ftmod/ftmod_zt/ftmod_zt.c

index be301f3da86842de6008e0d81032113ae8c30fba..aa071870a0f592e9c66fe689f82d02b876af035f 100644 (file)
@@ -1251,6 +1251,8 @@ static ftdm_status_t state_advance(ftdm_channel_t *chan)
                                        } else if (caller_data->hangup_cause == PRI_CAUSE_DESTINATION_OUT_OF_ORDER) {
                                                /* Can happen when we have a DL link expire or some timer expired */
                                                ftdm_set_state_locked(chan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE);
+                                       } else if (caller_data->hangup_cause == PRI_CAUSE_INVALID_NUMBER_FORMAT) {
+                                               ftdm_set_state_locked(chan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE);
                                        }
                                }
                        }
index 9c5ea6696f4b229011d78ae70e0113f240a466e3..369a05d1d0414db1540211e499f0ccc2e6d65770 100644 (file)
@@ -1402,7 +1402,7 @@ static FIO_READ_FUNCTION(zt_read)
                        } else {
                                ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Skipping one IO read cycle due to DTMF event processing\n");
                        }
-                       continue;
+                       break;
                }
 
                /* Read error, keep going unless to many errors force us to abort ...*/