Commit Graph

2643 Commits

Author SHA1 Message Date
James Zhang 8d1c382632 freetdm: INR/INF implementation
- fill in IEs in INF according to INR request
         - print debug information if IE requested but not supported
2012-04-11 15:14:29 -04:00
James Zhang 16d4f1f063 freetdm: INR/INF implementation
- When NSG receives INR from network, send back INF with calling
         party category information IE and calling number information IE.
         - Introduced a new global setting of "force-inr" for testing
         purpose. Stinga generated INR/INF packets are not acceptable by
         trillium stack since it misses call related information in the
         packets. If configure force-inr to true in freetdm.conf.xml, when
         NSG receives an incoming IAM, it'll send out INR packet regardless
         of incoming IAM's IEs, and keep waiting for INF response from the
         calling side.
         - T.39 timer is introduced in order to handle INR timeout. The
         default value of T.39 is 12 seconds and is configurable according
         to spec.
         - Only supports calling number IE and calling party category IE in
         current fix. The customer only needs the calling number IE right now.
         In ISUP spec, there are 6 optional IEs. NSG only supports calling
         party number and calling category information IE since the other
         IEs are not configurable in freetdm.conf.xml or included in IAM
         message.
         - In collect state, INR/INF implementation needs to work with existed
         SAM messages. If NSG sent out INR and wait for SAM, collect state
         check both INF received and enough dialed numbers received. If one
         of these conditions are not met, it'll stay in collect state and wait
         until either conditions met or timeout. After received INF and enough
         dailed number, state moves to dailing and proceed as regular calls.
2012-04-11 11:20:32 -04:00
David Yat Sin e3369119e0 Merge branch 'master' into releases.3.5 2012-04-03 18:16:36 -04:00
David Yat Sin 27e4cdb4dd Merge branch 'fsorig'
Conflicts:
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c
2012-04-03 18:08:49 -04:00
David Yat Sin be4512be03 FreeTDM - ISDN fix for BRI lines with Q.921 layer going idle 2012-04-03 16:48:14 -04:00
James Zhang 339c45b2cb freetdm: Add documentation for SS7 native bridge 2012-04-03 11:27:25 -04:00
James Zhang b324f86797 freetdm: Clean up SS7 native bridge code to separate the call control, queuing and
resource-cleanup responsibilities clearly between the 2 channels involved in the bridge

   - Each channel is responsible for clearning its own peer_data and event queue
     at the end of the call (when moving to DOWN state)

   - Each channel dequeues messages only from its own queue and enqueues messages
     in the peer's queue, with the only exception being messages received before
     the bridge is stablished (IAM for sure and possible SAM messages) because
     if the bridge is not yet stablished the messages must be queued by the channel
     in its own queue temporarily until the bridge is ready

   - When the bridge is ready it is the responsibility of the incoming channel to
     move the messages that stored temporarily in its own queue to the bridged peer queue

   - During hangup, each channel is responsible for moving itself to DOWN. The procedure
     however differs slightly depending on the hangup conditions

     If the user requests hangup (ie, FreeSWITCH) the request will be noted by setting the
     FTDM_CHANNEL_USER_HANGUP flag but will not be processed yet because call control is
     driven only by the link messages (so no hangup from ESL or command line allowed)

     When REL message comes, the channel receiving it must move to TERMINATING state and:

           - If the user has not hangup yet (FTDM_CHANNEL_USER_HANGUP flag not set) then
             notify the user via SIGEVENT_STOP and wait for the user to move to HANGUP
             state by calling ftdm_channel_call_hangup() before sending RLC

           - If the user did hangup already (FTDM_CHANNEL_USER_HANGUP flag is set) then
             skip user notification and move to HANGUP state directly where the RLC message
             will be sent

   - On HANGUP state the RLC is sent and the channel is moved to DOWN, final state
     The peer channel will forward the REL message and wait for RLC from the network, when
     RLC is received the channel can move straight to DOWN itself because the peer channel
     is completing its own shutdown procedure when it received the REL message
2012-04-03 11:23:49 -04:00
David Yat Sin d730df77e4 Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2012-04-02 18:00:38 -04:00
David Yat Sin 38143e3035 freetdm - ISDN added check to treat calling number 0000000000 as empty calling number 2012-04-02 18:00:27 -04:00
Anthony Minessale 647740e9a4 cleanup after yourself 2012-04-02 16:20:40 -05:00
Anthony Minessale afdf50d423 stop sched thread quicker on global destroy 2012-04-02 15:33:45 -05:00
Anthony Minessale 972504a3ca unset logger on global destroy 2012-04-02 15:00:35 -05:00
James Zhang 8a589435de freetdm: Adding condition to parse sip headers only for non-freetdm channels.
This fixes an issue where ss7 native bridge was accidentally enabled
         any time two freetdm channels were bridged regardless of the freetdm_native_sigbridge
         variable value.
2012-03-30 16:50:00 -04:00
Stefan Knoblich a856d81a06 ftmod_misdn: More reworking of b-channel audio tx handling.
Use the amount of audio data received in misdn_read() to determine how many
bytes we need to send to the b-channel (= how much free space is left
in the b-channel tx queue). (This is how libosmo-abis and LCR handle it too.)

A pipe is used as a poll()-able audio tx buffer (filled in misdn_write()):
FTDM_WRITE wait requests are currently poll()-ed on the input side of the pipe,
whereas FTDM_READ and _EVENT requests are poll()-ed on the b-channel socket itself.

For every N-bytes of audio data read from the b-channel in misdn_read(),
we try to get as much out of the tx pipe, convert it into the ISDN_P_B_RAW
format and send it to the b-channel socket.

If there's less than N-bytes left in the pipe, we fill the remaining buffer
with silence to avoid buffer underflows.

B-Channel handling overview:

  - misdn_wait(FTDM_WRITE) on audio pipe

  - misdn_write() put audio data into pipe

  - misdn_wait(FTDM_READ) for next incoming mISDN
    message on b-channel socket

  - misdn_read() handle mISDN event, for PH_DATA_IND:

      - Write data into channel buffer and convert
        to a/u-law using misdn_convert_audio_bits()

      - Try to fetch N-bytes from audio pipe

      - If not enough bytes in pipe: fill remaining space with silence

      - Convert audio to raw format

      - Send to b-channel (PH_DATA_REQ)

Known problems / bugs / further investigation:

   1. Bridge aborted by "Write Buffer 0 bytes Failed!" error from switch_core_io.c.
      This is "fixed" by _not_ setting the b-channel sockfd to non-blocking mode.

   2. Audio glitches (maybe caused by FTDM_WRITE misdn_wait() handling or blocking I/O on sockfd?)

   3. misdn_read() EBUSY error messages from sending data to b-channel sockfd after enabling channel.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-28 23:49:55 +02:00
James Zhang a2db3c24b3 freetdm: fixing more potential null pointers in native bridge mode. 2012-03-27 18:00:24 -04:00
Stefan Knoblich e3698c2067 ftmod_misdn: Make sure misdn_read() doesn't loop forever and improve logging etc.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich ff4b395956 ftmod_misdn: Rework channel de-/activation and activate d-channel early.
The former fixes a strange "bug" with hfcsusb, where a b-channel deactivation
on a inactive channel (caused by a reset cycle) would cause the port to
lock up and stop processing events.

NOTE: this still needs to be investigated further, but this workaround will
      at least prevent it from breaking completely.

We'll now keep track of the channel activation state and not send any
PH_ACTIVATE_REQ / PH_DEACTIVATE_REQ requests, if the channel already has the
desired state.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich a2f3ef7460 ftmod_misdn: Reserve some space for the mISDN message header in misdn_write().
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich f2841e0280 ftmod_misdn: misdn_write() workaround for signalling drivers that do not use write polling.
Wait till the channel is actually ready to send data.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich fc1e1a91f2 ftmod_misdn: Stop using timerfd for b-channel write polling.
Use POLLIN on the socket instead, the b-channel should be able
to write when there is something to read.

Several other projects handle it this way, e.g. libosmo-abis.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich c85271aaf5 ftmod_misdn: Improve debug log messages.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich 28ed1b5076 ftmod_misdn: Move misdn_handle_incoming() up.
Only used by misdn_read(), so move it right in front of that one.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
Stefan Knoblich 6b76212324 ftmod_misdn: Decode hfcsusb MPH_INFORMATION_IND state and flags.
For diagnostic / debugging purposes.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-03-23 01:21:55 +01:00
James Zhang bfefbb5522 freetdm: fix isup timers default values 2012-03-21 10:12:59 -04:00
James Zhang 012bc154b0 Revert "freetdm: fixing default values for ISUP"
This reverts commit f1d80cd25d.
2012-03-21 10:00:27 -04:00
James Zhang fbc5322e65 freetdm: fixing wrong default timer values 2012-03-20 10:51:53 -04:00
Moises Silva 57b022c2d4 freetdm: Do not report error for DAHDI RINGER ON/OFF events, they are no-ops at the moment 2012-03-19 09:27:29 -04:00
Moises Silva 681f582b20 freetdm: Try to resolve OPENZAP-173
The token count needs to be updated after the master session token is cleared
         and before checking for other tokens
