1161 Commits

Author SHA1 Message Date
Moises Silva
64c678f17a freetdm: ftdm_gsm: Fix a few compilation warnings 2014-05-01 20:28:23 -04:00
Moises Silva
99c022b1dd FS-6500: freetdm: Add more enum compliance by defining proper enum values for FTDM_END and FTDM_ANY special state values 2014-05-01 20:24:03 -04:00
Brian West
6e8729a159 OPENZAP-222 --resolve 2014-04-18 15:18:41 -05:00
Ken Rice
6e7d5d0897 update copyright header for 2014 2014-02-12 12:08:56 -06:00
Jeff Lenk
e75497c98d revert accidental change in last commit for freetdm sang isdn 2014-01-01 12:08:40 -06:00
Jeff Lenk
153f66d739 add freetdm vs2012 build support 2013-12-31 16:45:44 -06:00
Moises Silva
c62db1a600 freetdm: ftmod_wanpipe: Remove chatty debug msg, not really useful anyways 2013-11-27 09:51:33 -05:00
Moises Silva
8469e83835 freetdm: ftmod_analog_em: Remove constant CAS debug log 2013-11-08 19:12:44 -05:00
Moises Silva
7542c5877c freetdm: E&M: Set the line offhook when suspended 2013-11-08 02:22:36 -05:00
Moises Silva
3b0e8d9e2d freetdm: ftmod_zt: Refactor event processing to store OOB events that arrive during read/write operations 2013-11-08 02:22:05 -05:00
Moises Silva
545d1e5079 freetdm: Fix hangup supervision on inbound calls for Analog E&M 2013-11-08 02:19:41 -05:00
Moises Silva
271eda310e freetdm: Added CAS hangup bit checking to the E&M signaling module 2013-10-24 19:05:35 -04:00
Moises Silva
2b3c98b069 ftmod_analog_em: Block/unblock signaling when a span is stopped/started 2013-10-24 19:05:12 -04:00
Moises Silva
21b129e940 Allow setting/getting signaling status from E&M channels 2013-10-06 19:08:45 -04:00
Moises Silva
bb67ff5e0b OPENZAP-219 --resolve
Calling ton and caller ton is not parsed at all in libpri signaling module
Patched-by: Markus Schräder
2013-10-04 12:12:47 -04:00
Moises Silva
a48bfafddd Fix log line in ftmod_analog.c 2013-09-09 02:06:17 -04:00
Moises Silva
d8a9da2044 mod_freetdm: E&M Analog fixes
* Rename option ringback-during-collect to immediate-ringback
* Allow regular ringback tone with immediate-ringback, not just a wav file
* Do not request full frame of data, just packet_len which is what we receive per IO interval
* Ignore user data when playing ringback tone
2013-08-21 18:21:02 -04:00
Moises Silva
bd4a5914dc freetdm: Override regular media with ringback in E&M when a ringback file is specified 2013-06-26 00:10:04 -04:00
Moises Silva
626dd2551a mod_freetdm: Expose new ringback E&M parameters in the XML config 2013-06-25 23:41:59 -04:00
Moises Silva
cc6ee0322e Added ability to play a wav file as ringback tone during the COLLECT state of E&M signaling module
This is configured through 2 new parameters:
ringback-during-collect=yes|no
ringback-file=<wav file path>

You may not want to use this if your E&M lines are connected to traditional phones, otherwise
you will hear ringback tone while pressing digits. This is mostly useful with old switches that do
not provide ringback tone but the user is already done dialing (perhaps the signaling was converted from
ISDN to E&M and the full number was received in a single SETUP message)
2013-06-25 22:19:24 -04:00
Nathan Neulinger
32adc789f6 make noexpandtab explicit in all vim modelines other than xml files 2013-06-25 11:50:17 -05:00
Moises Silva
e5f2282fe1 OPENZAP-215 --resolve
The state FTDM_CHANNEL_STATE_RINGING is not used when there is media available. We have
FTDM_CHANNEL_PROGRESS_MEDIA for that, therefore the pri_acknowledge() call should not set
the info argument to avoid sending an indication of media to the other end, as that may cause
the other end to not generate any ringing tone and at that moment we will not be generating
any ringing tone either and the caller will hear only silence
2013-06-23 21:52:31 -04:00
Brian West
b4ed2f55bf Up this buffer to prevent boxes from locking up if they receive more than 1000 bytes. 2013-06-04 17:10:05 -05:00
Stefan Knoblich
5154bd847b ftmod_libpri: Fix channel iterator memory leak
Keep the original iterator around to be able to actually free it
after use.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-06-01 21:09:48 +02:00
Stefan Knoblich
8019af49a4 ftmod_libpri: Fix possible NULL-ptr dereference crash in on_restart(_ack)()
Catch single channel RESTART/RESTART ACK events for non-B-channels,
that would lead to a NULL pointer dereference, because those do not have
per-channel private data (chan->call_data = chan_priv == NULL).

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-05-21 17:50:54 +02:00
Stefan Knoblich
b793ccbe43 FreeTDM: Fix implicit conversion between enumeration types error
Full clang error message:

  error: implicit conversion from enumeration type 'ftdm_bool_t' to
  different enumeration type 'ftdm_status_t' [-Werror,-Wconversion]

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-05-10 19:04:10 +02:00
Stefan Knoblich
cbf22d8a32 FreeTDM: Silence -Wtautological-compare warnings emitted by clang
Fixes "warning: comparison of unsigned expression >= 0 is always true".

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-05-10 19:04:09 +02:00
Stefan Knoblich
ae58a4c1ba FreeTDM: Use ftdm_unused_arg() to silence -Wunused-argument warnings
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-05-10 19:04:09 +02:00
Moises Silva
4ff826c27d OPENZAP-200 --resolve
Patch provided by: Spencer Thomason

