Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding new configuring parameters into SCTP and SCCP stacks for congestion control #33

Closed
vetss opened this issue Feb 15, 2016 · 2 comments
Assignees
Milestone

Comments

@vetss
Copy link
Contributor

vetss commented Feb 15, 2016

We need the new following extra parameters - OUTGOING message control part:
SCTP stack - Thresholds for outgoing congestion control:

  • sctp set cc_delaythreshold_1
  • sctp set cc_delaythreshold_2
  • sctp set cc_delaythreshold_3
  • sctp set cc_backtonormal_delaythreshold_1
  • sctp set cc_backtonormal_delaythreshold_2
  • sctp set cc_backtonormal_delaythreshold_3

If the delays between the time when an outgoing message was delivered for sending and the real sending time increases cc_delaythreshold_1 / 2 / 3 values (in seconds) then the congestion level will be increased to 1, 2, or 3.
If the delays between the time when an outgoing message was delivered for sending and the real sending time decreases cc_backtonormal_delaythreshold_1 / 2 / 3 values (in seconds) then the congestion level will be decreased to 0, 1, or 2.

SCCP stack:

  • sccp set cc_timer_a
  • sccp set cc_timer_d

settins values for SCCP Timer A and D values in milliseconds.
Timer A starts at next MTP-STATUS(cong) primitive coming. During this timer no more MTP-STATUS(cong) are accepted.
Timer D starts after last MTP-STATUS(cong) primitive coming. After end of this timer (without new coming MTP-STATUS(cong)) RSLM (the congestion level) will be reduced.

  • sccp set cc_algo <international | levelDepended>

Sets the algorithm of the congestion control at SCCP level for outgoing
messages.
Possible values are international or levelDepended.
international algorithm - only one level is provided by MTP3 level (in MTP-STATUS primitive). Each MTP-STATUS increases N / M levels.
international algorithm - MTP3 level (MTP-STATUS primitive) provides 3 levels of a congestion (1-3) and SCCP congestion will increase to the next level after MTP-STATUS next level increase (MTP-STATUS 1 to N up to 3, MTP-STATUS 2 to N up to 5, MTP-STATUS 3 to N up to 7).

  • sccp set cc_blockingoutgoungsccpmessages <false | true>

Sets the value of if outgoing SCCP messages will be blocked in congestion. (depending on message type, UDP messages from level N=6). true means that message will be blocken in the congestion case, false means not.

@vetss vetss self-assigned this Feb 15, 2016
@vetss
Copy link
Contributor Author

vetss commented Feb 15, 2016

This is fixed by:

26628cf
a3f64d4

@vetss
Copy link
Contributor Author

vetss commented Apr 20, 2016

We need the new following extra parameters - INCOMING message control part:

  • tcap set blockingincomingtcapmessages false | true

If true incoming TCAP messages will be blocked (depending on congestion level, from level 2 - new incoming dialogs are rejected, from level 3 - all incoming messages are rejected). Default value: false (no blocking)

  • tcap set executordelaythreshold_1 value
  • tcap set executordelaythreshold_2 value
  • tcap set executordelaythreshold_3 value
  • tcap set executorbacktonormaldelaythreshold_1 value
  • tcap set executorbacktonormaldelaythreshold_2 value
  • tcap set executorbacktonormaldelaythreshold_3 value

ExecutorMonitor Thresholds: delays in seconds (between the time when an incoming message has come from a peer and scheduled for execution and the time when the execution of the message starts) after which ExecutorMonitor becomes the congestion level 1, 2 or 3
Default values: 1, 6, 12 / back default values: 0.5, 3, 8

  • tcap set memorythreshold_1 value
  • tcap set memorythreshold_2 value
  • tcap set memorythreshold_3 value
  • tcap set backtonormalmemorythreshold_1 value
  • tcap set backtonormalmemorythreshold_2 value
  • tcap set backtonormalmemorythreshold_3 value

MemoryMonitor Thresholds: a percent of occupied memory after which MemoryMonitor becomes the congestion level 1, 2 or 3
Default values: 77, 87, 97, back default values: 72, 82, 92

@vetss vetss closed this as completed May 15, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant