Commit Graph

19766 Commits

Author SHA1 Message Date
Moises Silva 4ed900eb92 freetdm: add debug stacktrace to track spurious channel_on_hangup call 2011-09-12 18:13:10 -04:00
Anthony Minessale 408adb8d0c FS-3558 --resolve 2011-09-12 14:26:42 -05:00
Anthony Minessale 910f5364a4 add threaded-system-exec param and fsctl (set it to false to use fork) 2011-09-12 14:25:01 -05:00
Anthony Minessale dd6996cd3f revert 2011-09-12 14:25:01 -05:00
Moises Silva 23aba09f1b freetdm: mod_freetdm - fix len data type for 64bit systems 2011-09-12 15:48:28 -04:00
Moises Silva 4cdf9f2491 freetdm: ftmod_wanpipe - Added misc IO debugging code (define WP_DEBUG_IO to use) 2011-09-12 15:23:21 -04:00
Moises Silva 6c5132a507 freetdm: - Clear the IO flag when FreeSWITCH hangs up before notifying freetdm
- Misc fixes to log messages to aid debugging
         - Added ftdm ioread command to read media from the channel
         - Modified the ftdm_channel_open() API to return FTDM_EBUSY if the channel is already open
2011-09-12 15:21:23 -04:00
Stefan Knoblich f4facb0f65 [FreeTDM] Add missing newline in "Failed to configure span" error message in ftdm_configure_span_channels().
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-09-12 13:07:50 +02:00
Michal Bielicki - cypromis ea7f051ee3 added mongodb cdr config file to spec file 2011-09-12 11:10:57 +02:00
Tamas Cseke 8547c5c995 more general way to connect to mongo 2011-09-12 09:16:56 +02:00
Michael S Collins 2fa8f11002 Update tab-complete for show cmd to include bridged_calls, detailed_calls, detailed_bridged_calls and removed distinct_channels 2011-09-09 14:50:54 -07:00
Anthony Minessale 7ed7f539b0 add optional format string after myevent 2011-09-09 14:31:16 -05:00
Jeff Lenk ef2f87deb2 fix trivial build error on windows 2011-09-09 16:08:47 -05:00
Anthony Minessale cb9abe0268 add new flag to frames to denote pass thru frames that are not audio 2011-09-09 13:56:04 -05:00
Anthony Minessale bcd1e14711 add callee_id name/number to xml_cdr 2011-09-09 13:01:10 -05:00
Michael S Collins 3f176c2f51 Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2011-09-09 12:09:24 -07:00
Michael S Collins 4872e6fff0 mod_commands: Add 'presence_data' field to 'show channels like xxx' list of fields. This makes anthm's trick mentioned on the mailing list even more handy. 2011-09-09 12:09:05 -07:00
Anthony Minessale 0c066f063c DTMF stands for Devil Took My Fone 2011-09-09 12:02:15 -05:00
Anthony Minessale be4d36e3c6 OMFG one annoying bang 2011-09-09 11:34:41 -05:00
Michael S Collins d62679df18 Add phrase macros for '<person> has joined/left the conference' 2011-09-09 10:02:52 -07:00
Jeff Lenk 10d2e80819 FS-3454 --resolve 2011-09-08 22:35:20 -05:00
Brian West 06eb4b6ab3 Fix recovery when nat is involved 2011-09-09 02:47:56 -05:00
Brian West 0f9b2cebfb swigall 2011-09-09 00:34:49 -05:00
Anthony Minessale 5154b8819d fix wrong media ip in recover data issue 2011-09-08 17:13:28 -05:00
Anthony Minessale 329e29f69d doh 2011-09-08 16:55:40 -05:00
Anthony Minessale 7d612da440 yield when doing b64 encode to avoid stealing the cpu on single proc crappy hardware 2011-09-08 16:47:21 -05:00
Anthony Minessale 2e6ce02462 fix unlikely failure condition 2011-09-08 16:47:21 -05:00
Michael Jerris 1b9b3456ad add auth username to unreg event 2011-09-08 17:57:17 -04:00
Anthony Minessale 26039c57c2 FS-3548 --resolve 2011-09-08 10:44:44 -05:00
Anthony Minessale 7acddfac95 FS-3549 --resolve This patch will probably make it work but the bug is actually in the phone, the patch is simply tolerating the bad behaviour. You are correct about the a=sendonly missing, this was fixed in a later revision of the polycom firmware. I suggest that even if this patch works, that you update your phones to a newer firmware, preferably the most recent. 2011-09-08 10:24:05 -05:00
Anthony Minessale 74d5a593af revert forgot jira info 2011-09-08 10:23:40 -05:00
Anthony Minessale 361b623937 This patch will probably make it work but the bug is actually in the phone, the patch is simply tolerating the bad behaviour. You are correct about the a=sendonly missing, this was fixed in a later revision of the polycom firmware. I suggest that even if this patch works, that you update your phones to a newer firmware, preferably the most recent. 2011-09-08 10:22:46 -05:00
Anthony Minessale 7d399cce96 don't turn X-FS- headers into variables, they are reserved for FS specific communication and should not be passed on 2011-09-08 10:02:16 -05:00
Moises Silva fb69d37592 freetdm: fix small bug reported in freeswitch-dev where the call_id member of sigmsg
is not being set for SIGEVENT_START event
2011-09-08 12:51:48 -04:00
Anthony Minessale 83a78fbfa0 FS-3545 --resolve no, that was not the intention, I missed a few more spots to hack in the exception for iLBC, (thanks for marring my code iLBC ppl) it should work as expected now even with the m_per_ptime on 2011-09-08 09:48:21 -05:00
Anthony Minessale aea22cd4b7 add RTP_BUG_ACCEPT_ANY_PACKETS to disable dropping invalid packets for interop with Oracle CCA 2011-09-08 08:57:28 -05:00
Anthony Minessale f2099bf999 FS-3529 please try this revision I suspect its related to some uninitilized memory causing flags to be set that are not in the dtmf structure in certian cases 2011-09-08 08:12:16 -05:00
Stefan Knoblich 09a61f5025 [FreeTDM] Add (experimental) ftmod_misdn
Add I/O plugin for mISDN stack that is included in the linux kernel
since version 2.6.27.