2012-03-19 09:20:44 -04:00
Moises Silva bf652b567f freetdm: ftmod_zt - Print which DAHDI event number is failing to be processed 2012-03-18 18:54:54 -04:00
James Zhang f1d80cd25d freetdm: fixing default values for ISUP 2012-03-16 16:09:54 -04:00
James Zhang 63a2c847eb freetdm: merge native bridge fix from releases.3.4
which solves the crash on outgoing calls after native bridge
2012-03-16 12:24:10 -04:00
James Zhang 10277be8d6 freetdm: synchronizing fixes in releases.3.5 version
- glare
         - cgb/cgu range bug
         - inhibit/uninhibit
2012-03-16 11:40:21 -04:00
James Zhang 46ddfc0ebb freetdm: fixing glare with different options 2012-03-16 11:19:01 -04:00
James Zhang 19f01bf50a freetdm: fixing a potential crash on a rarely happened situation 2012-03-15 18:05:47 -04:00
Moises Silva 3c4fdca9e0 freetdm: Fix redmine issue #2931 - Crash on SIP to SS7 call after sigbridge call
The code was improperly using peer_data as an indicator that the sigbridge
         ss7 mode was enabled. The channel flag FTDM_CHANNEL_NATIVE_SIGBRDIGE should
         be used instead
2012-03-07 19:04:31 -05:00
James Zhang eeec65265a freetdm: fixing format and loc_nadi value according to review board No. 98 2012-02-24 16:32:44 -05:00
James Zhang b5f69db10f freetdm: fixing printing in ftmod_sangoma_ss7_support.c functions 2012-02-24 16:21:21 -05:00
James Zhang 938fafb09e freetdm: fixing problem during review - review board number 98 2012-02-24 16:09:58 -05:00
James Zhang 6ed6fd2c1a freetdm: latest SPIROU fixes in releases.3.4 branch merged in releases.3.5 2012-02-24 15:43:23 -05:00
James Zhang 713b55cd58 freetdm: fixing improper log position in tx acm function 2012-02-16 18:33:00 -05:00
James Zhang 3f43b053a0 freetdm: adding x-ocn-* headers for incoming sip calls 2012-02-16 16:49:51 -05:00
Moises Silva 1f34c9301e freetdm: Remove optimistic sanity check, prints spurious error messages 2012-02-16 16:08:21 -05:00
James Zhang 4ccc26f08b freetdm: Fix improper logging statement when doing native ss7 bridge (peer_chan was set to the SIP leg) 2012-02-16 15:15:22 -05:00
James Zhang 8c8d649221 freetdm: Add support to set/receive location and original call number SS7 elements through variables (including SIP X headers) 2012-02-16 15:14:06 -05:00
Moises Silva a6e868f588 freetdm: Fix spirou certification native bridge issue
- The outgoing tdm leg should not move to UP until
           after the IAM is sent at the end of the function
         - The UP state should be processed immediately otherwise
           the state processor is not run due to the way the main
           ss7 processing loop currently works
2012-02-16 14:49:18 -05:00
David Yat Sin 08d29b10b6 freetdm - ISDN fix for channel getting stuck if we receive ALERT after sending DISCONNECT 2012-02-15 13:07:07 -05:00
James Zhang a46c03ef65 freetdm: fixing glare
- adding configuration of glare handling rule
         - fixed cic status remains COLLECTING
2012-02-10 17:29:28 -05:00
Stefan Knoblich 674dc9850b [FreeTDM] Another round of ftdm_log() format string fixes.
Use FTDM_SIZE_FMT where needed, don't treat ftdm_event_t as an int
(even if the e_type enum is the first member), datalen vs. *datalen fix
and other warnings.

All reported by __check_printf() (GCC + __attribute__((format(printf,x,y))) ).

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-02-10 13:29:49 +01:00
Stefan Knoblich 9d5eb0737b [FreeTDM] Fix a couple of ftdm_log() format string errors.
... that could cause segmentation faults.

Caught while working on __check_printf() support for ftdm_log().

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-02-10 13:24:57 +01:00
Stefan Knoblich 124c04624a [ftmod_misdn] Add missing braces around condition of ternary operator.
For compilers that seem to do the wrong thing(tm).

Speculative fix for:

  segfault at 1 ip b72145d3 sp b58f8bfc error 4 in libc-2.11.3.so

  #0  0xb7a5d5d3 in vfprintf () from /lib/i686/cmov/libc.so.6
  #1  0xb7a7cec7 in vasprintf () from /lib/i686/cmov/libc.so.6
  #2  0xb7dd7c5b in switch_vasprintf (...)
  #3  0xb6296de2 in ftdm_logger (...)
  #4  0xb621625d in misdn_handle_mph_information_ind (...) at ftmod_misdn.c:658

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-02-10 13:22:47 +01:00
James Zhang 7b3a3d86b9 freetdm: fixed cgu/cgb commands wrongly setting cic status when
the range covers one or more signaling links
2012-02-09 14:32:08 -05:00
James Zhang b78b612b47 freetdm: fixing cgu with signaling link in unblock range 2012-02-09 14:11:21 -05:00
James Zhang 024a043e2c freetdm: initial fix to rx cgb 2012-02-09 14:04:45 -05:00
James Zhang b0ee65b45a freetdm: adding new commands and removing unused ones
- ftdm ss7 show
         - ftdm ss7 show span X
         - ftdm ss7 show status linkset X
         - ftdm ss7 inhibit X
         - ftdm ss7 uninhibit X
2012-02-09 11:15:48 -05:00
Stefan Knoblich 36b26c51ac [ftmod_misdn] Fix a couple of ftdm_log() printf format errors
Also adds a local ftdm_channel_get_type_str() helper.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-02-09 12:58:59 +01:00
David Yat Sin 9de1e1ad67 freetdm - disabled dtmf detect duration by default 2012-02-07 14:36:22 -05:00
David Yat Sin c5cc318afa Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2012-02-07 14:28:58 -05:00
David Yat Sin 1377b9c84d freetdm: support for dtmf_on_start 2012-02-07 14:28:47 -05:00
Stefan Knoblich 4bb1ab0113 [ftmod_misdn] Add some TODO items at the top of ftmod_misdn.c.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-02-07 18:39:11 +01:00
Stefan Knoblich 810f0d4eaa [ftmod_misdn] Make misdn_handle_mph_information_ind() cope with hfcsusb-style MPH_INFORMATION_IND messages.
Only two mISDN hardware drivers emit MPH_INFORMATION_IND messages and both use a different payload:

	- hfcsusb (HFC-based USB dongle) sends a set of ph_info + ph_info_ch structures
	  which contain the complete state information of the port
	  (including internal hw-specific state and flags).

	- hfcmulti which sends a single integer, a single L1_SIGNAL_* event.

We now try to guess the type of message from the payload length.

The hfcmulti signals are converted to FreeTDM alarm flags; the hfcsusb
state/flags are defined in kernel internal hw-specific headers and are ignored ATM (todo).

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-02-07 18:39:11 +01:00
Stefan Knoblich 452c13573d [ftmod_misdn] Include mISDN message primitive id in channel activation log messages.
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-02-07 18:39:11 +01:00
Stefan Knoblich fd3ebc7ae3 [ftmod_misdn] Handle MPH_INFORMATION_IND during channel activation.
Add MISDN_MSG_DATA() helper macro for easy access to mISDN message
payload.

Add forward declaration of misdn_handle_mph_information_ind() and use
it in misdn_activate_channel().

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-02-07 18:39:11 +01:00
Stefan Knoblich 9e0928a7ea [ftmod_misdn] Undefine MISDN_CONTROL_TYPE helper macro after use.
No reason to keep it around for longer.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-02-07 18:39:11 +01:00
Stefan Knoblich b6ec127194 [ftmod_misdn] Extend misdn_event_types[] and use a helper macro.
Add missing mISDN event/message types (e.g. MPH_INFORMATION_IND)
and use a helper macro (MISDN_EVENT_TYPE) to define the entries,
like we already do for misdn_control_types[].

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2012-02-07 18:39:11 +01:00
Anthony Minessale 1015883e1b commenting this out completely until a better solution is implemented. also FYI you should be refreshing .update on each commit that changes the lib or any of its mods to force a rebuild from the top level 2012-02-03 15:23:46 -06:00
David Yat Sin 2ea5686e4d freetdm: DTMF duration not checked if duration is set to zero 2012-02-03 14:20:08 -05:00
Moises Silva 541aa551c7 Merge branch 'releases.3.4.experimental_head' into releases.3.5 2012-01-31 17:17:25 -05:00
Moises Silva 1ad0bc250c Merge remote-tracking branch 'fsorig/master' 2012-01-31 15:57:07 -05:00
Moises Silva cafff50005 Merge branch 'releases.3.4' into releases.3.4.experimental_head
Conflicts:
	libs/freetdm/mod_freetdm/mod_freetdm.c
2012-01-31 15:37:33 -05:00
Moises Silva cca407d09a freetdm: Fix bug in SS7 state processing introduced during the changes
for native bridging that caused infinite SUSPEND state executions
         due to peer member not being cleared at the end of the call
