Commit Graph

2579 Commits

Author SHA1 Message Date
Moises Silva 35413ec77d freetdm: ftmod_analog_em: Remove constant CAS debug log 2013-11-08 19:08:14 -05:00
Moises Silva 2f6ccf659c Merge branch 'v1.2.stable' into v1.2.stable-em_management
Conflicts:
	libs/freetdm/mod_freetdm/mod_freetdm.c
2013-11-08 02:04:58 -05:00
Moises Silva 3a162334fe freetdm: E&M: Set the line offhook when suspended 2013-11-03 20:22:41 -05:00
Moises Silva 53d16f6193 freetdm: ftmod_zt: Refactor event processing to store OOB events that arrive during read/write operations 2013-11-01 02:07:10 -04:00
Moises Silva e945042c4d mod_freetdm: Handle read errors gracefully when the device is dead already 2013-11-01 01:16:49 -04:00
Moises Silva d0f18e4a2c freetdm: Fix hangup supervision on inbound calls for Analog E&M 2013-11-01 00:27:10 -04:00
Anthony Minessale 282808c26a add channel to logline 2013-10-31 11:21:47 -05:00
Moises Silva fa1a1bfbaf freetdm: Added CAS hangup bit checking to the E&M signaling module 2013-10-22 00:52:59 -04:00
Moises Silva 01b02acfae ftmod_analog_em: Block/unblock signaling when a span is stopped/started 2013-10-06 20:51:31 -04:00
Moises Silva 4d0cc03928 Allow setting/getting signaling status from E&M channels 2013-10-06 20:11:28 -04:00
Moises Silva cfa41253b2 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 17:54:00 -04:00
Moises Silva 06a2ec1d4c Merge remote-tracking branch 'origin/v1.2.stable' into v1.2.stable-ftdm_em_playback 2013-08-14 14:28:59 -04:00
Travis Cross 465e21c76f Improve our .gitignore files
Avoid ignoring files actually in our tree, and ignore some generated
files that were not being ignored previously.
2013-07-27 03:39:38 +00:00
Moises Silva 7ff70bd5cd freetdm: Fix longstanding minor bug in ftdm_span_send_signal causing dial-regex in Analog modules to not work
The return status of the signal callback was not being passed to the signaling module delivering the signal
2013-07-03 02:08:59 -04:00
Anthony Minessale c5b8d3ee9b FS-5568 --resolve the real problem is that L=-1 is not valid because the L param is about how many times to generate the output while generating the tone so -1 is impossible because it can never end to let you hear it. The real fix is to not allow -1 loops=-1 is the correct way to do this because that is parsed after the tone is generated and repeats the entire thing. Doing something like L=100 actually generates the whole slinear audio 100 times into memore where loops=100 only generates the little snippet and repeats it after it was generated. 2013-07-02 08:50:14 -05:00
Moises Silva f49dc139ad freetdm: Added E & M logic for routing success and fail regex parameters 2013-06-27 00:11:57 -04:00
Moises Silva c0fe9c9cd3 freetdm: Override regular media with ringback in E&M when a ringback file is specified 2013-06-27 00:11:39 -04:00
Moises Silva a55b5347ba mod_freetdm: Expose new ringback E&M parameters in the XML config 2013-06-27 00:11:24 -04:00
Moises Silva 95a2c11b0d 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-27 00:11:09 -04:00
Nathan Neulinger 543dc3caea make noexpandtab explicit in all vim modelines other than xml files
Conflicts:
	src/include/switch_core_media.h
	src/mod/endpoints/mod_sofia/sofia_media.c
	src/switch_core_media.c
2013-06-25 09:39:37 -05:00
Moises Silva 2f208a64a7 OPENZAP-200 --resolve
Patch provided by: Spencer Thomason

Implement appropiate caller/called TON in ftmod_libpri
2013-06-07 07:26:12 +00:00
Brian West 31b6d6017b Up this buffer to prevent boxes from locking up if they receive more than 1000 bytes. 2013-06-04 17:09:33 -05:00
Stefan Knoblich bf0b3291bb 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 22:49:00 +02:00
Stefan Knoblich 424850f688 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-06-01 22:48:45 +02:00
David Yat Sin fb9163fe5a Fix for not flushing DTMF buffer at end of call 2013-03-21 10:41:16 -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
Moises Silva 5f876497bc freetdm: - Added ftdm_usage command to check if a channel has calls (ie, is busy)
- Refactored ftdm CLI management to allow standalone APIs to be registered
         - Minor logging changes here and there
2013-03-08 15:15:07 -05:00
Brian West e0066b68d7 don't use : in the file name, makes it somewhat problematic to scp these files even when quoted 2013-03-07 09:41:51 -06:00
David Yat Sin 187d55c7ea Updating documentation for send-connect-ack 2013-02-19 17:00:03 -05: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
Anthony Minessale ff5b702886 FS-4971 please try this 2013-01-17 09:03:40 -06: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