The in-kernel mISDN stack uses a socket based interface (AF_ISDN),
data and control commands are exchanged via datagram messages.

This makes writing a driver that doesn't use a separate (per-span)
thread to handle all incoming events a bit tricky, because responses
to control messages and incoming data are mixed and interfacing
with the synchronous FreeTDM I/O API is problematic.

B(*)/D-channel handling:

The current version uses misdn_wait() to poll() for activity on
the non-blocking channel sockets and misdn_read() to receive and
handle all pending events up to the first PH_DATA_IND (data) message
(which is what the caller of the read method is actually after).

In case no data has been received, misdn_read() returns FTDM_SUCCESS
with *datalen = 0, which is OK for all the signalling modules tested
(ftmod_libpri and (out-of-tree) ftmod_isdn).

To send data, misdn_write() is called, which just sends a PH_DATA_REQ
message to the mISDN channel socket.

(*) B-channels use a per-channel timerfd as a timing reference for
'ready-for-write' poll()ing in misdn_wait().

This is a workaround for a limitation of mISDN sockets, which do not
support POLLOUT waiting on b-channel sockets (in a useful way).

Sending/receiving of data works the same way as on d-channels, otherwise.

The module has received some minimal testing using a beronet
single-port HFC E1 and a HFC4-S quad-port BRI card on linux-3.0.x.

