]> git.ipfire.org Git - thirdparty/freeswitch.git/log
thirdparty/freeswitch.git
13 years agofreetdm: Add documentation for SS7 native bridge
James Zhang [Tue, 3 Apr 2012 15:27:25 +0000 (11:27 -0400)] 
freetdm: Add documentation for SS7 native bridge

13 years agofreetdm: Clean up SS7 native bridge code to separate the call control, queuing and
James Zhang [Tue, 3 Apr 2012 15:23:49 +0000 (11:23 -0400)] 
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

13 years agofreetdm: Adding condition to parse sip headers only for non-freetdm channels.
James Zhang [Fri, 30 Mar 2012 20:50:00 +0000 (16:50 -0400)] 
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.

13 years agofreetdm: fixing more potential null pointers in native bridge mode.
James Zhang [Tue, 27 Mar 2012 22:00:24 +0000 (18:00 -0400)] 
freetdm: fixing more potential null pointers in native bridge mode.

13 years agofreetdm: fix isup timers default values
James Zhang [Wed, 21 Mar 2012 14:12:59 +0000 (10:12 -0400)] 
freetdm: fix isup timers default values

13 years agoRevert "freeswitch: taking out -Ox cflags and have them replaced with -O0"
James Zhang [Wed, 21 Mar 2012 14:05:51 +0000 (10:05 -0400)] 
Revert "freeswitch: taking out -Ox cflags and have them replaced with -O0"

This reverts commit e560ddccdec0232a040851f088db1adec2cbc7f4.

13 years agoRevert "freetdm: fixing default values for ISUP"
James Zhang [Wed, 21 Mar 2012 14:00:27 +0000 (10:00 -0400)] 
Revert "freetdm: fixing default values for ISUP"

This reverts commit f1d80cd25d13d78deab88ea7f559e63aa899f319.

13 years agofreeswitch: taking out -Ox cflags and have them replaced with -O0
James Zhang [Tue, 20 Mar 2012 15:56:29 +0000 (11:56 -0400)] 
freeswitch: taking out -Ox cflags and have them replaced with -O0
            we dont want to optimize out symbols for debugging

13 years agofreetdm: fixing default values for ISUP
James Zhang [Fri, 16 Mar 2012 20:09:54 +0000 (16:09 -0400)] 
freetdm: fixing default values for ISUP

13 years agofreetdm: synchronizing fixes in releases.3.5 version
James Zhang [Fri, 16 Mar 2012 15:40:21 +0000 (11:40 -0400)] 
freetdm: synchronizing fixes in releases.3.5 version
         - glare
         - cgb/cgu range bug
         - inhibit/uninhibit

13 years agofreetdm: fixing a potential crash on a rarely happened situation
James Zhang [Thu, 15 Mar 2012 22:05:47 +0000 (18:05 -0400)] 
freetdm: fixing a potential crash on a rarely happened situation

13 years agofreetdm: Fix redmine issue #2931 - Crash on SIP to SS7 call after sigbridge call
Moises Silva [Thu, 8 Mar 2012 00:04:31 +0000 (19:04 -0500)] 
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

14 years agofreetdm: fixing format and loc_nadi value according to review board No. 98
James Zhang [Fri, 24 Feb 2012 21:32:44 +0000 (16:32 -0500)] 
freetdm: fixing format and loc_nadi value according to review board No. 98

14 years agofreetdm: fixing improper log position in tx acm function
James Zhang [Thu, 16 Feb 2012 23:33:00 +0000 (18:33 -0500)] 
freetdm: fixing improper log position in tx acm function

14 years agofreetdm: adding x-ocn-* headers for incoming sip calls
James Zhang [Thu, 16 Feb 2012 21:49:51 +0000 (16:49 -0500)] 
freetdm: adding x-ocn-* headers for incoming sip calls

14 years agofreetdm: Remove optimistic sanity check, prints spurious error messages
Moises Silva [Thu, 16 Feb 2012 21:08:21 +0000 (16:08 -0500)] 
freetdm: Remove optimistic sanity check, prints spurious error messages

