Added hunting scheme to support new ftdm_call_place API
Make ftdm_channel_call_answer use ftdm_channel_call_indicate with FTDM_CHANNEL_INDICATE_ANSWER
Updated doxygen docs in freetdm.h
- fixed bug in configure.ac to detect ftmod_pritap compilation
- ignore FTDM_SIGEVENT_RELEASED and FTDM_SIGEVENT_INDICATION_COMPLETED in mod_freetdm
- Destroy the state completed interrupt on channel destroy
- Fix analog polarity reversal bug when using 3-way calling or call-swap
Added new channel command FTDM_COMMAND_SET_POLARITY
ftmod_wanpipe - Added support to enqueue polarity events on FXO lines
ftmod_wanpipe - Added support to set polarity on FXS lines
ftmod_analog - Added support to answer and hangup FXO lines on polarity reverse
ftmod_analog - Added support to reverse polarity in the FXS line on answer and hangup
mod_freetdm - Added parameters answer-on-polarity, hangup-on-polarity and polarity-delay
to enable those analog features
* Replace ftdm_channel_flag_t with defines. We reached the 32bit limit where does not seem reliable
to keep using enum.
* Flags member for ftdm_channel_t is now uint64_t
* Added FTDM_CHANNEL_CALL_STARTED flag to indicate when the API user knows about a call
* Refactored raw_data member for ftdm_sigmsg_t. If raw_data needs to be freed it must be requested explicitly
through the autofree member
* Added collected member to ftdm_sigmsg_t for FTDM_SIGEVENT_COLLECTED data instead of using raw_data
* Created define FTDM_DIGITS_LIMIT for DNIS/ANI digits limit
* Fix some stat checks and outdated code in ftmod_analog
* Refactored ftdm_channel_get_history_str API to return the time offsets and time since last state change
* Do not send FTDM_SIGEVENT_STOP and FTDM_SIGEVENT_RELEASED on calls that were never reported to the user
The raw_data member is used for passing heap allocated data with an event,
(e.g. strings of dtmf data) the memory is freed after the event has been processed.
Recent changes in the event structure added a way to pass sig status changes inline,
so remove the raw_data usage for FTDM_SIGEVENT_SIGSTATUS_CHANGED events.
NOTE: This (finally) fixes a bug in ftmod_libpri that was caused by
the event handling changes (stack corruption due to using free()
on a variable on the stack, which turned into a NULL ptr deref
caused by some compat code in ftdm_io.c:ftdm_span_send_signal().
Compiles and tested on my BRI setup, i did a quick audit of all
places that generate FTDM_SIGEVENT_SIGSTATUS_CHANGED events and
except for the sangoma_boost module there's nothing else that left
using raw_data for this event.
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>