--- Limitations ---

 - Only the most basic features have been implemented (alarms,
   sending/receiving data/audio).

 - Spans are limited to E1 and BRI/BRI_PTMP trunk types.

 - D-Channels only work on 16 for PRI and 3 for BRI.

 - NT/TE mode information is not available from freetdm.conf /
   at configure_span()-time so the module assumes TE mode,
   which should be only a problem for cards that can change
   the port configuration (pin-out) from software.

 - Current design (b-channel timerfd / misdn_wait()/_read()/_write())
   should be fine for most SoHo use-cases
   (scalability / cpu usage / timing precision).

--- Requirements ---

 - mISDNif.h header (/usr/include/mISDN/mISDNif.h), provided by mISDNuser
   (http://isdn.eversberg.eu/download/lcr-1.7/mISDNuser-20100525.tar.gz).

 - Linux kernel with mISDN and timerfd enabled (>= 2.6.27)
   and libc with timerfd support.

mISDN options can be found in the:

"Device Drivers" -> "ISDN support" -> "Modular ISDN driver"

section of make menuconfig. Timerfd is usually enabled by default.

The FreeTDM configure script will check for missing mISDNif.h
header and timerfd support and print a message.

You should see the following in the summary screen on success:

	ftmod_misdn........................ yes

NOTE: Forcing mISDN support using the "--with-misdn" configure option,
      will cause the configure script to fail on the first missing
      dependency.

--- Usage ---

To use the module, make sure you have mISDN support in the kernel
(kernel modules loaded or kernel with built-in mISDN running),
the "misdn_info" application shipped with mISDNuser will output
a list of available mISDN ports on your system, e.g.:

Found 5 ports
  Port  0 'hfc-4s.1-1':      TE/NT-mode BRI S/T (for phone lines & phones)
                              2 B-channels: 1-2
                                B-protocols: RAW HDLC X75slp
  ...

  Port  4 'hfc-e1.2':        TE/NT-mode PRI E1  (for phone lines & E1 devices)
                             30 B-channels: 1-15 17-31
                                B-protocols: RAW HDLC X75slp

NOTE: ftmod_misdn will print an error message if mISDN support is not available,
      or if there are no ports installed.

- Example freetdm.conf settings

[span misdn BRI_1]
trunk_type => BRI_PTMP
b-channel => 0:1,2
d-channel => 0:3

[span misdn PRI_1]
trunk_type => E1
b-channel => hfc-e1.2:1-15,17-31
d-channel => hfc-e1.2:16

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-09-08 00:16:02 +02:00
Daniel Swarbrick b31ebc9a69 add config file and tweak modules.conf.in for mod_cdr_mongodb 2011-09-07 23:57:44 +02:00
Daniel Swarbrick a91691999d add MongoDB CDR module 2011-09-07 23:50:25 +02:00
Jeff Lenk aff4bcbe12 FS-3080 --resolve better fix for voicemail email key match 2011-09-07 10:50:30 -05:00
Anthony Minessale 247537a959 FS-3545 --resolve this is actually compliant when mixing ptimes in the same sdp but since iLBC uses its own fmtp for ptime I will add this patch to make it beleive its 20 for the sake of arguement. If you have any other problems with this, set the channel or global variable sdp_m_per_ptime=false to completely disable the default correct behaviour 2011-09-07 08:07:04 -05:00
Jeff Lenk 482b319512 FS-3544 --resolve 2011-09-06 21:27:13 -05:00
Anthony Minessale 1c775c3bf0 finish up last commit 2011-09-06 15:07:51 -05:00
Anthony Minessale 391da66cac reswig 2011-09-06 16:30:04 -05:00
Anthony Minessale 2ae688a33b add sendmsg function to esl 2011-09-06 14:53:38 -05:00
Anthony Minessale 96ddc51faa split on space not colon 2011-09-06 13:56:44 -05:00
Anthony Minessale 2b7a830d6d allow duplicate headers to be parsed into events received on the wire 2011-09-06 13:56:21 -05:00
Anthony Minessale fb5f29c2fb speed up restart speed of profiles 2011-09-06 12:53:29 -05:00
Anthony Minessale c6c247d35c FS-3543 --resolve nevermind, found it 2011-09-06 11:30:28 -05:00