795 Commits

Author SHA1 Message Date
Moises Silva
cc79163da3 freetdm: refactor ftmod_gsm.c code to use proper core functions and interrupts to wait for io and state changes 2012-05-07 15:13:26 -04:00
Moises Silva
06eee95da8 freetdm: update ftmod_gsm.c to match latest libwat changes 2012-05-07 15:13:26 -04:00
Gideon Sadan
c268b388a7 freetdm: GSM - Finish adding status command + stabilizing 2012-05-07 15:13:21 -04:00
Gideon Sadan
f891fefcb1 freetdm: GSM read and write initialization 2012-05-07 15:11:58 -04:00
Gideon Sadan
9cb67dd0c7 freetdm: initializing wat library interface 2012-05-07 15:11:01 -04:00
Moises Silva
412c808e0c freetdm: Added GSM module skeleton 2012-05-07 15:10:25 -04:00
Moises Silva
7e31b9cc28 Merge remote branch 'fsorig/master'
Conflicts:
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c
2011-12-17 17:21:14 -05:00
Stefan Knoblich
2de175b574 ftmod_libpri: Improve output of ftdm libpri api 'invalid span' error messages.
No more "invalid span", now it's either "'foo' not a libpri span" or
"'foo' span not found" which makes it a lot more useful.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-11-18 23:58:01 +01:00
Stefan Knoblich
5897ec5992 ftmod_libpri: Print usage if 'ftdm libpri' has no arguments.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-11-18 23:58:00 +01:00
Michael Jerris
4936b11cc8 remove log message being sent 100s of times a second until someone can figure out what is causing it 2011-11-10 22:59:43 -05:00
Michael Jerris
2be49bdf79 remove log message being sent 100s of times a second until someone can figure out what is causing it 2011-11-10 22:11:42 -05:00
Moises Silva
b9ad924e83 freetdm: ftmod_zt - Fix references to ftdmtel that should be Zaptel/DAHDI (screwed up during OpenZAP -> FreeTDM renaming) 2011-11-10 15:16:07 -05:00
Moises Silva
0153f603cb freetdm: fix pri tap progress event handling 2011-11-09 11:16:58 -05:00
David Yat Sin
8558ec9f0a Added support for freetdm_isdn.send_cid_name 2011-11-09 11:01:32 -05:00
David Yat Sin
3ecddde752 Support for sending Caller ID Name on 4ESS/5ESS 2011-11-03 19:37:05 -04:00
David Yat Sin
6f2e3f91ec Support for sending Caller ID Name on 4ESS/5ESS 2011-11-03 19:23:00 -04:00
David Yat Sin
5ee015610c freetdm: Added some code to differentiate between wanpipe_wait returning FTDM_TIMEOUT and FTDM_FAIL on transmit 2011-10-31 10:25:07 -04:00
Marc Olivier Chouinard
d185978f8d mod_freetdm/libpri: Fix problem with some destination using early-media for IVR. FS wasn't switching to accept the media of the early media provided in some type of ISDN msg. This fix it for the situation I've experienced. 2011-10-28 15:18:58 -04:00
Moises Silva
fe1294ba91 freetdm: ss7 - add china switchtype to the configuration options 2011-10-28 09:36:40 -04:00
yannick
946f8af5a9 freetdm: resolve mtp2 on relay always down problem 2011-10-06 19:18:37 -04:00
James Zhang
3a44e4c186 freetdm: ss7 - fix cherry-pick conflict properly 2011-10-06 19:16:03 -04:00
root
c0f988b292 freetdm: changing call reference to generic header; removing location area code 2011-10-06 19:08:25 -04:00
James Zhang
591cbe7857 fixing bug 1625 - relay status not reported properly in the cli 2011-10-06 19:08:00 -04:00
James Zhang
20abac2794 ftdm_ss7: Adding OPC and Call Reference Number to SIP x-headers 2011-10-06 19:07:05 -04:00
James Zhang
edad46647b ftdm: change max_path length from 255 to 4096 2011-10-06 19:06:24 -04:00
Moises Silva
e7ecb4d63a freetdm: Added SS7 variables for location number (pending SIP-X header integration) 2011-10-06 19:01:34 -04:00
James Zhang
fb77b6c800 freetdm: ss7 - fixing reset on in-use channel causing signaling down in the receiving side 2011-10-06 18:58:35 -04:00
yannick
bca480e667 ftdm: fixing reset on in-use channel causing infinite state loop. 2011-10-06 18:57:09 -04:00
Moises Silva
081e73d9f3 freetdm: ftmod_wanpipe - remove debug idle messages for good, not worth the noise 2011-10-06 17:56:16 -04:00
Moises Silva
3d456185e4 freetdm: Added SS7 variables for location number (pending SIP-X header integration) 2011-10-06 12:48:07 -04:00
David Yat Sin
2cf9b21e06 Added cid-name-in-display-ie option 2011-10-05 14:38:15 -04:00
David Yat Sin
ba2b3fcabb Added cid-name-in-display-ie option 2011-10-05 14:37:14 -04:00
David Yat Sin
621337ff15 freetdm: Increased T310 to 120 sec on network side, added check for ces when handling Restarts 2011-10-04 13:20:58 -04:00
David Yat Sin
36619284e9 freetdm: typo in print 2011-09-30 17:15:36 -04:00
David Yat Sin
7a598e8f33 Added option for Dynamic TEI on BRI PTP 2011-09-30 16:45:46 -04:00
Moises Silva
5f0d27fdb4 freetdm: Fix SS7 ISUP T10 (Overlap digit timeout) - issue #1445 2011-09-28 19:18:34 -04:00
Moises Silva
ac693947f9 freetdm: Fix SS7 T35 timer 2011-09-28 13:27:15 -04:00
Moises Silva
b004bcfc6d Merge remote-tracking branch 'fsorig/master'
Conflicts:
	src/mod/endpoints/mod_sofia/mod_sofia.c
	src/mod/endpoints/mod_sofia/sofia_glue.c