Implement appropiate caller/called TON in ftmod_libpri
2013-04-09 12:29:47 -04:00
David Yat Sin
20110f4569 Freetdm - ISDN:Fix for race condition where we receive a new call, and did not finish clearing existing call internally. 2013-03-19 14:32:03 -04:00
David Yat Sin
79324e1fe9 Changed default setting for 5ESS to send CONNECT ACK to match spec 2013-02-19 16:56:11 -05:00
Moises Silva
7c6ba6a34c OPENZAP-207 --resolve Rework the zt_read function
Break the read loop when receiving ELAST
2013-02-11 11:35:30 -05:00
Moises Silva
29bfcb16be freetdm: ftmod_pritap: Allow specifying different audio mixing modes 2013-01-11 14:52:33 -05:00
Stefan Knoblich
42bb1040de ftmod_pritap: Use strcmp() for "none" and "all" in parse_debug()
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-10 18:41:16 +01:00
Stefan Knoblich
fe4d5748c6 ftmod_pritap: Hexdump I/O buffers if q921_raw debug is enabled, improve parse_debug()
Add support for "q921_all"/"q931_all" to parse_debug() ("debug" span parameter), taken from
ftmod_libpri.

Passive libpri's raw dump feature is broken (e.g. I-frames missing), so
add "q921_raw" hexdump support to the pritap I/O read/write function.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-10 18:31:30 +01:00
Stefan Knoblich
bfef3e57c4 ftmod_libpri: Disable on_facility() event handler on older libpri versions
Those that lack PRI_EVENT_FACILITY (<= 1.4.10)

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-08 15:07:29 +01:00
Stefan Knoblich
221bcc9e90 ftmod_libpri: Also conditionally disable pri_set_service_message_support() call
Same as pri_maintenance_service(), use HAVE_LIBPRI_MAINT_SERVICE.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-08 15:07:29 +01:00
Stefan Knoblich
88e75bf9d7 ftmod_libpri: Add configure check for pri_maintenance_service()
Said function has been added in libpri-1.4.11 and breaks
building with older libpri versions (i.e. the passive one for ftmod_pritap).

Check for pri_maintenance_service() in configure and disable
the "maintenance" subcommand if it is not available.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-08 15:07:29 +01:00
Stefan Knoblich
2bb859e2b4 ftmod_misdn: Fix brown paperbag logic bug in handle_b_channel_event()
Yeah, right, discard the incoming audio data when the b-channel is active...

Reverse the check, so ftdm_read() on an active mISDN b-channel will
be able to read audio data from the RX socketpair and not kill
the call from repeatedly timing out in poll().

Fixes:
    [WARNING] mod_freetdm.c:775 Too many timeouts while waiting I/O in channel FreeTDM/1:1/XX device 1:1!
    [ERR] mod_freetdm.c:820 clearing IO in channel FreeTDM/1:1/XX device 1:1!

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-07 18:04:00 +01:00
Stefan Knoblich
95ac0ecc2f ftmod_misdn: Retry recvfrom() in case of EAGAIN
epoll_wait() on the B-channel socket may indicate pending messages, but
recvfrom() returns EAGAIN. Retry a few more times (up to 5 retries)
to get the pending message.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2013-01-07 13:35:38 +01:00
Stefan Knoblich
f2c325bf3e ftmod_misdn: Fix %lx vs.__u64 format string error
Fixes:
      src/ftmod/ftmod_misdn/ftmod_misdn.c:924:3: error: format '%lx' expects
      argument of type 'long unsigned int', but argument 13 has type '__u64'
      [-Werror=format]

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
Reported-by: hyper_ch #freetdm @ irc.freenode.net
2013-01-06 13:47:06 +01:00
Moises Silva
56846c02c6 freetdm: ftmod_analog_em: If the destination number DTMF was already generated, do not generate it again
This bug was cause when answer-supervision is used because now we do not move from DIALING to UP
         as soon as the line is ringing, but instead we wait for the CAS bit change
2012-12-20 12:18:24 -05:00
Moises Silva
27a8ec93de freetdm: Added Analog E&M outbound call answer supervision
You must add answer-supervision=yes in your freetdm.conf.xml
         Also added dial-timeout parameter which was previously hard-coded
2012-12-18 22:55:14 -05:00
Moises Silva
6e9dc465cc freetdm: ftmod_analog_em: Fix incorrect read length 2012-12-18 14:24:00 -05:00
Moises Silva
6f5438eded freetdm: ftmod_zt:
Handle driver events while reading media

         ftmod_analog_em:
         Initialize read data len to avoid crashing when
         the freetdm read function does not read anything
2012-12-18 14:23:31 -05:00
Moises Silva
a7f8e4259e OPENZAP-201 --resolve 2012-11-26 14:26:41 -05:00
Moises Silva
b64cc02390 freetdm: ftmod_zt - Declare tone mode at the top to avoid compilation errors 2012-11-19 10:24:25 -05:00
Moises Silva
db673a043f freetdm: ftmod_zt - Integrated HW DTMF support 2012-11-18 23:57:52 -05:00
Matteo Brancaleoni
8c58a10999 ftmod_libpri: Rework handling of peer-initiated hangup events
Use peerhangup flag variable to track whether a hangup has been
initiated by the peer or libpri itself (e.g. Layer 2 timeouts).

These changes fix a couple of problems with hangup events not being
handled properly in some situations:

  - Call abort caused by incoming RESTART on a channel in use
  - T309 timeout after L2 loss
  - Improved hangup handling in libpri-side on_hangup() event handler
    and state_advance() (FreeTDM side)

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-11-12 22:54:27 +01:00
Moises Silva
9bc3dfc874 fretdm: little white lie 2012-11-09 16:53:39 -05:00