14 years agofreetdm: Fix improper logging statement when doing native ss7 bridge (peer_chan was...
James Zhang [Thu, 16 Feb 2012 20:15:22 +0000 (15:15 -0500)] 
freetdm: Fix improper logging statement when doing native ss7 bridge (peer_chan was set to the SIP leg)

14 years agofreetdm: Add support to set/receive location and original call number SS7 elements...
James Zhang [Thu, 16 Feb 2012 20:14:06 +0000 (15:14 -0500)] 
freetdm: Add support to set/receive location and original call number SS7 elements through variables (including SIP X headers)

14 years agofreetdm: Fix spirou certification native bridge issue
Moises Silva [Thu, 16 Feb 2012 19:49:18 +0000 (14:49 -0500)] 
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

14 years agofreetdm: Fix bug in SS7 state processing introduced during the changes
Moises Silva [Tue, 31 Jan 2012 20:18:53 +0000 (15:18 -0500)] 
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

14 years agofreetdm: Some more clean up for ss7 event cloning
James Zhang [Tue, 31 Jan 2012 00:15:02 +0000 (19:15 -0500)] 
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

14 years agofreetdm: Reduce the size of the span peer channels and ss7 info per channel clone...
James Zhang [Mon, 30 Jan 2012 23:26:08 +0000 (18:26 -0500)] 
freetdm: Reduce the size of the span peer channels and ss7 info per channel clone event queues

14 years agofreetdm: Only hangup with user message when release location information is set
James Zhang [Mon, 30 Jan 2012 23:02:26 +0000 (18:02 -0500)] 
freetdm: Only hangup with user message when release location information is set

14 years ago freetdm: removing sus|res|rel commands
James Zhang [Mon, 30 Jan 2012 22:37:57 +0000 (17:37 -0500)] 
  freetdm: removing sus|res|rel commands

14 years ago freetdm: testing code of sending suspend message
James Zhang [Mon, 30 Jan 2012 18:19:36 +0000 (13:19 -0500)] 
  freetdm: testing code of sending suspend message

14 years ago freetdm: adding susp/resm/rels but not finished.
James Zhang [Mon, 30 Jan 2012 15:28:08 +0000 (10:28 -0500)] 
  freetdm: adding susp/resm/rels but not finished.
           disable t6 finished.

14 years agofreetdm: Cancel ISUP T6 timer when using native bridge (Spirou certification fix)
Moises Silva [Fri, 27 Jan 2012 17:54:06 +0000 (18:54 +0100)] 
freetdm: Cancel ISUP T6 timer when using native bridge (Spirou certification fix)

14 years agofreetdm: More spirou certification changes
Moises Silva [Fri, 27 Jan 2012 15:22:45 +0000 (16:22 +0100)] 
freetdm: More spirou certification changes
         - Send RLC immediately even when in native bridge mode
         - Do not enqueue RLC coming from the network

14 years agofreetdm: spirou certification specific changes about RDNIS/RDINF usage
Moises Silva [Fri, 27 Jan 2012 15:21:53 +0000 (16:21 +0100)] 
freetdm: spirou certification specific changes about RDNIS/RDINF usage

14 years agofreetdm: spirou transparent IAM fix for called number
Moises Silva [Fri, 27 Jan 2012 13:42:33 +0000 (14:42 +0100)] 
freetdm: spirou transparent IAM fix for called number

14 years agofreetdm: Fix incorrect state transition from DOWN to UP when processing an SS7 clone...
Moises Silva [Fri, 27 Jan 2012 11:44:11 +0000 (06:44 -0500)] 
freetdm: Fix incorrect state transition from DOWN to UP when processing an SS7 clone event

14 years agofreetdm: Fix uninitialized var leading to segfault
Moises Silva [Fri, 27 Jan 2012 11:34:36 +0000 (06:34 -0500)] 
freetdm: Fix uninitialized var leading to segfault

14 years agofreetdm: Relay the rest of SS7 messages supported by libsng_ss7 when in native bridge...
Moises Silva [Fri, 27 Jan 2012 05:13:59 +0000 (00:13 -0500)] 
freetdm: Relay the rest of SS7 messages supported by libsng_ss7 when in native bridge mode

14 years agofreetdm: Tweaks to SS7 native bridge feature
Moises Silva [Fri, 27 Jan 2012 04:51:21 +0000 (23:51 -0500)] 
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

14 years agoMerge remote branch 'origin/jz.SPIROU' into releases.3.4.bridge_hack
Moises Silva [Fri, 27 Jan 2012 04:34:20 +0000 (23:34 -0500)] 
Merge remote branch 'origin/jz.SPIROU' into releases.3.4.bridge_hack

14 years agofreetdm: Fixes for native signaling bridge (now tested, and works for basic call...
Moises Silva [Fri, 27 Jan 2012 04:31:29 +0000 (23:31 -0500)] 
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)

14 years agofreetdm: Initial attempt to bridge natively SS7 signaling between 2 channels
Moises Silva [Fri, 27 Jan 2012 03:44:19 +0000 (22:44 -0500)] 
freetdm: Initial attempt to bridge natively SS7 signaling between 2 channels

14 years ago FreeTDM: adding sip_h_X-FreeTDM-RDNIS-Presentation in redirecting number
James Zhang [Fri, 27 Jan 2012 00:25:04 +0000 (19:25 -0500)] 
  FreeTDM: adding sip_h_X-FreeTDM-RDNIS-Presentation in redirecting number
           to give the ability to change RDNIS Presentation value for
           Transparent IAM

14 years ago FreeTDM: reuse sip_h_X-FreeTDM-LOC = NULL to indicate disable LOC
James Zhang [Thu, 26 Jan 2012 23:52:27 +0000 (18:52 -0500)] 
  FreeTDM: reuse sip_h_X-FreeTDM-LOC = NULL to indicate disable LOC

14 years ago FreeTDM: fix for SPIROU
James Zhang [Thu, 26 Jan 2012 23:00:34 +0000 (18:00 -0500)] 
  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

14 years ago FreeTDM: patch SPIROU requests
James Zhang [Thu, 26 Jan 2012 22:37:35 +0000 (17:37 -0500)] 
  FreeTDM: patch SPIROU requests
           - adding freetdm_iam_loc_pres variable to disable LOC in transparent IAM
     - confirming freetdm_bearer_capability is working properly

14 years agofreetdm: Fix incorrect variable name leading to segfault
Moises Silva [Thu, 26 Jan 2012 22:22:45 +0000 (17:22 -0500)] 
freetdm: Fix incorrect variable name leading to segfault

14 years agofreetdm: Implement SS7 transparent IAM functionality using the event clones queue
Moises Silva [Thu, 26 Jan 2012 21:50:38 +0000 (16:50 -0500)] 
freetdm: Implement SS7 transparent IAM functionality using the event clones queue

14 years ago FreeTDM: adding variable ss7_rel_loc for REL location indicator (to support SPIROU)
James Zhang [Thu, 26 Jan 2012 21:39:43 +0000 (16:39 -0500)] 
  FreeTDM: adding variable ss7_rel_loc for REL location indicator (to support SPIROU)

14 years agofreetdm: Add new queue for ss7 clone messages, all incoming messages are queued now
Moises Silva [Thu, 26 Jan 2012 20:21:51 +0000 (15:21 -0500)] 
freetdm: Add new queue for ss7 clone messages, all incoming messages are queued now

14 years ago FreeTDM: Fixing issues of SPIROU
James Zhang [Thu, 26 Jan 2012 16:19:41 +0000 (11:19 -0500)] 
  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

14 years ago FreeTDM: remove the previous commit
James Zhang [Wed, 25 Jan 2012 23:00:41 +0000 (18:00 -0500)] 
  FreeTDM: remove the previous commit
           - hardcode does not work in this matter

14 years ago FreeTDM: location value in REL message set to 0x04
James Zhang [Wed, 25 Jan 2012 21:00:20 +0000 (16:00 -0500)] 
  FreeTDM: location value in REL message set to 0x04
           - only available to SPIROU

14 years ago FreeTDM: fixing OPC bug using local SPC
James Zhang [Thu, 19 Jan 2012 23:04:03 +0000 (18:04 -0500)] 
  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

14 years ago FreeTDM: remove the portion of opc fix
James Zhang [Thu, 19 Jan 2012 21:55:15 +0000 (16:55 -0500)] 
  FreeTDM: remove the portion of opc fix

14 years agoFreeTDM: fixing redirect information outgoing call bug
James Zhang [Thu, 19 Jan 2012 21:31:52 +0000 (16:31 -0500)] 
FreeTDM: fixing redirect information outgoing call bug

14 years agoFixed bug#2215 - SPIROU transparent IAM max size error
William Adam [Wed, 21 Dec 2011 19:56:03 +0000 (14:56 -0500)] 
Fixed bug#2215 - SPIROU transparent IAM max size error

14 years agofreetdm: Added sng_cc_resource_check()
Nenad Corbic [Mon, 19 Dec 2011 07:27:38 +0000 (02:27 -0500)] 
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.

14 years agofreetdm: The remote hangup logic that waits for 3sec for FS to hanup up
Nenad Corbic [Mon, 19 Dec 2011 04:02:59 +0000 (23:02 -0500)] 
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.

14 years agoSet the cpu thresholds to 92 and 82
Nenad Corbic [Fri, 16 Dec 2011 15:06:57 +0000 (10:06 -0500)] 
Set the cpu thresholds to 92 and 82
Set the 3000ms warning to NOTICE not CRIT

14 years agoFix for 3000ms timeout on hangup.
Nenad Corbic [Fri, 16 Dec 2011 01:39:38 +0000 (20:39 -0500)] 
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

14 years agoReverted the previous commit of doing nothing on RESTART while in PAUSE
Nenad Corbic [Thu, 15 Dec 2011 20:50:58 +0000 (15:50 -0500)] 
Reverted the previous commit of doing nothing on RESTART while in PAUSE

14 years agoAdded a retry on configuraiton.
Nenad Corbic [Thu, 15 Dec 2011 20:47:41 +0000 (15:47 -0500)] 
Added a retry on configuraiton.
Its possible to timeout on ISUP ckt config in scenarios
of huge load.

14 years agoMerge remote-tracking branch 'origin/releases.3.4' into releases.3.4
Nenad Corbic [Thu, 15 Dec 2011 18:10:55 +0000 (13:10 -0500)] 
Merge remote-tracking branch 'origin/releases.3.4' into releases.3.4

14 years agoswitch-core: changed the exit status when modules fail to load to 65 (EX_DATAERR...
Moises Silva [Thu, 15 Dec 2011 17:34:56 +0000 (12:34 -0500)] 
switch-core: changed the exit status when modules fail to load to 65 (EX_DATAERR), init scripts must
             be updated to handle 65 instead of 1 to detect module loading errors

14 years agoFixed the previous commit
Nenad Corbic [Thu, 15 Dec 2011 01:06:57 +0000 (20:06 -0500)] 
Fixed the previous commit

14 years agoFixed hw alarm crash. When we get hw alarm in the middle of configuration.
Nenad Corbic [Thu, 15 Dec 2011 00:56:25 +0000 (19:56 -0500)] 
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

14 years agofreetdm: adding support of x-headers for Redirection Information
James Zhang [Tue, 6 Dec 2011 20:38:05 +0000 (15:38 -0500)] 
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

14 years agoFreetdm: adding X-FreeTDM-ANI-NADI and X-FreeTDM-DNIS-NADI support
James Zhang [Mon, 5 Dec 2011 21:58:26 +0000 (16:58 -0500)] 
Freetdm: adding X-FreeTDM-ANI-NADI and X-FreeTDM-DNIS-NADI  support

14 years agofreetdm: fix license path to use sngss7 path limits
Moises Silva [Fri, 2 Dec 2011 16:24:34 +0000 (11:24 -0500)] 
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

14 years agoMerge branch 'releases.3.4' of git.sangoma.com:smg_freeswitch into releases.3.4
James Zhang [Fri, 2 Dec 2011 00:22:27 +0000 (19:22 -0500)] 
Merge branch 'releases.3.4' of git.sangoma.com:smg_freeswitch into releases.3.4

14 years agoUpdate to the SUSPEND state machine updated 2 commits ago.
James Zhang [Fri, 2 Dec 2011 00:18:54 +0000 (19:18 -0500)] 
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.

14 years agofreetdm: fix cpu monitor inconsistent messages, variable names etc
Moises Silva [Thu, 1 Dec 2011 17:13:12 +0000 (12:13 -0500)] 
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)

14 years agoMerge branch 'releases.3.4' of ssh://git.sangoma.com/smg_freeswitch into releases.3.4
wadam [Thu, 1 Dec 2011 16:43:08 +0000 (11:43 -0500)] 
Merge branch 'releases.3.4' of ssh://git.sangoma.com/smg_freeswitch into releases.3.4

14 years agoFixed Bug#2018 - The threshold of cpu warning message should be increased
wadam [Thu, 1 Dec 2011 16:40:18 +0000 (11:40 -0500)] 
Fixed Bug#2018 - The threshold of cpu warning message should be increased

14 years agoFixed the exception condition - trigger reset
James Zhang [Thu, 1 Dec 2011 08:16:59 +0000 (03:16 -0500)] 
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

14 years agoFixed following two secnarios
James Zhang [Thu, 1 Dec 2011 01:02:25 +0000 (20:02 -0500)] 
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

14 years agoSigificant changes to the core state machine :)
James Zhang [Thu, 1 Dec 2011 00:11:33 +0000 (19:11 -0500)] 
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

