Commit Graph

65 Commits

Author SHA1 Message Date
paulc d8b7580268 Check the route status of the STP too if routing an User Part message.
Perform time controlled rerouting on all routes on a STP whose state changed.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3742 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 13:53:06 +00:00
paulc eda7784881 Added capability of configuring explicit routes per MTP3 linkset.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3741 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 11:59:43 +00:00
paulc 7ab931ca69 Added variable to warn only once that all links in a linkset are down.
Prevents flooding the logs with warnings if a linkset is down for a long time.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3732 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 09:07:35 +00:00
paulc 27fb658bb2 Added a reroute buffer used to implement T3 and T6 (missequencing avoidance).
Changed debug messages and levels to be easier to interpret the typical output.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3725 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-19 11:17:12 +00:00
paulc 6507806621 Added a message when a link that is not in service is cycled because of maintenance test failure.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3724 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-19 08:30:09 +00:00
paulc 1f5acf67b1 Send a link management SNM even on inhibited links if nothing else is available.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3721 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-19 04:30:53 +00:00
paulc 95f7c9de99 Force processing of link flags if same flag is set and cleared.
Force a link cycle on maintenance test failure even if the link was inactive.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3720 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-19 04:06:18 +00:00
paulc 77d0b1e608 In STP mode answer with TFP to SNM packets with unknown DPC.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3719 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-18 15:58:06 +00:00
paulc d748a54632 Cycle a SS7 link that didn't answer to maintenance even if if was never in service.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3718 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-18 15:49:48 +00:00
paulc 77d137fcc6 Added new parameter "forcealign" that controls if a link that fails maintenance
test should be realigned.
The "checklinks" and "forcealign" parameters can be changed from control operati
on.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3716 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-18 01:57:06 +00:00
paulc 37f4995248 Dump sent SLTM packets to capture file.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3642 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-08 13:42:53 +00:00
paulc bc7cfa0b75 Send TFP for unexpected packets through SS7Management, support Transfer prohibited inhibition timer (Q.704 T8).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3635 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-03 14:57:09 +00:00
paulc 99f48bbdae Do not send even SNM on an inhibited link.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3632 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-03 09:44:31 +00:00
paulc 7de0a58622 Initiate linkset emergency restore procedures only if link count worsened.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3631 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-03 08:48:22 +00:00
paulc 19b491b3ae Added separate virtual check if SLTA should be sent back else neither end would get in service first.
Added method to check if a link is in service ignoring some inhibition flags.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3628 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-03 04:30:10 +00:00
paulc 376ef6b69a Made links fail only after waiting T2 for a second SLTA.
Pausing the linkset disables answering with SLTA so failure can be emulated.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3627 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-03 03:49:58 +00:00
paulc 6dc9b19eae Changed some debug levels to reflect their importance and frequence.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3626 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-03 03:09:22 +00:00
paulc 9f88eed54a Rewritten the route building and STP advertising logic.
For each attached linkset a view of its routes is used to know when to send transfer change notifications.
Most of the route handling code was moved in SS7Router as it was never used by SS7Layer3.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3625 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-02 15:41:26 +00:00
paulc 1c176bb1cc Added support for reporting route congestion.
Detection is currently implemented only on SIGTRAN M2UA.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3619 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-01 12:05:55 +00:00
paulc 419d8d13f8 Added support for specifying a SLS right shift for balancing between linksets.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3615 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-01 05:08:16 +00:00
paulc a94e0f821a MTP3 now fully obeys Q.707 Link Maintenance and implements both T1 and T2.
SLTx are checked for point codes and SLS, SLTA verifies test pattern.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3613 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-01 03:11:10 +00:00
paulc a4b45256d6 Removed the useless separate SS7Maintenance user part.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3610 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 14:09:51 +00:00
paulc babcbdd34f Added API so a linkset can request uninhibition if running out of cative links.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3604 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 10:55:39 +00:00
paulc beaf1494bb Count separately the maintenance checked but inactive links to better notice changes in link states.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3602 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 09:42:55 +00:00
paulc af2aefd0f6 Send a TFP when in STP mode a MSU is received for an unknown destination.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3597 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 05:27:21 +00:00
paulc 8eab6bb088 Fixed a bug in SS7 route finding, was ignoring route states.
Added a set bit for unknown routes so they can be matched.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3596 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 04:41:27 +00:00
paulc 66a00e6523 Put the local point code in the OPC of the UPU, was misrepresenting the source.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3595 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 04:04:17 +00:00
paulc ca8d2fa71e Always use the Inactive flag to track if CBD or COO must be sent.
Added more inhibit flags related debugging.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3582 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 09:47:18 +00:00
paulc a49179c270 Make sure we initiate link changeover and changeback as required.
Fixed the adjustment of delayed sequence numbers.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3577 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 04:50:16 +00:00
paulc 11419dded4 Changed the way MSU recovery and sequence retrieval work to accomodate the asynchronous nature of M2UA.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3569 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 18:14:52 +00:00
paulc c61a96e070 Added special option to avoid inhibiting the last link in a linkset.
If a linkset becomes isolated try to forcibly uninhibit operational links.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3552 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 13:40:28 +00:00
paulc 385caf375c Added an inline method to check specific inhibition flags of a link.
Changed a lot of debugging messages and levels to improve readability.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3548 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 12:22:41 +00:00
paulc af2c92f825 Added various methods for setting the link inhibition flags, use them from management to control changeover/changeback.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3544 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 09:58:46 +00:00
paulc 548e22b758 Fixed MSU handling in SS7 Maintenance and UPU rejection in router.
Added some DDebug and XDebug to help troubleshooting the code.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3543 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 08:00:41 +00:00
paulc 57950727f3 Added a HandledMSU return value from receivedMSU so unavailability causes can be discriminated.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3542 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 07:38:14 +00:00
paulc 86c22e68d7 Keep the link inhibition reasons as a bit map of flags.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3541 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 04:52:18 +00:00
paulc 04602fe4bd Use the SLS in the label when using the transfer function.
In MTP3 truncate the SLS modulo the number of links to balance load.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3536 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 15:39:18 +00:00
paulc ba8f79e078 Implemented emergency resume of other links in a linkset that become nonoperational.
The SS7 Router now emergency resumes only other linksets when it becomes isolated.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3526 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 10:19:53 +00:00
paulc 63d9891ad0 Fixed activation of links and scheduling of SLTM transmissions.
Improved maintenance messages to help identify link problems.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3512 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 05:15:00 +00:00
paulc 8f552ebcc3 Do not forcibly schedule a SLTM transmission less than 4s from the last one.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3511 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-25 16:32:29 +00:00
paulc 73e7769fb8 Allow sending MTN and MTNS messages over inhibited or unchecked links.
Never try to reroute a maintenance message to another link.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3508 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-25 11:28:56 +00:00
paulc d8c5be8acd Remember in each link if it has not beed yet checked.
Added setting per linkset so the initial link check can be skipped.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3507 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-25 10:41:12 +00:00
paulc 937e729c19 Fixed the YOBJECT macro evaluating twice the pointer by using a static helper method of GenObject.
Fixed the way linksets keep links referenced so they clean up properly.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3504 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-24 12:27:40 +00:00
paulc 431b3b2e47 Fixed MTP management, included test timers and inhibit flag in SS7Layer2.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3500 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-24 03:42:31 +00:00
paulc 85ed61a156 Added variable to keep last received MSU sequence number.
Add link's last FSN to COO message, make it ECO if FSN is not known.
Notify the router when each link changes status, emit CBD/COO/ECO if needed.
Merged branch paulc/pstn -c 3478