2012-01-31 15:18:53 -05:00
David Yat Sin d6c6396e24 Freetdm - ISDN Fix for get_trillium_val function 2012-01-31 12:59:12 -05:00
James Zhang c9c68a7759 freetdm: Some more clean up for ss7 event cloning
- The queue size has been bumped again, long calls could potentially require more elements (multiple resume/suspend)
         - The queue is only used when there is a call active
2012-01-30 19:15:02 -05:00
David Yat Sin a9c10f8c41 FreeTDM - ISDN fix for get_trillium_val function 2012-01-30 18:32:05 -05:00
James Zhang b6c02364a7 freetdm: Reduce the size of the span peer channels and ss7 info per channel clone event queues 2012-01-30 18:26:08 -05:00
James Zhang d1a772bfe9 freetdm: Only hangup with user message when release location information is set 2012-01-30 18:02:26 -05:00
James Zhang c1ad567742 freetdm: removing sus|res|rel commands 2012-01-30 17:37:57 -05:00
Moises Silva 8cade84528 freetdm: Set the call id into the caller data provided as argument to the call place function 2012-01-30 16:15:08 -05:00
Moises Silva 5ef3c94271 OPENZAP-177 --resolve Thanks to Abhishek Singh 2012-01-30 14:15:51 -05:00
James Zhang 14d8b42e58 freetdm: testing code of sending suspend message 2012-01-30 13:19:36 -05:00
James Zhang 777f946e2f freetdm: adding susp/resm/rels but not finished.
disable t6 finished.
2012-01-30 10:28:08 -05:00
Moises Silva 8476d66465 freetdm: Cancel ISUP T6 timer when using native bridge (Spirou certification fix) 2012-01-27 18:54:06 +01:00
Moises Silva 3199513c96 freetdm: More spirou certification changes
- Send RLC immediately even when in native bridge mode
         - Do not enqueue RLC coming from the network
2012-01-27 16:22:45 +01:00
Moises Silva 572154693e freetdm: spirou certification specific changes about RDNIS/RDINF usage 2012-01-27 16:21:53 +01:00
Moises Silva de56f3c465 freetdm: spirou transparent IAM fix for called number 2012-01-27 14:42:33 +01:00
Moises Silva 0ff8a087c6 freetdm: Fix incorrect state transition from DOWN to UP when processing an SS7 clone event 2012-01-27 06:44:11 -05:00
Moises Silva 2db41c5c79 freetdm: Fix uninitialized var leading to segfault 2012-01-27 06:34:36 -05:00
Moises Silva a83f04ab6a freetdm: Relay the rest of SS7 messages supported by libsng_ss7 when in native bridge mode 2012-01-27 00:13:59 -05:00
Moises Silva 1aa4f87b6a freetdm: Tweaks to SS7 native bridge feature
- Enable native bridge also when receiving the UUID via SIP header
         - Remove some debug CRIT messages and set a more proper log level
2012-01-26 23:51:21 -05:00
Moises Silva 9fc8395b31 Merge remote branch 'origin/jz.SPIROU' into releases.3.4.bridge_hack 2012-01-26 23:34:20 -05:00
Moises Silva f2cdb8c6c7 freetdm: Fixes for native signaling bridge (now tested, and works for basic call flows)
- Fix typo when unlocking channel that resulted in deadlock
         - Defer clearing of the peer data until it is completely safe (next call)
2012-01-26 23:31:29 -05:00
Moises Silva 23a328389b freetdm: Initial attempt to bridge natively SS7 signaling between 2 channels 2012-01-26 22:44:19 -05:00
James Zhang 71c3cf365a FreeTDM: adding sip_h_X-FreeTDM-RDNIS-Presentation in redirecting number
to give the ability to change RDNIS Presentation value for
           Transparent IAM
2012-01-26 19:25:04 -05:00
James Zhang 977b546f9a FreeTDM: reuse sip_h_X-FreeTDM-LOC = NULL to indicate disable LOC 2012-01-26 18:52:27 -05:00
James Zhang 3235fa079a FreeTDM: fix for SPIROU
- adding freetdm_iam_fwd_ind_isdn_access_ind (value must be 0 or 1)
             to modify forward call indicator's ISDN access indicator value in
             transparent IAM
2012-01-26 18:00:34 -05:00
James Zhang 95baef8821 FreeTDM: patch SPIROU requests
- adding freetdm_iam_loc_pres variable to disable LOC in transparent IAM
 		   - confirming freetdm_bearer_capability is working properly
2012-01-26 17:37:35 -05:00
Moises Silva b4e8d5b608 freetdm: Fix incorrect variable name leading to segfault 2012-01-26 17:22:45 -05:00
Moises Silva a1a1af579b freetdm: Implement SS7 transparent IAM functionality using the event clones queue 2012-01-26 16:50:38 -05:00
James Zhang 98d566b29c FreeTDM: adding variable ss7_rel_loc for REL location indicator (to support SPIROU) 2012-01-26 16:39:43 -05:00
Moises Silva 1b964054de freetdm: Add new queue for ss7 clone messages, all incoming messages are queued now 2012-01-26 15:21:51 -05:00
James Zhang 90f538c0a0 FreeTDM: Fixing issues of SPIROU
- redirect number in Transparent IAM
		   - redirect information in Transparent IAM
		   - called party number in Transparent IAM
           - adding incoming uuid to x-header to check loop calls
2012-01-26 11:19:41 -05:00
James Zhang 28e27248e5 FreeTDM: remove the previous commit
- hardcode does not work in this matter
2012-01-25 18:00:41 -05:00
David Yat Sin 6f9c2ae50f Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2012-01-25 16:13:56 -05:00
David Yat Sin 81188c34a5 Fix for not evaluating digit upon T302 timeout 2012-01-25 16:13:43 -05:00
James Zhang 34c8e58ae1 FreeTDM: location value in REL message set to 0x04
- only available to SPIROU
2012-01-25 16:00:20 -05:00
Moises Silva eb7d52aaa9 freetdm: improve some isdn logging
try to fool-proof the size of the read D channel buffer by not hard-coding it in 2 places
2012-01-22 21:54:35 -05:00
James Zhang 8d1d930085 FreeTDM: fixing OPC bug using local SPC
- take the DPC of the link and set it as OPC in x-header
           - this is what the user want's to have
2012-01-19 18:04:03 -05:00
James Zhang 63ecf4e909 FreeTDM: remove the portion of opc fix 2012-01-19 16:55:15 -05:00
James Zhang 5ac80d3939 FreeTDM: fixing redirect information outgoing call bug 2012-01-19 16:31:52 -05:00
Moises Silva e3cb0352b0 freetdm: Fill in DAHDI function pointer to retrieve the next channel event 2012-01-19 16:18:30 -02:00
David Yat Sin 40c9dc4149 freetdm - SS7: Removed unnecessary curse words 2012-01-18 12:07:34 -05:00
David Yat Sin 44ed952a7b freetdm - ISDN support for sending Network Specific Facility 2012-01-16 17:14:59 -05:00
David Yat Sin badc80ad3e freetdm: Added dtmfdetect duration option 2012-01-04 11:16:29 -05:00
David Yat Sin 393ba72c1a freetdm - ISDN added Q.931 timers 2012-01-03 14:11:47 -05:00
David Yat Sin 959e4ab22d freetdm: ISDN - Added check for receiving frames that are too big 2012-01-03 11:29:41 -05:00
Moises Silva 2b904c0b9e freetdm: ftmod_wanpipe - Do not set the output read length unless the read operation is successful 2011-12-30 18:28:27 -05:00
Moises Silva c15a252a2b OPENZAP-176 --resolve
Fix DAHDI/Zaptel incorrect FXO signaling status on module load
2011-12-30 17:14:36 -05:00
William Adam 8eeb37a81b Fixed bug#2215 - SPIROU transparent IAM max size error 2011-12-21 14:56:03 -05:00
Marc Olivier Chouinard 1bf99e818f OPENZAP-164 --resolve
I think this will be fine for the moment.  Thanks
2011-12-19 07:38:37 -05:00
Nenad Corbic b6ca6c5b1d freetdm: Added sng_cc_resource_check()
On SIG Down we must not fail a call instead try hunting for another.
         The only time we can fail the call and not bother hunting is
         if sng_cc_resource_check fails.
         Took out configuration retry as the config code is now
         fixed in sng_ss7 library. Transaction id fix.

Unit Tested:

NSG UP -- start full load
kill NSG
NSG UP again on full load
make sure it comes up fine.
2011-12-19 02:27:38 -05:00
Nenad Corbic 7e2ef3a55c freetdm: The remote hangup logic that waits for 3sec for FS to hanup up
before hanging up the freetdm channel by force
         seems to have a memory leak.  I have increased the timeout
         to 30sec and made the print statement WARNING level.