14 years agoFixed case
James Zhang [Tue, 29 Nov 2011 18:11:38 +0000 (13:11 -0500)] 
Fixed case

S UP - Place Call - relay down - Hangup - relay up -
Confirm Call hangsup up properly and unblock is set.

Fixed unexpeced reset condidtions.

14 years agoFixed 5 relay conditions
James Zhang [Sat, 26 Nov 2011 02:05:39 +0000 (21:05 -0500)] 
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

14 years agoFixed the out of sequence frame condition
Nenad Corbic [Fri, 25 Nov 2011 00:19:58 +0000 (19:19 -0500)] 
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

14 years agofreetdm: fix redirection presentation number in X-header
James Zhang [Thu, 17 Nov 2011 20:43:40 +0000 (15:43 -0500)] 
freetdm: fix redirection presentation number in X-header

14 years agofreetdm: fix loc_nadi value
James Zhang [Tue, 15 Nov 2011 23:26:13 +0000 (18:26 -0500)] 
freetdm: fix loc_nadi value

14 years agofreetdm: fixing relay must start after master.
James Zhang [Tue, 15 Nov 2011 19:46:57 +0000 (14:46 -0500)] 
freetdm: fixing relay must start after master.
         relay - configuring circuits only when resume is recieved.
 master - configuring relay after all the others are configured.

