/* CIF Keep Specific Geode LastModified Thu Jun 19 09:19:24 1997 */ /* CIF PACKAGE (0, 0), (200, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Specific Geode Version V3.1.0 geodedit */ /* CIF Page Main (2970, 2100) */ /* CIF Frame (20, 20), (2564, 1598) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ /* CIF Page Decl1 (2970, 2100) */ /* CIF Frame (20, 20), (2902, 1850) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ /* CIF Page Decl2 (2970, 2100) */ /* CIF Frame (20, 20), (2566, 2172) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PACKAGE GSM; /* CIF CurrentPage 1 */ /* CIF TEXT (84, 301), (1181, 1294) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* SDL MODEL OVERVIEW ----------------- This model represents a simplified GSM network. WHAT HAS BEEN MODELED --------------------- - user PIN code verification, - mobile IMEI checking in the EIR database (prevents using a stolen mobile), - user authentication: the AUC sends a random number to the mobile, who encrypts it and sends it back to the AUC who checks the result. - when a mobile moves from one cell to another, the HLR and VLR databases are updated. - when a mobile is called, the routing information is given by the HLR and VLR databases. - during simulation, any mobile can move to any cell. Remark: 'init' signals have been used because for the moment the SDL context parameters are not supported in the SDL simulator. WHAT HAS NOT BEEN MODELED ------------------------ - low-level protocols (physical, link, network etc. layers), - connection to the switched or ISDN telephone network, - the numerous logical channels used between a mobile phone and the base stations: Traffic CHannel, Synchronization CHannel, Broadcast Control CHannel, Standalone Dedicated Control CHannel, Access Grant CHannel, Random Access CHannel, Pagina CHannel, - supplementary services, - power management on the mobile phone, - speech and data encryption, - SIM card creation and unlocking, - called ringer heared in the caller phone. */ /* CIF End Text */ /* CIF TEXT (83, 102), (468, 90) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Copyright Verilog 1997 */ /* CIF End Text */ /* CIF TEXT (1340, 304), (1142, 1287) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* GLOSSARY -------- - AuthentCenter (AUC): AUthentication Center. - BaseStationCtlr (BSC): Base Station Controller.ter. - BaseTxStation (BTS): Base Transceiver Station. - EquipIdRegister (EIR): Equipment Identity Register. - GSM: Global System for Mobile communications. - HomeLocRegister (HLR): Home Location Register. - IMEI: International Mobile Equipment Identity. - MobileSwitchCtr (MSC): Mobile Switching Center. - PIN: Personnal Identification Number. - VisitLocRegister (VLR): Visitor Location Register. BIBLIOGRAPHY ------------ Le radiotelephone cellulaire GSM, J.Tisal, Masson, Paris, 1995. */ /* CIF End Text */ /* CIF CurrentPage 2 */ /* CIF TEXT (34, 74), (1097, 1788) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* PIN user code: */ NEWTYPE PIN_t LITERALS unknown, pin_a, pin_b, pin_c, pin_d; ENDNEWTYPE; /* Mobile Switch ID: */ NEWTYPE MSC_ID_t LITERALS Paris, Lyon; ENDNEWTYPE; /* Base Station Controller ID: */ NEWTYPE BSC_ID_t LITERALS Paris1, Lyon1; ENDNEWTYPE; /* Base Transceiver Station ID: */ NEWTYPE BTS_ID_t LITERALS Paris11, Paris12, Lyon11, Lyon12; ENDNEWTYPE; /* Mobile users ID: */ NEWTYPE Mobile_ID_t LITERALS Nobody, Marie, John, pizza, parispizza, lyonpizza; ENDNEWTYPE; /* Mobile phone identity: */ NEWTYPE IMEI_t LITERALS IMEI1, IMEI2, IMEI3, IMEI4; ENDNEWTYPE; /* Call rejection reason: */ NEWTYPE reason_t LITERALS ok, not_allowed, invalid_ph_nr, abnormal; ENDNEWTYPE; /* call failure reason */ NEWTYPE called_state_t LITERALS called_ok, called_busy, called_unreachable; ENDNEWTYPE; NEWTYPE billing_storage STRUCT called Mobile_ID_t; duration NATURAL; price REAL; ENDNEWTYPE; SYNTYPE indice = NATURAL DEFAULT 0 CONSTANTS 0:15 ENDSYNTYPE; NEWTYPE billing_report_elt ARRAY (indice, billing_storage); ENDNEWTYPE; NEWTYPE billing_report_t STRUCT nb_com indice; bil billing_report_elt; ENDNEWTYPE; /* CIF End Text */ /* CIF TEXT (1158, 69), (1741, 1775) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SIGNAL /* init signals to replace by context parameters when available in the tool: */ initMSC(MSC_ID_t), initBSC(BSC_ID_t), initBTS(BTS_ID_t), initMS(BTS_ID_t, Mobile_ID_t, IMEI_t); SIGNAL /* alphabetical order: */ answer_call, askReport, authentResp(BOOLEAN), badPIN, BTSchanging(BTS_ID_t), BTSresp(BOOLEAN, BTS_ID_t), busy, call_conf(called_state_t /* status */, Mobile_ID_t /* called */, BTS_ID_t), /* to a mobile */ call_ind(Mobile_ID_t,Mobile_ID_t /* called */, BTS_ID_t), /* to a mobile */ call_reject(reason_t, Mobile_ID_t, BTS_ID_T), /* to a mobile */ call_req(Mobile_ID_t /* calling */, Mobile_ID_t /* called */), /* from a mobile */ call_resp(called_state_t /* status */, Mobile_ID_t /* calling */, Mobile_ID_t /* called */), /* from a mobile */ checkIMEI(IMEI_t), com_start (Mobile_ID_t), com_finish(Mobile_ID_t, Mobile_id_t), convers, dialing(Mobile_ID_t), disable, encryptedNr(NATURAL), endUpdHLR, endUpdVLR, getBTS(Mobile_ID_t), getPhoneNumber (Mobile_ID_t), getMSC(Mobile_ID_t), getReport(Mobile_ID_t), giveReport(billing_report_t, Mobile_ID_t, BTS_ID_t), DBgiveReport(billing_report_t, Mobile_ID_t), IMEI_OK(BOOLEAN), initGUI(Mobile_ID_t), initSCM(BSC_ID_t), initSM(MSC_ID_t), logOn(Mobile_ID_t, BTS_ID_t, IMEI_t), mobileLocation(MSC_ID_t, BTS_ID_t, reason_t), MSCresp(BOOLEAN, MSC_ID_t), offKey, on_hook, onKey, PIN(PIN_t), randomNr(NATURAL), rejected, report (Mobile_ID_t /* caller */, NATURAL /* time */), ring, searchMobile(Mobile_ID_t), sendShortcut(Mobile_ID_t), startAuthent, unlock, unreachable, updateHLR(Mobile_ID_t, MSC_ID_t, BOOLEAN), updateVLR(Mobile_ID_t, BTS_ID_t); /* CIF End Text */ /* CIF CurrentPage 3 */ /* CIF TEXT (1324, 59), (1203, 2115) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SIGNALLIST keys = answer_call, askReport, BTSchanging, dialing, offKey, on_hook, onKey, PIN; SIGNALLIST MSCtoAUC = encryptedNr, startAuthent; SIGNALLIST MSCtoBilling = com_start, com_finish, getReport; SIGNALLIST MSCtoBC = call_conf, call_ind, call_reject, giveReport, initBSC, randomNr; SIGNALLIST MSCtoDB = checkIMEI, com_start, com_finish, encryptedNr, getMSC, getReport, startAuthent, updateHLR; SIGNALLIST MSCtoEIR = checkIMEI; SIGNALLIST MSCtoHLR = getMSC, updateHLR; SIGNALLIST MSCtoVLR = getBTS, updateVLR; SIGNALLIST MStoMS = BTSresp, call_conf, call_ind, getBTS, giveReport; SIGNALLIST MtoB = encryptedNr, call_req, call_resp, com_start, com_finish, getReport, logOn; SIGNALLIST VLRtoMSC = BTSresp, endUpdVLR, getBTS; /* CIF End Text */ /* CIF TEXT (37, 49), (1256, 2110) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Alphabetical order. */ SIGNALLIST AUCtoMSC = authentResp, randomNr; SIGNALLIST BCtoBTS = call_conf, call_ind, call_reject, giveReport, initBTS, randomNr; SIGNALLIST BCtoMSC = encryptedNr, call_req, call_resp, com_start, com_finish, getReport, logOn; SIGNALLIST BtoM = call_conf, call_ind, call_reject, giveReport, initMS, randomNr; SIGNALLIST BTStoBC = encryptedNr, call_req, call_resp, com_start, com_finish, getReport, logOn, randomNr; SIGNALLIST DBtoMSC = authentResp, initMSC, IMEI_OK, endUpdHLR, DBgiveReport, MSCresp, randomNr; SIGNALLIST DBtoMSCtrl = authentResp, initMSC, IMEI_OK, endUpdHLR, DBgiveReport, randomNr; SIGNALLIST displ = badPIN, disable, initGUI, rejected, ring, unlock, convers, busy, unreachable, giveReport; SIGNALLIST EIRtoMSC = initMSC, IMEI_OK; SIGNALLIST HLRtoMSC = endUpdHLR, MSCresp; /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF BlockType (907, 87), (257, 152) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (32, 150), (2453, 1336) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ BLOCK TYPE DataBases; /* CIF CurrentPage 1 */ /* CIF GATE (849, 150), (849, 50) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (757, 86) */ /* CIF TextPosition (869, 103) SignalList1 */ /* CIF TextPosition (869, 48) SignalList2 */ GATE MSC1 IN WITH (MSCtoDB); OUT WITH (DBtoMSC); /* CIF GATE (841, 1486), (841, 1586) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (743, 1520) */ /* CIF TextPosition (866, 1495) SignalList1 */ /* CIF TextPosition (866, 1550) SignalList2 */ GATE MSC2 IN WITH (MSCtoDB); OUT WITH (DBtoMSC); /* CIF CurrentPage 1 */ /* CIF SIGNALROUTE (848, 150) , (325, 456) , (325, 679) */ /* CIF TextPosition (291, 365) */ /* CIF TextPosition (342, 606) SignalList1 */ /* CIF TextPosition (466, 220) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MSC1EIR FROM ENV VIA MSC1 TO EquipIdRegister WITH (MSCtoEIR); FROM EquipIdRegister TO ENV VIA MSC1 WITH (EIRtoMSC); /* CIF SIGNALROUTE (849, 150) , (1365, 466) , (1365, 685) */ /* CIF TextPosition (1292, 413) */ /* CIF TextPosition (1382, 562) SignalList1 */ /* CIF TextPosition (1010, 260) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MSC1HLR FROM ENV VIA MSC1 TO HomeLocRegister WITH (MSCtoHLR); FROM HomeLocRegister TO ENV VIA MSC1 WITH (HLRtoMSC); /* CIF SIGNALROUTE (849, 150) , (849, 676) */ /* CIF TextPosition (694, 426) */ /* CIF TextPosition (864, 608) SignalList1 */ /* CIF TextPosition (801, 329) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MSC1AUC FROM ENV VIA MSC1 TO AuthentCenter WITH (MSCtoAUC); FROM AuthentCenter TO ENV VIA MSC1 WITH (AUCtoMSC); /* CIF SIGNALROUTE (325, 823) , (325, 1051) , (841, 1486) */ /* CIF TextPosition (243, 1141) */ /* CIF TextPosition (479, 1434) SignalList1 */ /* CIF TextPosition (345, 843) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MSC2EIR FROM EquipIdRegister TO ENV VIA MSC2 WITH (EIRtoMSC); FROM ENV VIA MSC2 TO EquipIdRegister WITH (MSCtoEIR); /* CIF SIGNALROUTE (841, 831) , (841, 1486) */ /* CIF TextPosition (685, 1119) */ /* CIF TextPosition (810, 1201) SignalList1 */ /* CIF TextPosition (856, 870) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MSC2AUC FROM AuthentCenter TO ENV VIA MSC2 WITH (AUCtoMSC); FROM ENV VIA MSC2 TO AuthentCenter WITH (MSCtoAUC); /* CIF SIGNALROUTE (841, 1486) , (1365, 1061) , (1365, 835) */ /* CIF TextPosition (1303, 1086) */ /* CIF TextPosition (1377, 908) SignalList1 */ /* CIF TextPosition (957, 1324) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MSC2HLR FROM ENV VIA MSC2 TO HomeLocRegister WITH (MSCtoHLR); FROM HomeLocRegister TO ENV VIA MSC2 WITH (HLRtoMSC); /* CIF SIGNALROUTE (1943, 795) , (2206, 795) */ /* CIF TextPosition (2004, 743) */ /* CIF TextPosition (2116, 844) SignalList1 */ /* CIF TextPosition (1965, 826) SignalList2 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE BillingLine FROM BillingManager TO Billing WITH com_start, com_finish; FROM Billing TO BillingManager WITH report; /* CIF CreateLine (1889, 683) , (1889, 567) , (2347, 567) , (2347, 681) */ /* CIF SIGNALROUTE (849, 150) , (1774, 383) , (1774, 683) */ /* CIF TextPosition (1784, 373) */ /* CIF TextPosition (1537, 623) SignalList1 */ /* CIF TextPosition (1131, 161) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MSC1Billing FROM ENV VIA MSC1 TO BillingManager WITH (MSCtoBilling); FROM BillingManager TO ENV VIA MSC1 WITH DBgiveReport; /* CIF SIGNALROUTE (841, 1486) , (1774, 1210) , (1774, 833) */ /* CIF TextPosition (1784, 1200) */ /* CIF TextPosition (1546, 847) SignalList1 */ /* CIF TextPosition (1155, 1413) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MSC2Billing FROM ENV VIA MSC2 TO BillingManager WITH (MSCtoBilling); FROM BillingManager TO ENV VIA MSC2 WITH DBgiveReport; /* CIF CurrentPage 1 */ /* CIF PROCESS (139, 679), (373, 144) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (20, 20), (1223, 1381) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS EquipIdRegister (1,1); /* CIF CurrentPage 1 */ /* CIF TEXT (70, 1007), (551, 199) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DCL IMEI IMEI_t; /* CIF End Text */ /* CIF TEXT (70, 120), (480, 50) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Equipment Identity Register */ /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (99, 200), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF OUTPUT (70, 310), (218, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initMSC(Paris) VIA MSC1EIR; /* CIF OUTPUT (72, 420), (213, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initMSC(Lyon) VIA MSC2EIR; /* CIF NEXTSTATE (99, 530), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF STATE (573, 200), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (573, 310), (160, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT checkIMEI (IMEI); /* CIF OUTPUT (565, 420), (176, 97) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT IMEI_OK (TRUE) TO SENDER; /* CIF NEXTSTATE (573, 547), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; ENDPROCESS; /* CIF PROCESS (664, 676), (376, 155) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (20, 20), (1648, 1441) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS AuthentCenter (1,1); /* CIF CurrentPage 1 */ /* CIF TEXT (70, 120), (423, 50) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Authentication Center */ /* CIF End Text */ /* CIF TEXT (70, 914), (1495, 517) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEWTYPE A3_encryption_t OPERATORS A3_encrypt: NATURAL, NATURAL -> NATURAL; OPERATOR A3_encrypt; FPAR n NATURAL, key NATURAL; RETURNS NATURAL; START; RETURN (n*key)+7; ENDOPERATOR; ENDNEWTYPE; DCL rand NATURAL:=7, Kp NATURAL:= 3, /* Secret key associated to a user, normally commes from the HLR. */ resp NATURAL, expected NATURAL; /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (70, 200), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF NEXTSTATE (70, 310), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF STATE (312, 205), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (272, 315), (240, 64) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT startAuthent; /* CIF OUTPUT (267, 409), (250, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT randomNr(rand) TO SENDER; /* CIF TASK (171, 513), (443, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK expected:= A3_encrypt(rand, Kp); /* CIF NEXTSTATE (280, 623), (224, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitMobileResp; ENDSTATE; /* CIF STATE (830, 205), (224, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitMobileResp; /* CIF INPUT (825, 315), (234, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT encryptedNr (resp) /* CIF COMMENT (1069, 273), (245, 165) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'resp was computed by the mobile, using Kp and A3_encrypt also present in the SIM smart card.'; /* CIF DECISION (818, 422), (246, 100) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION resp= expected; /* CIF ANSWER (754, 552), (144, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (720, 632), (213, 103) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT authentResp (TRUE) TO SENDER; /* CIF ANSWER (1003, 552), (132, 52) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (953, 634), (234, 103) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT authentResp (FALSE) TO SENDER; ENDDECISION; /* CIF NEXTSTATE (862, 782), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDSTATE; ENDPROCESS; /* CIF PROCESS (1173, 685), (368, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (39, 20), (2092, 1415) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS HomeLocRegister (1,1); /* CIF CurrentPage 1 */ /* CIF TEXT (114, 900), (1273, 496) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEWTYPE HR_element_t STRUCT empty BOOLEAN; MSC_id MSC_ID_t; /* last mobile switch where the mobile was. */ IMEI_OK BOOLEAN; /* if FALSE, mobile not allowed (stolen ...). */ ENDNEWTYPE; NEWTYPE HomeRegister_t ARRAY(mobile_ID_t, HR_element_t); ENDNEWTYPE; DCL MSC_id MSC_ID_t, mobile_id mobile_ID_t, IMEIstatus BOOLEAN, HomeRegister HomeRegister_t; /* CIF End Text */ /* CIF TEXT (89, 120), (447, 50) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Home Location Register */ /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (264, 200), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF NEXTSTATE (264, 310), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF STATE (853, 200), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (776, 310), (314, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT updateHLR(mobile_id, MSC_id, IMEIstatus); /* CIF TASK (655, 420), (555, 58) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK HomeRegister(mobile_id)!empty:= FALSE; /* CIF TASK (620, 508), (624, 56) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK HomeRegister(mobile_id)!MSC_id:= MSC_id; /* CIF TASK (620, 594), (624, 56) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK HomeRegister(mobile_id)!IMEI_OK:= IMEIstatus; /* CIF OUTPUT (828, 680), (207, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT endUpdHLR TO SENDER; /* CIF NEXTSTATE (853, 790), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (1602, 183), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (1573, 293), (218, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT getMSC (mobile_id) /* CIF COMMENT (1801, 277), (162, 109) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Get the home switch of the mobile.'; /* CIF DECISION (1409, 403), (545, 103) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION HomeRegister(mobile_id)!empty; /* CIF ANSWER (1440, 537), (122, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (1264, 617), (475, 101) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT MSCresp (TRUE, HomeRegister(mobile_id)!MSC_id) TO SENDER; /* CIF ANSWER (1810, 537), (106, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (1775, 617), (176, 90) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT MSCresp (FALSE) TO SENDER /* CIF COMMENT (1971, 623), (101, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'MSC not found.'; ENDDECISION; /* CIF NEXTSTATE (1602, 764), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; ENDPROCESS; /* CIF PROCESS (1661, 683), (281, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2100, 2970) */ /* CIF Frame (20, 20), (4000, 1770) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS BillingManager(1,1); /* CIF CurrentPage 1 */ /* CIF TEXT (70, 1090), (1273, 670) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEWTYPE billing_register_t ARRAY (Mobile_ID_t, billing_report_t); ENDNEWTYPE; NEWTYPE billing_PID_t ARRAY (Mobile_ID_t, PID); ENDNEWTYPE; DCL billing_PIDs billing_PID_t, mobile_id, correspondant, tmp mobile_ID_t, bil_register billing_register_t, time NATURAL; /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (202, 120), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF TASK (75, 270), (453, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK bil_register(Marie)!nb_com:=0; /* CIF TASK (75, 380), (453, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK bil_register(John)!nb_com:=0; /* CIF TASK (75, 490), (453, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK bil_register(parispizza)!nb_com:=0; /* CIF TASK (75, 601), (453, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK bil_register(lyonpizza)!nb_com:=0; /* CIF NEXTSTATE (200, 711), (205, 88) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF STATE (1553, 151), (160, 68) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (548, 295), (606, 86) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT com_start (mobile_id); /* CIF CREATE (740, 411), (222, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ CREATE Billing; /* CIF TASK (605, 532), (493, 103) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK billing_PIDs(mobile_id):=OFFSPRING; /* CIF OUTPUT (628, 665), (447, 88) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT com_start(mobile_id) TO Billing_PIDs(mobile_id); /* CIF NEXTSTATE (768, 783), (166, 86) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (1301, 300), (616, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT com_finish (mobile_id,correspondant); /* CIF DECISION (1336, 410), (547, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION billing_PIDs(mobile_id) = NULL; /* CIF ANSWER (1252, 590), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (1095, 680), (464, 111) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT com_finish TO billing_PIDs(mobile_id); /* CIF NEXTSTATE (1227, 821), (200, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitReport; /* CIF ANSWER (1817, 590), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF DECISION (1579, 680), (626, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION billing_PIDs(correspondant) =NULL; /* CIF ANSWER (1641, 860), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF TASK (1514, 950), (403, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK tmp := mobile_id; /* CIF TASK (1514, 1057), (403, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK Mobile_id := correspondant; /* CIF TASK (1514, 1164), (403, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK correspondant := tmp; /* CIF OUTPUT (1484, 1271), (464, 111) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT com_finish TO billing_PIDs(mobile_id); /* CIF NEXTSTATE (1616, 1412), (200, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitReport; /* CIF ANSWER (1993, 860), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF NEXTSTATE (1968, 950), (200, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDDECISION; ENDDECISION; /* CIF INPUT (2137, 299), (374, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT getReport(mobile_id); /* CIF OUTPUT (1996, 410), (656, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT DBgiveReport(bil_register(mobile_id),mobile_id) TO SENDER; /* CIF NEXTSTATE (2225, 522), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDSTATE; /* CIF STATE (3473, 148), (200, 66) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitReport; /* CIF INPUT (3025, 244), (425, 86) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT report (mobile_id, time); /* CIF TASK (2690, 360), (1096, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK bil_register(mobile_id)!bil(bil_register(mobile_id)!nb_com)!called := correspondant; /* CIF TASK (2690, 470), (1096, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK bil_register(mobile_id)!bil(bil_register(mobile_id)!nb_com)!duration := time; /* CIF TASK (2690, 580), (1096, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK bil_register(mobile_id)!bil(bil_register(mobile_id)!nb_com)!price := time * 0.017; /* CIF TASK (2746, 690), (984, 72) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK bil_register(mobile_id)!nb_com:=bil_register(mobile_id)!nb_com+1; /* CIF TASK (2991, 792), (493, 69) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK billing_PIDs(mobile_id) := NULL; /* CIF NEXTSTATE (3160, 891), (154, 86) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF SAVE (3863, 261), (137, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; ENDPROCESS; /* CIF PROCESS (2206, 681), (253, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2100, 2970) */ /* CIF Frame (20, 20), (1741, 1320) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS Billing (0,4); /* CIF CurrentPage 1 */ /* CIF TEXT (75, 921), (427, 207) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DCL mobile_id Mobile_ID_t, i INTEGER; TIMER count; /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (72, 120), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF TASK (72, 270), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK i:=0; /* CIF NEXTSTATE (70, 420), (205, 88) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE wait_start; /* CIF STATE (481, 120), (200, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE wait_start; /* CIF INPUT (363, 241), (436, 94) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT com_start(mobile_id); /* CIF SET (441, 365), (278, 103) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ set (NOW+1,count); /* CIF NEXTSTATE (470, 498), (222, 94) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitTimer; ENDSTATE; /* CIF STATE (1112, 120), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitTimer; /* CIF INPUT (928, 270), (262, 88) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT com_finish; /* CIF OUTPUT (888, 388), (341, 88) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT report(mobile_id, i); /* CIF RESET (959, 506), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ reset (count); /* CIF STOP (959, 656), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STOP ; /* CIF INPUT (1249, 270), (233, 88) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT count; /* CIF TASK (1265, 388), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK i := i+1; /* CIF SET (1226, 538), (278, 103) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ set (NOW+1,count); /* CIF NEXTSTATE (1265, 671), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitTimer; ENDSTATE; ENDPROCESS; ENDBLOCK TYPE; /* CIF BlockType (1231, 88), (272, 155) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (185, 30), (2200, 1295) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ BLOCK TYPE MobileSwitchCtr; /* CIF CurrentPage 1 */ /* CIF GATE (2385, 619), (2485, 619) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (2422, 509) */ /* CIF TextPosition (2414, 726) SignalList1 */ /* CIF TextPosition (2395, 654) SignalList2 */ GATE MS IN WITH (MStoMS); OUT WITH (MStoMS); /* CIF GATE (185, 534), (85, 534) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 2 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (29, 516) */ /* CIF TextPosition (20, 609) SignalList1 */ /* CIF TextPosition (20, 556) SignalList2 */ GATE DB IN WITH (DBtoMSC); OUT WITH (MSCtoDB); /* CIF GATE (1287, 1325), (1287, 1425) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (1206, 1348) */ /* CIF TextPosition (1316, 1337) SignalList1 */ /* CIF TextPosition (1322, 1396) SignalList2 */ GATE BC IN WITH (BCtoMSC); OUT WITH (MSCtoBC); /* CIF CurrentPage 1 */ /* CIF SIGNALROUTE (2385, 619) , (1534, 972) */ /* CIF TextPosition (1923, 832) */ /* CIF TextPosition (1565, 1005) SignalList1 */ /* CIF TextPosition (2183, 718) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MS FROM ENV VIA MS TO MSCtrl WITH (MStoMS); FROM MSCtrl TO ENV VIA MS WITH (MStoMS); /* CIF SIGNALROUTE (185, 534) , (1046, 1013) */ /* CIF TextPosition (619, 733) */ /* CIF TextPosition (791, 1015) SignalList1 */ /* CIF TextPosition (216, 672) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE DB FROM ENV VIA DB TO MSCtrl WITH (DBtoMSCtrl); FROM MSCtrl TO ENV VIA DB WITH (MSCtoDB); /* CIF SIGNALROUTE (1287, 1146) , (1287, 1325) */ /* CIF TextPosition (1233, 1220) */ /* CIF TextPosition (1307, 1276) SignalList1 */ /* CIF TextPosition (1307, 1166) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE BC FROM MSCtrl TO ENV VIA BC WITH (MSCtoBC); FROM ENV VIA BC TO MSCtrl WITH (BCtoMSC); /* CIF SIGNALROUTE (1133, 887) , (1133, 670) */ /* CIF TextPosition (1037, 757) */ /* CIF TextPosition (1155, 697) SignalList1 */ /* CIF TextPosition (1161, 831) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE SVLR FROM MSCtrl TO VisitLocRegister WITH (MSCtoVLR); FROM VisitLocRegister TO MSCtrl WITH (VLRtoMSC); /* CIF SIGNALROUTE (1117, 309) , (1117, 518) */ /* CIF TextPosition (1008, 396) */ /* CIF TextPosition (1137, 464) SignalList1 */ /* CIF TextPosition (1137, 329) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE SMVLR FROM search_Mobile TO VisitLocRegister WITH getBTS; FROM VisitLocRegister TO search_Mobile WITH BTSresp; /* CIF SIGNALROUTE (1421, 309) , (1421, 887) */ /* CIF TextPosition (1431, 598) */ /* CIF TextPosition (1441, 833) SignalList1 */ /* CIF TextPosition (1441, 329) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE SMMSC FROM search_Mobile TO MSCtrl WITH MobileLocation; FROM MSCtrl TO search_Mobile WITH initSM, searchMobile; /* CIF SIGNALROUTE (1000, 222) , (185, 534) */ /* CIF TextPosition (602, 374) */ /* CIF TextPosition (210, 432) SignalList1 */ /* CIF TextPosition (822, 194) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 2 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE SMDB FROM search_Mobile TO ENV VIA DB WITH getMSC; FROM ENV VIA DB TO search_Mobile WITH MSCresp; /* CIF SIGNALROUTE (2385, 619) , (1566, 228) */ /* CIF TextPosition (1861, -165) */ /* CIF TextPosition (1588, 172) SignalList1 */ /* CIF TextPosition (2261, 483) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE SMMS FROM ENV VIA MS TO search_Mobile WITH BTSresp; FROM search_Mobile TO ENV VIA MS WITH getBTS; /* CIF CurrentPage 1 */ /* CIF PROCESS (959, 518), (360, 152) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (20, 20), (1779, 1454) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS VisitLocRegister (1,1); /* CIF CurrentPage 1 */ /* CIF TEXT (70, 120), (447, 50) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Visitor Location Register */ /* CIF End Text */ /* CIF TEXT (70, 927), (1273, 508) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEWTYPE VR_element_t STRUCT empty BOOLEAN; BTS_id BTS_ID_t; /* last BTS (cell) where the mobile was. */ ENDNEWTYPE; NEWTYPE VisitorRegister_t ARRAY(mobile_ID_t, VR_element_t); DEFAULT (.(. TRUE, Paris11 .) .); /* no effect if put in the STRUCT. */ ENDNEWTYPE; DCL mobile_id mobile_ID_t, BTS_id BTS_ID_t, VisitRegister VisitorRegister_t; /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (70, 200), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF NEXTSTATE (70, 310), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF STATE (465, 202), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (404, 312), (282, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT updateVLR (mobile_id, BTS_id); /* CIF TASK (268, 422), (555, 58) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK VisitRegister(mobile_id)!empty:= FALSE; /* CIF TASK (268, 511), (555, 58) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK VisitRegister(mobile_id)!BTS_id:= BTS_id; /* CIF OUTPUT (457, 600), (176, 77) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT endUpdVLR; /* CIF NEXTSTATE (465, 707), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (1233, 199), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (1204, 309), (218, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT getBTS (mobile_id) /* CIF COMMENT (1435, 291), (143, 114) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Get the cell containing the mobile.'; /* CIF DECISION (1040, 419), (545, 103) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION VisitRegister(mobile_id)!empty; /* CIF ANSWER (1068, 553), (122, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (891, 633), (475, 139) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT BTSresp (TRUE, VisitRegister(mobile_id)!BTS_id) TO sender; /* CIF ANSWER (1443, 553), (106, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (1386, 633), (220, 136) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT BTSresp (FALSE) TO SENDER /* CIF COMMENT (1627, 633), (101, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'BTS not found.'; ENDDECISION; /* CIF NEXTSTATE (1233, 817), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; ENDPROCESS; /* CIF PROCESS (1046, 887), (488, 259) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (20, 20), (8937, 2143) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS MSCtrl (1,1); /* CIF CurrentPage 1 */ /* CIF TEXT (83, 1411), (899, 457) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DCL called_status called_state_t, me MSC_ID_t, bil_report billing_report_t, mobile_id, caller, called, c mobile_ID_t, BTS_id, calledBTS BTS_ID_t, IMEI IMEI_t, IMEIstatus BOOLEAN, rand NATURAL, resp NATURAL, authentOK BOOLEAN, calledMSC MSC_ID_t, BTSfound BOOLEAN, reason reason_t, prpid PID; /* CIF End Text */ /* CIF TEXT (70, 120), (316, 50) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Mobile Switch */ /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (422, 207), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF NEXTSTATE (422, 317), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitInit; /* CIF STATE (1044, 130), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (991, 240), (266, 69) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT logOn (mobile_id, BTS_id, IMEI); /* CIF OUTPUT (1004, 339), (240, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT checkIMEI(IMEI); /* CIF NEXTSTATE (1044, 443), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitCheck; ENDSTATE; /* CIF STATE (1652, 120), (176, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitUpdHLR; /* CIF INPUT (1521, 230), (208, 77) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT endUpdHLR; /* CIF DECISION (1515, 337), (220, 65) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION IMEIstatus; /* CIF ANSWER (1483, 433), (101, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (1451, 513), (165, 109) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT updateVLR (mobile_id, BTS_id); /* CIF NEXTSTATE (1448, 652), (170, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitUpdVLR; /* CIF ANSWER (1663, 433), (106, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF NEXTSTATE (1636, 513), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDDECISION; /* CIF SAVE (1794, 230), (121, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (2606, 120), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (2123, 230), (244, 71) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_req (caller, called); /* CIF TASK (2123, 331), (245, 106) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK 'Here begins the authentication of the mobile'; /* CIF OUTPUT (2152, 468), (186, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT startAuthent; /* CIF NEXTSTATE (2157, 572), (176, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitRandom; /* CIF INPUT (3353, 249), (368, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_resp (called_status,caller,called); /* CIF OUTPUT (3369, 359), (335, 94) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT searchMobile(called); /* CIF NEXTSTATE (3457, 484), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitsm1; ENDSTATE; /* CIF STATE (4659, 120), (229, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitEncryptedNr; /* CIF INPUT (4534, 238), (224, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT encryptedNr (resp); /* CIF OUTPUT (4510, 346), (272, 66) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT encryptedNr(resp) VIA DB /* CIF COMMENT (4794, 351), (91, 56) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'To AUC'; /* CIF NEXTSTATE (4550, 442), (192, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitAuthent; /* CIF SAVE (4906, 238), (137, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (6008, 131), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (6008, 249), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT getBTS (c) /* CIF COMMENT (6183, 217), (184, 141) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Another switch looks for the BTS containing the mobile c.'; /* CIF TASK (5988, 359), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK prpid:=sender; /* CIF OUTPUT (5992, 509), (192, 98) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT getBTS (c) VIA SVLR /* CIF COMMENT (6199, 521), (138, 74) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Transmit to my VLR..'; /* CIF NEXTSTATE (5958, 637), (261, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitBTSotherMSC; ENDSTATE; /* CIF STATE (7519, 120), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (6395, 231), (390, 87) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_ind (caller,called, calledBTS) /* CIF COMMENT (6794, 225), (90, 103) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'From other switch.'; /* CIF OUTPUT (6393, 351), (391, 98) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_ind (caller,called, calledBTS) VIA BC /* CIF COMMENT (6805, 362), (82, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'To my BSC.'; /* CIF NEXTSTATE (6510, 480), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (6904, 230), (463, 87) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_conf (called_status,called, calledBTS) /* CIF COMMENT (7378, 223), (84, 85) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'From other switch.'; /* CIF OUTPUT (6920, 347), (431, 97) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_conf (called_status,called, calledBTS) VIA BC /* CIF COMMENT (7372, 358), (82, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'To my BSC.'; /* CIF NEXTSTATE (7057, 475), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (7482, 230), (368, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT com_start(caller); /* CIF OUTPUT (7540, 342), (250, 94) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT com_start(caller) VIA DB; /* CIF NEXTSTATE (7588, 466), (154, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (7886, 230), (250, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT com_finish(caller,called); /* CIF OUTPUT (7870, 340), (284, 108) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT com_finish(caller,called) VIA DB; /* CIF NEXTSTATE (7906, 479), (211, 86) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (8174, 230), (606, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT giveReport(bil_report,called,calledBTS); /* CIF OUTPUT (8182, 337), (589, 97) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT giveReport(bil_report, called,calledBTS) VIA BC; /* CIF NEXTSTATE (8377, 465), (200, 86) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (6842, 754), (200, 97) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (6582, 881), (324, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT getReport(caller); /* CIF OUTPUT (6584, 1002), (318, 100) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT getReport(caller) VIA DB; /* CIF NEXTSTATE (6661, 1132), (166, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF INPUT (6926, 881), (425, 103) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT DBgiveReport(bil_report, caller); /* CIF OUTPUT (6972, 1014), (335, 94) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT searchMobile(caller); /* CIF NEXTSTATE (7059, 1138), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitsm3; ENDSTATE; /* CIF STATE (422, 317), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitInit; /* CIF INPUT (406, 427), (192, 58) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT initMSC(me); /* CIF OUTPUT (374, 515), (256, 100) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT initSM(me) VIA SMMSC; /* CIF DECISION (419, 645), (166, 55) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION me; /* CIF ANSWER (367, 736), (90, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( Paris ): /* CIF OUTPUT (333, 816), (160, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initBSC (Paris1); /* CIF ANSWER (542, 736), (101, 52) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( Lyon ): /* CIF OUTPUT (513, 818), (160, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initBSC (Lyon1); ENDDECISION; /* CIF NEXTSTATE (423, 943), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDSTATE; /* CIF STATE (1044, 443), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitCheck; /* CIF INPUT (908, 569), (213, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT IMEI_OK (IMEIstatus); /* CIF OUTPUT (843, 682), (341, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT updateHLR(mobile_id, me, IMEIstatus); /* CIF NEXTSTATE (927, 786), (176, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitUpdHLR; /* CIF SAVE (1182, 569), (115, 57) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (1448, 652), (170, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitUpdVLR; /* CIF INPUT (1317, 762), (208, 77) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT endUpdVLR; /* CIF NEXTSTATE (1341, 870), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF SAVE (1587, 762), (115, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (2157, 572), (176, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitRandom; /* CIF INPUT (1964, 682), (186, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT randomNr (rand); /* CIF OUTPUT (1935, 787), (245, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT randomNr(rand) VIA BC /* CIF COMMENT (2200, 792), (87, 76) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'To the mobile.'; /* CIF NEXTSTATE (1946, 899), (224, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitEncryptedNr; /* CIF SAVE (2307, 682), (149, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (3457, 484), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitsm1; /* CIF INPUT (2899, 594), (769, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT mobileLocation(calledMSC, calledBTS, reason); /* CIF DECISION (3174, 716), (220, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION reason; /* CIF ANSWER (2914, 896), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( ok ): /* CIF DECISION (2860, 986), (257, 100) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION calledMSC = me; /* CIF ANSWER (2595, 1118), (112, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (2403, 1198), (498, 114) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_conf (called_status,called, calledBTS) VIA BC; /* CIF ANSWER (3129, 1118), (122, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (2921, 1198), (538, 97) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_conf (called_status,called, calledBTS) VIA MS; ENDDECISION; /* CIF NEXTSTATE (2889, 1357), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF ANSWER (3504, 896), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ELSE: /* CIF OUTPUT (3423, 986), (312, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_reject(reason) VIA BC; /* CIF NEXTSTATE (3479, 1099), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDDECISION; /* CIF SAVE (3723, 594), (132, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (4550, 442), (192, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitAuthent; /* CIF INPUT (4417, 589), (245, 90) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT authentResp (authentOK); /* CIF DECISION (4432, 709), (214, 84) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION authentOK; /* CIF ANSWER (4067, 848), (117, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (4022, 928), (208, 93) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_reject (not_allowed) VIA BC; /* CIF NEXTSTATE (4046, 1051), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF ANSWER (4953, 823), (96, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (4834, 903), (335, 94) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT searchMobile(called); /* CIF NEXTSTATE (4921, 1027), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitsm2; ENDDECISION; /* CIF SAVE (4730, 592), (132, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (5958, 637), (261, 77) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitBTSotherMSC; /* CIF INPUT (5787, 759), (218, 103) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT BTSresp (BTSfound, calledBTS) /* CIF COMMENT (6015, 755), (137, 101) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Response from my VLR.'; /* CIF OUTPUT (5707, 892), (376, 90) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT BTSresp(BTSfound, calledBTS) TO prpid /* CIF COMMENT (6097, 867), (141, 130) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Transmit response to the other switch.'; /* CIF NEXTSTATE (5816, 1027), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF SAVE (6258, 764), (115, 88) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (7059, 1138), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitsm3; /* CIF INPUT (6502, 1248), (769, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT mobileLocation(calledMSC, calledBTS, reason); /* CIF DECISION (6777, 1370), (220, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION reason; /* CIF ANSWER (6517, 1550), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( ok ): /* CIF DECISION (6463, 1640), (257, 100) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION calledMSC = me; /* CIF ANSWER (6293, 1772), (112, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (6159, 1852), (380, 101) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT giveReport (bil_report,caller,calledBTS) VIA BC; /* CIF ANSWER (6674, 1772), (122, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (6560, 1852), (352, 101) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT giveReport (bil_report,caller, calledBTS) VIA MS; ENDDECISION; /* CIF NEXTSTATE (6492, 1998), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF ANSWER (7107, 1550), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ELSE: /* CIF OUTPUT (7026, 1640), (312, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_reject(reason) VIA BC; /* CIF NEXTSTATE (7082, 1753), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDDECISION; /* CIF SAVE (7326, 1248), (132, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (4921, 1027), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitsm2; /* CIF INPUT (4364, 1137), (769, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT mobileLocation(calledMSC, calledBTS, reason); /* CIF DECISION (4639, 1259), (220, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION reason; /* CIF ANSWER (4379, 1439), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( ok ): /* CIF DECISION (4325, 1529), (257, 100) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION calledMSC = me; /* CIF ANSWER (4155, 1661), (112, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (4021, 1741), (380, 101) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_ind (caller,called, calledBTS) VIA BC; /* CIF ANSWER (4536, 1661), (122, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (4422, 1741), (352, 101) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_ind (caller,called, calledBTS) VIA MS; ENDDECISION; /* CIF NEXTSTATE (4354, 1887), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF ANSWER (4969, 1439), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ELSE: /* CIF OUTPUT (4888, 1529), (312, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_reject(reason) VIA BC; /* CIF NEXTSTATE (4944, 1642), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDDECISION; /* CIF SAVE (5188, 1137), (132, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; ENDPROCESS; /* CIF PROCESS (1000, 156), (566, 152) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2100, 2970) */ /* CIF Frame (20, 20), (3585, 1320) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS search_Mobile (1,1); /* CIF CurrentPage 1 */ /* CIF TEXT (70, 1100), (608, 208) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DCL myMSC MSC_ID_t, mobile_id Mobile_ID_t, called_MSC MSC_ID_t, called_BTS BTS_ID_t, MSCfd, BTSfd BOOLEAN; /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (120, 120), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF NEXTSTATE (120, 270), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitInit; /* CIF STATE (538, 120), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (391, 270), (493, 105) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT searchMobile(mobile_id); /* CIF OUTPUT (505, 405), (266, 102) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT getMSC (mobile_id) VIA SMDB /* CIF COMMENT (781, 378), (168, 133) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Search in the HLR in which switch is the called mobile.'; /* CIF NEXTSTATE (558, 541), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitMSC; ENDSTATE; /* CIF STATE (1529, 120), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitMSC; /* CIF INPUT (1503, 230), (213, 106) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT MSCresp (MSCfd, called_MSC); /* CIF DECISION (1499, 366), (220, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION MSCfd; /* CIF ANSWER (1239, 479), (117, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (969, 559), (657, 105) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT mobileLocation(called_MSC,called_BTS,invalid_ph_nr) VIA SMMSC; /* CIF NEXTSTATE (1197, 694), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF ANSWER (1762, 476), (106, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF DECISION (1687, 588), (257, 133) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION called_MSC = myMSC; /* CIF ANSWER (1601, 752), (90, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (1543, 832), (208, 98) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT getBTS (mobile_id) VIA SMVLR; /* CIF ANSWER (1907, 751), (122, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (1875, 833), (186, 98) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT getBTS (mobile_id) VIA SMMS /* CIF COMMENT (2071, 826), (160, 103) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Ask to the VLR in the other switch.'; ENDDECISION; /* CIF NEXTSTATE (1736, 986), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitBTS; ENDDECISION; ENDSTATE; /* CIF STATE (2838, 120), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitBTS; /* CIF INPUT (2809, 230), (218, 105) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT BTSresp (BTSfd, called_BTS) /* CIF COMMENT (3040, 228), (162, 106) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'From my VLR or from other switch.'; /* CIF DECISION (2808, 365), (220, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION BTSfd; /* CIF ANSWER (2521, 475), (117, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (2251, 555), (657, 105) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT mobileLocation(called_MSC,called_BTS,abnormal) VIA SMMSC; /* CIF NEXTSTATE (2479, 690), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF ANSWER (3203, 475), (106, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (2928, 555), (657, 105) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT mobileLocation(called_MSC,called_BTS,ok) VIA SMMSC; /* CIF NEXTSTATE (3156, 690), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDDECISION; ENDSTATE; /* CIF STATE (120, 270), (200, 120) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitInit; /* CIF INPUT (70, 420), (301, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT initSM(myMSC); /* CIF NEXTSTATE (120, 533), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDSTATE; ENDPROCESS; ENDBLOCK TYPE; /* CIF BlockType (1580, 89), (274, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (26, 116), (1683, 1331) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ BLOCK TYPE BaseStationCtlr; /* CIF CurrentPage 1 */ /* CIF GATE (1167, 116), (1167, 16) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (1089, 66) */ /* CIF TextPosition (1185, 76) SignalList1 */ /* CIF TextPosition (1187, 24) SignalList2 */ GATE BTS1 IN WITH (BTStoBC); OUT WITH (BCtoBTS); /* CIF GATE (426, 116), (426, 16) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (370, 66) */ /* CIF TextPosition (451, 76) SignalList1 */ /* CIF TextPosition (451, 27) SignalList2 */ GATE MS IN WITH (MSCtoBC); OUT WITH (BCtoMSC); /* CIF GATE (1442, 116), (1442, 16) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (1363, 66) */ /* CIF TextPosition (1459, 76) SignalList1 */ /* CIF TextPosition (1462, 24) SignalList2 */ GATE BTS2 IN WITH (BTStoBC); OUT WITH (BCtoBTS); /* CIF CurrentPage 1 */ /* CIF SIGNALROUTE (426, 116) , (426, 391) , (550, 391) , (550, 706) */ /* CIF TextPosition (468, 397) */ /* CIF TextPosition (374, 619) SignalList1 */ /* CIF TextPosition (446, 136) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MS FROM ENV VIA MS TO BSC WITH (MSCtoBC); FROM BSC TO ENV VIA MS WITH (BCtoMSC); /* CIF SIGNALROUTE (1167, 116) , (1167, 261) , (820, 261) , (820, 706) */ /* CIF TextPosition (866, 269) */ /* CIF TextPosition (658, 621) SignalList1 */ /* CIF TextPosition (1187, 136) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE BTS1 FROM ENV VIA BTS1 TO BSC WITH (BTStoBC); FROM BSC TO ENV VIA BTS1 WITH (BCtoBTS); /* CIF SIGNALROUTE (1442, 116) , (1442, 394) , (1042, 394) , (1042, 706) */ /* CIF TextPosition (1113, 400) */ /* CIF TextPosition (1060, 629) SignalList1 */ /* CIF TextPosition (1462, 136) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE BTS2 FROM ENV VIA BTS2 TO BSC WITH (BTStoBC); FROM BSC TO ENV VIA BTS2 WITH (BCtoBTS); /* CIF SIGNALROUTE (815, 877) , (815, 1217) */ /* CIF TextPosition (825, 1047) */ /* CIF TextPosition (835, 1163) SignalList1 */ /* CIF TextPosition (835, 897) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE BSCSCM FROM BSC TO ShortcutsManager WITH sendShortCut, initSCM; FROM ShortcutsManager TO BSC WITH getPhoneNumber; /* CIF CurrentPage 1 */ /* CIF PROCESS (505, 706), (586, 171) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (20, 20), (3647, 1676) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS BSC; /* CIF CurrentPage 1 */ /* CIF TEXT (70, 1105), (1036, 561) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* To store the SDL PID of the Base Tx Stations. Necessary to send a signal to a given BTS. */ NEWTYPE BTS_PIDs_t ARRAY(BTS_ID_t, PID); ENDNEWTYPE; DCL BSC_id BSC_ID_t, BTS_id BTS_ID_t, IMEI IMEI_t, mobile_id, caller, called mobile_ID_t, rand NATURAL, resp NATURAL, BTS_PID PID, BTS_PIDs BTS_PIDs_t, calledBTS BTS_ID_t, called_status called_state_t, reason reason_t, bil_report billing_report_t; /* CIF End Text */ /* CIF TEXT (505, 120), (447, 50) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Base Station Controller */ /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (242, 120), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF NEXTSTATE (242, 230), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitInit; /* CIF STATE (663, 200), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (610, 310), (266, 69) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT logOn (mobile_id, BTS_id, IMEI); /* CIF TASK (585, 409), (314, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK BTS_PIDs(BTS_id):= SENDER; /* CIF OUTPUT (590, 519), (303, 76) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT logOn(mobile_id, BTS_id, IMEI) VIA MS; /* CIF NEXTSTATE (663, 625), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (1085, 120), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (1049, 230), (233, 69) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_req (caller, called); /* CIF TASK (1086, 329), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK BTS_PID:= SENDER /* CIF COMMENT (1260, 329), (178, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'To respond to the sender BTS.'; /* CIF OUTPUT (983, 439), (363, 97) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT sendShortcut(called) VIA BSCSCM; /* CIF NEXTSTATE (1021, 567), (288, 79) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitPhoneNumber; ENDSTATE; /* CIF STATE (2562, 120), (170, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitRandom; /* CIF INPUT (2173, 230), (202, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT randomNr (rand); /* CIF OUTPUT (2154, 336), (239, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT randomNr(rand) TO BTS_PID; /* CIF NEXTSTATE (2159, 446), (229, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitEncryptedNr; /* CIF SAVE (2926, 230), (194, 86) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (2312, 1218), (192, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (1192, 1330), (373, 79) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_ind (caller,called, calledBTS); /* CIF OUTPUT (1184, 1440), (389, 87) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_ind (caller,called) TO BTS_PIDs(calledBTS); /* CIF NEXTSTATE (1299, 1557), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (1592, 1328), (468, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_conf (called_status, called, calledBTS); /* CIF OUTPUT (1593, 1440), (468, 97) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_conf (called_status,called) TO BTS_PIDs(calledBTS); /* CIF NEXTSTATE (1747, 1567), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (2098, 1333), (485, 85) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_resp (called_status, caller,called); /* CIF OUTPUT (2084, 1448), (515, 73) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_resp(called_status,caller, called) VIA MS; /* CIF NEXTSTATE (2261, 1551), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (2619, 1328), (324, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT com_start(caller); /* CIF OUTPUT (2619, 1438), (324, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT com_start(caller) VIA MS; /* CIF NEXTSTATE (2703, 1551), (154, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (2963, 1328), (324, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT com_finish(caller,called); /* CIF OUTPUT (2963, 1438), (324, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT com_finish(caller,called) VIA MS; /* CIF NEXTSTATE (3047, 1551), (154, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (3324, 1328), (251, 85) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_reject (reason); /* CIF OUTPUT (3307, 1442), (284, 85) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_reject(reason) TO BTS_PID; /* CIF NEXTSTATE (3353, 1557), (192, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (2969, 641), (200, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (2658, 763), (318, 88) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT getReport(caller); /* CIF OUTPUT (2658, 882), (318, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT getReport(caller) VIA MS; /* CIF NEXTSTATE (2737, 995), (160, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (2996, 763), (651, 94) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT giveReport(bil_report, called, calledBTS); /* CIF OUTPUT (3097, 887), (448, 97) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT giveReport(bil_report,called) TO BTS_PIDs(calledBTS); /* CIF NEXTSTATE (3250, 1015), (143, 72) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (1724, 120), (290, 95) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitPhoneNumber; /* CIF INPUT (1469, 249), (453, 100) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT getPhoneNumber(called); /* CIF OUTPUT (1547, 380), (298, 76) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_req(caller, called) VIA MS; /* CIF NEXTSTATE (1608, 486), (176, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitRandom; /* CIF SAVE (1968, 249), (149, 86) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (242, 230), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitInit; /* CIF INPUT (242, 340), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT initBSC (BSC_id); /* CIF DECISION (212, 450), (220, 66) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION BSC_id; /* CIF ANSWER (142, 546), (90, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( Paris1 ): /* CIF OUTPUT (70, 626), (234, 72) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initBTS(Paris11) VIA BTS1; /* CIF OUTPUT (70, 728), (234, 72) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initBTS(Paris12) VIA BTS2; /* CIF ANSWER (391, 546), (101, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( Lyon1 ): /* CIF OUTPUT (324, 626), (234, 72) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initBTS(Lyon11) VIA BTS1; /* CIF OUTPUT (324, 728), (234, 72) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initBTS(Lyon12) VIA BTS2; ENDDECISION; /* CIF OUTPUT (171, 845), (301, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT initSCM(BSC_id) VIA BSCSCM; /* CIF NEXTSTATE (242, 966), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDSTATE; /* CIF STATE (2159, 446), (229, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitEncryptedNr; /* CIF INPUT (2074, 565), (224, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT encryptedNr (resp); /* CIF OUTPUT (2039, 675), (291, 63) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT encryptedNr(resp) VIA MS; /* CIF NEXTSTATE (2090, 768), (192, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF SAVE (2361, 565), (149, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; ENDPROCESS; /* CIF PROCESS (613, 1217), (391, 164) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2100, 2970) */ /* CIF Frame (20, 20), (3171, 1767) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS ShortcutsManager; /* CIF CurrentPage 1 */ /* CIF TEXT (70, 1192), (684, 425) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEWTYPE shortcuts_t ARRAY (indice, Mobile_ID_t); ENDNEWTYPE; NEWTYPE shortcut_corres_t ARRAY (Mobile_ID_t, Mobile_ID_t); ENDNEWTYPE; DCL me BSC_ID_t, mobile_id Mobile_ID_t, shortcuts shortcuts_t, nb_shortcuts, i integer, shortcut_corres shortcut_corres_t; /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (120, 120), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF NEXTSTATE (120, 270), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitInit; /* CIF STATE (1336, 120), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (1158, 270), (555, 100) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT sendShortcut(mobile_id); /* CIF TASK (1339, 400), (194, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK i:=1; /* CIF NEXTSTATE (1335, 513), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE findShortcut; ENDSTATE; /* CIF STATE (2544, 136), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE findShortcut; /* CIF ContinuousSignal (2561, 286), (166, 86) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ PROVIDED TRUE; /* CIF DECISION (2427, 403), (434, 147) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION mobile_id=shortcuts(i); /* CIF ANSWER (2007, 580), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (1733, 670), (696, 103) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT getPhoneNumber(shortcut_corres(mobile_id)); /* CIF NEXTSTATE (1982, 803), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF ANSWER (2826, 580), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF DECISION (2755, 670), (293, 144) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION i = nb_shortcuts; /* CIF ANSWER (2657, 844), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (2514, 934), (436, 94) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT getPhoneNumber(mobile_id); /* CIF NEXTSTATE (2632, 1059), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF ANSWER (2996, 844), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF TASK (2993, 934), (154, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK i:=i+1; /* CIF NEXTSTATE (2971, 1042), (200, 100) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE findShortcut; ENDDECISION; ENDDECISION; ENDSTATE; /* CIF STATE (494, 120), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitInit; /* CIF INPUT (455, 270), (278, 94) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT initSCM(me); /* CIF TASK (463, 394), (262, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK nb_shortcuts:=1; /* CIF TASK (443, 502), (301, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK shortcuts(1):=pizza; /* CIF DECISION (521, 607), (146, 116) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION me; /* CIF ANSWER (241, 756), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( lyon1 ): /* CIF TASK (70, 846), (493, 100) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK shortcut_corres(pizza):=lyonpizza; /* CIF ANSWER (797, 758), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( paris1 ): /* CIF TASK (594, 848), (555, 100) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK shortcut_corres(pizza):=parispizza; ENDDECISION; /* CIF NEXTSTATE (505, 994), (177, 86) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDSTATE; ENDPROCESS; ENDBLOCK TYPE; /* CIF BlockType (1904, 89), (274, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (185, 58), (1395, 1022) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ BLOCK TYPE BaseTxStation; /* CIF CurrentPage 1 */ /* CIF GATE (185, 489), (85, 489) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 2 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (115, 448) */ /* CIF TextPosition (91, 412) SignalList1 */ /* CIF TextPosition (20, 512) SignalList2 */ GATE BC IN WITH (BCtoBTS); OUT WITH (BTStoBC); /* CIF GATE (1580, 155), (1680, 155) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (1742, 138) */ /* CIF TextPosition (1593, 195) SignalList1 */ /* CIF TextPosition (1689, 83) SignalList2 */ GATE MS1 IN WITH (MtoB); OUT WITH (BtoM); /* CIF GATE (1580, 342), (1680, 342) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (1747, 333) */ /* CIF TextPosition (1593, 365) SignalList1 */ /* CIF TextPosition (1689, 274) SignalList2 */ GATE MS2 IN WITH (MtoB); OUT WITH (BtoM); /* CIF GATE (1580, 584), (1680, 584) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (1742, 568) */ /* CIF TextPosition (1600, 604) SignalList1 */ /* CIF TextPosition (1700, 502) SignalList2 */ GATE MS3 IN WITH (MtoB); OUT WITH (BtoM); /* CIF GATE (1580, 857), (1680, 857) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (1720, 836) */ /* CIF TextPosition (1602, 897) SignalList1 */ /* CIF TextPosition (1702, 767) SignalList2 */ GATE MS4 IN WITH (MtoB); OUT WITH (BtoM); /* CIF CurrentPage 1 */ /* CIF SIGNALROUTE (185, 489) , (702, 489) */ /* CIF TextPosition (453, 488) */ /* CIF TextPosition (545, 509) SignalList1 */ /* CIF TextPosition (205, 509) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE BC FROM ENV VIA BC TO BTS WITH (BCtoBTS); FROM BTS TO ENV VIA BC WITH (BTStoBC); /* CIF SIGNALROUTE (1580, 149) , (1094, 149) , (1094, 430) , (1006, 430) */ /* CIF TextPosition (1166, 112) */ /* CIF TextPosition (952, 360) SignalList1 */ /* CIF TextPosition (1420, 102) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 2 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MS1 FROM ENV VIA MS1 TO BTS WITH (MtoB); FROM BTS TO ENV VIA MS1 WITH (BtoM); /* CIF SIGNALROUTE (1006, 468) , (1263, 468) , (1263, 342) , (1580, 342) */ /* CIF TextPosition (1279, 297) */ /* CIF TextPosition (1443, 362) SignalList1 */ /* CIF TextPosition (1150, 420) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MS2 FROM BTS TO ENV VIA MS2 WITH (BtoM); FROM ENV VIA MS2 TO BTS WITH (MtoB); /* CIF SIGNALROUTE (1006, 519) , (1266, 519) , (1266, 584) , (1580, 584) */ /* CIF TextPosition (1276, 551) */ /* CIF TextPosition (1459, 604) SignalList1 */ /* CIF TextPosition (1150, 533) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MS3 FROM BTS TO ENV VIA MS3 WITH (BtoM); FROM ENV VIA MS3 TO BTS WITH (MtoB); /* CIF SIGNALROUTE (1006, 575) , (1094, 575) , (1094, 857) , (1580, 857) */ /* CIF TextPosition (1130, 824) */ /* CIF TextPosition (1459, 877) SignalList1 */ /* CIF TextPosition (1115, 603) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE MS4 FROM BTS TO ENV VIA MS4 WITH (BtoM); FROM ENV VIA MS4 TO BTS WITH (MtoB); /* CIF CurrentPage 1 */ /* CIF PROCESS (702, 424), (304, 156) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (20, 20), (3629, 2010) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS BTS; /* CIF CurrentPage 1 */ /* CIF TEXT (70, 1471), (1060, 529) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* To store the SDL PID of the Mobile Stations. Necessary to send a signal to a given mobile. */ NEWTYPE MS_PIDs_t ARRAY(Mobile_ID_t, PID); ENDNEWTYPE; DCL BTS_id BTS_ID_t, /* replaces context parameters. */ mobile_id Mobile_ID_t, x BTS_ID_t, /* not used */ IMEI IMEI_t, caller, called Mobile_ID_t, MS_PID PID, MS_PIDs MS_PIDs_t, reason reason_t, called_status called_state_t, resp, rand natural, bil_report billing_report_t; /* CIF End Text */ /* CIF TEXT (70, 120), (447, 50) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Base Transceiver Station */ /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (103, 200), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF NEXTSTATE (103, 310), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitInit; /* CIF STATE (601, 120), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (548, 230), (266, 69) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT logOn (mobile_id, x, IMEI) /* CIF COMMENT (832, 195), (207, 136) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Note that the second parameter is not stored in BTS_id.'; /* CIF TASK (523, 329), (314, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK MS_PIDs(mobile_id):= SENDER; /* CIF OUTPUT (531, 439), (298, 79) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT logOn(mobile_id, BTS_id, IMEI) VIA BC; /* CIF NEXTSTATE (601, 548), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (1136, 120), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (1100, 230), (233, 69) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_req (caller, called); /* CIF TASK (1137, 329), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK MS_PID:= sender /* CIF COMMENT (1319, 318), (160, 135) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'To respond to this mobile during authentication.'; /* CIF OUTPUT (1051, 484), (330, 76) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_req(caller, called) VIA BC; /* CIF NEXTSTATE (1128, 590), (176, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitRandom /* CIF COMMENT (1319, 579), (218, 106) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'We consider that the authentication phase is atomic.'; ENDSTATE; /* CIF STATE (1903, 120), (176, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitRandom; /* CIF INPUT (1890, 230), (202, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT randomNr (rand); /* CIF OUTPUT (1866, 337), (250, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT randomNr(rand) TO MS_PID; /* CIF NEXTSTATE (1876, 447), (229, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitEncryptedNr; ENDSTATE; /* CIF STATE (2457, 926), (192, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (1272, 1036), (260, 84) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_ind (caller,called); /* CIF OUTPUT (1252, 1150), (303, 87) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_ind(caller) TO MS_PIDs(called); /* CIF NEXTSTATE (1323, 1267), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (1582, 1036), (452, 84) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_conf (called_status,called); /* CIF OUTPUT (1575, 1150), (466, 87) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_conf(called_status) TO MS_PIDs(called); /* CIF NEXTSTATE (1729, 1268), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (2068, 1038), (508, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_resp (called_status, caller,called); /* CIF OUTPUT (2061, 1151), (521, 78) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_resp(called_status, caller, called) VIA BC; /* CIF NEXTSTATE (2241, 1259), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (2621, 1041), (324, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT com_start(caller); /* CIF OUTPUT (2621, 1152), (324, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT com_start(caller) VIA BC; /* CIF NEXTSTATE (2706, 1265), (154, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (2985, 1038), (324, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT com_finish(caller,called); /* CIF OUTPUT (2985, 1149), (324, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT com_finish(caller,called) VIA BC; /* CIF NEXTSTATE (3070, 1262), (154, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (3345, 1036), (251, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_reject (reason); /* CIF OUTPUT (3329, 1143), (284, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_reject(reason) TO MS_PID; /* CIF NEXTSTATE (3375, 1256), (192, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (2868, 120), (143, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (2648, 238), (318, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT getReport(caller); /* CIF OUTPUT (2651, 349), (312, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT getReport(caller) VIA BC; /* CIF NEXTSTATE (2735, 471), (143, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (2989, 232), (510, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT giveReport(bil_report, called); /* CIF OUTPUT (3054, 354), (380, 97) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT giveReport(bil_report) TO MS_PIDs(called); /* CIF NEXTSTATE (3166, 481), (154, 72) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (103, 310), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitInit; /* CIF INPUT (103, 420), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT initBTS (BTS_id); /* CIF OUTPUT (75, 530), (215, 95) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initMS(BTS_id, Marie, IMEI1) VIA MS1; /* CIF OUTPUT (70, 730), (227, 97) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initMS(BTS_id, John, IMEI2) VIA MS2; /* CIF OUTPUT (70, 857), (227, 97) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initMS(BTS_id, parispizza, IMEI3) VIA MS3; /* CIF OUTPUT (70, 984), (227, 97) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initMS(BTS_id, lyonpizza, IMEI4) VIA MS4; /* CIF NEXTSTATE (103, 1111), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDSTATE; /* CIF STATE (1876, 447), (229, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitEncryptedNr; /* CIF INPUT (1737, 565), (224, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT encryptedNr (resp); /* CIF OUTPUT (1692, 672), (314, 66) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT encryptedNr(resp) VIA BC; /* CIF NEXTSTATE (1753, 769), (192, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; /* CIF SAVE (2060, 562), (137, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; ENDPROCESS; ENDBLOCK TYPE; /* CIF BlockType (2242, 88), (284, 152) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (206, 89), (1427, 1388) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ BLOCK TYPE MobileStation; /* CIF CurrentPage 1 */ /* CIF GATE (206, 266), (106, 266) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 2 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (213, 222) */ /* CIF TextPosition (100, 212) SignalList1 */ /* CIF TextPosition (53, 291) SignalList2 */ GATE BTS1 IN WITH (BtoM); OUT WITH (MtoB); /* CIF GATE (206, 518), (106, 518) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 2 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (209, 475) */ /* CIF TextPosition (100, 464) SignalList1 */ /* CIF TextPosition (47, 541) SignalList2 */ GATE BTS2 IN WITH (BtoM); OUT WITH (MtoB); /* CIF GATE (206, 773), (106, 773) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 2 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (205, 728) */ /* CIF TextPosition (100, 719) SignalList1 */ /* CIF TextPosition (47, 795) SignalList2 */ GATE BTS3 IN WITH (BtoM); OUT WITH (MtoB); /* CIF GATE (206, 1040), (106, 1040) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 2 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (208, 993) */ /* CIF TextPosition (100, 983) SignalList1 */ /* CIF TextPosition (47, 1059) SignalList2 */ GATE BTS4 IN WITH (BtoM); OUT WITH (MtoB); /* CIF GATE (1633, 556), (1733, 556) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ /* CIF TextPosition (1561, 513) */ /* CIF TextPosition (1648, 497) SignalList1 */ /* CIF TextPosition (1697, 570) SignalList2 */ GATE KBD IN WITH (keys); OUT WITH (displ); /* CIF CurrentPage 1 */ /* CIF TEXT (1163, 97), (458, 153) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* When available in the tool, replace the 4 BTSi gates by a single BTS gate with 4 channels connected to it (outside of the block). */ /* CIF End Text */ /* CIF TEXT (345, 1207), (400, 160) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SIGNAL initSIM(PIN_t), checkPIN(PIN_t), PIN_OK(BOOLEAN); /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF SIGNALROUTE (206, 266) , (426, 266) , (426, 436) , (679, 436) */ /* CIF TextPosition (444, 440) */ /* CIF TextPosition (550, 451) SignalList1 */ /* CIF TextPosition (226, 286) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE BTS1 FROM ENV VIA BTS1 TO MobileSt WITH (BtoM); FROM MobileSt TO ENV VIA BTS1 WITH (MtoB); /* CIF SIGNALROUTE (206, 518) , (679, 518) */ /* CIF TextPosition (442, 528) */ /* CIF TextPosition (550, 541) SignalList1 */ /* CIF TextPosition (226, 538) SignalList2 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE BTS2 FROM ENV VIA BTS2 TO MobileSt WITH (BtoM); FROM MobileSt TO ENV VIA BTS2 WITH (MtoB); /* CIF SIGNALROUTE (206, 773) , (330, 773) , (330, 609) , (679, 609) */ /* CIF TextPosition (444, 615) */ /* CIF TextPosition (552, 624) SignalList1 */ /* CIF TextPosition (226, 793) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE BTS3 FROM ENV VIA BTS3 TO MobileSt WITH (BtoM); FROM MobileSt TO ENV VIA BTS3 WITH (MtoB); /* CIF SIGNALROUTE (206, 1040) , (424, 1040) , (424, 692) , (679, 692) */ /* CIF TextPosition (444, 696) */ /* CIF TextPosition (555, 707) SignalList1 */ /* CIF TextPosition (226, 1060) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE BTS4 FROM ENV VIA BTS4 TO MobileSt WITH (BtoM); FROM MobileSt TO ENV VIA BTS4 WITH (MtoB); /* CIF SIGNALROUTE (1633, 556) , (1146, 556) */ /* CIF TextPosition (1346, 566) */ /* CIF TextPosition (1166, 576) SignalList1 */ /* CIF TextPosition (1534, 576) SignalList2 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 2 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE KBD FROM ENV VIA KBD TO MobileSt WITH (keys); FROM MobileSt TO ENV VIA KBD WITH (displ); /* CIF SIGNALROUTE (900, 755) , (900, 902) */ /* CIF TextPosition (806, 812) */ /* CIF TextPosition (920, 851) SignalList1 */ /* CIF TextPosition (920, 775) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ SIGNALROUTE ctrlSim FROM MobileSt TO SIM WITH initSIM, checkPIN, randomNr; FROM SIM TO MobileSt WITH PIN_OK, encryptedNr; /* CIF CurrentPage 1 */ /* CIF PROCESS (751, 902), (311, 175) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (20, 20), (2268, 1418) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS SIM(1,1); /* CIF CurrentPage 1 */ /* CIF TEXT (70, 872), (1558, 463) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Encryption algorithm also stored in the network (never transmitted): */ NEWTYPE A3_encryption_t OPERATORS A3_encrypt: NATURAL, NATURAL -> NATURAL; OPERATOR A3_encrypt; FPAR n NATURAL, key NATURAL; RETURNS NATURAL; START; RETURN (n*key)+7; ENDOPERATOR; ENDNEWTYPE; DCL PIN PIN_t, /* replaces context parameters. */ Kp NATURAL:= 3, /* Secret key associated to the SIM owner, also stored in the network. */ p PIN_t, rand NATURAL; /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (87, 120), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF NEXTSTATE (87, 230), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitInit; /* CIF STATE (318, 120), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (305, 230), (185, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT checkPIN(p); /* CIF OUTPUT (285, 340), (226, 77) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT PIN_OK(p=PIN); /* CIF NEXTSTATE (318, 447), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (672, 120), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ready; /* CIF INPUT (651, 230), (202, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT randomNr (rand) /* CIF COMMENT (873, 228), (160, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Comes from the AUC.'; /* CIF OUTPUT (576, 370), (352, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT encryptedNr (A3_encrypt(rand, Kp)) /* CIF COMMENT (940, 325), (160, 173) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Back to the AUC, which will compare it to its own computation.'; /* CIF NEXTSTATE (656, 529), (192, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (87, 230), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitInit; /* CIF INPUT (70, 340), (195, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT initSIM(PIN); /* CIF NEXTSTATE (87, 450), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ready; ENDSTATE; ENDPROCESS; /* CIF PROCESS (679, 359), (466, 396) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page first (2970, 2100) */ /* CIF Frame (20, 20), (4538, 1814) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ /* CIF Page second (2970, 2100) */ /* CIF Frame (20, 20), (7224, 1441) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ PROCESS MobileSt(1,1); /* CIF CurrentPage 1 */ /* CIF TEXT (886, 1316), (984, 440) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* To store the SDL PID of the Base Tx Stations. Necessary to send a signal to a given BTS. */ NEWTYPE BTS_PIDs_t ARRAY(BTS_ID_t, PID); ENDNEWTYPE; DCL me Mobile_ID_t, /* replaces context parameters.*/ IMEI IMEI_t, /* replaces context parameters.*/ p PIN_T, status BOOLEAN, BTSreceived, BTS_ID BTS_ID_t, BTS_PIDs BTS_PIDs_t, false_pin natural, enabled BOOLEAN; /* CIF End Text */ /* CIF TEXT (70, 120), (303, 50) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Mobile Station */ /* CIF End Text */ /* CIF CurrentPage 2 */ /* CIF TEXT (98, 1063), (1449, 319) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DCL caller,called, correspondant Mobile_ID_t, rand NATURAL, resp NATURAL, called_status called_state_t, reason reason_t, bil_report billing_report_t; /* CIF End Text */ /* CIF TEXT (1681, 1018), (854, 370) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Nominal scenario: Mobile Mobile A B | | call_req --->| | (dialing) | |---> call_ind (ring) | | | |<--- call_resp (off hook) call_conf <---| | | | */ /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF START (527, 270), (170, 50) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ START ; /* CIF NEXTSTATE (529, 350), (166, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitInit1; /* CIF STATE (2178, 207), (202, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE powerOff /* CIF COMMENT (2400, 185), (200, 120) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'the real behaviour begins here, before it si SDL configuration stuff'; /* CIF INPUT (1826, 314), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT onKey; /* CIF DECISION (1796, 424), (220, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION enabled; /* CIF ANSWER (1511, 606), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( false ): /* CIF OUTPUT (1486, 696), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT disable; /* CIF NEXTSTATE (1470, 846), (233, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE disabled; /* CIF ANSWER (2109, 620), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( true ): /* CIF TASK (2084, 710), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK false_pin:=0; /* CIF NEXTSTATE (2104, 860), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE askPIN; ENDDECISION; /* CIF INPUT (2552, 342), (266, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_ind(caller); /* CIF OUTPUT (2353, 454), (665, 81) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_resp(called_unreachable, me, caller) TO BTS_PIDs(BTSreceived); /* CIF NEXTSTATE (2591, 565), (188, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (3217, 221), (253, 94) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitCheckPIN; /* CIF INPUT (3201, 345), (286, 96) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT PIN_OK(status); /* CIF DECISION (3234, 471), (220, 69) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION status; /* CIF ANSWER (3137, 571), (105, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (3089, 651), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT badPIN; /* CIF TASK (3019, 801), (341, 111) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK false_pin := false_pin + 1; /* CIF DECISION (3080, 942), (220, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION false_pin<3; /* CIF ANSWER (3015, 1122), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( true ): /* CIF NEXTSTATE (3010, 1212), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE askPIN; /* CIF ANSWER (3215, 1122), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( false ): /* CIF OUTPUT (3190, 1212), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT disable; /* CIF TASK (3165, 1362), (250, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK enabled := false; /* CIF NEXTSTATE (3173, 1469), (233, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE disabled; ENDDECISION; /* CIF ANSWER (3559, 572), (95, 55) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (3507, 658), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT unlock; /* CIF NEXTSTATE (3519, 808), (176, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE listening; ENDDECISION; ENDSTATE; /* CIF STATE (3679, 135), (570, 69) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE askPIN,conversation,listening,powerOff, ringing,waitCallConf, waitCheckPIN; /* CIF PriorityInput (3727, 267), (476, 97) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ PRIORITY INPUT BTSchanging(BTSreceived); /* CIF TASK (3825, 394), (282, 138) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK 'Now, this mobile receives from BTSreceived, until the next change of cell'; /* CIF TASK (3825, 562), (282, 103) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK 'Display level of the radio signal received from the BTS'; /* CIF OUTPUT (3793, 695), (345, 152) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT logOn (me, BTSreceived, IMEI) TO BTS_PIDs(BTSreceived) /* CIF COMMENT (4147, 674), (213, 199) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Tells where I am to ''BTSreceived''. Missing in the Tisal GSM book, but my phone does it.'; /* CIF NEXTSTATE (3866, 903), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (1181, 210), (166, 50) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitInit4; /* CIF INPUT (1131, 290), (266, 50) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT initMS (BTS_ID); /* CIF TASK (1077, 370), (373, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK BTS_PIDs(BTS_ID):= sender; /* CIF OUTPUT (1141, 450), (245, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT initGUI(me); /* CIF OUTPUT (1091, 571), (345, 152) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT logOn (me, Paris11, IMEI) TO BTS_PIDs(Paris11); /* CIF TASK (1127, 753), (273, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK enabled := true; /* CIF NEXTSTATE (1181, 874), (166, 65) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE powerOff; ENDSTATE; /* CIF STATE (3727, 1131), (200, 108) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE disabled; /* CIF INPUT (3752, 1274), (149, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT offKey; /* CIF NEXTSTATE (3750, 1387), (154, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE powerOff; /* CIF INPUT (4098, 1269), (266, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_ind(caller); /* CIF OUTPUT (3924, 1381), (614, 92) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_resp(called_unreachable, me, caller) TO BTS_PIDs(BTSreceived); /* CIF NEXTSTATE (4137, 1503), (188, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (529, 350), (166, 50) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitInit1; /* CIF INPUT (480, 430), (265, 68) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT initMS (BTS_ID, me, IMEI); /* CIF TASK (427, 528), (373, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK BTS_PIDs(BTS_ID):= sender; /* CIF DECISION (527, 608), (171, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION me; /* CIF ANSWER (269, 688), (113, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( Marie ): /* CIF TASK (254, 768), (143, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK p:= pin_a; /* CIF ANSWER (432, 688), (113, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( John ): /* CIF TASK (417, 768), (143, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK p:= pin_b; /* CIF ANSWER (566, 688), (169, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( parispizza ): /* CIF TASK (580, 768), (143, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK p:= pin_c; /* CIF ANSWER (756, 688), (158, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( lyonpizza ): /* CIF TASK (763, 768), (143, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK p:= pin_d; ENDDECISION; /* CIF OUTPUT (533, 863), (160, 50) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ OUTPUT initSIM(p); /* CIF NEXTSTATE (530, 943), (166, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitInit2; ENDSTATE; /* CIF STATE (2104, 860), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE askPIN; /* CIF INPUT (1790, 970), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT PIN(p); /* CIF OUTPUT (1785, 1080), (168, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT checkPIN(p); /* CIF NEXTSTATE (1769, 1190), (200, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitCheckPIN; /* CIF INPUT (2014, 970), (149, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT offKey; /* CIF NEXTSTATE (2012, 1083), (154, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE powerOff; /* CIF INPUT (2360, 970), (266, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_ind(caller); /* CIF OUTPUT (2186, 1082), (614, 92) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_resp(called_unreachable, me, caller) TO BTS_PIDs(BTSreceived); /* CIF NEXTSTATE (2399, 1204), (188, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (530, 943), (166, 50) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitInit2; /* CIF INPUT (480, 1023), (266, 50) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT initMS (BTS_ID); /* CIF TASK (427, 1103), (373, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK BTS_PIDs(BTS_ID):= sender; /* CIF NEXTSTATE (530, 1183), (166, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitInit3; ENDSTATE; /* CIF STATE (530, 1183), (166, 50) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitInit3; /* CIF INPUT (478, 1263), (271, 50) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ INPUT initMS (BTS_ID); /* CIF TASK (427, 1343), (373, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK BTS_PIDs(BTS_ID):= sender; /* CIF NEXTSTATE (530, 1423), (166, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitInit4; ENDSTATE; /* CIF CurrentPage 2 */ /* CIF STATE (1010, 120), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE listening; /* CIF INPUT (245, 237), (255, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT dialing(called); /* CIF DECISION (263, 345), (220, 58) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION called=me; /* CIF ANSWER (157, 434), (90, 50) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( TRUE ): /* CIF OUTPUT (121, 514), (160, 71) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT rejected; /* CIF NEXTSTATE (125, 616), (154, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF ANSWER (473, 442), (122, 52) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( FALSE ): /* CIF OUTPUT (360, 524), (346, 84) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_req(me, called) TO BTS_PIDs(BTSreceived); /* CIF TASK (349, 638), (369, 97) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK correspondant:=called; /* CIF NEXTSTATE (449, 765), (170, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitRandom /* CIF COMMENT (639, 765), (160, 80) */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode Modified */ COMMENT 'Authentication begins.'; ENDDECISION; /* CIF INPUT (790, 230), (266, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_ind(caller); /* CIF OUTPUT (844, 342), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT ring; /* CIF TASK (739, 452), (369, 97) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ TASK correspondant:=caller; /* CIF NEXTSTATE (844, 579), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE ringing; /* CIF INPUT (1145, 230), (166, 86) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT offKey; /* CIF NEXTSTATE (1128, 346), (200, 88) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE powerOff; /* CIF INPUT (1460, 230), (245, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT askReport; /* CIF OUTPUT (1348, 334), (470, 86) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT getReport(me) TO BTS_PIDs(BTSreceived); /* CIF NEXTSTATE (1510, 450), (143, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (1838, 230), (425, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT giveReport(bil_report); /* CIF OUTPUT (1866, 340), (369, 97) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT giveReport (bil_report) VIA KBD; /* CIF NEXTSTATE (1979, 467), (143, 72) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (2603, 156), (176, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitRandom; /* CIF INPUT (2318, 266), (202, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT randomNr (rand); /* CIF OUTPUT (2283, 372), (272, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT randomNr(rand) VIA ctrlSIM; /* CIF NEXTSTATE (2323, 485), (192, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitSIMresult; /* CIF SAVE (2894, 266), (137, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (3279, 120), (192, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitSIMresult; /* CIF INPUT (3115, 230), (224, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT encryptedNr (resp); /* CIF OUTPUT (3051, 337), (352, 85) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT encryptedNr(resp) TO BTS_PIDs(BTSreceived); /* CIF NEXTSTATE (3131, 452), (192, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE waitCallConf; /* CIF SAVE (3451, 230), (143, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ SAVE *; ENDSTATE; /* CIF STATE (4091, 120), (160, 80) */ /* CIF Keep Specific Geode Color #000000 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE ringing; /* CIF INPUT (3770, 230), (236, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT answer_call; /* CIF OUTPUT (3614, 340), (547, 81) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_resp(called_ok, me, caller) TO BTS_PIDs(BTSreceived); /* CIF OUTPUT (3801, 451), (170, 88) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT convers; /* CIF NEXTSTATE (3788, 569), (200, 96) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE conversation; /* CIF INPUT (4321, 230), (266, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_ind(caller); /* CIF OUTPUT (4181, 342), (547, 81) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_resp(called_busy, me, caller) TO BTS_PIDs(BTSreceived); /* CIF NEXTSTATE (4360, 453), (188, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; /* CIF STATE (5446, 136), (188, 103) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE waitCallConf; /* CIF INPUT (4837, 272), (436, 81) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_conf (called_status); /* CIF DECISION (4945, 384), (220, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ DECISION called_status; /* CIF ANSWER (4676, 564), (150, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( called_ok ): /* CIF OUTPUT (4628, 662), (244, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT convers; /* CIF OUTPUT (4523, 784), (453, 111) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT com_start(me) TO BTS_PIDs(BTSreceived); /* CIF NEXTSTATE (4653, 925), (197, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE conversation; /* CIF ANSWER (4991, 564), (212, 60) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( called_busy ): /* CIF OUTPUT (4997, 654), (200, 88) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT busy; /* CIF NEXTSTATE (4997, 772), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE listening; /* CIF ANSWER (5223, 564), (268, 57) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ ( called_unreachable ): /* CIF OUTPUT (5258, 651), (200, 91) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT unreachable; /* CIF NEXTSTATE (5258, 772), (200, 120) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE listening; ENDDECISION; /* CIF INPUT (5472, 269), (266, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_ind(caller); /* CIF OUTPUT (5332, 381), (547, 81) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_resp(called_busy, me, caller) TO BTS_PIDs(BTSreceived); /* CIF NEXTSTATE (5511, 492), (188, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; /* CIF INPUT (5932, 269), (251, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_reject (reason); /* CIF OUTPUT (5931, 375), (253, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT rejected; /* CIF NEXTSTATE (5962, 487), (192, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE listening; ENDSTATE; /* CIF STATE (6566, 164), (222, 74) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ STATE conversation; /* CIF INPUT (6319, 289), (225, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT on_hook; /* CIF OUTPUT (6204, 399), (453, 83) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT com_finish(me, correspondant) TO BTS_PIDs(BTSreceived); /* CIF NEXTSTATE (6351, 512), (160, 80) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE listening; /* CIF INPUT (6817, 291), (266, 82) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ INPUT call_ind(caller); /* CIF OUTPUT (6677, 403), (547, 81) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ OUTPUT call_resp(called_busy, me, caller) TO BTS_PIDs(BTSreceived); /* CIF NEXTSTATE (6856, 514), (188, 77) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ NEXTSTATE -; ENDSTATE; ENDPROCESS; ENDBLOCK TYPE; ENDPACKAGE; /* CIF PackageReference (38, 63), (231, 47) */ /* CIF Keep Specific Geode TextMode 4 */ USE GSM; /* CIF SYSTEM (0, 0), (200, 150) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF Page DefaultPartition (2970, 2100) */ /* CIF Frame (20, 20), (2955, 1966) */ /* CIF Keep Specific Geode TextMode 0 */ /* CIF Keep Specific Geode Modified */ SYSTEM network; /* CIF CurrentPage 1 */ /* CIF TEXT (104, 1730), (241, 203) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* DataBases store stolen phones ID, user ID, usersecret code, etc. */ /* CIF End Text */ /* CIF TEXT (406, 1732), (243, 198) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* A MSC is a switch dedicated to mobile communications. */ /* CIF End Text */ /* CIF TEXT (829, 1742), (301, 194) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* A BSC manages BTSs, and controls the transfers between cells. */ /* CIF End Text */ /* CIF TEXT (1250, 1738), (307, 197) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* A BTS is a radio transceiver covering one cell. */ /* CIF End Text */ /* CIF TEXT (2525, 1754), (221, 195) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* A Mobile Station is a mobile telephone set. */ /* CIF End Text */ /* CIF TEXT (343, 43), (447, 90) */ /* CIF Keep Specific Geode Font 'fixed' 'fixed' 'fixed'*/ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* Copyright Verilog 1997 */ /* CIF End Text */ /* CIF CurrentPage 1 */ /* CIF CHANNEL (517, 475) , (519, 1194) */ /* CIF TextPosition (527, 834) */ /* CIF TextPosition (534, 1133) SignalList1 */ /* CIF TextPosition (528, 518) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 6 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL MSMS FROM ParisMSC VIA MS TO LyonMSC VIA MS WITH (MStoMS); FROM LyonMSC VIA MS TO ParisMSC VIA MS WITH (MStoMS); ENDCHANNEL; /* CIF CHANNEL (646, 432) , (884, 432) */ /* CIF TextPosition (691, 393) */ /* CIF TextPosition (714, 347) SignalList1 */ /* CIF TextPosition (666, 452) SignalList2 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL MSCBC1 FROM ParisMSC VIA BC TO Paris1BSC VIA MS WITH (MSCtoBC); FROM Paris1BSC VIA MS TO ParisMSC VIA BC WITH (BCtoMSC); ENDCHANNEL; /* CIF CHANNEL (1146, 467) , (1146, 815) , (1235, 815) */ /* CIF TextPosition (892, 824) */ /* CIF TextPosition (1049, 832) SignalList1 */ /* CIF TextPosition (962, 487) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS2BSC FROM Paris1BSC VIA BTS2 TO Paris12BTS VIA BC WITH (BCtoBTS); FROM Paris12BTS VIA BC TO Paris1BSC VIA BTS2 WITH (BTStoBC); ENDCHANNEL; /* CIF CHANNEL (1143, 301) , (1143, 110) , (1231, 110) */ /* CIF TextPosition (1159, 135) */ /* CIF TextPosition (1050, 55) SignalList1 */ /* CIF TextPosition (957, 246) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS1BSC FROM Paris1BSC VIA BTS1 TO Paris11BTS VIA BC WITH (BCtoBTS); FROM Paris11BTS VIA BC TO Paris1BSC VIA BTS1 WITH (BTStoBC); ENDCHANNEL; /* CIF CHANNEL (616, 1377) , (768, 1365) */ /* CIF TextPosition (615, 1333) */ /* CIF TextPosition (604, 1278) SignalList1 */ /* CIF TextPosition (634, 1402) SignalList2 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL MSCBC2 FROM LyonMSC VIA BC TO Lyon1BSC VIA MS WITH (MSCtoBC); FROM Lyon1BSC VIA MS TO LyonMSC VIA BC WITH (BCtoMSC); ENDCHANNEL; /* CIF CHANNEL (1037, 1413) , (1037, 1665) , (1216, 1665) */ /* CIF TextPosition (886, 1646) */ /* CIF TextPosition (1047, 1705) SignalList1 */ /* CIF TextPosition (795, 1426) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS4BSC FROM Lyon1BSC VIA BTS2 TO Lyon12BTS VIA BC WITH (BCtoBTS); FROM Lyon12BTS VIA BC TO Lyon1BSC VIA BTS2 WITH (BTStoBC); ENDCHANNEL; /* CIF CHANNEL (1032, 1252) , (1032, 1178) , (1243, 1178) */ /* CIF TextPosition (1051, 1226) */ /* CIF TextPosition (1048, 1113) SignalList1 */ /* CIF TextPosition (846, 1202) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS3BSC FROM Lyon1BSC VIA BTS1 TO Lyon11BTS VIA BC WITH (BCtoBTS); FROM Lyon11BTS VIA BC TO Lyon1BSC VIA BTS1 WITH (BTStoBC); ENDCHANNEL; /* CIF CHANNEL (177, 734) , (177, 431) , (402, 431) */ /* CIF TextPosition (185, 445) */ /* CIF TextPosition (214, 377) SignalList1 */ /* CIF TextPosition (200, 687) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 6 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL MSC1DB FROM DataB VIA MSC1 TO ParisMSC VIA DB WITH (DBtoMSC); FROM ParisMSC VIA DB TO DataB VIA MSC1 WITH (MSCtoDB); ENDCHANNEL; /* CIF CHANNEL (186, 910) , (186, 1249) , (386, 1249) */ /* CIF TextPosition (188, 1207) */ /* CIF TextPosition (208, 1269) SignalList1 */ /* CIF TextPosition (206, 930) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL MSC2BD FROM DataB VIA MSC2 TO LyonMSC VIA DB WITH (DBtoMSC); FROM LyonMSC VIA DB TO DataB VIA MSC2 WITH (MSCtoDB); ENDCHANNEL; /* CIF CHANNEL (1621, 1491) , (2427, 761) */ /* CIF TextPosition (1918, 1206) */ /* CIF TextPosition (2416, 798) SignalList1 */ /* CIF TextPosition (1646, 1473) SignalList2 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS4MS2 FROM Lyon12BTS VIA MS2 TO JohnMS VIA BTS4 WITH (BtoM); FROM JohnMS VIA BTS4 TO Lyon12BTS VIA MS2 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (2428, 195) , (1618, 103) */ /* CIF TextPosition (1990, 108) */ /* CIF TextPosition (1660, 53) SignalList1 */ /* CIF TextPosition (2315, 134) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 2 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS1MS1 NODELAY FROM MarieMS VIA BTS1 TO Paris11BTS VIA MS1 WITH (MtoB); FROM Paris11BTS VIA MS1 TO MarieMS VIA BTS1 WITH (BtoM); ENDCHANNEL; /* CIF CHANNEL (1617, 492) , (2428, 249) */ /* CIF TextPosition (2030, 282) */ /* CIF TextPosition (2296, 218) SignalList1 */ /* CIF TextPosition (1628, 517) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS2MS1 FROM Paris12BTS VIA MS1 TO MarieMS VIA BTS2 WITH (BtoM); FROM MarieMS VIA BTS2 TO Paris12BTS VIA MS1 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (1632, 928) , (2428, 324) */ /* CIF TextPosition (2020, 511) */ /* CIF TextPosition (2304, 296) SignalList1 */ /* CIF TextPosition (1638, 945) SignalList2 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS3MS1 FROM Lyon11BTS VIA MS1 TO MarieMS VIA BTS3 WITH (BtoM); FROM MarieMS VIA BTS3 TO Lyon11BTS VIA MS1 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (1621, 1392) , (2428, 370) */ /* CIF TextPosition (1978, 764) */ /* CIF TextPosition (2413, 412) SignalList1 */ /* CIF TextPosition (1544, 1307) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS4MS1 FROM Lyon12BTS VIA MS1 TO MarieMS VIA BTS4 WITH (BtoM); FROM MarieMS VIA BTS4 TO Lyon12BTS VIA MS1 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (1617, 610) , (2427, 635) */ /* CIF TextPosition (1786, 581) */ /* CIF TextPosition (2309, 590) SignalList1 */ /* CIF TextPosition (1634, 641) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS2MS2 NODELAY FROM Paris12BTS VIA MS2 TO JohnMS VIA BTS2 WITH (BtoM); FROM JohnMS VIA BTS2 TO Paris12BTS VIA MS2 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (1618, 202) , (2427, 576) */ /* CIF TextPosition (1856, 276) */ /* CIF TextPosition (2409, 512) SignalList1 */ /* CIF TextPosition (1640, 154) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS1MS2 NODELAY FROM Paris11BTS VIA MS2 TO JohnMS VIA BTS1 WITH (BtoM); FROM JohnMS VIA BTS1 TO Paris11BTS VIA MS2 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (2427, 729) , (1632, 1021) */ /* CIF TextPosition (1791, 885) */ /* CIF TextPosition (1654, 1030) SignalList1 */ /* CIF TextPosition (2315, 682) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 0 Siglist1 */ /* CIF Keep Specific Geode TextMode 2 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS3MS2 NODELAY FROM JohnMS VIA BTS3 TO Lyon11BTS VIA MS2 WITH (MtoB); FROM Lyon11BTS VIA MS2 TO JohnMS VIA BTS3 WITH (BtoM); ENDCHANNEL; /* CIF CHANNEL (2760, 320) , (2975, 320) */ /* CIF TextPosition (2819, 254) */ /* CIF TextPosition (2873, 360) SignalList1 */ /* CIF TextPosition (2780, 199) SignalList2 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL KBD1 FROM MarieMS VIA KBD TO ENV WITH (displ); FROM ENV TO MarieMS VIA KBD WITH (keys); ENDCHANNEL; /* CIF CHANNEL (2759, 715) , (2975, 715) */ /* CIF TextPosition (2822, 635) */ /* CIF TextPosition (2871, 752) SignalList1 */ /* CIF TextPosition (2774, 580) SignalList2 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL KBD2 FROM JohnMS VIA KBD TO ENV WITH (displ); FROM ENV TO JohnMS VIA KBD WITH (keys); ENDCHANNEL; /* CIF CHANNEL (2761, 1111) , (2975, 1111) */ /* CIF TextPosition (2820, 1056) */ /* CIF TextPosition (2859, 1150) SignalList1 */ /* CIF TextPosition (2781, 1001) SignalList2 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL KBD3 FROM parispizzaMS VIA KBD TO ENV WITH (displ); FROM ENV TO parispizzaMS VIA KBD WITH (keys); ENDCHANNEL; /* CIF CHANNEL (2766, 1537) , (2975, 1537) */ /* CIF TextPosition (2826, 1487) */ /* CIF TextPosition (2874, 1557) SignalList1 */ /* CIF TextPosition (2786, 1435) SignalList2 */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL KBD4 FROM lyonpizzaMS VIA KBD TO ENV WITH (displ); FROM ENV TO lyonpizzaMS VIA KBD WITH (keys); ENDCHANNEL; /* CIF CHANNEL (1621, 1692) , (2434, 1587) */ /* CIF TextPosition (1956, 1656) */ /* CIF TextPosition (2378, 1622) SignalList1 */ /* CIF TextPosition (1612, 1729) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS4MS4 FROM Lyon12BTS VIA MS4 TO lyonpizzaMS VIA BTS4 WITH (BtoM); FROM lyonpizzaMS VIA BTS4 TO Lyon12BTS VIA MS4 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (1621, 1610) , (2429, 1164) */ /* CIF TextPosition (1798, 1507) */ /* CIF TextPosition (2409, 1198) SignalList1 */ /* CIF TextPosition (1643, 1608) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS4MS3 FROM Lyon12BTS VIA MS3 TO parispizzaMS VIA BTS4 WITH (BtoM); FROM parispizzaMS VIA BTS4 TO Lyon12BTS VIA MS3 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (1632, 1247) , (2434, 1541) */ /* CIF TextPosition (2088, 1458) */ /* CIF TextPosition (2290, 1536) SignalList1 */ /* CIF TextPosition (1643, 1179) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS3MS4 FROM Lyon11BTS VIA MS4 TO lyonpizzaMS VIA BTS3 WITH (BtoM); FROM lyonpizzaMS VIA BTS3 TO Lyon11BTS VIA MS4 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (1632, 1136) , (2429, 1117) */ /* CIF TextPosition (2057, 1130) */ /* CIF TextPosition (2308, 1137) SignalList1 */ /* CIF TextPosition (1652, 1085) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS3MS3 FROM Lyon11BTS VIA MS3 TO parispizzaMS VIA BTS3 WITH (BtoM); FROM parispizzaMS VIA BTS3 TO Lyon11BTS VIA MS3 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (1617, 835) , (2434, 1454) */ /* CIF TextPosition (2024, 1239) */ /* CIF TextPosition (2282, 1426) SignalList1 */ /* CIF TextPosition (1631, 779) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS2MS4 FROM Paris12BTS VIA MS4 TO lyonpizzaMS VIA BTS2 WITH (BtoM); FROM lyonpizzaMS VIA BTS2 TO Paris12BTS VIA MS4 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (1617, 737) , (2429, 1037) */ /* CIF TextPosition (2086, 891) */ /* CIF TextPosition (2296, 1035) SignalList1 */ /* CIF TextPosition (1645, 695) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS2MS3 FROM Paris12BTS VIA MS3 TO parispizzaMS VIA BTS2 WITH (BtoM); FROM parispizzaMS VIA BTS2 TO Paris12BTS VIA MS3 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (1618, 412) , (2434, 1407) */ /* CIF TextPosition (2357, 1286) */ /* CIF TextPosition (2426, 1340) SignalList1 */ /* CIF TextPosition (1638, 372) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS1MS4 FROM Paris11BTS VIA MS4 TO lyonpizzaMS VIA BTS1 WITH (BtoM); FROM lyonpizzaMS VIA BTS1 TO Paris11BTS VIA MS4 WITH (MtoB); ENDCHANNEL; /* CIF CHANNEL (1618, 309) , (2429, 984) */ /* CIF TextPosition (1824, 473) */ /* CIF TextPosition (2409, 914) SignalList1 */ /* CIF TextPosition (1643, 276) SignalList2 */ /* CIF Keep Specific Geode TextMode 3 */ /* CIF Keep Specific Geode TextMode 2 Siglist1 */ /* CIF Keep Specific Geode TextMode 0 Siglist2 */ /* CIF Keep Specific Geode Modified */ CHANNEL BTS1MS3 FROM Paris11BTS VIA MS3 TO parispizzaMS VIA BTS1 WITH (BtoM); FROM parispizzaMS VIA BTS1 TO Paris11BTS VIA MS3 WITH (MtoB); ENDCHANNEL; /* CIF CurrentPage 1 */ /* CIF BLOCK (402, 259), (243, 216) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (498, 455), (40, 40) */ /* CIF Keep Specific Geode TextName MS */ /* CIF GateReference (626, 412), (40, 40) */ /* CIF Keep Specific Geode TextName BC */ /* CIF GateReference (382, 409), (40, 40) */ /* CIF Keep Specific Geode TextName DB */ BLOCK ParisMSC: MobileSwitchCtr; /* CIF BLOCK (386, 1194), (230, 224) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (596, 1356), (40, 40) */ /* CIF Keep Specific Geode TextName BC */ /* CIF GateReference (366, 1229), (40, 40) */ /* CIF Keep Specific Geode TextName DB */ /* CIF GateReference (500, 1174), (40, 40) */ /* CIF Keep Specific Geode TextName MS */ BLOCK LyonMSC: MobileSwitchCtr; /* CIF BLOCK (884, 302), (299, 165) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (864, 410), (40, 40) */ /* CIF Keep Specific Geode TextName MS */ /* CIF GateReference (1122, 282), (40, 40) */ /* CIF Keep Specific Geode TextName BTS1 */ /* CIF GateReference (1126, 447), (40, 40) */ /* CIF Keep Specific Geode TextName BTS2 */ BLOCK Paris1BSC: BaseStationCtlr; /* CIF BLOCK (1231, 68), (387, 398) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (1211, 90), (40, 40) */ /* CIF Keep Specific Geode TextName BC */ /* CIF GateReference (1598, 83), (40, 40) */ /* CIF Keep Specific Geode TextName MS1 */ /* CIF GateReference (1598, 176), (40, 40) */ /* CIF Keep Specific Geode TextName MS2 */ /* CIF GateReference (1598, 289), (40, 40) */ /* CIF Keep Specific Geode TextName MS3 */ /* CIF GateReference (1598, 392), (40, 40) */ /* CIF Keep Specific Geode TextName MS4 */ BLOCK Paris11BTS: BaseTxStation; /* CIF BLOCK (768, 1253), (304, 160) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (1015, 1233), (40, 40) */ /* CIF Keep Specific Geode TextName BTS1 */ /* CIF GateReference (1017, 1393), (40, 40) */ /* CIF Keep Specific Geode TextName BTS2 */ /* CIF GateReference (748, 1345), (40, 40) */ /* CIF Keep Specific Geode TextName MS */ BLOCK Lyon1BSC: BaseStationCtlr; /* CIF BLOCK (1236, 476), (381, 396) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (1216, 788), (40, 40) */ /* CIF Keep Specific Geode TextName BC */ /* CIF GateReference (1597, 486), (40, 40) */ /* CIF Keep Specific Geode TextName MS1 */ /* CIF GateReference (1597, 583), (40, 40) */ /* CIF Keep Specific Geode TextName MS2 */ /* CIF GateReference (1597, 716), (40, 40) */ /* CIF Keep Specific Geode TextName MS3 */ /* CIF GateReference (1597, 814), (40, 40) */ /* CIF Keep Specific Geode TextName MS4 */ BLOCK Paris12BTS: BaseTxStation; /* CIF BLOCK (1243, 900), (389, 381) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (1223, 1165), (40, 40) */ /* CIF Keep Specific Geode TextName BC */ /* CIF GateReference (1612, 910), (40, 40) */ /* CIF Keep Specific Geode TextName MS1 */ /* CIF GateReference (1612, 1003), (40, 40) */ /* CIF Keep Specific Geode TextName MS2 */ /* CIF GateReference (1612, 1116), (40, 40) */ /* CIF Keep Specific Geode TextName MS3 */ /* CIF GateReference (1612, 1230), (40, 40) */ /* CIF Keep Specific Geode TextName MS4 */ BLOCK Lyon11BTS: BaseTxStation; /* CIF BLOCK (1217, 1355), (404, 365) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (1197, 1645), (40, 40) */ /* CIF Keep Specific Geode TextName BC */ /* CIF GateReference (1601, 1372), (40, 40) */ /* CIF Keep Specific Geode TextName MS1 */ /* CIF GateReference (1601, 1471), (40, 40) */ /* CIF Keep Specific Geode TextName MS2 */ /* CIF GateReference (1601, 1587), (40, 40) */ /* CIF Keep Specific Geode TextName MS3 */ /* CIF GateReference (1601, 1672), (40, 40) */ /* CIF Keep Specific Geode TextName MS4 */ BLOCK Lyon12BTS: BaseTxStation; /* CIF BLOCK (61, 734), (236, 176) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (160, 714), (40, 40) */ /* CIF Keep Specific Geode TextName MSC1 */ /* CIF GateReference (168, 890), (40, 40) */ /* CIF Keep Specific Geode TextName MSC2 */ BLOCK DataB: DataBases; /* CIF BLOCK (2428, 167), (332, 232) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (2408, 173), (40, 40) */ /* CIF Keep Specific Geode TextName BTS1 */ /* CIF GateReference (2408, 228), (40, 40) */ /* CIF Keep Specific Geode TextName BTS2 */ /* CIF GateReference (2408, 309), (40, 40) */ /* CIF Keep Specific Geode TextName BTS3 */ /* CIF GateReference (2408, 354), (40, 40) */ /* CIF Keep Specific Geode TextName BTS4 */ /* CIF GateReference (2740, 302), (40, 40) */ /* CIF Keep Specific Geode TextName KBD */ BLOCK MarieMS: MobileStation; /* CIF BLOCK (2427, 556), (332, 232) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (2407, 562), (40, 40) */ /* CIF Keep Specific Geode TextName BTS1 */ /* CIF GateReference (2407, 617), (40, 40) */ /* CIF Keep Specific Geode TextName BTS2 */ /* CIF GateReference (2407, 699), (40, 40) */ /* CIF Keep Specific Geode TextName BTS3 */ /* CIF GateReference (2407, 744), (40, 40) */ /* CIF Keep Specific Geode TextName BTS4 */ /* CIF GateReference (2739, 692), (40, 40) */ /* CIF Keep Specific Geode TextName KBD */ BLOCK JohnMS: MobileStation; /* CIF BLOCK (2429, 955), (332, 232) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (2409, 964), (40, 40) */ /* CIF Keep Specific Geode TextName BTS1 */ /* CIF GateReference (2409, 1016), (40, 40) */ /* CIF Keep Specific Geode TextName BTS2 */ /* CIF GateReference (2409, 1098), (40, 40) */ /* CIF Keep Specific Geode TextName BTS3 */ /* CIF GateReference (2409, 1143), (40, 40) */ /* CIF Keep Specific Geode TextName BTS4 */ /* CIF GateReference (2741, 1091), (40, 40) */ /* CIF Keep Specific Geode TextName KBD */ BLOCK parispizzaMS: MobileStation; /* CIF BLOCK (2434, 1378), (332, 232) */ /* CIF Keep Specific Geode TextMode 4 */ /* CIF Keep Specific Geode Modified */ /* CIF GateReference (2414, 1384), (40, 40) */ /* CIF Keep Specific Geode TextName BTS1 */ /* CIF GateReference (2414, 1439), (40, 40) */ /* CIF Keep Specific Geode TextName BTS2 */ /* CIF GateReference (2414, 1521), (40, 40) */ /* CIF Keep Specific Geode TextName BTS3 */ /* CIF GateReference (2414, 1566), (40, 40) */ /* CIF Keep Specific Geode TextName BTS4 */ /* CIF GateReference (2746, 1514), (40, 40) */ /* CIF Keep Specific Geode TextName KBD */ BLOCK lyonpizzaMS: MobileStation; ENDSYSTEM;