160 likes | 292 Views
Introduction to SS7 – Part 4. Konrad Hammel Sangoma Technologies. SMG-SS7 – Basic Setup. SMG-SS7 – Basic Setup. All sig and voice channels go to 1 system Can talk to multiple application servers Can handle up to 32 E1s What if the customer has more E1s?
E N D
Introduction to SS7 – Part 4 Konrad Hammel Sangoma Technologies
SMG-SS7 – Basic Setup • All sig and voice channels go to 1 system • Can talk to multiple application servers • Can handle up to 32 E1s • What if the customer has more E1s? • What happens if there is a hardware failure? • What if the customer has voice only E1s going to a different physical location?
SMG-SS7 – Distributed Setup • “Multiple systems acting as 1” • Voice T1/E1s can be balanced over multiple systems • Voice GWs can fail with out customer loosing everything • Voice GWs can be located in different geographical locations since inter-system communication is over IP
Trillium’s Relay • The simplest form of information exchange between two software modules is one module calling a predefined function of the other, restricting both modules to the same process space. However, modules can reside indifferent process spaces, with processes running on the same processor, different processors, or on two different machines. Relay software provides a communication channel to exchange information between two software modules independent of process space. (Relay – Service Definition, page 1-1)
Pst Structure typedefstructpst /* parameters for SPstTsk */ { ProcIddstProcId; /* destination processor id (U16) */ ProcIdsrcProcId; /* source processor id (U16) */ EntdstEnt; /* destination entity (U8) */ Inst dstInst; /* destination instance (U8) */ EntsrcEnt; /* source entity (U8) */ Inst srcInst; /* source instance (U8) */ Prior prior; /* priority (U8) */ Route route; /* route (U8) */ Event event; /* event (U8) */ Region region; /* region (U8) */ Pool pool; /* pool (U8) */ Selector selector; /* selector (U8) */ CmIntfVerintfVer; /* interface version (U16) */ } Pst;
Details of Relay in SMG-SS7 • Sig Channels • MTP3/ISUP runs on ProcId 1 only • MTP2/Layer1 can run on any ProcId • Each channel gets a unique ID value, and has it’s ProcId stored during configuration • Voice Channels • Cktsconfig info is stored in all systems (cc_spans) • Ckt ID values are based on ProcID • i.e. Proc 1 has 1000-1999
Handling ISUP messages • Most messages (IAM, ACM, ANM, RSC, etc) are destined for 1 circuit only so we “hacked” ISUP to check the ckt ID and redirect the messages accordingly • Group messages (GRS, CGB, etc) aren’t allowed to span E1/T1 lines so ISUP again can use the ckt ID to redirect the message • Global messages (resume and pause) are broadcasted to all ProcIds
Procedure on Relay Loss/Recovery ProcID 1 ProcID 2-9 Loss Bring sig_status to “down” for all ckts and throw Relay flag Sig links will fail on their own Recovery Send Layer manager status request for all circuits, if “unequipped” re-configure, if “equipped” sync the block state of circuit, clear relay flag Sig links will be activated by ProcID 1 • Loss • Send a BLO for all circuits on procID that is no longer reachable • Deactivate all sig links on ProcID • Recovery • Send UBL for all circuits on procId that is now reachable • Activate all sig links on ProcID