2011-09-28 12:19:48 -04:00
Moises Silva
4c64d53efb freetdm: Manually merged relay code from branch jz.smg_ss7 (based on releases.3.3)
- Added relay and other misc commands
        - Misc fixes in hardware blocks, hw alarm etc
	- Fix crash on shutdown in relay
2011-09-21 15:32:48 -04:00
Moises Silva
8bf6312a0e freetdm: set proper flags when a given layer (ISUP, MTP3 etc) is started
and verify such flags on shutdown to avoid segfault when shutting down
         a layer that was never started - fix issue #741
2011-09-21 15:31:12 -04:00
David Yat Sin
bb942e2329 freetdm: Fix for sending CPG without sending ACM prior to that 2011-09-20 19:15:05 -04:00
David Yat Sin
8df1872fbe freetdm:Support for transmission of Caller ID Name on NI-2 2011-09-19 13:51:41 -04:00
Moises Silva
4cdd74dccd freetdm: ss7 test pattern should be SANGOMA 2011-09-15 12:51:01 -04:00
Moises Silva
199e4397b5 freetdm: do not warn on io status changes, leave as debug messages 2011-09-15 12:50:30 -04:00
Moises Silva
d6f3a02b94 freetdm: fix compile issue with previous commit (undeclared function) 2011-09-15 12:08:32 -04:00
Moises Silva
9aa887fe2b freetdm: SS7 - CIC value stored in freetdm_ss7_cic variable (cherry-picked from releases.3.3)
Conflicts:

	libs/freetdm/mod_freetdm/mod_freetdm.c
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c
2011-09-15 12:04:23 -04:00
Moises Silva
b06f58a14b freetdm: do not warn on io status changes, leave as debug messages 2011-09-14 10:46:32 -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
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
Stefan Knoblich
e1a6fd27e0 ftmod_libpri: Always try to close the d-channel to avoid a possible deadlock in case something fails in the I/O module's channel open function.
Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2011-09-01 01:48:03 +02:00