2011-12-18 23:02:59 -05:00
Moises Silva 83b5929e48 freetdm: remove duplicated ss7 code for location number (previous git merge duplicated it) 2011-12-17 19:36:47 -05:00
Moises Silva 7bd2d154d6 Merge branch 'smgmaster' into releases.3.4.experimental_head
Conflicts:
	libs/freetdm/mod_freetdm/mod_freetdm.c
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h
	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_relay.c
	src/mod/endpoints/mod_sofia/mod_sofia.c
	src/mod/endpoints/mod_sofia/sofia_glue.c
2011-12-17 17:42:34 -05: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
Nenad Corbic 485746305a Set the cpu thresholds to 92 and 82
Set the 3000ms warning to NOTICE not CRIT
2011-12-16 10:06:57 -05:00
Nenad Corbic 732a0ed2de Fix for 3000ms timeout on hangup.
Where FS does not hangup the channel with in 3sec.
Without this fix, it was possible that 2 FS sessions
use the single span/chan freetdm session.
Merged the feature from git master of freetdm
2011-12-15 20:39:38 -05:00
Moises Silva 4b22c22c33 freetdm: fix potential bug in MFCR2 where the channel token is cleared too soon 2011-12-15 20:29:32 -05:00
Nenad Corbic 494947bf59 Reverted the previous commit of doing nothing on RESTART while in PAUSE 2011-12-15 15:50:58 -05:00
Nenad Corbic b057d873cf Added a retry on configuraiton.
Its possible to timeout on ISUP ckt config in scenarios
of huge load.
2011-12-15 15:47:41 -05:00
Nenad Corbic ce9ce53b2d Fixed the previous commit 2011-12-14 20:06:57 -05:00
Nenad Corbic 9db322f2e0 Fixed hw alarm crash. When we get hw alarm in the middle of configuration.
It can happen with large number of circuits.

On RESTART if we are PAUSED do not try to send RESET and stay in RESTART state
2011-12-14 19:56:25 -05:00
James Zhang 1cbeb33b2d freetdm: adding support of x-headers for Redirection Information
X-FreeTDM-RDINF-Indicator
         X-FreeTDM-RDINF-OrigReason
         X-FreeTDM-RDINF-Count
         X-FreeTDM-RDINF-Reason
2011-12-06 15:38:05 -05:00
James Zhang e582586876 Freetdm: adding X-FreeTDM-ANI-NADI and X-FreeTDM-DNIS-NADI support 2011-12-05 16:58:26 -05:00
Moises Silva b3297c7f3b freetdm: fix license path to use sngss7 path limits
do not use strcpy, use ftdm_set_string which is safer
         do not use strcpy when snprintf is safer and cleaner
2011-12-02 11:37:55 -05:00
James Zhang 9bf25413ed Merge branch 'releases.3.4' of git.sangoma.com:smg_freeswitch into releases.3.4 2011-12-01 19:22:27 -05:00
James Zhang 35df4f468c Update to the SUSPEND state machine updated 2 commits ago.
SUSPEND will not only change the return state in few
cases.

I have retested all test cases from previous 2 commits.

What is missing is timer for each Tx Event.  RSC,BLO,UBL.
Its possible to loose a message from Slave via relay to Master.
If that ever occours we will not know what state we are in.
Thus we need a timer that will re-transmit a packet if
it does not get acknowledged.
2011-12-01 19:18:54 -05:00
Moises Silva 3432dccfc2 freetdm: fix cpu monitor inconsistent messages, variable names etc
changed parameter name from cpu_reset_alarm_threshold to cpu_clear_alarm_threshold
         (old parameter name still valid for backwards compatibility in configuration files)
2011-12-01 12:21:46 -05:00
wadam 16c2da1369 Merge branch 'releases.3.4' of ssh://git.sangoma.com/smg_freeswitch into releases.3.4 2011-12-01 11:43:08 -05:00
wadam 6dabe5409b Fixed Bug#2018 - The threshold of cpu warning message should be increased 2011-12-01 11:40:18 -05:00
James Zhang 7b83dd4c96 Fixed the exception condition - trigger reset
used to clear ckt_flags, this was wrong.
	if ctk_flags are blindly cleard a PAUSE might be cleared.
	changed the code to clear only TX RESET and try to reset again.

Release Collision
	If we get out of sync with other side we must
	reset the circuit.
    This condition occoured at 1+3 test box

Local Management Block
    Its possible for stack to send us a BLO indicating to us
    that we are local blocked.  This case never worked and
    we would get stuck there forever.
    If we never manaully sent a LOCAL block, the BLO from
    the stack will be acked and then unblocked.
    This condition occoured at 1+3 test box
2011-12-01 03:16:59 -05:00
James Zhang 997c127a94 Fixed following two secnarios
From previous commit, failed to clear the done flag _DN
which cause SUSPEND to think that there was a block
pending, causing state to remain in RESTART

S UP -> relay down -> Tx AIS -> relay up -> Tx AIS off
  -> confirm all back up
  -> In this condition BLO will not go out due to PAUSE

S UP -> Tx AIS -> relay down -> Tx AIS off -> relay up
  -> confirm all back up
  -> In this condition UBL will not go out due to PAUSE
2011-11-30 20:02:25 -05:00
James Zhang fa64d3954d Sigificant changes to the core state machine :)
Visually status of channels will only be DOWN once all resets/blocks are cleared.
Therefore if any reset/block is active on a channel, the channel state will be in RESTART not DOWN.

Logic Change

SUSPENDED
   -> Originally used as intermediate state. Purpose is to handle a condition
      from any state and go back to the previous state.
      Conditions: such as  block/ucic.
   -> Updated logic is that SUSPEND will be smart enough not to
      go back to just any state.  SUSPEND will only go back to
      UP - if call is still up
      RESTART - if for any reason singaling is not up due to
                blocks/resets/etc...
      DOWN - if signaling is UP - no resets/blocks
      In this case we avoid infinite loops due to state jumping
      from STATE->SUSPEND->STATE->SUSPEND
HANGUP_COMPLETE
   -> If call is in use and a RESET comes on a call
      the RESTART state will first try the HANGUP_COMPLETE state.
      HANGUP_COMPLETE will Tx RSC and wait for it.
      Reset Response handle was updated if current state HANGUP/HANGUP_COMPLETE
      go back to RESTART state.  Which will call HANGUP COMPLETE due to
      channel in usage and HANDLE_COMPLETE will clear RESET condition and go back to DOWN
TERMINATING
   -> This state is used to hangup a call. Sends a signal to FS.
   -> Usually TERMINATING state stays in TERMINATING until FS comes back.
   -> I added a condition in case of RESET on the line though TERMINATING
      will go back to RESTART.
      This allows us to process RESET commands even though we are
      in the middle of hanging up.
Block Handler
   If BLO is received on circuit is already blocked,
   we failed to trasmit BLA.  We should always ack the BLO
   even though it was alrady in blocked state.

Fixed & Tested

S UP --> place call --> relay down --> hangup --> relay up-->
   Confirm that call is hungup properly.
   In this condition, on relay up the circuit  is put into RESET.
   Since circuit is still in use, it will HANGUP first, then RESET
   then clear pending BLOCK.

S UP --> place call -> Tx RSC on call.
   Used to cause infitie loop
   Confirm call is cleard properly

Re-Tested

S UP --> place call -> Rx RSC on call
   Confirm call is cleard properly

S UP --> place call -> Rx BLO -> hangup -> place call
   Confirm call cannot be placed
   Tx UBL
   Confirm call can be placed

S UP --> place call -> Rx BLO -> Tx BLO -> hangup -> place call
   Confirm call cannot be placed
   Tx UBL
   Confirm call cannot be placed
   Rx UBL
   Confirm call can be placed

S UP --> place call -> relay down --> Rx BLO on channel from telco
     --> relay up
   Confirm that relay detects the BLO channels even though relay was down

Tx AIS -> S Start -> Confirm HW block -> Tx AIS off
   -> Confirm hw block clear and UP

S UP -> Tx AIS -> Confirm HW block -> Tx AIS off
   -> confirm hw block clear and UP

S UP -> relay down -> Tx AIS -> relay up -> Tx AIS off
   -> confirm all back up
   -> In this condition BLO will not go out due to PAUSE

S UP -> Tx AIS -> relay down -> Tx AIS off -> relay up
   -> confirm all back up
   -> In this condition UBL will not go out due to PAUSE
2011-11-30 19:11:33 -05:00
Jeff Lenk f5abef2000 FS-3728 --resolve thanks 2011-11-30 08:57:11 -06:00
James Zhang 96068d901d Fixed case
S UP - Place Call - relay down - Hangup - relay up -
Confirm Call hangsup up properly and unblock is set.

Fixed unexpeced reset condidtions.
2011-11-29 13:11:38 -05:00
James Zhang 5b8af78a89 Fixed 5 relay conditions
M UP  -> S UP
M Down -> S UP -> M UP
M UP -> S UP -> relay down -> relay up
M UP -> S UP -> Kill M -> M UP
M Up -> S UP -> relay down -> M link down -> relay up -> M link up
2011-11-25 21:05:39 -05:00
Nenad Corbic 69c62f7b38 Fixed the out of sequence frame condition
Redmine Bug#1966
IAM ->
<-REL
<-ACM
<-ANM

