Commit Graph

678 Commits

Author SHA1 Message Date
paulc 3a99be772c ISUP now emits SUS / RES messages on Suspend / Resume events.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4089 acf43c95-373e-0410-b603-e72c3f656dc1
2011-02-02 10:12:28 +00:00
paulc f6644b2110 Allow signals A (10) and D (13) in ISUP digits.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4087 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-31 09:13:07 +00:00
paulc 56ed6de9dc Added setting to disable dropping the call if the remote sends an unknown or unsupported ISUP message in an early call state.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4082 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-28 12:13:51 +00:00
paulc 9323c518b0 Renamed RedirectionInformation field "reason-original" to "reason_original" so it gets copied.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4078 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-27 13:52:06 +00:00
paulc 15f7933a3a Handle SUS and RES messages - mandatory in ISUP v2.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4076 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-27 08:51:28 +00:00
paulc 764b89f787 Added flags for Call Diversion Information encoding and decoding.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4075 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-26 15:54:49 +00:00
paulc 1a218b9e05 Add a raw hex variant of Parameter Compatibility Information for easier forwarding.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4074 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-26 15:02:15 +00:00
paulc aa4328f069 Changed the order of local point code checks so a transparent STP can transfer a message not handled by a local user part.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4073 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-26 14:03:50 +00:00
paulc c7ab08c559 Properly initialize the MTP operational status when attaching an ISUP dynamically at runtime.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4072 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-26 13:39:33 +00:00
paulc 3682c4bf7f Never advertise a point code from same linkset local address, it must be always allowed by TRA to adjacent node.
Such condition can happen in a nonstandard STP with multiple local point codes.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4071 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-26 09:31:30 +00:00
paulc 0e12e79f50 Ignore neighbours setting when receiving an UPU, any node can send it.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4070 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-25 19:20:54 +00:00
paulc 65b64e2547 Fixed and simplified the way M2PA is forcibly realigned, wasn't clearing sequence numbers and all machine states.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4069 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-25 16:12:03 +00:00
paulc 79eca75910 Add a short random time to the initial SLTM timer to prevent synchronization between link ends.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4068 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-25 16:00:28 +00:00
paulc a81cbca96b Prevent misrouting or inadvertently handling SS7 messages in silent transfer scenarios.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4067 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-25 15:31:42 +00:00
paulc 54131d93fc Do not check the sequence numbers of M2UA packets with LinkStatus == OutOfService, let the state machine process them.
More visibly warn about wrong sequences once false positives are eliminated.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4066 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-25 15:07:08 +00:00
paulc f6d5324d22 Added capability to force a ringback to a MGCP gateway from ISDN and ISUP.
Fixed ring end on FXS analog MGCP gateways.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4062 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-25 11:46:13 +00:00
paulc 7114fab2c5 Added parameters CCSS Call Indication and CCNR Possible Indicator used by some ISUP supplementary services.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4060 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-24 11:16:20 +00:00
paulc 08db1b6ec7 Build a list of "No pass on possible" compatibility parameters in "parameters-nopass-release", release the call if the list is not cleared just like "parameters-unhandled-release".
Make sure the CNF or REL diagnostic holds each parameter code only once.