14 years agofreetdm: fixing RDNIS-Screen value mis-displaying string in decimal format
James Zhang [Mon, 14 Nov 2011 21:42:23 +0000 (16:42 -0500)] 
freetdm: fixing RDNIS-Screen value mis-displaying string in decimal format

14 years agoFix error in call reference conversion to string.
wadam [Tue, 8 Nov 2011 03:26:02 +0000 (22:26 -0500)] 
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

14 years agofreetdm: fix generic number
root [Mon, 7 Nov 2011 22:32:02 +0000 (17:32 -0500)] 
freetdm: fix generic number

14 years agofreetdm: change call reference number to HEX string format
root [Mon, 7 Nov 2011 21:37:11 +0000 (16:37 -0500)] 
freetdm: change call reference number to HEX string format

14 years agofreetdm: fix sip header wrong value of NADI
root [Mon, 7 Nov 2011 17:53:32 +0000 (12:53 -0500)] 
freetdm: fix sip header wrong value of NADI
         error was caused by printing string value to integer

14 years agofreetdm: Allow for backward compatibility.
Nenad Corbic [Mon, 7 Nov 2011 05:08:38 +0000 (00:08 -0500)] 
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.

14 years agofreetdm: Made CPG optional on configuration file
Nenad Corbic [Fri, 4 Nov 2011 00:04:26 +0000 (20:04 -0400)] 
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