ACM sets the reset flag
ANM sets the group reset flag
when both reset flags are set we got into infinite loop
2011-11-24 19:19:58 -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
James Zhang cb1d5be5e6 freetdm: fix redirection presentation number in X-header 2011-11-17 15:43:40 -05:00
James Zhang e293c12535 freetdm: fix loc_nadi value 2011-11-15 18:26:13 -05:00
James Zhang 552405024a freetdm: fixing relay must start after master.
relay - configuring circuits only when resume is recieved.
	 master - configuring relay after all the others are configured.
2011-11-15 14:46:57 -05:00
James Zhang dcdb5f18eb freetdm: fixing RDNIS-Screen value mis-displaying string in decimal format 2011-11-14 16:42:23 -05: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
wadam 5c4a3f81a2 Fix error in call reference conversion to string.
src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c
  cc1: warnings being treated as errors
  src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c: In function
  'handle_con_ind':
  src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c:255: warning: format '%x'
  expects type 'unsigned int', but argument 3 has type 'U32'
  make[6]: *** [ftmod_sangoma_ss7_la-ftmod_sangoma_ss7_handle.lo] Error 1
2011-11-07 22:26:02 -05:00
root 08e01bb5a2 freetdm: fix generic number 2011-11-07 17:32:02 -05:00
root f0631fc87e freetdm: change call reference number to HEX string format 2011-11-07 16:37:11 -05:00
root 3552e329ca freetdm: fix sip header wrong value of NADI
error was caused by printing string value to integer
2011-11-07 12:53:32 -05:00
Nenad Corbic 5dd076c81f freetdm: Allow for backward compatibility.
cpg_on_progress_media is default to TRUE if not xml option exists.
         transparent_iam_max_size added to ccspan.  Gloal value is used
         if transparent_iam_max_size is not in ccSpan.
2011-11-07 00:08:38 -05:00
Nenad Corbic 4b25044ac6 freetdm: Made CPG optional on configuration file
Fixes in hw alarm - no need to set hw unblock if hw block did not execute yet.
         Minor bug fixes
2011-11-03 20:04:26 -04: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
Nenad Corbic 69f6f20fd2 freetdm: on hander do not go up unless all channel blocks/restes are cleared
Added more documentation in main
2011-11-03 14:29:47 -04:00
Nenad Corbic 953cd77f95 freetdm: Fixed blocks/unblocks resets. Performed conformance tests
Fixed hw alarm handling: physical ids were not used which caused alarms
         read wrong.
         Tested sip hold
         Group blocks/unblock
         Group reset
         Link down-> block -> unblock
         FS start with link down then link up
         FS start with link up, take link down and up -> make incoming call
2011-11-02 20:53:14 -04:00
Nenad Corbic 503a898b98 Merge remote branch 'qa-master/releases.3.4' into releases.3.4 2011-11-02 12:34:28 -04:00
Stefan Knoblich 91ef437bd5 FreeTDM: Add ax_compiler_vendor.m4 to acinclude.m4
This fixes a "AX_COMPILER_VENDOR: command not found" error on
systems with older autotools versions (CentOS 5.x in this case).

Not a problem on newer auto* toolchains, they either ignore
acinclude.m4 completely or handle it in a different way.