git-svn-id: http://yate.null.ro/svn/yate/trunk@4045 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-20 11:10:58 +00:00
paulc b218c1687d For signalling channels made "noconn" an alias for temporary failure, provides better error mapping.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4044 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-20 07:18:00 +00:00
paulc d3d4c9b39d Added the "No pass on possible" flags decoding to parameter compatibility.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4038 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-19 07:13:58 +00:00
paulc c8b30a2b1e Include A and D in the digits decoded when not following strictly the ISUP standard.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4033 acf43c95-373e-0410-b603-e72c3f656dc1
2011-01-18 12:00:39 +00:00
paulc 9c4a05d299 Raised the debug level of adding a circuit range.
git-svn-id: http://yate.null.ro/svn/yate/trunk@4015 acf43c95-373e-0410-b603-e72c3f656dc1
2010-12-22 17:21:04 +00:00
paulc d0771ccb78 Got rid of two leftover DebugStub.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3961 acf43c95-373e-0410-b603-e72c3f656dc1
2010-12-16 14:41:26 +00:00
paulc 2d0bd40dee Made ISUP return properly HandledMSU::NoCircuit when it does not handle the circuit code and only warn the first time.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3909 acf43c95-373e-0410-b603-e72c3f656dc1
2010-12-06 09:39:23 +00:00
paulc 2c31e22e71 Added silent MSU transfer mode (STP without route advertising).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3908 acf43c95-373e-0410-b603-e72c3f656dc1
2010-12-06 09:37:37 +00:00
paulc 440cfabfa2 Preserve the ISUP REL message for retransmissions instead of rebuilding it.
Copy parameters from failed call.route or call.execute to the REL message.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3850 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-22 18:03:00 +00:00
paulc a895c7b2dc Correctly deal with the name prefix when encoding optional ISUP parameters.
Also added some debugging on parameter encoding.
WARNING: This can disturb setups relying on the incorrect behavior.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3803 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-10 18:00:25 +00:00
paulc 51a48f4322 Added Visual Studio projects for SNMP components.
Added SNMP to installer.
Fixed some bugs and warnings exposed by the Microsoft compiler.

