2335 Commits

Author SHA1 Message Date
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