(In fact, acinclude.m4 is not even needed for the one on CentOS 5,
 but we'll keep it for now.)

Tested-on: CentOS 5.7 x86_64 autoconf 2.59 / automake 1.9.6 / libtool 1.5.22
Tested-on: Gentoo 20111031 x86_64 autoconf 2.68 / automake 1.11 / libtool 2.4
Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-11-01 15:37:51 +01:00
Nenad Corbic 429b2944e5 freetdm: reset to reset not GRS - take2 2011-10-31 23:57:45 -04:00
Nenad Corbic c98d8b49d9 freetdm: Default to individual reset not GRS 2011-10-31 23:56:39 -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
Nenad Corbic d5e90dfbf0 Merge remote branch 'qa-master/releases.3.4' into releases.3.4 2011-10-29 00:08:47 -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
Moises Silva acfdddabbb freetdm: ss7 - add china switchtype to the configuration options 2011-10-28 09:35:49 -04:00
Nenad Corbic 08768608e6 freetdm: on handle alarm must check TRAP or CLEAR cannot use default case 2011-10-26 16:56:47 -04:00
Nenad Corbic d442c188eb freetdm: More debugging 2011-10-26 16:37:44 -04:00
Nenad Corbic 44895d738d freetdm: On alarm off event make sure that we had alarm on before issuing HW UNBLOCK 2011-10-26 16:34:56 -04:00
Nenad Corbic d0188836f8 freetdm: Do not set hw block clear flag on startup if port is already up 2011-10-26 16:17:11 -04:00
Nenad Corbic 0e2b85ddf4 freetdm: Add debugging 2011-10-26 16:09:32 -04:00
Nenad Corbic de2836e76a freetdm: Its possible to get HW ALARM clear even though we never got the initial alarm.
Only send out an unblock if block was sent from hw alarm and there are no
         maintenance blocks pending.
2011-10-26 14:57:27 -04:00
Nenad Corbic fd6d18d56c freetdm: Fixed GRA - added group reset by default on startup 2011-10-26 14:33:28 -04:00
Stefan Knoblich ec72d8d7fc FreeTDM: Rework libpri detection code to accept a custom installation prefix.
Example: --with-libpri=/usr/local

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-10-26 19:41:07 +02:00
Nenad Corbic 859d3b0ed5 Added GRS on startup by default 2011-10-26 13:05:12 -04:00
Nenad Corbic 79c1ed7dc1 freetdm: fixed reset tx after unequiped cic; reset sent flag was not being cleared 2011-10-25 20:29:22 -04:00
Nenad Corbic 982bcf4146 freetdm: added debugging - changed order of block/unblock 2011-10-25 19:04:50 -04:00
Nenad Corbic f8ae7e7464 freetdm: ftmod_ss7_enable_grp_mtp3Link - wait no wait based on proc 2011-10-25 18:44:28 -04:00
Nenad Corbic 7f746b4298 freetdm: added nowait mtp3 commands if proc ids dont match 2011-10-25 18:36:37 -04:00
Nenad Corbic 1d3d165822 freetdm: ftdm_running checks on handle, implemented no wait block 2011-10-25 18:05:41 -04:00
Moises Silva 71f0c6fde5 freetdm: added debug ftdm_print_stack macro 2011-10-25 17:36:30 -04:00
Moises Silva 13e6e7bb04 freetdm: added debug ftdm_print_stack macro 2011-10-25 17:13:07 -04:00
Nenad Corbic fc997aaea4 freetdm: logging fixes, ss7 events sanity checks 2011-10-24 19:40:45 -04:00
Moises Silva 680d92967f freetdm: mod_freetdm - add SIP x header for FreeTDM-NADI value 2011-10-24 13:22:53 -04:00
Moises Silva 563460ce15 freetdm: mod_freetdm - add SIP x header for FreeTDM-NADI value 2011-10-24 13:21:15 -04:00
Moises Silva 3b74246b16 freetdm: * Avoid acquiring the span mutex if the pendingchans queue is available for use *
* FreeTDM modules using the old FTDM_SPAN_STATE_CHANGE flag should be updated   *
         * until then, they are still vulnerable to deadlock situations                  *
         * Modules pending update: (ftmod_analog, ftmod_libpri, ftmod_isdn)              *
         * Fixes Sangoma redmine ticket #1791 0 FTDM span stop deadlock                  *
2011-10-24 12:49:36 -04:00
Moises Silva d79f95f2d6 freetdm: * Avoid acquiring the span mutex if the pendingchans queue is available for use *
* FreeTDM modules using the old FTDM_SPAN_STATE_CHANGE flag should be updated   *
         * until then, they are still vulnerable to deadlock situations                  *
         * Modules pending update: (ftmod_analog, ftmod_libpri, ftmod_isdn)              *
         * Fixes Sangoma redmine ticket #1791 0 FTDM span stop deadlock                  *
2011-10-24 12:43:54 -04:00
James Zhang 4aa0285a22 freetdm: CDR - location number implementation (for incoming and outgoing calls) 2011-10-12 17:44:52 -04:00
Jeff Lenk f0efbd3f08 FS-3599 --resolve correct windows compiler warnings 2011-10-07 08:38:48 -05: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
James Zhang 711091751b Merge remote branch 'origin/releases.3.4' into releases.3.4 2011-10-06 18:55:57 -04:00
James Zhang 8ccd5f0e13 freetdm: ss7 - fixing reset on in-use channel causing signaling down in the receiving side 2011-10-06 18:53:38 -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 4ece7e6ffd freetdm: ftmod_wanpipe - remove debug idle messages for good, not worth the noise 2011-10-06 17:55:45 -04:00
yannick f1257ab8b5 ftdm: fixing reset on in-use channel causing infinite state loop. 2011-10-06 17:36:50 -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
Moises Silva c82f1ecabd freetdm: Added SS7 variables for location number (pending SIP-X header integration) 2011-10-06 12:46:30 -04:00
Stefan Knoblich 5a96ebdaa3 FreeTDM: Escape $(srcdir) in configure.ac variable
Silencing a "configure:xxxx: srcdir: command not found" error message.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-10-06 11:08:42 +02: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
Stefan Knoblich 7f17ad7f92 ftmod_misdn: Change last commit to set -D_GNU_SOURCE instead.
This fixes all build errors.
(Stand-alone build of FreeTDM worked fine, for some
 i-don't-really-want-to-know strange reason).

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-10-01 14:05:14 +02:00
Stefan Knoblich 473aab18eb ftmod_misdn: Add -D_BSD_SOURCE to get u_int and friends.
Needed for the mISDN/mISDNif.h header structs, linux/types.h only
provides them for kernel code:

In file included from src/ftmod/ftmod_misdn/ftmod_misdn.c:51:
/usr/include/mISDN/mISDNif.h:296: error: expected specifier-qualifier-list before 'u_int'
/usr/include/mISDN/mISDNif.h:306: error: expected specifier-qualifier-list before 'u_int'
/usr/include/mISDN/mISDNif.h:339: error: expected ')' before 'nr'
...

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-10-01 13:31:16 +02: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
James Zhang ccc81f3207 ftdm: change max_path length from 255 to 4096 2011-09-30 16:03:08 -04:00
root 595454126b freetdm: changing call reference to generic header; removing location area code 2011-09-30 13:09:13 -04:00
James Zhang dbd6bb9a83 fixing bug 1625 - relay status not reported properly in the cli 2011-09-30 11:52:33 -04:00
James Zhang f43eecbab3 ftdm_ss7: Adding OPC and Call Reference Number to SIP x-headers 2011-09-30 10:25:21 -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 b828442052 freetdm: Fix SS7 ISUP T10 (Overlap digit timeout) - issue #1445 2011-09-28 19:17:40 -04:00
Moises Silva ac693947f9 freetdm: Fix SS7 T35 timer 2011-09-28 13:27:15 -04:00
Moises Silva 1ba6d277fa freetdm: Fix SS7 T35 timer 2011-09-28 13:24:54 -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
James Zhang d9fe71f024 freetdm: changing git user to be James Zhang - last commit of mtp2 relay fixing was mine 2011-09-27 15:46:40 -04:00
yannick 5ca31e9fbf freetdm: resolve mtp2 on relay always down problem 2011-09-27 15:44:20 -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
Moises Silva d89f3afdc2 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:15:19 -04:00
David Yat Sin b2fa7e3139 freetdm: Fix for sending CPG without sending ACM prior to that 2011-09-20 19:17:04 -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
Anthony Minessale 2ad4f00c9f add missing break on begin detect 2011-09-19 08:08:55 -05:00
Stefan Knoblich 975ac0ac70 FreeTDM: Fix private/libteletone*.h includes
libteletone headers include each other, use #include ""
to look in the local dir rather than the include search path.

Unbreaking all of my (still) external FreeTDM projects.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-09-19 15:55:07 +02:00
Anthony Minessale 379c9fc41d fix messup in dtmf change 2011-09-16 17:23:15 -05:00
Anthony Minessale f7b40140bb fix messup in dtmf change 2011-09-16 17:07:48 -05:00
Anthony Minessale 995d7dcb02 dont clear token on SIGEVENT_STOP for ISDN legs, save it for the hangup handler 2011-09-16 16:44:15 -05:00
Anthony Minessale 42ff14d22a use index in this loop instead of the max val for the iteration 2011-09-16 15:53:49 -05:00
Anthony Minessale 8a3c292534 fix seg in recent change 2011-09-16 14:52:14 -05:00
Anthony Minessale dbd5d2575e fix build on freetdm 2011-09-16 14:50:46 -05:00
Anthony Minessale 44822df63d we need to fix this build system it masks errors 2011-09-16 12:13:25 -05:00
Anthony Minessale a65794fb5e FS-3570 receive side, update libteletone to track duration so it is less likely to double detect and push api changes down to freetdm 2011-09-16 10:06:04 -05:00
Moises Silva 25417d3ea8 freetdm: Verify that the uuid that is being hung up is still attached to the FreeTDM device
This avoids hanging up a device that is no longer attached to the session, in the
         weird situation where the FreeSWITCH core takes an awful lot of time (more than 3 seconds)
         to come around to acknowledge the SIGEVENT_STOP signal.
2011-09-15 19:42:39 -04:00
Moises Silva aa0a6c9222 freetdm: print span/chan identifiers on hangup 2011-09-15 13:50:42 -04:00
Moises Silva 8a3c697794 Merge branch 'master' into smgmaster 2011-09-15 12:57:25 -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 efc3de5934 Merge branch 'master' into smgmaster 2011-09-15 12:09:20 -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 ccdd76b126 Merge branch 'master' into smgmaster 2011-09-15 09:53:55 -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 4ed900eb92 freetdm: add debug stacktrace to track spurious channel_on_hangup call 2011-09-12 18:13:10 -04: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
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
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
Stefan Knoblich 41b956fd24 FreeTDM: Don't ftdm_safe_free() span information in ftdm_span_destroy() if span provides a custom span_destroy callback.
Doing so will cause a NULL-deref segfault while removing the current span from the
global hash (cur_span->name == NULL) in ftdm_global_destroy().

Remove all the ftdm_safe_free() calls in the custom callback part of ftdm_span_destroy() and
let ftdm_global_destroy() handle that.

NOTE: Also adds a missing ftdm_safe_free(cur_span->dtmf_hangup) to ftdm_global_destroy().

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-09-01 01:48:03 +02:00
Michael Jerris 77284b5d21 use system default dtmf duration instead of hardcoded value 2011-08-31 14:45:16 -04:00
Moises Silva 485cb2f52c freetdm: added documentation regarding ftdm open known issues 2011-08-27 00:19:09 -04:00
Brian West 6a4cf724c8 conf/tones.conf from wiki page why nobody bothered to submit a jira so they would be included instead putting them on the wiki to be overlooked 2011-08-22 19:27:03 -05:00
David Yat Sin fa858fa3cc chlog: freetdm: SS7 - added TX of CPG message in progress media state 2011-08-08 13:23:30 -04:00
Moises Silva 46f097c1b9 freetdm: ftmod_wanpipe - tx idle frames needs to be bigger 2011-08-07 01:33:26 -04:00
Moises Silva c6f5c96c6e freetdm: *shrug* 2011-08-06 21:38:04 -04:00
Moises Silva f57c33f1ee OPENZAP-112 --resolve 2011-08-06 21:32:21 -04:00
Marc Olivier Chouinard 2ecf2d6e62 freetdm/libpri: Add support to change status of an individual channel or multiple channel. This allow to put bchannel out of service on an active T1 without affecting active call. Allow graceful out of service of T1 trunk.
NOTE: There is bugs in libpri, even latest 1.4.12 as of this writing if you use NI2.   So rightnow it only work in DMS100/ATT mode.  Email me to get the NI2 patch (really stupid error).
NOTE2: The way libpri is build doesn't allow to do advance feature with the SERVICE feature, so if you put an channel out of service, and the far end send an restart, it will be bring back in service.  Lot of changes in libpri is required to allow this.  I need to figure out what would be the best steps to take since I don't have commit access to libpri release.
NOTE3: You need to enable this feature by setting service_message_support to true on the span
2011-08-05 22:50:58 -04:00
Moises Silva bfabc98f3d freetdm: more CLI improvements 2011-08-04 10:10:13 -04:00
Moises Silva 3b2203b71b freetdm: default iostats to yes and allow configuration thru freetdm.conf 2011-08-03 20:30:39 -04:00
Moises Silva 8735906a5d freetdm: fix typo in ftmod_sangoma_isdn.h causing compilation error 2011-08-03 20:12:26 -04:00
Moises Silva bdf4b99238 Merge remote branch 'smgfs/master' 2011-08-03 17:46:45 -04:00
David Yat Sin 0b7d857545 freetdm: fixed errors introduced when Redirection Number was implemented 2011-08-03 17:28:56 -04:00
Moises Silva c3f719c80d freetdm: fix typo in iostats command - print proper tx queue size and length 2011-08-03 13:05:02 -04:00
David Yat Sin 6fe23b69d2 freetdm: ISDN - added #ifdef for backward compatibility 2011-08-03 13:04:22 -04:00
David Yat Sin 4e020e2f23 Merge remote branch 'smgfs/master' 2011-08-03 11:57:55 -04:00
David Yat Sin 473fd0ce89 freetdm: ISDN - allow reception of NOTIFY msg 2011-08-03 11:53:40 -04:00
David Yat Sin 65bac44b32 freetdm: ISDN - Added function to transmission of NOTIFY msg 2011-08-03 10:52:18 -04:00
Jeff Lenk 5d37bc9455 OPENZAP-171 --resolve 2011-08-03 09:05:01 -05:00
Moises Silva 68b887c760 freetdm: allow IO statistics access to users
added ftdm iostats command
2011-07-30 17:40:32 -04:00
Moises Silva f68d351fdd freetdm: refactoring of the CLI, it was getting way too ugly! 2011-07-29 19:35:10 -04:00
Moises Silva 43a8683a4a Merge branch 'master' into smgmaster 2011-07-29 17:07:24 -04:00
Moises Silva dcbfa9a876 Merge remote-tracking branch 'fsorig/master' 2011-07-29 17:06:00 -04:00
Moises Silva d07d4896d4 Merge branch 'master' into smgmaster 2011-07-29 17:03:11 -04:00
Moises Silva 227971b340 freetdm: restrict GRS CLI request range to stay within sane boundaries 2011-07-29 17:02:12 -04:00
Moises Silva 3c731ed968 freetdm: ss7 - skip non-voice cics when processing GRA 2011-07-29 17:01:41 -04:00
Moises Silva ea16afe34e svn-style merge from moy.ss7grs_perchan branch (spin off releases.3.2)
addressed issue with multiple GRS at the same time in a single span
revisions merged: afcc831d6fa1fccaf7ef091b8c48b905a76d834d 9c815c9ecd7102e7d30c3988cd41682b8cbade0b
2011-07-29 16:59:53 -04:00
Moises Silva f1dc7b1ddb Merge branch 'master' into smgmaster 2011-07-29 16:50:22 -04:00
Moises Silva 09e545d377 freetdm: core - report initial alarms on span start 2011-07-29 14:55:35 -04:00
Moises Silva 587bb373b9 freetdm: fix event reporting in sangoma isdn 2011-07-29 14:01:49 -04:00
David Yat Sin 372ae224e5 added check for trunk_type for each span 2011-07-25 19:03:11 -04:00
Moises Silva 492bc6b416 freetdm: ftmod_libpri - request channel exclusively 2011-07-23 12:53:04 -04:00
Jeff Lenk 61b04bfc78 OPENZAP-168 --resolve 2011-07-22 08:59:19 -05:00
David Yat Sin c3cbb3df88 Merge remote branch 'fsorig/master'
Conflicts:
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_trace.c
2011-07-18 18:24:54 -04:00
David Yat Sin 157a89adef chlog: freetdm ISDN: Increased T200 timer to 3 sec. 2011-07-18 18:12:46 -04:00
David Yat Sin 2c9bccbfc8 chlog: freetdm: Added support for RESTART timeout, treat RESTART's without restart indicator IE as restart on full interface 2011-07-15 17:56:48 -04:00
David Yat Sin 33aa1cb763 chlog: freetdm: Added support for RESTART timeout, treat RESTART's without restart indicator IE as restart on full interface 2011-07-15 17:56:41 -04:00
David Yat Sin b75f8d4b8d freetdm: ISDN - Fix for dropping some frames on start due to flush 2011-07-15 14:48:24 -04:00
David Yat Sin 7dad26d834 freetdm: Changed Q921 and Q931 traces to debug level 2011-07-14 18:32:20 -04:00
David Yat Sin 3d028378c5 Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2011-07-14 18:30:16 -04:00
David Yat Sin 4c3e3530d5 freetdm: Changed sending of RESTART message behaviour on sig UP for EuroISDN 2011-07-14 11:33:14 -04:00
David Yat Sin 72e64748e8 FreeTDM: Fix for compile error on some systems 2011-07-13 11:30:22 -04:00
David Yat Sin f0578a8011 chlog: freetdm: ISDN - Fix for Caller ID name on DMS-100 2011-07-12 17:26:44 -04:00
David Yat Sin 818e7541fb freetdm: Increased maximum number of channels per group to 2048 2011-07-07 11:24:58 -04:00
David Yat Sin f0da8f4757 chlog: freetdm: Increased Maximum number of spans to 128 (requires libsng_isdn 7.7.2 or later) 2011-07-05 18:24:50 -04:00
Moises Silva fa2ef5e724 freetdm: change CLI parsing (ftdm_separate_string) to properly ignore white space (fixes Sangoma issue #778)
minor change into SS7 CLI to use ftdm_array_len() instead of duplicating it
2011-07-04 15:31:41 -04:00
Stefan Knoblich 1c608f0a5d ftmod_libpri: final fix called number overlap receiving...
ftdm_copy_string() length parameter needs to include the terminating NUL byte.

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
Tested-by: Stefan Knoblich <stkn@openisdn.net>
2011-06-30 23:53:36 +02:00
Stefan Knoblich c01c500153 ftmod_libpri: Incoming overlap receiving digits have to be appended to the DNIS.
Libpri doesn't do that for us, so handle things on our end.
Other parts of the previous patch seem to work fine.

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2011-06-30 13:01:19 +02:00
Stefan Knoblich d2ce252509 ftmod_libpri: Add experimental (untested) support for overlap receiving in TE mode.
Adds a new "overlapdial" configuration parameter that enables
incoming overlap dialing when set to "incoming", "yes" or "both" (possible values:
"no", "yes"/"both", "incoming"/"receive", "outgoing"/"send").

(Overlap dialing is disabled by default)

NOTE: only the non-overlap receive case has been tested (= doesn't break existing setups)

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2011-06-29 13:26:51 +02:00
Moises Silva cce0289874 freetdm: added mixaudio parameter to ftmod_pritap per Orecx request 2011-06-28 11:28:58 -04:00
Stefan Knoblich 01785fb31d FreeTDM: gcc-4.6.0 fix (-Wunused-but-set-variable)
ftmod_sangoma_isdn.c:ftdm_sangoma_isdn_io_run()
	remove unused variable wflags.

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2011-06-28 15:05:31 +02:00
Stefan Knoblich e80279dd00 FreeTDM: gcc-4.6.0 fix (-Wunused-but-set-variable)
ftdm_io.c:ftdm_channel_process_media()
	status variable was set but otherwise unused

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2011-06-28 14:54:37 +02:00
Moises Silva 162f2a3dd9 freetdm: change CLI parsing (ftdm_separate_string) to properly ignore white space (fixes Sangoma issue #778)
minor change into SS7 CLI to use ftdm_array_len() instead of duplicating it
2011-06-23 18:43:15 -04:00
Moises Silva 8cfd928abf fix ss7 typo 2011-06-23 18:42:51 -04:00
Moises Silva 1c09adb34f Merge branch 'master' into smgmaster 2011-06-23 16:13:41 -04:00
Moises Silva f3dc175941 freetdm: fix SS7 cgb and cgu commands causing segfault - fixes Sangoma issue #780
Conflicts:

	libs/freetdm/src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c
2011-06-23 16:12:56 -04:00
Moises Silva 288455cfe2 freetdm: add some extra logging in ftmod_zt and ftmod_analog 2011-06-22 17:05:53 -04:00
Jeff Lenk dc8dceba6e OPENZAP-166 --resolve trivial compiler warnings 2011-06-20 09:36:22 -05:00
Moises Silva ff6981574f freetdm: Add Ricardo to list of contributors in ftmod_sangoma_ss7 2011-06-17 11:35:06 -04:00
Moises Silva 1b6d40d19b Merge branch 'master' into smgmaster 2011-06-17 10:40:56 -04:00
Moises Silva 14099b814f freetdm: OPENZAP-159 --resolved SS7 REL message collision 2011-06-17 10:40:20 -04:00
Moises Silva 2a9046fdb8 Merge branch 'master' into smgmaster
Conflicts:
	build/modules.conf.in
2011-06-16 13:43:37 -04:00
Moises Silva 55db4ce54c freetdm: OPENZAP-151 --resolved SS7 ANM and REL message collision 2011-06-16 13:40:36 -04:00
David Yat Sin a8abef1013 Changed libsng_isdn and libsng_ss7 include paths 2011-06-16 13:29:58 -04:00
Moises Silva 751c963820 Merge remote-tracking branch 'fsorig/master' 2011-06-16 13:29:24 -04:00
David Yat Sin d6e3e7fcd7 Changed libsng_isdn and libsng_ss7 include paths 2011-06-16 13:23:06 -04:00
Moises Silva af31a8cb61 freetdm: OPENZAP-158 --resolve map operator calling party category in the openr2 module 2011-06-16 12:32:04 -04:00
Moises Silva 441c5034f1 freetdm: OPENZAP-135 -- resolve infinite loop when all channels busy and hunt in round robin mode 2011-06-15 16:04:35 -04:00
Jeff Lenk 71c66bcf5a OPENZAP-162 -- resolve 2011-06-14 08:47:46 -05:00
Moises Silva c23c3d8730 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-06-13 17:36:38 -04:00
David Yat Sin aa01e36c37 Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2011-06-13 16:22:20 -04:00
David Yat Sin d043fe03aa freetdm: Fix window compile 2011-06-13 16:22:10 -04:00
David Yat Sin 2109627510 freetdm: Updated Visual Studio files to compile ftmod_sangoma_isdn_transfer.c 2011-06-13 13:14:42 -04:00
Jeff Lenk c77fdb5e8c OPENZAP-163 --resolve trivial compile warning 2011-06-10 11:55:22 -05:00
David Yat Sin 269595ec60 chlog: freetdm: ISDN - Support for chan-id-invert-extend-bit 2011-06-10 11:52:57 -04:00
David Yat Sin 346f11f81e chlog: Freetdm: Support for force_sending_complete (Requires libsng_isdn support) 2011-06-10 11:11:44 -04:00
Michael Jerris 15c79424e9 always use our includes first so we use our srcdir headers over installed versions 2011-06-09 18:14:00 -04:00
Moises Silva 1911db658c Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2011-06-09 17:24:34 -04:00
David Yat Sin 1fe877be9d Change error print to debug 2011-06-09 16:48:27 -04:00
David Yat Sin 408244b0c5 Changed error print to debug 2011-06-09 16:42:33 -04:00
David Yat Sin b7e99e9677 Fix for sending ServInfoA on ANSI 2011-06-09 16:42:17 -04:00
David Yat Sin acc1e1c9d0 Fix for sending ServInfoA on ANSI 2011-06-09 16:41:28 -04:00
David Yat Sin 689375a37c Changed default value of MTP2 T7 timer 2011-06-09 16:40:26 -04:00
David Yat Sin 2d8e6e1f13 freetdm: ISDN - Fix for d-channel going down after some time 2011-06-09 16:49:55 -04:00
Moises Silva 152ce41283 freetdm: print libpri error string on error events 2011-06-09 11:15:53 -04:00
Moises Silva 1d3417a97b freetdm: be more tolerant to a few read errors 2011-06-07 17:35:49 -04:00
Moises Silva 5042b21fc5 freetdm: check if the event was created before firing it 2011-06-07 09:54:50 -04:00
David Yat Sin feb21920db Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2011-06-06 10:57:30 -04:00
David Yat Sin 5e8e23f57e Merge remote branch 'smgfs/master'
Conflicts:
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c
2011-06-03 17:48:39 -04:00
David Yat Sin bd7672242c Support for AT&T *8 Transfer (VRU only) 2011-06-03 17:18:30 -04:00
Moises Silva 3fa2fce3f3 freetdm: added fail-on-error global configuration to refuse
to load the module if there is any error

Conflicts:

	libs/freetdm/mod_freetdm/mod_freetdm.c
2011-06-01 15:24:09 -04:00
David Yat Sin b92ad06b98 Disabled calling SRegInfoShow on Windows 2011-06-01 11:54:45 -04:00
David Yat Sin 01eb776469 Merge branch 'master' of git.sangoma.com:smg_freeswitch
Conflicts:
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c
2011-05-31 13:25:03 -04:00
David Yat Sin 478e685292 freetdm - ISDN: Added API command to print Trillium memory info 2011-05-30 17:10:38 -04:00
David Yat Sin c20f56bad0 freetdm - ISDN:Fix for not responding to incoming RESTARTs with RESTART ACK if there is an active call on that channel at the time the RESTART was received 2011-05-27 12:19:15 -04:00
Stefan Knoblich 8035d498ea ftmod_zt: Add ZT_EVENT_ABORT event handling and update ZT_EVENT_OVERRUN error message.
ZT_EVENT_ABORT and ZT_EVENT_OVERRUN are HDLC events.

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2011-05-27 12:46:24 +02:00
David Yat Sin 4d77481ee1 freetdm: ISDN - Fix for segfault when we receive STA CFM while call is being cleared 2011-05-26 16:34:42 -04:00
Moises Silva e56d8934fe freetdm: make codec configurable for unrestricted digital calls (for G722 calls in Sangoma ISDN) 2011-05-19 17:17:46 -03:00
Moises Silva 1b965d864b freetdm: ftmod_sangoma_isdn - warning fixed 2011-05-19 22:52:49 +05:30
Moises Silva 3ddca37d87 freetdm: ftmod_sangoma_isdn - comment unused variables (fix for compile warnings) 2011-05-19 12:47:22 -04:00
Moises Silva fccbba53c3 added FTDM_SILENCE_VALUE macro 2011-05-18 19:00:42 -04:00
Moises Silva b22fc869dd freetdm: update bearer capability macro 2011-05-17 20:02:18 -04:00
Moises Silva 0b59756edd Merge remote-tracking branch 'smgfs/master'
Conflicts:
	libs/freetdm/src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c
2011-05-17 19:57:49 -04:00
David Yat Sin ea428669d3 chlog: freetdm - SS7: Support for Transparent IAM 2011-05-17 17:27:05 -04:00
David Yat Sin a8e7dd2e9d Merge branch 'master' of git.sangoma.com:smg_freeswitch 2011-05-17 17:24:44 -04:00
David Yat Sin 1bc6611765 freetdm - SS7:* is now transmitted as 0x0b in Called Party Number 2011-05-17 10:27:49 -04:00
Stefan Knoblich 9cceb8e62c FreeTDM: gcc-4.6 fix (-Wunused-but-set)
ftmod_wanpipe.c:
	Remove myerrno variable in wanpipe_read(),
	snprintf does not set errno (according to the manpage),
	so no need to save it (without even using it later).

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2011-05-14 23:59:14 +02:00
Stefan Knoblich ae051cfc47 FreeTDM: gcc-4.6 fixes (-Wunused-but-set)
ftdm_io.c:
	Remove cut_path() function and call since it didn't seem to
	do anything useful anyway.

ftmod_analog.c/ftmod_analog_em.c:
	Remove status variable that was used for the result of codec_func(),
	but was never checked for errors or returned to the caller.

libteletone_generate.c:
	Remove unused variable "var".

Signed-off-by: Stefan Knoblich <s.knoblich@axsentis.de>
2011-05-14 23:20:03 +02:00
David Yat Sin 20210a9f9d freetdm: SS7 - Removed unintentional TX of ITX message 2011-05-13 12:03:41 -04:00
David Yat Sin c4d8fa6408 freetdm - ISDN fix for callback pointers 2011-05-11 17:33:45 -04:00
Moises Silva e544e4cff1 freetdm: Add initial testing support for unrestricted digital calls using G722 codec 2011-05-10 23:35:20 -04:00
Moises Silva b073d1a396 freetdm: typo 2011-05-10 23:07:15 -04:00
David Yat Sin 72d98bf16d freetdm - ISDN disabled T302 timer on non EuroISDN variants 2011-05-10 17:38:03 -04:00
David Yat Sin a690c1b1e3 Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2011-05-10 17:34:36 -04:00
David Yat Sin 3b2019cd1f minor changes 2011-05-10 16:09:02 -04:00
David Yat Sin 32bf306af5 freetdm: ss7 - CPC 2011-05-10 15:56:30 -04:00
David Yat Sin 95f2d6de0d freetdm: Changed SS7 to use global CPC variable 2011-05-10 15:28:10 -04:00
Stefan Knoblich 2ac7a9de4f ftmod_libpri: Set default config values, just in case the user forgot to set some parameters in freetdm.conf.xml.
This fixes the "[ERR] ftmod_libpri.c:128 Don't know how to SABME on a type 0 node" messages
from libpri, when there's no "node"/"mode" parameter set for the span.

NOTE: Now defaulting to CPE mode; EuroISDN on BRI/E1 and 4ESS on J1/T1 lines,
      make sure you set dialect/switchtype!

Signed-off-by: Stefan Knoblich <stkn@openisdn.net>
2011-05-10 19:53:58 +02:00
David Yat Sin 05fa93f831 chlog: freetdm: ss7 - Support for Calling Party's Category 2011-05-10 11:38:23 -04:00
David Yat Sin 086be03bee Merge branch 'master' of ssh://git.freeswitch.org:222/freeswitch 2011-05-10 11:05:41 -04:00
David Yat Sin 403dd0c5b0 freetdm: ISDN - Fix for segfault when setting outbound-called-npi=e164 2011-05-09 18:04:07 -04:00
David Yat Sin e61c959336 freetdm: changed print from warning to debug when we receive a Facility IE without Calling Name 2011-05-09 12:38:30 -04:00
Michael Jerris 23d8658505 make ananlog alarm 2011-05-07 00:27:20 -04:00
Moises Silva 929b69ea5d Merge remote branch 'smgfs/master' 2011-05-06 22:29:20 -04:00
David Yat Sin e9f8fb4942 freetdm - SS7 Support for custom SIP headers for RDNIS and Generic Number 2011-05-06 17:52:41 -04:00
David Yat Sin eb1a0a395f freetdm: ss7 - Support for receiving Generic Number IE 2011-05-06 16:03:14 -04:00
David Yat Sin b51074f9df Support for TX generic Number 2011-05-06 15:35:08 -04:00
David Yat Sin c19074bcd2 freetdm: ss7 - Support for transmission of Generic Number 2011-05-06 15:31:56 -04:00
David Yat Sin 81198ac671 Fix compile issue when SANGOMA_SPIROU is not defined 2011-05-06 13:13:44 -04:00
David Yat Sin 7e8c44a407 chlog:freetdm: Support for SS7 - SPIROU TXA and ITX messages 2011-05-06 12:25:04 -04:00
Michael Jerris b7da00209f too much perl 2011-05-05 22:04:43 -04:00
Arnaldo Pereira 65a324b8ba freetdm: ftmod_r2 - consider force_release and overwrite the disconnect cause,
on incoming calls, when it's set.
2011-05-05 12:22:18 -04:00