git-svn-id: http://yate.null.ro/svn/yate/trunk@3795 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-04 18:48:53 +00:00
oana f3a841b70e Fixed compile warning on Mac OSX.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3777 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-03 16:57:08 +00:00
oana cda9ed670f Added SNMP support.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3776 acf43c95-373e-0410-b603-e72c3f656dc1
2010-11-03 16:27:30 +00:00
paulc 653e3e14a2 Fixed the alternate route detection algorithm.
Always recompute all views including itself as in alternate routing a notification may be sent back.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3750 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-22 10:38:15 +00:00
paulc 0796eb7010 Got rid of the early... settings, the algorithm is robust enough.
Speed up by always sending TFP and TRA on adjacent node restart if we are already started.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3749 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-22 07:23:24 +00:00
paulc e11845b25c Fixed the per-view best route state to take into account load sharing and alternate routing.
The type of sharing / alternate is taken from relative route priority.
Note that actual routing of the packets also takes into account the SLS shift.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3748 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-22 04:14:41 +00:00
paulc 903572b240 Answer with TRA to TRA (if T19 not running) in SP mode too.
Start T19 also when manually forcing out all TRA messages.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3747 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-22 01:53:39 +00:00
paulc 3f08346fb1 By default push TFPs as soon as possible on newly checked linksets.
Send TFPs to adjacent node with linkset down but seen starting elsewhere.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3746 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-22 01:30:25 +00:00
paulc 68d1e06a3f Do not send by default a TRA when the linkset is put in service.
In STP mode routing information (TFx) should be sent first.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3745 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 15:30:32 +00:00
paulc 238723414a Restart T21 when a link goes up.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3744 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 14:24:13 +00:00
paulc 8edccbeda2 After silently allowing routes on T21 expiration send all TFx and TRA just like if received a TRA.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3743 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 14:22:21 +00:00
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 f76e9c61a3 Added an "available" command to ISUP so the remote user part can be enabled manually for testing.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3740 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 09:38:20 +00:00
paulc 36ebe8f40d Added a separate T19 timer, initialize T19 and T21 interval only once.
Start T21 at beginning of restart instead of a short one at end.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3739 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-21 08:32:10 +00:00
paulc 1f63e39ec5 Silently activate unknown yet routes to all nodes behind an adjacent STP that sent TRA.
This is safe as all TRx must have been received before TRA is received.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3738 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 16:26:13 +00:00
paulc b18c6b6761 Fixed the way the routes are cleared when a linkset changes state.
The adjacent point code is located (it is always first as it has priority zero) and provided for all other routes.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3737 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 15:20:02 +00:00
paulc 73e83e3e10 Consistently set T21 = T20 + 4s in the SS7 restart procedure.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3736 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 11:35:14 +00:00
paulc 5c95e6059c Do not handle route set test messages while still in the restart procedure.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3735 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 11:31:11 +00:00
paulc b333789197 Properly clear the adjacent route(s) of a linkset that goes down.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3734 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 11:29:51 +00:00
paulc ce07f3745e Trigger time controlled rerouting when the availability of any linkset in a route changed.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3733 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 09:57:57 +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 c3af68d0d4 Added separate setting for enabling sending changeback and changeover between linksets.
This setting is disabled by default so time controlled diversion is used between linksets.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3730 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-20 08:08:35 +00:00
paulc 653558edea Fixed a route building bug introduced in Rev 3641 (2010-09-08).
Fixed route test querying that caused the changes above.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3729 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-19 16:23:36 +00:00
paulc 262d9c50b3 Postpone the resuming of M2UA links after retrieval of sequence number to avoid flooding the gateway if we have many links (de)activating at once.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3728 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-19 13:43:20 +00:00
paulc 3b096f95ed Release the router lock before checking each reroute buffer to avoid deadlocks.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3727 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-19 13:41:46 +00:00
paulc de9b523b57 Changed the way an incoming LUN removes pending LRT and LFU, there can be one of each pending.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3726 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-19 12:53:41 +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 9f576f9249 Added a debugging message before SS7 SNM sends out a message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3723 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-19 08:00:00 +00:00
paulc 1610c38f3d Link Force Uninhibit is sent with an 1200ms one-time retry (Q.704 T13).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3722 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-19 06:50:48 +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 6a89ba42e5 Implemented emergency proving interval in M2PA as 1/16 of normal interval.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3717 acf43c95-373e-0410-b603-e72c3f656dc1
2010-10-18 02:12:35 +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
marian 307f20c1a5 Drop temporary ISDN call lock before deleting a sent event: avoid stray pointer.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3653 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-15 07:56:53 +00:00
paulc 48e648c685 Added a timer to activate routes after restart or after a linkset got operational but sent no TRA.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3649 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-09 17:38:09 +00:00
paulc d8d4460bba Use L3Pointer only for storing linksets in routes, use new class L3ViewPtr to store linksets and their own view of the network in router.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3648 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-09 13:33:06 +00:00
paulc 230567ca1f Fixed a number of errors reported by the Visual C++ compiler.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3646 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-09 10:12:22 +00:00
paulc 4d9f4c092c Added setting to turn adjacent routes Allowed on first regular MSU received.
This allows interoperating with broken implementations that don't send TRA.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3643 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-08 13:44:17 +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 1eedfcf920 Fixed the linkset/route state checking, notifying and isolation detection.
Isolation timer can be disabled so the router once started will never go down.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3641 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-08 12:34:35 +00:00
paulc 830017046d Fix for several infrequent memory leaks.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3640 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-08 11:28:22 +00:00
paulc a1c14360ec Added static method to retrieve (and possibly create) the primary instance of SignallingEngine.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3638 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-07 16:07:44 +00:00
paulc 677181d65c Fixed computing and clearing of routes, should end in Prohibited state.
Route set test messages now are distributed properly to their networks.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3636 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-03 16:20:57 +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 ec365a11cf Fixed various SS7 rouning and STP problems.
Fixed the behavior of routes and the advertising to other nodes.
Added a lot of debug messages.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3634 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-03 13:45:15 +00:00
paulc 7976afdc16 Added support for forcibly postpone a SNM even if initial transmission failed.
This allows timing out CBD/COO even if no links are active.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3633 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-03 09:59:28 +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 fa96b8ee16 Simplified notifyRoutes by removing the now useless parameters.
Fixed a bug in setting the state of adjacent vs non-adjacent routes.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3630 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-03 04:52:18 +00:00
paulc 01e668f89c Perform changeover/changeback on another linkset if required, rely on time sequence if that one fails too.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3629 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-03 04:41:09 +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 6a9fd57136 Made the default MTP test timer one second and not reload it on initialize.
This was driving me crazy.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3624 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-01 21:21:43 +00:00
paulc 4e5af768a3 Pass the required route state to SS7Route::transmitMSU so we don't attempt to transmit on a prohibited route.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3623 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-01 21:05:12 +00:00
paulc 6c3190165e Fixed routing bug introduced in Rev 3617 - never send a packet back to the receiving linkset.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3622 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-01 20:17:49 +00:00
paulc 1b88f5e04a Added SLS rotation and received sequence checking to the MTP user part.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3621 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-01 19:42:50 +00:00
paulc a5714341b1 Fixed TRA generation and load sharing (must always use adjacent network for SNM and MTN).
Added more debigging information.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3620 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-01 14:16:06 +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 68e38ecffc Set routes per network the STP is located, combine values to create a best state.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3618 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-01 10:26:16 +00:00
paulc 850e531688 Implemented load sharing between linksets.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3617 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-01 08:10:34 +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 fd25f2f795 By default accept SNM messages only from adjacent nodes.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3614 acf43c95-373e-0410-b603-e72c3f656dc1
2010-09-01 04:25:25 +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
marian e762f5ab7a Fixed Redirection information encoder: copy all message data in msu buffer.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3612 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 20:18:00 +00:00
paulc 6fe71aaa18 Fixed the UPU and TFP generation logic.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3611 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 16:39:48 +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 f8da5977b9 Added capability to periodically poll neighboring STPs for prohibited and restricted routes.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3608 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 13:36:16 +00:00
paulc 556d5d352c Add received address and backwards address to the decoded SNM parameters.
Added decoding capability for route set test messages.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3607 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 13:35:20 +00:00
paulc da74d72c47 Catch LID, warn and stop LIN retransmissions.
Fixed emergency uninhibit, it must be sent only to adjacent nodes.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3606 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 11:17:52 +00:00
marian e22f84ce70 Fixed bug: properly hexify a data buffer until a byte with extension bit set.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3605 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 11:16:08 +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 bc51dcd9ed Check the existence of the link for all link related Management messages.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3603 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 10:09:12 +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
marian b9509582c7 Don't terminate incoming calls when blocking for maintenance reason (just make a repeat attempt).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3601 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 09:25:27 +00:00
paulc 620292e3dd Added a setting to disable the changeover and change back procedures.
It should be only used for testing as disabling them violates the standards.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3600 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 08:50:45 +00:00
marian 01c9367aee Added option used to ignore unknown digit encoding in numbers (defaults to true).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3599 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 07:56:50 +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
marian b15cd52894 Avoid generating 2 release events (memory leak).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3594 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 01:16:06 +00:00
marian f04c87a5f0 Replace circuits for outgoing calls in early state and terminate all other calls when circuits are blocked for hardware failure reason.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3593 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 01:03:35 +00:00
marian e29c5fcbf6 Don't send cause in RLC response sent by the ISUP call.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3592 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 00:26:15 +00:00
marian 9e6edad81c Handle unexpected message received for non test calls in early state.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3591 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-31 00:19:46 +00:00
marian 19776d85cf Always handle message compatibility flags (ignore transit/end node flag).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3590 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 22:54:07 +00:00
marian 768dbb2b2e Fixed circuit reserve with even/odd restriction.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3589 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 22:46:40 +00:00
marian b3a9bb6d4e Added static method to SignallingTimer used to retrieve an interval from a list of parameters. Implemented T9 timer in ISUP.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3588 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 20:59:20 +00:00
paulc 4b6c29d37b When the link is deactivated pass multiple time through the notify handler so it gets a chance to fix the sequence.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3587 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 13:20:59 +00:00
paulc d7cceb3366 Properly handle Link Forced Uninhibit but keep the timer running so the LIA response is matched.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3586 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 12:56:35 +00:00
paulc 2b67172f93 Removed matching by packet length, label and type are enough.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3585 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 12:35:30 +00:00
paulc 044bffc1e0 Added a router method to query the inhibit status of a link.
Added link inhibit and uninhibit timers.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3584 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 12:16:53 +00:00
paulc f8b4fd38de Make sure we don't attempt to recover the sequence from a never aligned link.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3583 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 09:48:19 +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 dcbbf7aaaf If no CBD could be sent on any alternative link activate the current link anyway.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3581 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 08:59:39 +00:00
paulc c14d9a1a47 Pause and resume an operational link that was set Inactive (by receiving a changeover while operational).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3580 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 07:04:21 +00:00
paulc c41089e5a9 Refuse to postpone an exact duplicate of a SNM message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3579 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 07:00:22 +00:00
paulc da6e4f8db9 Fixed M2UA realignment after failure, does not interfere with explicit local pause.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3578 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 05:07:48 +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 37e3d1c384 Transmit a COA if sequence is available instead of postponing an ECA.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3576 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-30 03:39:00 +00:00
marian 8d7bea8367 Terminate calls when resetting a circuit at remote request, except for outgoing calls in Setup state.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3575 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 22:18:43 +00:00
marian a39b3c1a86 The ISUP user part is now sending an UPT when user part unavailable is received from remote user part and UPT is not disabled from configuration.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3574 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 22:03:15 +00:00
marian ff0ab28136 Release previous circuit of a an existing call before re-sending the initial address message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3573 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 21:43:07 +00:00
paulc 1f3c5f51eb Added method so User Part Unavailable notifications can be received from Management.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3572 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 21:28:10 +00:00
marian 2ee0cc31a1 Don't display the M2PA ack message if message dump was disabled.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3571 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 21:09:37 +00:00
paulc 8e86066479 As soon as we retrieve a sequence number replace the pending ECA with a proper COA or XCA.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3570 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 20:26:33 +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
marian b0d3f6c656 Replace circuits (make an automatic repeat attempt) for outgoing calls in initial state when a blocking message is received from remote party.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3568 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 16:30:10 +00:00
marian 2c5e1dc75e Avoid notifying the same hardware lock state on circuit alarm/no alarm notification.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3567 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 15:57:18 +00:00
marian c6c9e177b3 Fixed call collision condition.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3566 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 15:41:35 +00:00
marian 1ef3b8e1c6 Added method used to start a single circuit (un)blocking operation. Send circuit block message on previously blocked circuit when it is reset by the remote party.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3565 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 14:47:54 +00:00
marian 1419211691 Fixed circuit (un)blocking flag check when processing (un)blocking command.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3564 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 14:01:05 +00:00
marian 7163281331 Fixed call release collisions. Just send RLC when receiving REL while call release is in progress.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3563 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 13:21:38 +00:00
paulc b1870d42ee Use a RefPointer for calling the component since the component list is unlocked.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3562 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 13:10:36 +00:00
paulc 5ba6ea83b4 Added a missing parameter to a debug call.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3561 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 12:27:32 +00:00
paulc 17b6fc541b Use a ListIterator to timerTick the components without holding the engine locked.
Fixes a large number of deadlocks.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3560 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 12:25:19 +00:00
marian 9b69db8ee0 Drop circuit group (un)blocking requests/responses with unknown GroupSupervisionTypeIndicator value.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3559 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-29 11:20:04 +00:00
marian 1ca7a976bd Fixed message compatibility information interpretation.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3558 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-28 23:54:29 +00:00
paulc cc9bdc0d9d Allow using default port numbers in local and remote addresses in sigtransport.
It is now possible to specify a bind address (and possibly port) for connecting
streams.
Fixed a memory leak in sigtransport.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3557 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-28 21:56:49 +00:00
marian f4b726879b Make sure we try to decode all messages with mandatory parameters.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3556 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-28 19:28:31 +00:00
marian d818da038e Restored replaced 'excess-digits' cause as alias for the new cause 'ported-number' to allow it to be sent to remote party.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3555 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-28 18:57:29 +00:00
marian 916e356de2 Updated Q.850 cause dictionary.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3554 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-28 14:08:25 +00:00
marian 8168495017 Changed isup default call release reason to 'interworking'.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3553 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 14:19:17 +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
marian c09287d1b6 Fixed debug parameter bug.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3550 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 13:09:06 +00:00
marian 22ff507404 Make sure a release event is signaled to the upper layer when call release is initiated (avoid sending call release without notifying the upper layer).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3549 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 13:07:27 +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
marian a3f692b5fb Implemented circuit group (un)blocking command. Fixed single circuit (un)blocking command: avoid adding requested circuit to other pending circuits.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3547 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 11:33:58 +00:00
paulc 80279210ba Fixed some more code paths in the test user part.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3546 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 10:39:06 +00:00
paulc 62a122f773 Fixed the discrmination logic, it was breaking STP operation.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3545 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-27 10:21:38 +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
marian 70dbc1e8a5 Fixed parameter compatibility handling. Handle all parameters (known parameters also). Gracefully terminate an existing call when processing the release call flag in parameter compatibility.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3540 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 22:24:46 +00:00
marian c5a139f4e0 Gracefully release call (use REL instead of RLC) if termination is set.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3539 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 21:58:34 +00:00
marian 85b66ebdc5 Process the message compatibility information parameter in unknown/unhandled messages.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3538 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 21:47:20 +00:00
marian e6f6abaed6 The isup call controller is now trying to decode all received MSUs (unknown messages also).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3537 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 20:52:24 +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 d7bad44da0 Added messages for M2UA entering or exiting Processor Outage, solved a spurious warning.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3535 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 15:16:18 +00:00
marian 31affb084e Accept CON if the call was not accepted yet.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3534 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 15:02:00 +00:00
paulc 7fc73ca6db Keep a generic retransmission and timeout list for SS7 management messages.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3533 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 14:59:39 +00:00
paulc 6345c6ee56 Take into account the Remote Processor Outage on M2UA.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3532 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 13:58:29 +00:00
marian b1ddc77186 Push a received continuity check request to an existing incoming call (don't drop it).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3531 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 12:15:23 +00:00
marian 7519dabfb0 Fixed overlapped dialing detection when starting an outgoing call.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3530 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 11:57:50 +00:00
marian c4cda6995d Added configurable options used to ignore 0 range circuit group reset and (un)blocking requests.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3529 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 11:50:06 +00:00
marian 4ac2e7eccc Check the number of bits set to 1 in circuit group (un)blocking messages. Don't send confusion if CGB/CGU are dropped.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3528 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 11:17:38 +00:00
paulc 470daef988 The SS7 router can be configured to prevent sending of SNM UPU messages.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3527 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 11:12:25 +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
marian e033ebb4a7 Don't start circuit reset when receiving a call release request for un unknown call: just respond with release complete.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3525 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 09:09:41 +00:00
paulc 73cc260d19 By default send link changeover/changeback declaration on the next available link.
The link used to send SNM controls can be forced with the "linksel" parameter.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3523 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 08:04:56 +00:00
paulc 1855ae31ed Send TRA only when a link is activated and on MTP3 it should be the first one.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3522 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 08:03:39 +00:00
marian a990251dfb CCR response can now be inhibited from configuration.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3521 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 07:12:41 +00:00
marian ba1d9b054d Implemented T27 (continuity check failure) timer.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3520 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 07:10:10 +00:00
marian 3cc4022783 Start circuit reset when un unexpected (no existing call) call message is received.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3519 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 07:08:23 +00:00
marian d09d803c42 Start call release when un unexpected release complete message is received.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3518 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 07:05:18 +00:00
marian 47b0b32258 Ignore (don't send confusion) when an invalid circuit group reset message is processed.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3517 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 07:03:48 +00:00
marian 06e9b3b22b Ignore (don't send confusion) invalid circuit group (un)blocking responses.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3516 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 07:02:25 +00:00
marian 5f77ed41e3 Avoid sending useless Q.850 cause in release complete responses.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3515 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 06:59:33 +00:00
marian 756f7b1391 The isup user part is now accepting a received MSU after checking if it must handle it. Check the circuit before parsing the received MSU.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3514 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 06:57:51 +00:00
marian 53ccca904d Fixed call termination: don't set terminate flag before starting call release.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3513 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-26 06:53:57 +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 04385930d0 Decode the components of the UPU message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3509 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-25 13:03:48 +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 46350756ed Send Traffic Restart Allowed only for the 1st link in service on a linkset.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3506 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-25 08:43:55 +00:00
paulc 2b96beb505 Allow copying ISUP parameters having digits in the name.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3505 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-25 06:40:33 +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 9bdf2a32b0 Allow disabling the automatic SS7 Layer 2 emergency alignment for testing purposes.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3503 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-24 10:35:31 +00:00
paulc c505635786 Fixed the way SIGTRAN User Adaptation clients are created so the proper name is used and the components can be found in engine.
Improved the messages for debugging component creation.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3502 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-24 10:07:45 +00:00
paulc 02c08b505a Unified SS7 L2 emergency alignment decision code.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3501 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-24 05:47:12 +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 477d990012 Fixed a leftover XDebug variable in SS7Router.
Merged branch paulc/pstn -c 3495


git-svn-id: http://yate.null.ro/svn/yate/trunk@3496 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-21 18:39:47 +00:00
marian bcfff1d98e Retransmit REL and RSC messages on timer.
Use two timers (retransmit + global) for circuit block, unblock, reset.
Merged branch paulc/pstn -r 3485:3487


git-svn-id: http://yate.null.ro/svn/yate/trunk@3494 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-21 18:37:24 +00:00
marian e377dcbce2 Support receiving overlapped dialing on ISUP.
Send extra Called Party Number digits in a SAM message.
The overlapped dialing script accepts an initial number.
Merged branch paulc/pstn -c 3485


git-svn-id: http://yate.null.ro/svn/yate/trunk@3493 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-21 18:34:01 +00:00
paulc d47be1b0e1 Added encoding and decoding for Redirection information (Q.763 3.45).
Added support for some national (UK-ISUP) parameters.
Merged branch paulc/pstn -c 3484


git-svn-id: http://yate.null.ro/svn/yate/trunk@3492 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-21 18:31:33 +00:00
marian 244f076d88 Added support to process parameter compatibility information.
The signalling channel is now processing ISUP parameter compatibility information for handled ISUP messages.
Added ISUP generic APM message support.
Merged branch paulc/pstn -r 3480:3483


git-svn-id: http://yate.null.ro/svn/yate/trunk@3491 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-21 18:27:54 +00:00
marian 7ba1542c45 Added configurable call controller location for Q.850 cause.
Diagnostic and location can now be set in release call Q.850 cause.
Merged branch paulc/pstn -r 3478:3480


git-svn-id: http://yate.null.ro/svn/yate/trunk@3490 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-21 18:25:02 +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 0b6ed8b3cc Added method to retrieve the default local Point Code of a SS7 Layer 3.
Load default Point Codes for the SS7Router too.
Merged SVN branch paulc/pstn -c 3468


git-svn-id: http://yate.null.ro/svn/yate/trunk@3469 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-06 14:47:44 +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 3815285258 Added support for SIGTRAN M2UA (SS7 MTP2) UAS and IUA (ISDN Q.921) UAS.
Merged SVN branch paulc/pstn -r 3446:3448 and -r 3450:3453


git-svn-id: http://yate.null.ro/svn/yate/trunk@3463 acf43c95-373e-0410-b603-e72c3f656dc1
2010-08-05 13:23:12 +00:00
paulc 97133aea97 Handle only SS7 Test Part messages whose DPC equals the local OPC.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3443 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-16 20:43:43 +00:00
paulc 940d9a50ea Made more visible (but still only when compiled for debugging) the periodic circuit restarts.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3422 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-09 09:29:22 +00:00
paulc fb1e4f32a8 Send the correct SLS if sls=cic (ITU style).
Added manual sending of maintenance BLK and UBL requests.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3421 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-08 16:34:58 +00:00
paulc e6af53dbb5 Answer to circuit (un)blocking messages with the same SLS as the request came.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3420 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-08 15:53:03 +00:00
paulc 817b647002 Use a variable to keep the status of early media.
Add the inband indication to Alerting too, not only to Progress.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3415 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-02 15:42:33 +00:00
paulc 9759aaeac3 Deal better with early media information in ISDN (in-band-info in Progress and Alerting).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3412 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-01 15:24:31 +00:00
paulc 4ade4d82b7 Take into account the "inband" flag in the Optional Backward Call Indicators in ISUP CPR messages.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3411 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-01 15:20:07 +00:00
paulc ee18a4c58e Deal better with early media information availability in ISUP (inband during ACM or CPR).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3410 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-01 15:06:52 +00:00
paulc 15039947cf Added more helper methods to manipulate flags in a flags list.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3409 acf43c95-373e-0410-b603-e72c3f656dc1
2010-07-01 15:01:16 +00:00
paulc bd121a7b5d Always copy parameters from Yate messages to signaling messages.
Copy parameters starting with a CapitalLetter in all messages, not just IAM.
Made static several helper functions to avoid symbol pollution.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3407 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-29 19:46:31 +00:00
paulc 25682ac86a Added support to emit SS7 Management messages (COO,CBD,TFP,TFR,TFA,TRA) with arbitrary fields from chan.control message or rmanager command.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3405 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-29 09:35:02 +00:00
paulc 8a82307ba3 Added a "reset" control command to fast reset ISUP circuits.
Default reset interval for both ISUP and ISDN is 300s with 60s minimum.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3404 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-25 14:48:29 +00:00
paulc 9d92c268a8 Use the correct table for validating the voice format name.
Fixes setting non-default formats for ISUP call controllers.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3388 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-17 09:56:19 +00:00
paulc 78d100265f Got rid of some long standing conversion warning by providing the proper casts.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3377 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-11 18:07:17 +00:00
paulc d95cb2fec6 Spelling cleanup of a very common error: Retrive -> Retrieve
git-svn-id: http://yate.null.ro/svn/yate/trunk@3371 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-11 11:25:10 +00:00
paulc 8a3762c1f0 Fixed the way SS7 L4 detaches early from the SS7 router.
Added a conditional debugging message when engine searches a component.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3369 acf43c95-373e-0410-b603-e72c3f656dc1
2010-06-09 21:07:50 +00:00
paulc 75170cb191 Added method to fire a timer at a specific time.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3314 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-12 10:57:36 +00:00
paulc 21d47d704b Allow SNM, MTN and MTP_T user parts to have their SIO configured.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3304 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-11 08:02:30 +00:00
paulc 9d8d4d117a Moved the SIO variable and its settings (service, priority, netindicator) in the common SS7Layer4 class so they apply to all SS7 User Parts.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3302 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-10 10:38:18 +00:00
paulc 3bec43d3be Properly store the sequence number in the test data.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3292 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-06 11:48:55 +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
paulc d6d7d860a4 Preserve the SLS of ISUP messages throughout the call.
SLS style defaults to "cic" on ITU controllers.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3287 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-04 16:24:56 +00:00
paulc 286d9f6137 Truncate the SLS field to the number of bits mandated by the point code.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3286 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-04 16:22:54 +00:00
paulc c2e38e7dcb Changed code 27 to "out-of-order" so 20 (Subscriber absent) could be mapped to "offline".
Added some cause code mappings including 14 (Excess digits).
Changed default cleanup code to Network Out Of Order.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3276 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-04 09:34:35 +00:00
paulc a4568356c9 Correctly deal with the packed form of calledpointcode.
Filter incoming ISUP and BICC messages by remote Point Code.
Added an inequality operator for SS7PointCode.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3273 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-03 13:06:41 +00:00
paulc 06b99b8938 Allow specifying a default SLS for outbound calls in the ISUP settings (reloadable).
git-svn-id: http://yate.null.ro/svn/yate/trunk@3265 acf43c95-373e-0410-b603-e72c3f656dc1
2010-05-01 18:38:03 +00:00
paulc e0709efdc2 Added support for NumberPortabilityInformation.
Added declaration of a bunch new ITU parameters (Q.763 12/1999).


git-svn-id: http://yate.null.ro/svn/yate/trunk@3264 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-30 19:25:10 +00:00
paulc 5bb0385039 Added decoding and encoding of the GenericName ISUP parameter.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3263 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-30 18:24:58 +00:00
paulc 98f7e2348c Added possibility to retrieve and set the SLS of a new ISUP call.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3262 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-30 17:06:23 +00:00
paulc f74bf97254 Added support for Hop Counter and Originating Line Information ISUP parameters.
Constified some parameter description tables.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3261 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-30 16:07:38 +00:00
paulc 6df5845b37 Added support for the ISUP GenericNumber parameter. Copy all possible parameters to the IAM message.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3241 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-22 13:42:36 +00:00
paulc 6d99b03c2e Added handling of ISUP CCR messages - either in existing calls or alone.
git-svn-id: http://yate.null.ro/svn/yate/trunk@3239 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-21 20:54:38 +00:00
paulc 9a6445f415 Update the format before placing the circuit in a special mode.
Prefix with "test:" the continuity type when our end is initiating the test.


git-svn-id: http://yate.null.ro/svn/yate/trunk@3235 acf43c95-373e-0410-b603-e72c3f656dc1
2010-04-21 15:47:03 +00:00