14 years agofreetdm: on hander do not go up unless all channel blocks/restes are cleared
Nenad Corbic [Thu, 3 Nov 2011 18:29:47 +0000 (14:29 -0400)] 
freetdm: on hander do not go up unless all channel blocks/restes are cleared
         Added more documentation in main

14 years agofreetdm: Fixed blocks/unblocks resets. Performed conformance tests
Nenad Corbic [Thu, 3 Nov 2011 00:53:14 +0000 (20:53 -0400)] 
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

14 years agoMerge remote branch 'qa-master/releases.3.4' into releases.3.4
Nenad Corbic [Wed, 2 Nov 2011 16:34:28 +0000 (12:34 -0400)] 
Merge remote branch 'qa-master/releases.3.4' into releases.3.4

14 years agofreetdm: reset to reset not GRS - take2
Nenad Corbic [Tue, 1 Nov 2011 03:57:45 +0000 (23:57 -0400)] 
freetdm: reset to reset not GRS - take2

14 years agofreetdm: Default to individual reset not GRS
Nenad Corbic [Tue, 1 Nov 2011 03:56:39 +0000 (23:56 -0400)] 
freetdm: Default to individual reset not GRS

14 years agoMerge remote branch 'qa-master/releases.3.4' into releases.3.4
Nenad Corbic [Sat, 29 Oct 2011 04:08:47 +0000 (00:08 -0400)] 
Merge remote branch 'qa-master/releases.3.4' into releases.3.4