git-svn-id: http://yate.null.ro/svn/yate/trunk@3489 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-21 18:21:49 +00:00
paulc 9900eeb228 Allow changing the SIO of SNM messages from the control parameters.
Decode the fields of received COO,COA,CBD,CBA messages (ITU and ANSI only).
Made the getLocal and getDefaultLocal methods public to access L3 point codes.
Print the local point codes of links that are changing operational state.
Improved handling of SIO fields in SS7 Layer 4.
Added an API to find a reverse mapping from PC type to Network Indicator.
Merged branch paulc/pstn -r 3474:3477


git-svn-id: http://yate.null.ro/svn/yate/trunk@3488 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-21 18:19:37 +00:00
paulc de31f99fda Avoid routing a message back to the receiving linkset.
Display current states when printing routes.
Fixed the priority of routes when new networks are added.
Warn when an unknown route is received only if it was a manual control.
Merged branch paulc/pstn -r 3470:3473


git-svn-id: http://yate.null.ro/svn/yate/trunk@3474 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-10 16:47:45 +00:00
paulc 75be93bbd8 Recheck the availability of SS7 routes at end of MTP restart.
If node became isolated try to emergency uninhibit at least one link.
Merged SVN branch paulc/pstn -c 3466


git-svn-id: http://yate.null.ro/svn/yate/trunk@3467 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-05 17:25:15 +00:00
paulc 8241e5159e Added support for SS7 STP, fixed SN MTP restart behavior (send TRA).
Added many commands to manually control SS7 Router and Management.
Merged SVN branch paulc/pstn -c 3446, -r 3453:3462 and -c 3464


git-svn-id: http://yate.null.ro/svn/yate/trunk@3465 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-05 15:20:42 +00:00
paulc dcf5ccc02f Preserve the SLS in all answers sent at MTP3, some implementations are very picky.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3289 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-05 15:09:25 +00:00