Core Roaming Platform Kiegészítő felhasználói leírás (Az Sga-RS (NTR) leírás kiegészítése) AITIA International Zrt. 2016. január 14. Tartalomjegyzék 1. A teljes SS7 jelzésforgalom kezelése... 2 2. A 2G steering pontosítása... 3 3. A 4G roaming forgalom kezelése... 4 4. Steering szabályok 2G/3G és 4G hálózatokon... 6 5. TravelSMS triggerek... 8 6. Feljelentkezési sikerességi riport... 12 7. BackHome-SMS funkció... 13 8. Diameter üzenetstatisztika (Diameter Accouting)... 18 9. Üzenetrögzítés... 20 10. MAP Firewall (SCCP screening)... 22 11. Aktuális szoftververziók (2015.12.11.)... 25 12. Konfiguráció (INI) minták... 26 13. Teljes rendszervázlat... 37
1. A teljes SS7 jelzésforgalom kezelése Az NTR berendezés eddig csak a hálózatba beérkező SCCP/NumberingPlan=7 üzeneteket kapta meg. A továbbiakban viszont mind az out-bound, mind az in-bound roaming MAP jelzésforgalom áthalad a berendezésen. Ehhez az MSS-ben beállításra került, hogy minden TT=252 üzenet az NTR felé menjen. Az NTR a beérkező üzeneteket feldolgozza és a megfelelő TT csere alkalmazása után visszaküldi azokat az MSS-nek, kivéve a BEGIN/UpdateLocation üzeneteket. Ezek esetében a steering logika dönti el, hogy az üzenet továbbmehet a HLR felé, vagy visszautasításra kerül. Utóbbi esetben egy END/UpdateLocation üzenet generálódik, amelynek a címzettje az eredeti feladó VLR lesz, feladója pedig a konfigurációban megadott, IMSI függő HLR cím lesz. A TT csere szabálya - Amennyiben az SCCP/CalledPartyGT értéke 36*, azaz a megcímzett berendezés magyar, tehát az üzenetet a Telenor hálózata felé kell továbbítani, a TT érték 231 lesz (konfigurálható, byttreplacementincoming). - Amennyiben az SCCP/CalledPartyGT értéke nem 36*, azaz a megcímzett berendezés külföldi, tehát az üzenetet a Telenor hálózatból kifelé kell továbbítani, a TT érték 234 lesz (konfigurálható, byttreplacementoutgoing). A teljes jelzésforgalom kezelésében érintett modul (az állománynév és a verzió, amelyben a funkció megjelent) - SgaRS_SS7_X.exe v1.03 A kapcsolódó konfigurációs bejegyzések - SgaRS_SS7_X.ini [szekció]/bejegyzés=érték [SS7]/byTTReplacementIncoming=231 [SS7]/byTTReplacementOutgoing=234 Magyarázat TT csere a hálózatba beérkező üzenetek esetében (SCCP/CldPA == 36*) TT csere a hálózatból kimenő üzenetek esetében (SCCP/CldPA <> 36*) 2
2. A 2G steering pontosítása A steering-elés során a feljelentkezések kezelése a látott BEGIN/UpdateLocation üzenetek segítségével történt. Azok az esetek, amikor az NTR beengedte ugyan az előfizetőt, de a továbbengedett feljelentkezést a HLR visszautasította jelentős eltérést okoztak a szolgáltatók közötti NTR által nyilvántartott és a valós megoszlásban. Ennek megoldására a HLR általi, RoamingNotAllowed hibakóddal történő visszautasítások esetén az NTR az adott szolgálgatóhoz beengedett előfizetők számát korrigálja (csökkenti). A funkcióban érintett modulok - SgaRS_SS7_X.exe v1.03 - SgaRS_Server.exe v2.06 - SgaRS_Stat.exe v2.06 Az RSS/SS7 modul az SCCP/CadPA/SSN alapján a VLR-eknek címzett END/MAP-Error: 'RoamingNotAllowed' üzeneteket továbbítja az RSS/Server modulnak. Az RSS/Server modul pontosítja (azaz dekrementálja, amennyiben nem nulla) az adott szolgáltatóhoz tartozó sikerességszámlálót, ezt az információt átküldi a szomszéd RSS/Server és RSS/Statistics modulnak. Az RSS/Statistics modul fogadja az RSS/Server modultól kapott END üzeneteket, ezzel pontosítva a statisztikát. 3
3. A 4G roaming forgalom kezelése A 4G roaming forgalom kezeléséhez a Diameter/SCTP kapcsolatok jellegéből adódóan a HSS és a DRA közötti teljes 4G jelzésforgalom áthalad a CRP szervereken. Ennek megvalósításához a HSS és a CRP, valamint a CRP és a DRA között kiépül egy-egy, egymástól független SCTP multihome asszociáció (az ábrán kék nyilakkal jelölve). Logikailag ezek felett épül fel a Diameter kapcsolat úgy, hogy a Diameter üzenetek a CRP-n transzparensen haladnak át, így a HSS és DRA számára Diameter szinten a CRP nem látszik (zöld nyíl). A Diameter-kapcsolat felépítése során a CER és CEA üzenetekben a HostIPAddress mező tartalmát a CRP kicseréli a saját IP címeire, hogy az SCTP és Diameter protokollokban megegyezzenek az IP címek. RS_Serv CRP server MCCMNC.lst IMSIPref.cfg Diameter_SCTP DiamXTalk Diameter_SCTP HSS DRA Diameter_SCTP DiamXTalk Diameter_SCTP Diameter Sga-8004. Accounting xxx Report 4G roaming forgalom kezelése a CRP-ben A két SCTP asszociációt (a HSS és a CRP, valamint a CRP és a DRA között) egy-egy Diameter_SCTP modul kezeli, emiatt ennek a modulnak Diameter kapcsolatonként két példányban kell futtatni. A modulok megkülönböztetését segíti a konfigurációban megadható fejlécszöveg. A Diameter_SCTP modulok szükség esetén kezelik az SCTP darabolódást is. Az SCTP asszociáció teljes megszakadása esetén a Diameter_SCTP modul jelez a DiamXTalk-nak, amely ezt a jelzést továbbküldi a másik Diameter_SCTP modulnak, amely ennek hatására elbontja a saját asszociációját. Így az egyik oldali asszociáció megszakadásának hatására a másik oldali asszociáció is megszakad, így mindkét távoli berendezés értesül a problémáról. Ebben az esetben az asszociációk újraépülése esetén a Diameter kapcsolatnak is fel kell épülnie. Ezen kívül a Diameter_SCTP modulok a Diameter üzeneteket SGA állományba írják. A DiamXTalk modul összeköti a Diameter_SCTP modulokat, a tőlük kapott Diameter üzeneteket továbbítja a másik Diameter_SCTP-nek. Update-Location-Request (ULR) üzenet esetén értesíti az RSS/Server modult és megvárja a steeringelési döntést. Pozitív válasz esetén továbbadja az ULR-t, negatív válasz esetén az eredeti küldő felé Update-Location-Answer (ULA) üzenetet küld. A CLR és PUR üzenetről értesíti az RSS/Server-t. A DiamXTalk modul az MCCMNC.lst és IMSIPref.cfg állományok felhasználásával a Diameter forgalom alapján a TravelSMS és a feljelentkezési sikerességi riporthoz Sga-8004 állományokat ír. A modul a Diameter üzenetekről statisztikát készít (Diameter accounting funkció). 4
A Diameter forgalom kezelésében résztvevő modulok - GyDiameter_SCTP.exe v1.00 - DiamXTalk.exe v0.93 A Diameter forgalom kezelésével kapcsolatos konfigurációs bejegyzések - GyDiameter_SCTP.ini (a HSS1-CRP1 kapcsolatot kezelő modul bejegyzései) [szekció]/bejegyzés=érték [SCTP]/sLocalIPAddress#1=217.79.139.249 [SCTP]/sLocalIPAddress#2=217.79.130.17 [SCTP]/sRemoteIPAddress_A#1=217.79.130.169 [SCTP]/sRemoteIPAddress_A#2=217.79.130.170 [SCTP]/ wlocalsctpport=3868 [SCTP]/ wremotesctpport_a=53868 [SCTP]/byClientServerMode=1 [Advanced]/sID=HSS1_1 Magyarázat A CRP szerver SCTP IP címe (Sig1) A CRP szerver SCTP IP címe (Sig2) A HSS1 SCTP IP címe (Sig1) A HSS1 SCTP IP címe (Sig2) A CRP szerver SCTP portja A HSS1 SCTP portja 0 a CRP kliensként viselkedik, aktívan kezdeményezi az SCTP kapcsolat felépítését 1 a CRP szerverként viselkedik, passzívan várja a másik oldaltól a kapcsolat-felépítést 2 a CRP kliensként és szerverként viselkedik, kapcsolatot próbál felépíteni és a túloldal kapcsolat-felépítését is fogadja A fejlécben megjelenő szöveg - DiamXTalk.ini [szekció]/bejegyzés=érték [Capabilities-Exchange Host-IP-Addresses_0] [Capabilities-Exchange Host-IP-Addresses_1] [Advanced]/ scaption=hss1_oslo1dra [Diameter]/sOriginHost=hss001.epc.mnc001.mcc216.3gppnetwork.org [Diameter]/sOriginRealm=epc.mnc001.mcc216.3gppnetwork.org magyarázat A 0 Diameter_SCTP modul felé küldött CER/CEA üzenetekben az itt felsorolt IP címek jelennek meg a HostIPAddress értékeként Az 1 Diameter_SCTP modul felé küldött CER/CEA üzenetekben az itt felsorolt IP címek jelennek meg a HostIPAddress értékeként A fejlécben megjelenő szöveg A steering miatti visszautasításkor küldött ULA üzenetben használt OriginHost érték A steering általi visszautasításkor küldött ULA üzenetben használt OriginRealm érték 5
4. Steering szabályok 2G/3G és 4G hálózatokon Jelen fejezetben csak az eddigi 2G steeringhez képesti funkcióbővítést részletezzük. A terelés alapvető logikája változatlan (szolgáltatók közötti százalékos megoszlás figyelése, visszautasítások számának követése, 2G visszautasítás esetén a MAP üzenet összeállítása, guard-time kezelése). A MAP és Diameter feljelentkezések nincsenek megkülönböztetve, mind egy-egy feljelentkezésnek számít és mindegyik beszámolódik a hátralévő visszautasítások (RejectCount) figyelésnél. Amikor a 2G és 4G feljelentkezési kísérletek száma együttesen eléri a beállított RejectCount értéket, akkor a következő kísérletet beengedjük és az IMSI bekerül az éppen aktuális feljelentkezés típusának megfelelő (2G vagy 4G) memóriába. Ha egy előfizetőt engedünk feljelentkezni MAP-en, akkor őt megjegyezzük ("2G memória", IMSI+Operator). Aki ebben a 2G memóriában van, azt nem utasítjuk el 4G-n (azonos szolgáltatóhoz történő feljelentkezés esetén). Innen időzítéssel kerül ki az IMSI. Ha egy előfizetőt engedünk feljelentkezni 4G-n, akkor őt megjegyezzük ("4G memória", IMSI+Operator+MME). Aki itt van, azt nem utasítjuk el 2G-n (azonos szolgáltatóhoz történő feljelentkezés esetén). Innen vagy időzítés vagy azonos MME-nek/által küldött Purge-UE-Request vagy Cancel-Location-Request üzenet hatására törlődik az IMSI. A 4G feljelentkezés elutasítása esetén az ULA üzenetben alkalmazott Result-Code vagy Experimental-Result-Code konfigurálható, valamint az OriginRealm és OriginHost mezők értéke is beállítható (azaz, milyen berendezés nevében küldjük az elutasító üzenetet). A kibővített steering-elésben résztvevő modulok - SgaRS_SS7_X.exe v1.03 - DiamXTalk.exe v0.93 - SgaRS_Serv.exe v2.07 Kapcsolatos konfigurációs bejegyzések - DiamXTalk.ini [szekció]/bejegyzés=érték [Diameter]/ soriginhost=hss001.epc.mnc001.mcc216.3gppnetwork.org [Diameter]/ soriginrealm=epc.mnc001.mcc216.3gppnetwork.org magyarázat A visszautasításkor küldött ULA üzenetben szereplő OriginHost érték A visszautasításkor küldött ULA üzenetben szereplő OriginRealm érték 6
- SgaRS_Serv.ini [szekció]/bejegyzés=érték [Rules]/sMCCMNClistFile= SgaRS_MCCMNC_list.lst [2G-Steering]/dwIMSIMemoryEntryCount=1000000 [2G-Steering]/dwIMSIMemoryEntryLifeSec=3600 [4G-Steering]/dwIMSIMemoryEntryCount=1000000 [4G-Steering]/dwIMSIMemoryEntryLifeSec=3600 [4G-Steering / Xtalk]/iNegativeAnswerCode=5012 magyarázat MCC-MNC szolgáltató-név lista A 2G memória megengedett mérete A 2G memória elemei ennyi idő múlva felejtődnek el A 4G memória megengedett mérete A 4G memória elemei ennyi idő múlva felejtődnek el A visszautasító ULA üzenetben alkalmazott Result érték. A pozitív érték Result-Code -ként, a negatív érték Experimental-Result-Code -ként kerül elküldésre. Bemeneti lista - MCCMNC.lst o MCC-MNC pár szolgáltató megnevezése összerendelést tartalmazza 412 01 Afghanistan-AWCC 412 40 Afghanistan-MTN 7
5. TravelSMS triggerek A TravelSMS triggerek előállítása az összeállított MAP és Diameter UpdateLocation tranzakciók alapján történik. A triggerekbe az outbound előfizetők sikeres UpdateLocation (MAP és Diameter) tranzakciói kerülnek. A Diameter feljelentkezések listázása kikapcsolható és csak az MSISDN-t is tartalmazó esetekből keletkezik trigger. A TravelSMS rekord Állománynév: LU_20150813_163906_00002366.csv A rekord formátuma: 36204567897,216016303609001,HUNGARY,Poland_P4,2G,2015-06-20 15:07:13 A rekord mezőinek jelentése: - MSISDN az előfizető MSISDN-je (MAP/ISD és Diameter/ULA üzenetekből) - IMSI az előfizető IMSI-je (MAP/UL és Diameter/ULR üzenetekből) - IMSI csoport megnevezése (IMSIPref.cfg alapján) - ország/szolgáltató megnevezés (VLR) (OpPref.cfg és MCCMNC.lst alapján) - hálózat típusa, lehetséges értékek: 2G vagy 4G - feljelentkezés időpontja (helyi idő szerint) Trigger-információ előállítása SS7-en (2G) Az RSS/SS7 modul beolvassa az IMSIPref és OpPref listákat. A látott BEGIN/UpdateLocation, CONTINUE/InsertSubscrberData és END/UpdateLocation, valamint BEGIN/CancelLocation üzenetekből kinyert információkat átmeneti állományokba teszi (Sga-8004.xxx). Az IMSI és VLRaddress értékekhez a megfelelő listából kikeresi a neveket, ezeket szintén hozzáfűzi a továbbított információkhoz. A trigger-előállítás redundanciája érdekében a modul képes két helyre kiírni az átmeneti állományokat. Trigger-információ előállítása Diameter-en (4G) A DiamXTalk modul beolvassa az IMSIPref és MCCMNC.lst listákat. A látott Update-Location- Request és Update-Location-Answer üzenetekből kinyert információkat átmeneti állományokba teszi (Sga-8004.xxx). Az IMSI és MMEaddress értékekhez a megfelelő listából kikeresi a neveket, ezeket szintén hozzáfűzi a továbbított információkhoz. A trigger-összeállítás redundanciája érdekében a modul képes két helyre kiírni az átmeneti állományokat. Trigger-információ továbbítása az Sga-WSMS rendszer számára A trigger-információkat tartalmazó átmeneti állományokat a FakeMonitor modul olvassa fel, akár öt különböző helyről. A FakeMonitor modul (WMMonitor-ként) TCP/IP protokollon kapcsolódik az Sga-WSMS szerveren futó WMPoller modulhoz, amelynek továbbítja a trigger-információkat. A WMPoller a fogadott információkat átmeneti állományokba menti (Sga-8004.xxx). A WSMS rendszer teljes redundanciája esetén a FakeMonitor-nak két példányban kell futnia. Ebben az esetben a két FakeMonitor a két WSMS szerverhez kapcsolódik. 8
A WSMS szerveren lévő WMPoller modulhoz két FakeMonitor kapcsolódik a két CRP szerver felől. Trigger-információ feldolgozása, triggerek előállítása A SgaWMPoller által készített átmeneti állományokat az SgaWMLU (LocationUpdate Assembler) modul beolvassa és az így megkapott információk alapján összeállítja az UpdateLocation tranzakciókat. A sikeresen záródó tranzakciókból képzett rekordokat a modul CSV állományokba írja, amelyeket periodikusan lezár. GyX_SCTP Diameter_SCTP Diameter_SCTP RS_SS7_X OpPref.cfg IMSIPref.cfg MCCMNC.lst DiamXTalk Sga- 8004.xxx Sga- 8004.xxx FakeMon CRP server WMPoller WSMS server Sga- 8004.xxx LocUpd Assembler LU.csv LU2.csv A trigger-előállításban résztvevő modulok - SgaRS_SS7_X.exe v1.03 - DiamXTalk.exe v0.93 - Sga-WSMS_FakeMonitor.exe v0.92 - SgaWMLU.exe v2.01 9
A kapcsolódó konfigurációs bejegyzések - SgaRS_SS7_X.ini [szekció]/bejegyzés=érték Magyarázat [TravelSMS triggers]/s8004filespath1=d:\travelsms2g_1 A trigger-információkat tartalmazó átmeneti állományok írásának elsődleges helye (könyvtár) [TravelSMS triggers]/s8004filespath2=d:\travelsms2g_2 [Advanced]/sIMSIPrefFile=IMSIPref.cfg [Advanced]/sOpPrefFile=OpPref.cfg A trigger-információkat tartalmazó átmeneti állományok írásának másodlagos helye (könyvtár) Ha a bejegyzés nem létezik vagy üres, akkor másodlagos állományok nem keletkeznek. IMSI csoportneveket tartalmazó lista VLRGT-prefix operátornév lista - DiamXTalk.ini [szekció]/bejegyzés=érték magyarázat [Advanced]/s8004FilesPath1=d:\TravelSMS4GHSS1_1 A trigger-információkat tartalmazó átmeneti állományok írásának elsődleges helye (könyvtár) [Advanced]/s8004FilesPath2=d:\TravelSMS4GHSS1_2 [Advanced]/sIMSIPrefFile=SgaWM_IMSIpref.lst [Advanced]/sMCCMNClistFile=SgaRS_MCCMNC_list.lst A trigger-információkat tartalmazó átmeneti állományok írásának másodlagos helye (könyvtár) Ha a bejegyzés nem létezik vagy üres, akkor másodlagos állományok nem keletkeznek. IMSI csoportneveket tartalmazó lista MCC-MNC szolgáltatónév lista - Sga-WSMS_FakeMonitor.ini [szekció]/bejegyzés=érték [Advanced]/s8004FilesPath1=d:\TravelSMS2G_1 magyarázat A 2G trigger-információkat tartalmazó átmeneti állományok helye (könyvtár) [Advanced]/s8004FilesPath2=d:\TravelSMS4GHSS1_2 A HSS1 4G trigger-információkat tartalmazó átmeneti állományok helye (könyvtár) [Advanced]/s8004FilesPath3=d:\TravelSMS4GHSS2_1 A HSS2 4G trigger-információkat tartalmazó átmeneti állományok helye (könyvtár) [Advanced]/s8004FilesPath4=d:\TravelSMS4GMME1_2 A MME1 4G trigger-információkat tartalmazó átmeneti állományok helye (könyvtár) [Advanced]/s8004FilesPath5=d:\TravelSMS4GMME2_2 A MME2 4G trigger-információkat tartalmazó átmeneti állományok helye (könyvtár) 10
[Advanced]/sPollerIPAddress=127.0.0.1 [Advanced]/wPollerTCPPort=8001 WSMS szerver IP címe WMPoller modul TCP portja - SgaWMLU.ini [szekció]/bejegyzés=érték [LU Files]/sPath=d:\TravelSMSCSVFiles magyarázat A trigger rekordokat tartalmazó CSV állományok könyvtára [LU Files]/dwNextFileID=2380 A következő állomány sorszáma (a modul automatikusan kezeli) [LU Files]/dwMaxEntryCount=1000 Egy állomány legfeljebb ennyi bejegyzést tartalmazhat. Több rekord esetén új állomány keletkezik. [LU Files]/dwFlushPeriod=900 [LU Files]/chFieldDelimiter=, [LU Files]/bAlsoOn4G=True CSV állományok lezárási periódusa, másodpercben megadva Mezőelválasztó karakter True a 4G feljelentkezésekből is keletkezik TravelSMS rekord False a 4G feljelentkezésekből nem keletkezik TravelSMS rekord Bemeneti listák - IMSIPref.cfg o IMSIprefix név összerendeléseket tartalmazza o a név legfeljebb 20 karakter hosszú lehet (WSMS formátum) 23205 AT-CONNECT 23210 AT-HUTCHISON-3G - OpPref.cfg o VLRGT prefix név összerendeléseket tartalmazza o a név legfeljebb 20 karakter hosszú lehet (WSMS formátum) 43699 AT-CONNECT 43650 AT-MAXMOBIL - MCCMNC.lst o MCC-MNC pár szolgáltató megnevezése összerendelést tartalmazza 412 01 Afghanistan-AWCC 412 40 Afghanistan-MTN 11
6. Feljelentkezési sikerességi riport A feljelentkezési sikerességi riport minden sikeres és sikertelen UpdateLocation tranzakciót tartalmaz. Tartalmazza a CS (MAP/UpdateLocation), a PS (MAP/UpdateGPRSLocation) és a 4G (Diameter/Update-Location) feljelentkezéseket, az outbound és inbound eseteket, továbbá az HLR és HSS, valamint az RSS által elutasított eseteket is. A riport előállításának folyamata megegyezik a TravelSMS triggerével, így ugyanazok a modulok vesznek benne részt. A roaming sikerességi rekord Állománynév: LU2_20150813_163906_00002366.csv A rekord formátuma: MSISDN,IMSI,IMSI_group,VLR_name,network(2GCS 2GPS 4G),date&time,result, steering(yes no) A paraméterek értelmezése megegyezik a TravelSMS rekordok azonos paramétereivel. Amennyiben az MSISDN hiányzik (például sikertelen feljelentkezés esetén), akkor az MSISDN mező üresen marad, a rekord szeparátorral kezdődik. A result mező a feljelentkezés sikerességét jelzi. Ennek lehetséges értékei: - sikeres feljelentkezés esetén: 1 - sikertelen feljelentkezés esetén a sikertelenség oka szerint: o Timeout: 0 o TCAP/END/Error(N): 1000+N o TCAP/ABORT: 2000 o TCAP/END(empty): 9000 o 4G esetben: Result-Code vagy Experimental Result - TID-reuse esetén:?0? - Modul leállításkor lezárt tranzakció esetén:?0? Kapcsolódó konfigurációs bejegyzések - SgaWMLU.ini [szekció]/bejegyzés=érték [LU2 Files]/sPath=d:\TravelSMSCSVFiles [LU2 Files]/dwNextFileID=2380 12 Magyarázat A feljelentkezési rekordokat tartalmazó CSV állományok könyvtára. Amennyiben a bejegyzésnek nincs értéke vagy teljesen hiányzik, akkor nem keletkezik feljelentkezési riport. A következő állomány sorszáma (a modul automatikusan kezeli) [LU2 Files]/dwMaxEntryCount=1000 Egy állomány legfeljebb ennyi bejegyzést tartalmazhat. Több rekord esetén új állomány keletkezik. [LU2 Files]/dwFlushPeriod=900 [LU2 Files]/chFieldDelimiter=, CSV állományok lezárási periódusa Mezőelválasztó karakter
7. BackHome-SMS funkció A BackHome-SMS funkcióval az előfizetők hazatéréséről informáljuk a további feldolgozó rendszereket. A külföldi hálózatba történő feljelentkezést a partner-szolgáltató VLR-je által a Telenor HLR-nek küldött UpdateLocation üzenetek jelzik. Az előfizetők honos hálózatba történő bejelentkezése a Telenor HLR által az utolsó ismert VLR-nek küldött CancelLocation üzenet figyelésével történik. Amennyiben a CancelLocation üzenet nem kapcsolható egy idegen VLR által küldött UpdateLocation üzenethez (azaz egy másik hálózatban történő bejelentkezéshez), akkor feltételezzük, hogy az előfizető a Telenor hálózatába jelentkezett be, azaz hazaérkezett. A BackHome-SMS rekord előállítása A BackHome-SMS funkció a WSMS rendszer LocationUpdate Assembler modulja által összeállított UpdateLocation tranzakciók alapján működik. Az üzenetgyűjtés és továbbítás a TravelSMS rekordoknál leírt módon történik. A sikeres UpdateLocation tranzakció esetén az előfizető bekerül a modul memóriájába, ahol tárolásra kerül az aktuális szolgáltató neve és a feljelentkezés időpontja ( FirstUL mező). A további feljelentkezések a LastUL mezőbe íródnak, innen derül ki, hogy melyik volt a hazatérés előtti utolsó szolgáltató, ahol az előfizető roamingolt. Az adott IMSI-t tartalmazó minden CancelLocation esemény szintén feljegyzésre kerül, a LastCL mezőben. (Az RSS/SS7 modul a CancelLocation üzenetek esetén továbbadja, hogy a címzett berendezés VLR vagy SGSN volt. Utóbbi esetben a CL-t nem kell figyelembe venni.) A BackHome modul rendszeresen vizsgálja a memóriában lévő bejegyzésekben, hogy a LastCL mezőben lévő időpecséthez képest mennyivel tér el a LastUL időpecsétje (azaz volt-e a CancelLocation-nel egyidőben feljelentkezés). Amennyiben a két időpecsét egy beállított értéknél nagyobb, (azaz az utolsó feljelentkezés a beállított idővel megelőzte az utoljára látott CancelLocation-t), akkor a BackHome állományba készül egy új bejegyzés, az előfizetőt pedig törlődik a memóriából. A memória karbantartása érdekében töröljük azokat a bejegyzéseket, ahol az utolsó feljelentkezés egy másik megadott időnél régebbi. Ezek az előfizetők vagy huzamosabb ideig tartózkodnak külföldön vagy nem láttuk a hazatéréskori CancelLocation tranzakciót. Az ilyen esetek opcionálisan (tesztelési vagy ellenőrzési célból) CSV állományba kerülhetnek. A BackHome-SMS (és TimeOut) rekordok CSV állományba íródnak, az állománygenerálás gyakorisága konfigurálható és a maximális méret is megadható. A Roamers List3 Console segédprogram a funkció működéséhez nem szükséges, azonban segítségével a memóriában lévő adatok alapján: - látható az aktív roamer-ek, valamint a látott üzenetek száma - teszteléshez beszúrható egy-egy előfizető a memóriába, és frissíthetőek az adatai - listázható az utolsó 100 bejegyzés, ahol: o o a CancelLocation és az utolsó UpdateLocation idejének különbsége nagyobb, mint a megadott az utolsó UpdateLocation óta eltelt idő nagyobb, mint a megadott - lekérdezhető egy IMSI tárolt állapota o o törölhető az összes aktív roamer menthető és visszatölthető az aktív roamer-ek listája 13
A BackHome-SMS rekord Állománynév: WSMS-BackHome_YYYYMMDD_HHMMSS_00002004.csv A rekord formátuma: 36201234567,216012030405058,GR-COSMOTE,1,GR-STET-HELLAS,1,123,2015.11.24. 14:22:19 A BackHome állományok a következő adatokat tartalmazzák minden előfizetőhöz: - MSISDN - IMSI - az első szolgáltató neve (VLR GT alapján, az OpPref.cfg listából) - az első szolgáltató zónája (a szolgáltató neve alapján, WMBackHome-Zones.lst listából) - az utolsó szolgáltató neve (VLR GT alapján, az OpPref.cfg listából) - az utolsó szolgáltató zónája (a szolgáltató neve alapján, WMBackHome-Zones.lst listából) - idegen hálózatban töltött idő órában (az utolsó CancelLocation időpecsétjének és az első feljelentkezés időpecsétjének különbsége, lefelé kerekítve) - hazaérkezés dátuma és ideje (az utolsó CancelLocation időpecsétje, helyi idő szerint) A leidőzített esetek rekordja (ellenőrzési célból készült) - Állománynév: WSMS-TimeOut_YYYYMMDD_HHMMSS_00002004.csv - A rekord formátuma: 216012030405058,36301234567,GR-COSMOTE,2015.01.24. 14:22:19,GR-STET-HELLAS, 2015.01.24. 14:22:19,2015.01.24. 14:22:20 A rekord elemei: - IMSI - MSISDN - az első (sikeres) feljelentkezés ideje + az operátor neve - az utolsó feljelentkezés ideje + az operátor neve - az utolsó CancelLocation ideje (helyi idő szerint) A kimeneti állományok egymástól függetlenül megadható ütemezéssel készülnek és egymástól függetlenül ki- és bekapcsolhatóak (a lista karbantartásának céljából a memóriából törlés akkor is megtörténik, ha nem készül kimeneti állomány) A BackHome-SMS-rekord előállításban résztvevő modulok - SgaRS_SS7_X.exe v1.03 - Sga-WSMS_FakeMonitor.exe v0.92 - SgaWMLU.exe v2.01 - SgaWMBackHome.exe v0.90 - SgaWMRoamersList3.dll v0.90 - SgaWMRoamersList3Console.exe v0.90 14
GyX_SCTP RS_SS7_X OpPref.cfg IMSIPref.cfg Sga- 8004.xxx FakeMon CRP server WMPoller WSMS server Sga- 8004.xxx LocUpd Assembler Roamers3List.dll RoamersList3 Console BackHome- Zones.lst BackHome BackHome.csv TimeOut.csv A kapcsolódó konfigurációs bejegyzések - SgaRS_SS7_X.ini o ugyanazok, mint a TravelSMS esetében - Sga-WSMS_FakeMonitor.ini o ugyanazok, mint a TravelSMS esetében 15
- SgaWMBackHome.ini [szekció]/bejegyzés=érték magyarázat [BackHome Files]/sPath=d:\BHSMSFiles A BackHome-SMS rekordokat tartalmazó CSV állományok könyvtára. Amennyiben a bejegyzésnek nincs értéke vagy teljesen hiányzik, akkor nem keletkezik BackHome-SMS rekord. [BackHome Files]/dwNextFileID=2008 A következő állomány sorszáma (a modul automatikusan kezeli). [BackHome Files]/dwMaxEntryCount=500000 Egy állomány legfeljebb ennyi bejegyzést tartalmazhat. Több rekord esetén új állomány keletkezik. [BackHome Files]/dwFlushPeriod=900 [BackHome Files]/chFieldDelimiter=, [TimeOut Files]/sPath=d:\BHTimeOutFiles CSV állományok lezárási periódusa, másodpercben megadva Mezőelválasztó karakter A TimeOut rekordokat tartalmazó CSV állományok könyvtára. Amennyiben a bejegyzésnek nincs értéke vagy teljesen hiányzik, akkor nem keletkezik TimeOut rekord. [TimeOut Files]/dwNextFileID=2074 A következő állomány sorszáma (a modul automatikusan kezeli). [TimeOut Files]/dwMaxEntryCount=1000 Egy állomány legfeljebb ennyi bejegyzést tartalmazhat. Több rekord esetén új állomány keletkezik. [TimeOut Files]/dwFlushPeriod=300 [TimeOut Files]/chFieldDelimiter=, [Advanced]/sOpPrefZonesFile=BackHome-Zones.lst [Advanced]/dwRecordCancelTimeOutSec=10 [Advanced]/dwRecordUpdLocTimeOutSec=864000 CSV állományok lezárási periódusa, másodpercben megadva Mezőelválasztó karakter A szolgáltató zóna összerendeléseket tartalmazó állomány elérési útvonala. A zóna lista minden kimeneti állományba írás előtt dinamikusan újraolvasódik. Ha az utolsó UL és CL közötti idő ennél nagyobb, akkor az előfizetőt hazaérkezettnek tekintjük (BackHome- SMS rekord). Ha az utolsó UL óta eltelt a beállított idő, akkor törlésre kerül (TimeOut rekord) - SgaWMRoamersList3.ini [szekció]/bejegyzés=érték [Settings]/dwRoamersMaxCount=500000 magyarázat A memória maximális mérete, azaz az egy időben fejben tartott roaming-olók száma 16
Bemeneti listák - OpPref.cfg o o VLRGT prefix szolgáltatónév összerendeléseket tartalmazza a név legfeljebb 20 karakter hosszú lehet (WSMS formátum) 43699 AT-CONNECT 43650 AT-MAXMOBIL - SgaWMBackHome-Zones.lst o o szolgáltatónév zóna összerendelés (OpPref.cfg-ben szereplő szolgáltató-elnevezésekkel összhangban a név legfeljebb 20 karakter hosszú lehet (WSMS formátum) AT-CONNECT 1 AT-HUTCHISON-3G 1 17
8. Diameter üzenetstatisztika (Diameter Accouting) A Telenor hálózata (a HSS és az MME) és a DRA közötti Diameter kapcsolatokon áthaladó Diameter üzenetekről statisztika készül, a következő bontásban: - üzenettípus alapján, a következő üzenetekre o Update-Location-Request (ULR) Command, Update-Location-Answer (ULA) Command, o Authentication-Information-Request (AIR) Command, Authentication-Information- Answer (AIA) Command, o o o o o o Cancel-Location-Request (CLR) Command, Cancel-Location-Answer (CLA) Command, Insert-Subscriber-Data-Request (IDR) Command, Insert-Subscriber-Data-Answer (IDA) Command, Delete-Subscriber-Data-Request (DSR) Command, Delete-Subscriber-Data-Answer (DSA) Command, Purge-UE-Request (PUR) Command, Purge-UE-Answer (PUA) Command, Reset-Request (RSR) Command, Reset-Answer (RSA) Command, Notify-Request (NOR) Command, Notify-Answer (NOA) Command, o ME-Identity-Check-Request (ECR) Command, ME-Identity-Check-Answer (ECA) Command o Diameter Common Message-ek nem kellenek - üzenet irány (kimenő/bejövő) alapján - szolgáltató szerint. A szolgáltató-meghatározás logikája a következő: - Ha a Diameter üzenet "Request", akkor: OrigRealm OrigMCCMNC és ha DestRealm INI/sLocalGatewayName, akkor DestRealm DestMCCMNC de ha DestRealm ==: INI/sLocalGatewayName, akkor DestMCCMNC:= "9999 9999" - ha a Diameter üzenet "Answer", akkor: SessionID DestMCCMNC és ha OrigRealm INI/sLocalGatewayName, akkor OrigRealm OrigMCCMNC de ha OrigRealm == INI/sLocalGatewayName, akkor OrigMCCMNC := "9999 9999" - Ha OrigMCCMNC == "216 01", akkor: irány "out" és ha DestMCC "9999", akkor DestMCCMNC OperatorName de ha DestMCC == "9999", akkor IMSIprefix OperatorName - ha OrigMCCMNC "216 01", akkor: irány "in" és ha OrigMCC "9999", akkor OrigMCCMNC OperatorName de ha OrigMCC == "9999", akkor OperatorName := INI/sLocalGatewayName 18
Amennyiben az MCCMNC kinyerhető, de hozzájuk OperatorName nincs megadva, akkor ebben az esetben, a statisztikában "_MCC MNC_" nevű operátorként szerepel, természetesen a kinyert értékekkel behelyettesítve. A riport formátuma CSV állomány (lezárás ütemezése állítható), amelynek egy-egy sora tartalmazza egy operátor felé menő, vagy az operátortól érkező üzenetek darabszámát, üzenettípusonkénti bontásban. Az üzenetstatisztika miatt nem csak a HSS-ek és DRA közötti, hanem az MME-ek és DRA közötti jelzéskapcsolatot is a CRP-n keresztül kell kiépíteni. A Diameter üzenetstatisztika rekordjai Állománynév: YYYYMMDDHHMM_4.csv (az időpont az állomány lezárását jelzi) A rekord formátuma: 2015.12.01,18:15:00,Canada-Rogers_Wirele,in,AIR,2 A bejegyzések mezőinek jelentése: - dátum (a statisztikai időszak kezdetének dátuma) - időpont (a statisztikai időszak kezdő időpontja, GMT formátumban) - szolgáltató neve (MCCMNC.lst) - az üzenet iránya ( in vagy out ) - az üzenet típusa - darabszám A Diameter statisztika előállításban résztvevő modulok - DiamXTalk.exe v0.92 A kapcsolódó konfigurációs bejegyzések - DiamXTalk.ini [szekció]/bejegyzés=érték [Diameter Accounting Statistics]/ sstatpath=d:\diamstatfiles [Diameter Accounting Statistics]/ dwflushstatperiod=900 [Diameter Accounting Statistics]/ dwflushstatdelay=0 [Diameter Accounting Statistics]/ dwmaxstatkeycount=25000 [Diameter Accounting Statistics]/ slocalgatewayname=telenor.grx [Advanced]/ smccmnclistfile=sgars_mccmnc_list.lst magyarázat A Diameter statisztikát tartalmazó CSV állományok könyvtára. Amennyiben a bejegyzésnek nincs értéke vagy teljesen hiányzik, akkor nem keletkezik CSV. CSV állományok lezárási periódusa, másodpercben megadva. A CSV állományok kiírásának késleltetési, másodpercben. Egy állomány legfeljebb ennyi bejegyzést tartalmazhat. Ennél több bejegyzés esetén új állomány keletkezik. A DRA host neve, amely bizonyos esetekben a DestRealm és OrigRealm mezőben szerepelhet. MCC-MNC szolgáltatónév lista 19
9. Üzenetrögzítés A rendszeren áthaladó jelzésüzeneteket az adott forgalmat kezelő modul utólagos elemzés, hibakeresés, panaszkezelés céljából állományba tudja rögzíteni. A különböző típusú forgalom rögzítésére különböző modulokban van lehetőség. SS7 üzenetek rögzítése Az SCTP asszociációkon továbbított SS7 jelzésüzeneteket a GyX_SCTP modulok tudják rögzíteni. Az üzenetek az AITIA saját formátumában kerülnek tárolásra, amelynek kiterjesztése.sga. Ezt az állományt a Message Viewer értelmező program tud megjeleníteni. Az GyX_SCTP modul az üzeneteket az IP és SCTP réteg nélkül, az M3UA protokolltól kezdve tárolja, így a tárolt protokollstack: M3UA/SCCP/TCAP/MAP. Az üzenetállományok napi bontásban kerülnek lezárásra, az állománynév tartalmazza a dátumot, valamint egy konfigurálható azonosítót, amelynek segítségével később a különböző modulok által készített állományok megkülönböztethetőek. Diameter üzenetek rögzítése A Diameter üzeneteket a Diameter_SCTP modul menti SGA állományokba. Az üzenetek csak a Diameter protokollt tartalmazzák, az alsóbb rétegeket (IP és SCTP) nem. Az esetlegesen darabolódott Diameter üzenetek összeállítva kerülnek eltárolásra, így a Diameter szintű elemzés egyszerűbb. Az üzenetállományok napi bontásban kerülnek lezárásra, az állománynév tartalmazza a dátumot, valamint egy konfigurálható azonosítót, amelynek segítségével később a különböző modulok által készített állományok megkülönböztethetőek. Ethernet üzenetek rögzítése Az Ethernet interfészek forgalma a GyMonitor modul segítségével rögzíthető. Ebben az esetben az üzenetek a vonali formában kerülnek tárolásra, amivel az alacsonyszintű, átviteli-, vagy berendezés-problémákat lehet vizsgálni. A SCTP darabolódás nincs kezelve. A konfigurációban felsorolt interfészek teljes forgalma, opcionális IP-címszűréssel SGA vagy PCAP formátumban tárolható el. Az állományok lezárásra konfigurálható. A program WinPCAP driver-en keresztül rögzít, emiatt a használatához a WinPCAP csomag telepítése is szükséges. A üzenetrögzítésben érintett modulok - GyX_SCTP.exe v1.10 - GyDiameter_SCTP.exe v1.00 - Sga_GyMon.exe v0.92 20
A kapcsolódó konfigurációs bejegyzések - GyX_SCTP.ini [szekció]/bejegyzés=érték [SGAfiles]/sFilesPath magyarázat Az SGA állományok könyvtára. Amennyiben a bejegyzésnek nincs értéke vagy teljesen hiányzik, akkor nem történik üzenetmentés. [SGAfiles]/sFileNamePrefix Az SGA állományok nevében megjelenő azonosító. [SGAfiles]/sSigLinkID Az üzenetekben lévő linkazonosító (későbbi összefűzés esetén a könnyebb megkülönböztetést segíti). - GyDiameter_SCTP.ini [szekció]/bejegyzés=érték [SGAfiles]/sFilesPath magyarázat Az SGA állományok könyvtára. Amennyiben a bejegyzésnek nincs értéke vagy teljesen hiányzik, akkor nem történik üzenetmentés. [SGAfiles]/sFileNamePrefix Az SGA állományok nevében megjelenő azonosító. [SGAfiles]/sSigLinkID Az üzenetekben lévő linkazonosító (későbbi összefűzés esetén a könnyebb megkülönböztetést segíti). - Sga_GyMon.ini [szekció]/bejegyzés=érték [Capture]/sInputDevice#{0..9} [Capture]/sInputFilter [Filters]/sAllowIPAddress#{0..9} [Advanced]/wOutFilePeriod [Advanced]/sDataPath [Advanced]/sDataPathAlternate [Advanced]/bWriteLegacyPcapInsteadSga magyarázat A monitorozni kívánt Ethernet interfész PCAP azonosítója. Legfeljebb 10 Ethernet interfészt lehet megadni. Protokollszűrési lehetőség. IP-címszűrési lehetőség. Összesen 10 IP-címet lehet megadni. Az üzenetállományok lezárási periódusa. Az üzenetállományok keletkezési könyvtára. Ha az előző útvonal nem elérhető, akkor opcionális megadható alternatív útvonal is. True a kimeneti formátum PCAP False a kimeneti formátum SGA 21
10. MAP Firewall (SCCP screening) A megvalósított funkcionalitás aktív eleme a jelzéshálózatnak és képes különböző SCCP, TCAP és MAP paraméterek értékeire, valamint ezek logikai kapcsolataira keresni és találat esetén az adott üzenetet naplózni, aktívan visszautasítani (END vagy Abort üzenettel), elnyelni, az üzenetet szöveges vagy bináris formában elmenteni, az ilyes esetekről riasztást generálni. A különböző esetekhez több végrehajtandó eseményt is meg lehet adni. A MAPFirewall üzemeltetési szempontokat figyelembe véve a RSS/SS7 modulba integrálva került megvalósításra. Az ide irányított jelzésüzenetek feldolgozása során először a MAPFirewall szabályainak kiértékelése történik meg és a megadott szabályok szerinti esemény hajtódik végre, ezután történik a steering logika szerinti kiértékelés. A MAPFirewall szabályok értelmezését az RSS/SS7 modulhoz kapcsolódó Sga-MAPFW-Filter.dll végzi. A szűrési feltételekben felhasználható paraméterek: - SCCP.ClgPA BCD number - SCCP.ClgPA_CountryName Text - SCCP.ClgPA_OpPrefName Text - MAP.OpCode Integer (0..255) - MAP.OpCodeInvoke Integer (0..255) - MAP.OpCodeResult Integer (0..255) - MAP.HLRNum BCD number - MAP.HLRNum_CountryName Text - MAP.HLRNum_OpPrefName Text - IMSI BCD number - IMSI_CountryName Text - IMSI_PrefName Text - MSISDN BCD number - MSISDN_CountryName Text - MSISDN_OpPrefName Text A BCD number típusú paraméterek esetében joker karakter használható ( * ). Ez az érték legfeljebb 15 digit hosszú lehet. Az Integer típusú paraméter értéke lehet egy konkrét érték vagy tartomány is. A tartomány a legnagyobb és a legkisebb értékével adható meg, köztük két ponttal (10..15). A Text típusú paraméter értékét idézőjelek között kell megadni, ami legfeljebb 63 karakter hosszú lehet. A megadott szövegnek (szolgáltató-név) pontosan egyeznie kell az OpPref.cfg listában definiált nevekkel (kisbetű/nagybetű). A szabálymegadásnál mindegyik típushoz vesszővel elválasztva több érték is megadható (VAGY logikai kapcsolat). Egyszerre több különböző típusú paraméter is megadható AND jellel elválasztva ( & ), együttes teljesülés figyelése céljából. 22
Illeszkedés esetén végrehajtható események: - FwdAll az üzenet továbbítása változatlan formában - LogSGA az üzenet napi bontású üzenetállományba mentődik - CDR az üzenetről szöveges kivonat készül - Trap SNMP alarm készítése - EndN END üzenet küldése, az N hivatkozás a küldendő paraméter megadására (SgaRS_SS7_X.ini/[ SS7 MAP Error #N]) - Abort Abort üzenet küldése Ha a 'FwdAll', 'EndN', 'Abort' események közül egyik sincs kiválasztva, akkor az adott üzenetet elnyeljük. Ha ezt szeretnénk, akkor is célszerű legalább egy 'CDR' vagy 'LogSGA' eseményt kiválasztani, hogy tudjuk mit nyeltünk el. Az alapértelmezett esemény a FwdAll. Egy szabályhoz több végrehajtandó esemény is megadható, + jellel elválasztva. A szabályok megadása A bejegyzések formátuma: Rule "name" ProfileCode N: (list of filtering terms) - A "name" paraméter maximum 15 karakter hosszú szöveg lehet - Az "N" értéke 0..9 lehet. A 0 a default profil, ha egyik másik szabályra sem illeszkedik a bejövő üzenet, automatikusan erre kerül. - A feltétel lista legalább egy egyezőségi feltételt kell, tartalmazzon, ami egy paraméter névvel kezdődik, ezt követi az egyezőségi művelet ( == vagy!= ), majd a figyelt, egy vagy több érték, vesszővel elválasztva. Több különböző paraméterre vonatkozó feltételt is meg lehet adni AND jellel elválasztva ( & ). Néhány példa a tűzfalszabályok megadására: Rule "R01a" ProfileCode 1: (SCCP.ClgPA == 36701234567) Rule "R01b" ProfileCode 1: (SCCP.ClgPA == 3620*) Rule "R01c" ProfileCode 1: (SCCP.ClgPA == 36301*,36309*) Rule "R02a" ProfileCode 1: (SCCP.ClgPA_CountryName == "Austria", "Germany") Rule "R03a" ProfileCode 1: (SCCP.ClgPA_OpPrefName == "Austria-Telekom") Rule "R04" ProfileCode 2: (MAP.OpCode == 1..5, 8..10, 12) Rule "R05" ProfileCode 2: (MAP.OpCodeInvoke == 15,19) Rule "R06" ProfileCode 2: (MAP.OpCodeResult == 15,19) Rule "R07a" ProfileCode 3: (MAP.HLRNum == 36301234*) Rule "R07b" ProfileCode 3: (MAP.HLRNum_CountryName == "Netherlands") Rule "R07e" ProfileCode 3: (MAP.HLRNum_OpPrefName == "Netherlands-Tele2") Rule "R09" ProfileCode 4: (IMSI == 216303003370879,2163033*) Rule "R10" ProfileCode 4: (IMSI_CountryName == "Slovakia") Rule "R11" ProfileCode 4: (IMSI_OpPrefName == "Slovakia-Orange") Rule "R13" ProfileCode 5: (IMSI_OpPrefName == SCCP.ClgPA_OpPrefName) Rule "mix" ProfileCode 1: (MAP.OpCodeInvoke == 111..222 & IMSI == 2163* & SCCP.ClgPA == 362*) 23
A beérkező üzenetek kiértékelése során fentről lefelé haladva az első illeszkedő szabály kerül alkalmazásra. Ha egy üzenet egyik szabályra sem illeszkedik, akkor arra az alapértelmezett profil lesz alkalmazva ( ProfileCode 0 ). Az egyezőség vizsgálata során az == művelet esetén a vizsgált paraméternek léteznie kell és a megadott értékek közül valamelyiknek egyeznie kell a paraméter értékével. A!= művelet esetén a paraméternek léteznie kell, de nem egyezhet a megadott értékek egyikével sem. Többes MAP tartalom esetén alkalmazott szabályok: - ha bármelyikre van Abort, akkor csak Abort lesz (és csak egy darab), - ha egyikre sincs Abort, de bármelyiknél van EndN, akkor csak EndN lesz (és csak egy darab), mégpedig az utolsó találat szerinti N-nel, - ha egyikre sincs Abort sem és EndN sem és mindegyikre van FwdAll, akkor lesz FwdAll, - ha bármelyikre van Trap, akkor lesz Trap (akár több is), - ha bármelyikre van CDR, akkor lesz CDR (akár több bejegyzés is), - ha bármelyikre van LogSGA, akkor lesz LogSGA (de csak egy darab rekord). A MAPFirewall-ban érintett modulok - SgaRS_SS7_X v1.10 - Sga-MAPFW-Filter.dll v0.96 A kapcsolódó konfigurációs bejegyzések - SgaRS_SS7.ini [szekció]/bejegyzés=érték [Advanced]/sIMSIPrefFile=IMSIPref.cfg [Advanced]/sOpPrefFile=OpPref.cfg magyarázat IMSI csoportneveket tartalmazó lista VLRGT-prefix szolgáltató-név lista [SS7 MAP Error #N]/byLocalErrorCodeTag=34 Az ENDN esemény esetén használt LocalErrorCode érték. (N=0..9) [SS7 MAP Error #N]/byLocalErrorCodeParameterTag=4 Az ENDN esemény esetén használt paraméter érték. (N=0..9) [FireWall Actions]/sSGAfilesPath=d:\SgaFiles [FireWall Actions]/sCDRfilesPath=d:\FwCDRFiles [FireWall Actions]/sRulesFile=Sga-MAPFW-rules.txt Bináris üzenetállományok útvonala Szöveges üzenetállományok útvonala A MAPFw szabályait tartalmazó lista [FireWall Actions]/ProfileN= FwdAll + CDR A különböző MAPFw profilok esetén végrehajtandó események megadása. (N=0..9) A példában az Sga-MAPFW-rules.txt-ben megadott szabályok teljesülése esetén továbbítás és szöveges mentés történik. [FireWall Actions]/Profile0=FwdAll Alapértelmezett esemény, amennyiben egyik szabályra sem illeszkedik az üzenet. [FireWall Actions]/Profile-1=LogSGA Az itt megadott események dekódolási probléma esetén hajtónak végre. 24
11. Aktuális szoftververziók (2016.01.14.) Az itt felsorolt verziók minden új funkciót és változtatást tartalmaznak. 1. CRP szerveren futó modulok o SS7 forgalom kezelése: GyX_SCTP.exe v1.13 SgaRS_SS7_X.exe v1.10 o Diameter forgalom kezelése: GyDiameter_SCTP.exe v1.00 DiamXTalk.exe v0.94 o Steeringelés: SgaRS_Serv.exe v2.09 SgaRS_Stat.exe v2.07 o TravelSMS adattovábbítás: Sga-WSMS_FakeMonitor.exe v.092 o WebInterface adatfogadás: SgaRS_WIF_Daemon.exe v2.02 o Ethernetforgalom mentés: Sga_GyMon.exe v0.91 o MAPFirewall funkció: Sga-MAPFW-Filter.dll v0.96 2. WSMS (TravelSMS) szerveren futó modulok o SgaWMPol.exe v1.11 o SgaWMLU.exe v2.01 o SgaWMBackHome.exe v0.90 o SgaWMRoamersList3.dll v0.90 o SgaWMRoamersList3Console.exe v0.90 o SgaWMStD.exe v1.02 o SgaWMEvD.exe v1.05 25
12. Konfiguráció (INI) minták A mintákban világoskék háttérrel ki vannak emelve a CRP funkcionalitásban érintett szekciók, bejegyzések. A szekciónevek mellé írt megjegyzések (pontosvesszővel kezdődő szövegrész) a teljes szekcióra vonatkozik. A konfigurációs bejegyzések között lévő megjegyzések (pontosvesszővel kezdődő sorok) a megjegyzés alatti bejegyzésre vonatkozik. 1. GyX_SCTP.ini [Position] ileft=3 itop=15 iwidth=912 iheight=713 [Options] bautoscroll=true [SCTP] ; we play the Client role wautoconnectintervalsec=2 ballowautoconnectatstartup_a=true ballowautoconnectatstartup_b=true ; Optional alternative local IP addresses (max 9); announces all interfaces if none is explicitly specified here ; SIG1 slocalipaddress#1=172.29.15.11 ; SIG2 slocalipaddress#2=172.29.25.11 ; Optional alternative remote IP addresses (max 2); connects to #1, then #2, then #1, etc. ; ZMSS1 sremoteipaddress_a#1=10.104.10.1 sremoteipaddress_a#2=10.104.10.65 ; ZMSS2 sremoteipaddress_b#1=10.104.90.1 sremoteipaddress_b#2=10.104.90.65 wremotesctpport_a=6001 ; normally, it should not be used in ServerOnly mode wremotesctpport_b=6001 ; normally, it should not be used in ServerOnly mode byclientservermode=0 ; 0 = ClientOnly, 1 = ServerOnly, 2 = Bisex wlocalsctpport=2905 wheartbeatintervalsec=10 dwmaxrtomsec=15000 dwmaxretransmitsperinit=3 dwmaxretransmitsperassociation=9 dwmaxretransmitsperpath=4 [SS7] wtxrlopcifremotelynotseta=3790 wtxrlopcifremotelynotsetb=3790 wtxrldpcifremotelynotseta=3712 wtxrldpcifremotelynotsetb=3713 [RemoteRequest] sremoteipaddress=127.0.0.1 ; used for station restriction, leave it empty for no restriction wlocaltcpport=9002 bsuppressdisconnecttrap=false 26
[Advanced] wlogdetaillevel=1 dwmaxlinesinlogwindow=1000 slogfilespath=d:\logfiles\ strapfilespath=d:\trapfiles\ balternatetrapuid=false wthreadperiod=20 [SGAfiles] sfilespath=d:\sgafiles sfilenameprefix=crp1 ssiglinkid=c1 2. SgaRS_SS7_X.ini [Position] ileft=65532 itop=65532 iwidth=1024 iheight=960 [Options] bautoscroll=true [SS7] ; TT replacement for incoming messages (SCCP/CaldPA==3620*) byttreplacementincoming=0 ; TT replacement for outgoing messages (SCCP/CaldPA<>3620*) byttreplacementoutgoing=250 bmtp2needsrsserver=false [SS7 over GyX] ; connection to remote SS7 module sremoteipaddress=127.0.0.1 wremotetcpport=9002 wconnectretrydelaysec=3 [RS Server] ; optionally the remote IP address (other than the default "127.0.0.1") can also be given for testing ballowautoconnect=true wautoconnectintervalsec=2 ;sremoteipaddress=127.0.0.1 wremotetcpport=5069 [Advanced] wlogdetaillevel=1 dwmaxlinesinlogwindow=1000 slogfilespath=d:\logfiles strapfilespath=d:\trapfiles balternatetrapuid=true simsipreffile=imsipref_wsms.cfg soppreffile=oppref_wsms.cfg [TravelSMS triggers] s8004filespath1=d:\wsmsfiles\wsmsfiles1 s8004filespath2=d:\wsmsfiles\wsmsfiles2 27
[SS7 MAP Error #1] ; System Failure bylocalerrorcodetag=34 [SS7 MAP Error #2] ; Roaming Not Allowed bylocalerrorcodetag=8 [FireWall Actions] ssgafilespath=d:\sgafiles scdrfilespath=d:\mapfwcdrfiles srulesfile=sga-mapfw-rules.txt ; ProfileN = Profile#N (N=1..9) ; Profile0 = (default) ; Profile-1= Undecodeable MSU ; available commands = 'FwdAll', 'LogSGA', 'CDR', 'Trap', 'EndN', 'Abort' ; if 'FwdAll' command is not included then MSU is dropped ; if 'EndN' command is included then an END will be returned including ReturnError tag with parameters from section [SS7 MAP Error #N] sprofile1 = FwdAll + CDR + LogSGA + Trap sprofile2 = FwdAll + CDR + LogSGA + Trap sprofile3 = FwdAll + CDR + LogSGA + Trap sprofile4 = FwdAll + CDR + LogSGA + Trap sprofile5 = FwdAll + CDR + LogSGA + Trap sprofile6 = FwdAll + CDR + LogSGA + Trap sprofile7 = FwdAll + CDR + LogSGA + Trap sprofile8 = FwdAll + CDR + LogSGA + Trap sprofile9 = FwdAll + CDR + LogSGA + Trap sprofile0 = End2 sprofile-1= FwdAll + CDR + LogSGA + Trap 3. GyDiameter_SCTP.ini [Position] ileft=800 itop=0 iwidth=800 iheight=860 [Options] bautoscroll=true [SCTP] wautoconnectintervalsec=2 ballowautoconnectatstartup_a=true ballowautoconnectatstartup_b=false ; Optional alternative local IP addresses (max 9); announces all interfaces if none is explicitly specified here slocalipaddress#1=217.79.139.249 slocalipaddress#2=217.79.130.17 ; Optional alternative remote IP addresses (max 2); connects to #1, then #2, then #1, etc. sremoteipaddress_a#1=217.79.130.169 sremoteipaddress_a#2=217.79.130.170 ;sremoteipaddress_b#1= ;sremoteipaddress_b#2= wremotesctpport_a=53868 ; normally, it should not be used in ServerOnly mode wremotesctpport_b=3870 ; normally, it should not be used in ServerOnly mode wlocalsctpport=3868 28
wheartbeatintervalsec=10 dwmaxrtomsec=15000 dwmaxretransmitsperinit=3 dwmaxretransmitsperassociation=9 dwmaxretransmitsperpath=4 dwdelayedackmsec=500 byipfielddscp=90 byclientservermode=1 ; 0 = ClientOnly, 1 = ServerOnly, 2 = Bisex [RemoteRequest] sremoteipaddress=127.0.0.1 ; used for station restriction, leave it empty for no restriction wlocaltcpport=9067 bsuppressdisconnecttrap=false [SGAfiles] ; entries in this section are reloaded once per every second ; ssiglinkid entry may consist of two characters ; sfilenameprefix entry (as well as the contents of sfilespath entry) is considered when opening an SGA file ; leave (or change) sfilespath entry empty not to write SS7 data into file sfilespath=d:\sgafiles sfilenameprefix=diameter_hss1_1 ssiglinkid=hs [Advanced] sid=hss1_1 wlogdetaillevel=2 dwmaxlinesinlogwindow=1000 slogfilespath=d:\logfiles\hss1files strapfilespath=d:\trapfiles balternatetrapuid=false wthreadperiod=20 4. DiamXTalk.ini [Position] ileft=1 itop=2 iwidth=1279 iheight=507 [Options] bautoscroll=true [Diameter over GyDiam] sremoteipaddress_0 =127.0.0.10 wremotetcpport_0 =9066 sremoteipaddress_1 =127.0.0.11 wremotetcpport_1 =9067 wconnectretrydelaysec=3 ; connections to the two Diameter-handling modules [Diameter] ; used only in the negative ULA message soriginhost=hss001.epc.mnc001.mcc216.3gppnetwork.org soriginrealm=epc.mnc001.mcc216.3gppnetwork.org 29
[RS-Server] sremoteipaddress =127.0.0.1 wremotetcpport =3999 wconnectretrydelaysec=4 dwquerytimeoutms=1000 [Diameter Accounting Statistics] dwflushstatperiod=900 dwflushstatdelay=120 dwmaxstatkeycount=25000 sstatpath=d:\statfiles\ slocalgatewayname=telenor.grx [Advanced] wlogdetaillevel=2 dwmaxlinesinlogwindow=1000 simsipreffile=c:\sga-rs\imsipref_wsms.cfg smccmnclistfile=c:\sga-rs\sgars_mccmnc_list.lst s8004filespath1=d:\datafiles\sga-8004_xtalk\ ;s8004filespath2= slogfilespath=d:\logfiles\hss1_oslo1dra\ scaption=hss1_oslo1dra strapfilespath=d:\trapfiles balternatetrapuid=true [Capabilities-Exchange Host-IP-Addresses_0] 217.79.139.249 = Ez az egyik interface ebben az irányban 217.79.130.17 = Ez a másik interface ebben az irányban [Capabilities-Exchange Host-IP-Addresses_1] 217.79.139.249 = Ez az egyik interface ebben az irányban 217.79.130.17 = Ez a másik interface ebben az irányban 5. SgaRS_Serv.ini [Position] ileft=65532 itop=65532 iwidth=947 iheight=612 [Options] bautoscroll=true [RS SS7] ; local TCP port and optional IP address barring wmaxconcurrentconnectioncount=3 sipaddress=127.0.0.1 wtcpport=5069 [Remote Server] biinitializeconnection=true ; biinitializeconnection=true --> remote IP address and TCP port wautoconnectintervalsec=3 ;mvcrp2 IP address sipaddress=172.25.140.32 wtcpport=5068 dwkeephalvingruleafterconnectsec=9 30
[Rules] dwimsiprofilesfilemaximsidiffcount=100000 dwimsimemoryentrycount=100000 dwimsimemoryentrylifesec=900 smccmnclistfile=sgars_mccmnc_list.lst ;periodic checking of IMSIprofiles file dwimsiprofilesfilelifesec=691200 srulesfile=c:\sga-rs\sgars_serv_rules.ini simsiprofilesfilebin=sgars_serv_imsiprofiles.bin simsiblacklistfile=c:\sga-rs\imsiblacklist.lst soppreffile=c:\sga-rs\oppref.lst chprefixdelimiter=- [2G-Steering] ; filled from MAP, used from Xtalk ; entries below are loaded and logged at start-up dwimsimemoryentrycount=1000000 dwimsimemoryentrylifesec=3600 [4G-Steering] ; filled from Xtalk, used from MAP ; entries below are loaded and logged at start-up dwimsimemoryentrycount=1000000 dwimsimemoryentrylifesec=3600 [4G-Steering / Xtalk] ; entry below is loaded at start-up wlocaltcpport=3999 ; entries below are loaded on-the-fly ; left-side values are the IP-addresses to be allowed to connect from ; right-side values are mandatory but ignored (can be used as a remark) 127.0.0.1 = machine that can connect and send queries and info to us inegativeanswercode = 5012 ; "DIAMETER_UNABLE_TO_COMPLY" ;inegativeanswercode = 5004 ; "DIAMETER_INVALID_AVP_VALUE" [Statistics Server] ; remote IP address and TCP port wautoconnectintervalsec=5 sipaddress=127.0.0.1 ; crp1 IP address wtcpport=5067 [Remote Reload Request] sremoteipaddress=172.25.140.31 wlocaludpport=9169 [Advanced] wlogdetaillevel=3 dwmaxlinesinlogwindow=1000 balternatetrapuid=false slogfilespath=d:\logfiles\ strapfilespath=d:\trapfiles\ salarmfilespath=d:\alarmfiles\ 31