14 years agofreetdm: ss7 - add china switchtype to the configuration options
Moises Silva [Fri, 28 Oct 2011 13:35:49 +0000 (09:35 -0400)] 
freetdm: ss7 - add china switchtype to the configuration options

14 years agofreetdm: on handle alarm must check TRAP or CLEAR cannot use default case
Nenad Corbic [Wed, 26 Oct 2011 20:56:47 +0000 (16:56 -0400)] 
freetdm: on handle alarm must check TRAP or CLEAR cannot use default case

14 years agofreetdm: More debugging
Nenad Corbic [Wed, 26 Oct 2011 20:37:44 +0000 (16:37 -0400)] 
freetdm: More debugging

14 years agofreetdm: On alarm off event make sure that we had alarm on before issuing HW UNBLOCK
Nenad Corbic [Wed, 26 Oct 2011 20:34:56 +0000 (16:34 -0400)] 
freetdm: On alarm off event make sure that we had alarm on before issuing HW UNBLOCK

14 years agofreetdm: Do not set hw block clear flag on startup if port is already up
Nenad Corbic [Wed, 26 Oct 2011 20:17:11 +0000 (16:17 -0400)] 
freetdm: Do not set hw block clear flag on startup if port is already up

14 years agofreetdm: Add debugging
Nenad Corbic [Wed, 26 Oct 2011 20:09:32 +0000 (16:09 -0400)] 
freetdm: Add debugging

14 years agofreetdm: Its possible to get HW ALARM clear even though we never got the initial...
Nenad Corbic [Wed, 26 Oct 2011 18:57:27 +0000 (14:57 -0400)] 
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.

14 years agofreetdm: Fixed GRA - added group reset by default on startup
Nenad Corbic [Wed, 26 Oct 2011 18:33:28 +0000 (14:33 -0400)] 
freetdm: Fixed GRA - added group reset by default on startup