Documents

Iran’s SIAM Manual for Tracking and Controlling Mobile Phones

Oct. 28 2022 — 4:01a.m.

/42
1/42

SIAM API Specifications Page 1 of 42 Integrated system to query telecom customer Information (SIAM) Modification History Version Modification Type Done by 1.0 Translate for Farsi to English 2.0 Update second method 3.0 Add Examples and data types 4.0 Modification in Examples , based on new info from CRA 5.0 Table info + response code added 6.0 Update to SIAM official version by CRA (3.01.00)

SIAM API Specifications Page 2 of 42 Table of Contents Preface .............................................................................................................................................................................4  How to Access: ........................................................................................................................................................5  Connection Basics ....................................................................................................................................................5  Method description: ................................................................................................................................................7 1. Identification query Method (IdentitySearch) ....................................................................................................7 2. Quick Search Owner Method (QuickSearch) .................................................................................................... 10 3. Suspension query Method (SuspHistorySearch) .............................................................................................. 11 4. Informational query Method (FullSearchByNum) ............................................................................................ 12 5. IMEI query Method (SearchByIMEI) ................................................................................................................. 14 6. IMSI query Method (SearchByIMSI) ................................................................................................................. 15 7. VC query Method (SearchByChNum) ............................................................................................................... 17 8. Promotion offers query Method (ListOfDiscount) ........................................................................................... 17 9. Billing query Method (BillInfoSearch) .............................................................................................................. 19 10. CDR query Method (GetCdr) ........................................................................................................................ 20 11. Customer Suspension Method (ApplySusp) ................................................................................................. 21 12. Customer Special services Method (SuspSpecialSRV) .................................................................................. 24 13. Charge serial disable (SuspChNum) .............................................................................................................. 26 14. Query Active Services Method (ListOfPhoneServices) ................................................................................. 26 15. Query Call Forward Information (DivertInfoSearch) .................................................................................... 27 16. Request Call Forward for one number (ApplyDivert) ................................................................................... 28 17. Query, list of current subscriber in location (LocationCustomerList) .......................................................... 29 18. Force on 2G for one MSISDN (Force2GNumber) ......................................................................................... 29 19. Query, search for find APN owner (ApnOwnerSearch) ................................................................................ 30 20. Query list of prefix (GetPrefixList) ................................................................................................................ 31 21. Change password Method (PassChange) ..................................................................................................... 32  DATA Method Description.................................................................................................................................... 33 1. Combine search of identity history method(CombinSearch) ........................................................................... 33 2. Search technical information and identity method(TechnicalSearch) ............................................................. 34 3. x ............................................................................................................................ Error! Bookmark not defined. 4. List of update service plan (ListOfBPlan) .......................................................................................................... 36 5. Combine connection details query (GetIPDR) .................................................................................................. 36 6. Request for Disable and Enable connection\ service (ApplySuspIp) ................................................................ 37 7. List of operator IP addresses (GetIpPool)......................................................................................................... 39

SIAM API Specifications Page 3 of 42  Response code table ............................................................................................................................................ 39

SIAM API Specifications Page 4 of 42 Preface Based on CRA1 rules and regulations all telecom operators must provide CRA, direct access to their system for query customers information and change their services via web service. This document will describe detail information about this requested web service. 1 Communication Regulatory Authority of I.R. of Iran

SIAM API Specifications Page 5 of 42  How to Access:  For using defined methods in current document, only HTTPS protocol must be used and also following format must be used as Address: Https://ServerName Or IP Address: Assigned port/Service Portal /WebServices.”Your Extention”?WSDL  for calling method, will be sent web address completely by SIAM.So do not define any web for default page in servers  User name and password to access Web service will be announced to CRA by operator  Connection Basics Relationship with SIAM is based on the WSDL and includes the call of all methods Following conditions shall be considered while calling all the methods mentioned in the current document: 1) Input parameters are information with SIAM send to operator and output parameter are information of response method with receiving by SIAM from operator 2) All the input parameters are string 3) All the output results shall present in a string format called QryResult 4) For all fields and input methods, the name is unique and large or small letters are important 5) Delimiters are like below:  For fields that can contain more than one value, different values should be separate with <^#> from each other Intra Field Separator = <^# > For example: one customer may have more than one MSISDN it should be displayed like this “MSISDN1^# MSISDN2^#.....”  For separating fields from each other <^&> should be used Field Separator = <^&> This delimiter is used to separate output and input format string columns For example query result is return shall be like this: “MSISDN^&first_name^&last_name^&……..”  For separating output lines or record outputs <\r\n> should be used (note that \r\n must be seen in output format if you are using JAVA you should use \\r\\n instead) . Record Separator = < \r\n > 6) If a field value is null, it should send as null 7) Regarding that each method have many parameters, if some parameters sent as null that parameter should be ignored while searching and generating output 8) All input and output dates are in Jalali calendar and format is like below yyyy/mm/dd HH:mm(time format is in 24 Hours )

SIAM API Specifications Page 6 of 42 9) System must be Highly available and operator must take all necessary measures like Firewall, load Balancing, redundancy to ensure high availability of system 10) Response code for all methods exist in last record of response string (note that this code doesn’t mentioned in function tables description in this document and must be added in the end of each response string) response code must be sent in following format:  When an error accrues (response code = 1): 1- If request is received but only some part of request can be queried and some of them cannot: QryResult= ”query result that is done” + ”\r\n” + ”1” + ”^&” + ”Error description” 2- If request is received but all the query cannot be executed: QryResult = ”1”+”^&” + “Error description” ** Please note that error description list must be announce to CRA form operator side  When there is no error (response code = 0) 1- If query has no result: QryResult = “0” 2- If query has result for all parts of request: QryResult = “query result” + “\r\n” + “0” 11) The requirements for sending data to SIAM for the input parameters of the method tables are as follows. If they observe sending a method, processing and answering method is required by the operators.  All unnumbered fields in tables will have a value  At least one of the number fields has a value  Some number fields have more than one parameter and when they are sent as input of a method, at least two parameters are filled in  The field of the phone number will be sent with the code and without zero, this field in the output must also be returned in the same way 12) The response range in this system is determined in two ways:  If duration > 15 days or number of returned records > 200 records, operator should return suitable error  If number of records in mentioned duration > 200 records, operator should return first 200 records + proper error code. 13) Note: variable specifications described in this document such as length and etc depends on vendor database architecture.

SIAM API Specifications Page 7 of 42  Method description: 1. Identification query Method (IdentitySearch) This method by receiving some or all input parameters will return result in format mentioned in below table, at least 20 concurrent request will be sent to MVNO via this method, appropriate hardware architecture to handle this request load must be considered Output result Input parameters Method name QryResult Param Meaning no VARIABLE FIELDS IdentitySearch TelNum 1 MSISDN Each record of this table will follow with this values: 1- MSISDN 2- National Code 3- Name 4- Family 5- Father’s name 6- Number of birth certificate 7- Birth date 8- Zip code 9- Nationality 10- Passport NO 11- Postal address /addresses 12- Company name (Corporate) 13- Company register number (Corporate) 14- Company finance code (Corporate) 15- SIM type (Postpaid/prepaid/Data) If customer is corporate fields number 2 to 7 will be filled with corporate agent ‘s information and filed number 9,10 will be sent empty, otherwise filed number 12 to 14 will be sent empty Fname Name 2 Lname Family PNum *number of birth certificate PCode 3 ZIPCODE NCode National code 4 IPNum Passport code 5 Fixed Fields Uname User name AutStr Password

SIAM API Specifications Page 8 of 42 Input parameters type and format for this method are like below: No Variable name Variable type Mandatory or optional Max length (char) 1 TelNum String optional 10 2 Fname String optional 50 3 Lname String optional 50 4 PNum String optional 20 5 PCode String optional 10 6 NCode String optional 10 7 IPNum String optional 20 8 Uname String mandatory 20 9 AutStr String mandatory 20 Input is combination of one or more optional + mandatory fields. CRA can send one some or all variables as input parameter for this method. Judgment on which variable is sent can be done by variable place in received string format Samples: Some sample for input parameters of IdentitySearch method can be like below (it’s just sample not all states): “9991000000^&^&^&^&^&^&^&crauser1^&[email protected]” Or “9991000000^&امير&^ اميری&^&^&^&^&^ crauser1^&[email protected]” Or “^&امير&^ اميری&^&^&^&^&^ crauser1^&[email protected]” - Green fields are the username and password that are provided by MVNO to CRA. Note that this user and pass can be change via PassChange method. The response should be like this: Case1: for individual costumer when customer has only one sim card: ”9991000000^&0074610589^&امير&^اميری&^احمد&^1081^&1360/17/02^&9932805287^&ايرا “ n0\r\owned^&Postpaid ^&^&^&^&تهران – تهران - سعادت آباد - خيابان٧١ -كوچه١ -پلاك٩٢^& ^& نی

SIAM API Specifications Page 9 of 42 - Yellow color is fields that we don’t have it right now like “Number of birth certificate “and “Nationality” it should be left empty. - Green color is birth date for birth date following format is enough: yyyy/mm/dd (date is Jalai calendar) - Pink color Passport number field, since the customer’s nationality is Iranian m this must be sent empty, for Non- Iranian this must be field with passport number. - Gray color is sim status and it can have 3 status owned and transferred and terminated if customer already has the number it should be owned, if the number is terminated or transferred the corresponding name should be displayed. note that following state in this fields can be displayed  owned  terminated  transferred - Blue color is for corporate customer (field 12-14 in the table) that must be left empty here. Case2: for individual costumer when customer has only more than one sim card: ”9991000000^#9209202345^#9203202345^#9209201221^&0074610589^&امير&^اميري&^احمد&^108 تهران – تهران - سعادت آباد - خيابان٧١ -كوچه١ -پلاك٩٢^&^& ايراني&^9932805287^&02/17/1360^&1 ^&^&^&^&Postpaid^&owned^#transferred^#terminated^#owned\r\n0” Case3: for corporate customers: ”9991000000^&0074610589^&امير&^اميری&^احمد&^1081^&1360/17/02^&9932805287^&ای تهران – تهران - سعادت آباد - خيابان٧١ -كوچه١^&^& -رانی ٩٢پلاك&^آذراب&^١٢٢٣۴^&^&Postpaid^&owned\r\n0 ” - Green color are company’s agent information - Pink color is Passport number for company’s agent, because his nationality is Iranian passport number is left empty - Blue is company finance code, if company doesn’t have this code it will be returned empty.

SIAM API Specifications Page 10 of 42 2. Quick Search Owner Method (QuickSearch) This method by receiving MSISDN input parameters will return result in format mentioned in below table: Output result Input parameters Method name QryResult Param Meaning no VARIABLE FIELDS QuickSearch TelNum 1 MSISDN Each record of this table will follow with this values: 1- MSISDN 2- National Code 3- Name 4- Family 5- Father’s name 6- Number of birth certificate 7- Birth date 8- place of issue\ birth 9- Zip code 10- Postal address 11- Passport NO 12- SIM State (Active /Terminated) 22- Registration gateway 13- SIM type (Postpaid/prepaid/Data) 14- Registration Date If customer is corporate fields number 5,7,8 and 10 will be sent Empty and Family field = “حقوقی “in this case. Fixed Fields Uname User name AutStr Password

SIAM API Specifications Page 11 of 42 3. Suspension query Method (SuspHistorySearch) This method by receiving MSISDN and date span will return result about customer service blockage History (one and two-way block) in format mentioned in below table Output result Input parameters Method name TelNum MSISDN SuspHistorySearch Each record of this table will follow with this values: 1- MSISDN 2- National Code 3- Name 4- Family 5- Father’s name 6- Number of birth certificate 7- Birth date 8- Zip code 9- Passport No 10- From Date 11- To Date 12- Type of Blockage (one-way / two￾way) 13- Block Reason 14- Block Date 15- Block Time 16- SIM State (Owned /Transferred) FDate From Date TDate To Date Uname User name AutStr Password This Method will be returning only blockage history (one and two-way block + reason + time), except MVNO’s Life cycle if there is no history, it will return null. Here is input format: Samples: Some sample for input parameters of SuspHistorySearch method can be like below: “9991000000^&1394/01/1 22:11^&1394/01/10 11:32^&crauser1^&[email protected]” The response should be like this: No Variable name Variable type Mandatory or optional Max length (char) 1 TelNum String mandatory 10 2 FDate String mandatory 20 3 TDate String mandatory 20 8 Uname String mandatory 20 9 AutStr String mandatory 20

SIAM API Specifications Page 12 of 42 "9991000000^&0074610589^&امير&^اميری&^احمد&^1081^&1360/17/02^&9932805287^&^&1394/01/1 22:11^&^&1394/01/10 11:32^&TWD^&دوم بار مزاحمت&^owned\r\n0 ” - Gary color is Passport number, customer is Iranian so this should be send empty - Blue color is the exact FDate and TDate from input string, system should check between this date to see if the customer have any one or two way block history or not. - Pink color is block reason and can be extract from table order reason in cc database - Green color is type of blockage and it can be as below:  TWB for Two-way block  OWB for one-way block 4. Informational query Method (FullSearchByNum) This method by receiving MSISDN will return customer’s information + Sim card information as result in format mentioned in below table Output result Input parameters Method name QryResult English meaning TelNum MSISDN FullSearchByNum Each record of this table will follow with this values: 1- MSISDN 2- National Code 3- Name 4- Family 5- Father’s name 6- Number of birth certificate 7- Birth date 8- Zip code 9- Nationality 10- Passport NO 11- address /postal addresses 12- Profile creation date 13- SIM activation/registration date 14- Company name (Corporate) 15- Company register number (Corporate) 16- Company finance code 17- SIM province 18- SIM city 19- SIM Seller/dealer Info 20- SIM Status 21- Block/termination date 22- Station and user name who did block 23- SIM type (Postpaid/prepaid/Data) Uname Username AutStr Password

SIAM API Specifications Page 13 of 42 24- Empty 25- APN Name 26- Previous Credit Usage (For Postpaid) 27- Current Usage (hot bill for Postpaid), available credit for prepaid and data 28- Current individual price plan name- if more than one price plan you should use field separator (^#) 29- Special services - it is provided by NE (Video call, MMS, VPN,) 30- IMEI 31- ICCID 32- PIN1 33- PIN2 34- PUK1 35- PUK2 36- Last call date and time 37- Last call location (LAC and Cell ID) If customer is corporate fields number 2 to 7 will be filled with corporate agent ‘s information and filed number 9,10 will be sent empty, otherwise filed number 14 to 16 will be sent empty Input parameters type and format for this method are like below: Samples: Some sample for input parameters of FullSearchByNum method can be like below: “9991000000^&crauser1^&[email protected]” The response should be like this: ”9991000000^&0074610589^&امير&^اميری&^احمد&^1081^&1360/17/02^&9932805287^& ايرانی &^ &^ ٩٢پلاك- ١كوچه- ٧١خيابان - آباد سعادت - تهران – تهران&^1391/09/06 17:09^&1391/09/06 17:۱۲^&^&^&^&البرز و تهران&^تهران&^&^Active^&^&^&Postpaid^&12221^&56000^&(RTL-O￾369)Postpaid Internet Package (1GB) – Ramezan Gift^&MMS^#MPVN^&^&432200200193537^&8776^&6744^&58827317^&77547742^&1394/01/06 22:39^&34521^#c1212\r\n0” No Variable name Variable type Mandatory or optional Max length (char) 1 TelNum String mandatory 10 2 Uname String mandatory 20 3 AutStr String mandatory 20

SIAM API Specifications Page 14 of 42 - Blue color is customer profile creation date can be find by this query Select TO_CHAR (f1.created_date, 'yyyy/mm/dd HH24:MM', 'nls_calendar=''Persian') Jalai from cc.cust f1 where f1.cust_id = 127375 - Green color is SIM_State_date from Sim_card table - Red color are the items that we don’t have currently like sim seller info and IMEI and should left blank - Pink color are for blockage if sim_card status is blocked block date and job should be send. - Yellow color are special services from related product following services should be send customer is using them:  VPN  MMS  MCA  RBT  Video call  YZ  NTS - Gary color are sim_card info form SIM_Card table - Last data in the string are LAC and CellID (34521^#c1212) 34521 is LAC, c1212 is cell id 5. IMEI query Method (SearchByIMEI) This Function should be deployed if it’s supported by system in MVNO.

SIAM API Specifications Page 15 of 42 This method by receiving IMEI will return List of MSISDN that match the mentioned IMEI in a format mentioned in below table Output result Input parameters Method name QryResult English Meaning SearchByIMEI ImeiNum MS IMEI Each record of this table will follow with this values: 1. IMEI 2. MSISDN 3. Form date 4. To date 5. Handset spec (brand, model, …) 6. First Call Time 7. Last Call Time 8. Last Call Location 9. Other Information (Can be empty) FDate From date TDate To date Uname User name AutStr Password This method by receiving IMEI will return List of MSISDN that match the mentioned IMEI The response of this method should be obtained from the first source of registration The response from CDR bank is not accepted (Because it only contains the lines of the conversation) 6. IMSI query Method (SearchByIMSI) This method by receiving IMSI or KIT/ICCID and will return List of MSISDN that match the mentioned IMSI in a format mentioned in below table

SIAM API Specifications Page 16 of 42 Note: to make difference between IMSI and KIT you can use this method: if first 3 digit of input parameter start with 900 and 902 it is KIT otherwise if it starts with 4320200 it’s IMSI. KIT length is 9 digits and IMSI length is 15 digits. Output result Input parameters Method name QryResult English Meaning SearchByIMSI ImsiNum IMSI Each record of this table will follow with this values: 1. MSISDN 2. IMSI/KIT/ICCID Uname User name AutStr Password Input parameters type and format for this method are like below: Samples: Some sample for input parameters of SearchByIMSI method can be like below: Case 1: KIT/ICCID is inputted as ImsiNum variable: “900XXXXXX^&crauser1^&[email protected]” And the result should be like this: “9991000000^&4320200XXXXXXXX^&\r\n0” No Variable name Variable type Mandatory or optional Max length (char) 1 ImsiNum String mandatory 20 2 Uname String mandatory 20 3 AutStr String mandatory 20

SIAM API Specifications Page 17 of 42 Case 2: IMSI is inputted as ImsiNum variable: “4320200XXXXXXXX^&crauser1^&[email protected]” And the result should be like this: “9991000000^&^&4320200XXXXXXXX\r\n0” 7. VC query Method (SearchByChNum) This method by receiving VC serial number in inventory and will return List of MSISDN that are charged via this VC in a format mentioned in below table Output result Input parameters Method name QryResult Englsih Meaning SearchByCh Num ChNum VC charge number Each record of this table will follow with this values: 1. MSISDN 2. VC charge number 3. Charge amount 4. Used date 5. Charge type (voucher\top up\ATM\...) 6. Efficacy Uname User name AutStr Password Input parameters type and format for this method are like below: 8. Promotion offers query Method (ListOfDiscount) This method by receiving date will provide list of price plan offers that are provided in a specific period of time by MVNO in CSR (Point of sale) in a format mentioned in below table No Variable name Variable type Mandatory or optional Max length (char) 1 ChNum String mandatory 16 2 Uname String mandatory 20 3 AutStr String mandatory 20

SIAM API Specifications Page 18 of 42 Output result Input parameters Method name QryResult English meaning ListOfDiscount Uname Username Each record of this table will follow with this values: 1. Offer code 2. Offer name 3. Offer comment 4. Effective period (effective date ^# expire date) 5. Offer state (Active\Inactive) AutStr password FDate From date TDate To date Input parameters type and format for this method are like below: Offer state can be like below:  Effective  Expired System can use a sample query like this to get result in CC database select a.offer_code,a.offer_name,a.comments,a.eff_date||'^#'||a.exp_date from cc.offer a where a.offer_type = 3 and a.created_date between fdate and ldate Note that: 1- effective of expired state of package is not mentioned in above query 2- Fdate and Tdate are in Jalai calendar and should be converted to Georgian calendar 3- Effective date and expire date must change to Jalai calendar Samples: Some sample for input parameters of ListOfDiscount method can be like below: No Variable name Variable type Mandatory or optional Max length (char) 1 Uname String mandatory 20 2 AutStr String mandatory 20 3 FDate String mandatory 20 4 TDate String mandatory 20

SIAM API Specifications Page 19 of 42 “crauser1^&[email protected]^&1394/02/05 08:02^&1394/01/05 08:01” The response should be like this: VIP Privileged Postpaid MVNO-Code12336^&بسته آغازين سيم کارت دائمی ممتاز مشتريان ويژه-Code12336^&12336“ Starter^&1394/02/05 10:02, ^& Effective\r\n 12111^&3411٦) روزه ٩٠ پايه اينترنت مصرفی بستهGB) + ويروس آنتی موبايل&^Data 90 days base internet plan (6 GB) + Mobile Anti-virus^&1394/02/05 11:11^# 1394/09/05 11:02 ^& Effective\r\n 12101^& ٢٫٥) روزه ٣٠ ای حرفه اينترنت مصرفی بستهGB) + موبايل ويروس آنتی&^Data 30 days Pro internet plan (2.5GB) + + Mobile Anti-virus^&1394/02/05 10:22^# ^& Effective\r\n 16121^& اينترنتG روزه ٩٠ ای حرفه ٦)GB)+ تبلت ويروس آنتی&^Prepaid 90 days Pro internet plan (6GB)+Tablet Anti-virus^& 1394/02/05 11:12^# ^& + Package Unlimited Days 90 Postpaid^& بسته ٩٠ روزه بينهايت - سيم کارت دائمی + آنتی ويروس تبلت&^n14451\r\Effective Tablet Anti - Virus^&1394/02/05 16:03^# ^& Effective\r\n0” 9. Billing query Method (BillInfoSearch) This method by receiving MSISDN and Date will provide list of financial functions of the given number in a format mentioned in below table: for the postpaid and prepaid numbers are different. In the case of the postpaid existence of the six past periods plus the current period with the highest record (at least seven records), sorted by date.

SIAM API Specifications Page 20 of 42 In the case of a prepaid accordance with the following table. Output result Input parameters Method name QryResult English meaning TelNum MSISDN BillInfoSearch Each record of this table will follow with this values: 1- MSISDN 2- SIM type (Postpaid/prepaid/Data) 3- Period Number\ Row Number 4- Start Date Period\ Charge Date 5- End Date Period\ Next Charge Date 6- Bill ID\ Voucher serial number 7- Payment ID\ Voucher serial 8- Bill Amount\ Voucher Amount 9- Sum amount for local call \ Charged Amount 10- International call amount 11- Payment date\ Charge expire date 12- FDate From Date TDate To date Uname Username AutStr Password If FDate and TDate are empty FDate should be equal to the date of request And TDate should be equal to 6 months ago 10. CDR query Method (GetCdr) This method by receiving one or two or three input parameters (MSISDN, IMEI, and IMSI) and defining time and date scope can provide CDR list. Date in this method is include time and date (See number 10 in connection basics) the data records that are feed backed cover maximum 30 days. The response should include all types of CDRs (Except data CDRs) Output result Input parameters Method name QryResult English Meaning GetCdr

SIAM API Specifications Page 21 of 42 TelNum MSISDN Each record of this table will follow with this values: 1. Date and time 2. Calling number 3. Called number 4. Type of call (Voice call, SMS, MMS, Roaming, international call, national call, etc.) 5. Duration 6. Usage amount (Local Currency) 7. Discount amount 8. Call location (LACCell ID) 9. IMEI (send it empty) 10. IMSI 11. Remaining Balance 12. IP Address 13. Sip URL Address ImeiNum IMEI ImsiNum IMSI FDate From Date TDate To date Uname User name AutStr password Input parameters type and format for this method are like below: 11. Customer Suspension Method (ApplySusp) This method by receiving MSISDN and type of request can do customer blockage like two-way – all incoming and/or all outgoing call. the operation result is send by a response code Note: if a customer is already is blocked by MVNO, CRA shouldn’t change using this function, also if customer is blocked by using this function, MVNO Shall not be able to change it. No Variable name Variable type Mandatory or optional Max length (char) 1 FDate String mandatory 20 2 TDate String mandatory 20 3 Uname String mandatory 20 4 AutStr String mandatory 20

SIAM API Specifications Page 22 of 42 Output result Input parameters Method name QryResult Englsih Meaning ApplySusp TelNum MSISDN Each record of this table will follow with this values: 1. Response code 2. Response description SuspId Request type SuspType Suspend Type SuspOrder Suspend agreement type Uname User name AutStr Password Note: SuspOrder for unblock can have quantity empty or 3940000 code Allowed Value for SuspId can be found in below table: Used for Value 0 Block 1 unblock Allowed Value for SuspType can be found in below table: operation Value 0 Block of all incoming calls 1 Block of all outgoing call 2 Two way block Allowed Value for SuspOrder can be found in below table: operation Value (Empty) or 3940000 For send unblock req (SuspId=”.”) 3940001 Block, No license for unblock by the operator 3940002 Block: Not completing documents, license for unblock by the operator 3940003 Divest and terminate line from current subscriber

SIAM API Specifications Page 23 of 42 3940004 Prevent to do change ownership Input parameters type and format for this method are like below: Samples: Some sample for input parameters of ApplySusp method can be like below: Case 1: Block All incoming Calls for sample number 9991000000: “9991000000^&0^&0^&crauser1^&[email protected]” Result: System can do the one-way block via sending following mml command “Mod ODB: MSISDN=9991000000, BIC=1” to HLR. There should be a specific order for this action that shows “activate BAIC by SIAM” Sim status must change to One-way in CSR  product. The only way to change SIM statue from one-way to normal is through SIAM and it shouldn’t be possible for MVNO staff to change blockage status. also if sim already has blocked by MVNO staff, API shall not be able to change status” Case 2: unblock All incoming Calls for sample number 9991000000 : “9991000000^&1^&0^&crauser1^&[email protected]” Result: System can do the one-way block via sending following mml command “Mod ODB: MSISDN=9991000000, BIC=0” to HLR. There should be a specific order for this action that shows “De-activate BAIC by SIAM” Sim status must change from One-way to normal in CSR  product. The only way to change SIM statue from one-way to normal is through SIAM and it shouldn’t be possible for MVNO staff to change blockage status. also if sim already has blocked one way or two-way API must return an error code to CRA” Case 3: Block All outgoing Calls for sample number 9991000000: “9991000000^&1^&1^&crauser1^&[email protected]” Result: No Variable name Variable type Mandatory or optional Max length (char) 1 TelNum String mandatory 10 2 SuspId String mandatory 1 3 SuspType String mandatory 1 3 Uname String mandatory 20 4 AutStr String mandatory 20

SIAM API Specifications Page 24 of 42 System can do the one-way block via sending following mml command “Mod ODB: MSISDN=9991000000, BOC=1” to HLR. There should be a specific order for this action that shows “activate BAOC by SIAM” Sim status must change to One-way in CSR  product. The only way to change SIM statue from one-way to normal is through SIAM and it shouldn’t be possible for MVNO staff to change blockage status. also if sim already has blocked by MVNO staff, API shall not be able to change status” Case 4: unblock All incoming Calls for sample number 9991000000: “9991000000^&0^&1^&crauser1^&[email protected]” Result: System can do the one-way block via sending following mml command “Mod ODB: MSISDN=9991000000, BOC=0” to HLR. There should be a specific order for this action that shows “De-activate BAOC by SIAM” Sim status must change from One-way to normal in CSR  product. The only way to change SIM statue from one￾way to normal is through SIAM and it shouldn’t be possible for MVNO staff to change blockage status. also if sim already has blocked one way or two-way API must return an error code to CRA” Case 5: Tow way block for sample number 9991000000: “9991000000^&1^&2^&crauser1^&[email protected]” Result: System can do the one-way block via sending following mml command “Mod State: MSISDN=9991000000, MSFg=3” to HLR. There should be a specific order for this action that shows “TWB by SIAM” Sim status must change to TWB in CSR  product. The only way to change SIM statue from one-way to normal is through SIAM and it shouldn’t be possible for MVNO staff to change blockage status. also if sim already has blocked by MVNO staff, API shall not be able to change status” Case 6: unblock TWB for sample number 9991000000: “9991000000^&0^&2^&crauser1^&[email protected]” Result: System can do the one-way block via sending following mml command “Mod State: MSISDN=9991000000, MSFg=0” to HLR. There should be a specific order for this action that shows “TWB-REACTIVATE by SIAM” Sim status must change from One-way to normal in CSR  product. The only way to change SIM statue from one￾way to normal is through SIAM and it shouldn’t be possible for MVNO staff to change blockage status. also if sim already has blocked one way or two-way API must return an error code to CRA” 12. Customer Special services Method (SuspSpecialSRV) This method by receiving MSISDN and service code and type of request (disable /enable) can do the requested operation and return a code that shows operation result. Output result Input parameters Method name

SIAM API Specifications Page 25 of 42 QryResult English meaning SuspSpecialSRV TelNum MSISDN Each record of this table will follow with this values: 1. Response code 2. Response description SuspId Type of request (disable / enable _ ServiceId Service ID Uname Username AutStr Password Allowed Value for Suspid can be finding in below table: Used for Value 0 disabled 1 enabled Allowed values for SuspId can be received form output of method (FullSearchByName) or (ListOfPhoneServices) Important Note: In SuspSpecialSRV method, if MSISDN or service be blocked. SIAM block also should be apply Input parameters type and format for this method are like below: No Variable name Variable type Mandatory or optional Max length (char) 1 TelNum String mandatory 10 2 SuspId String mandatory 1 3 ServiceID String mandatory 2 3 Uname String mandatory 20 4 AutStr String mandatory 20

SIAM API Specifications Page 26 of 42 13. Charge serial disable (SuspChNum) This method by receiving Charge serial in input parameter should disable the possibility of charging MSISDN by this serial. or return related error Output result Input parameters Method name QryResult English meaning SuspChNum TelNum MSISDN Each record of this table will follow with this values: 1. Response code 2. Response description SuspId Type of request (disable / enable _ Uname Username AutStr Password Allowed Value for Suspid can be finding in below table: operation Value 0 disabled 1 enabled 14. Query Active Services Method (ListOfPhoneServices) This method by receiving MSISDN will return all available related products by a number in a format mentioned in below table. Output result Input parameters Method name QryResult English meaning rvices honeSe ListOfPTelNum MSISDN

SIAM API Specifications Page 27 of 42 1. MSISDN 2. Service ID 3. Service Name Uname username AutStr Password Input parameters type and format for this method are like below: Samples: Some sample for input parameters of ListOfPhoneServices method can be like below: “9991000000^&crauser1^&[email protected]” And the result should be like this: “9991000000^&1^&MissedCallAlert^&2^&Callforwarding^&3^&Callwait^&4^&calhold^&5^&RBT ^&6^&Adivseofcall^&7^&MVPN^&8^&YZ^&9^&SIMinternt^&10^&videocall^&11^&internationraoming^ &12^&internationroaming^&13^&3waycall\r\n0” Or for another sim car it can be like this “9200440198^&1^&MissedCallAlert^&2^&Callforwarding^&3^&Callwait^&4^&calhold^&5^&RBT ^&6^&Adivseofcall^&7^&MVPN^&8^&YZ^&9^&SIMinternet\r\n0” 15. Query Call Forward Information (DivertInfoSearch) This method by receiving one or two diverted MSISDN and operator will return all available related information by a number in a format mentioned in below table Output result Input parameters Method name QryResult English meaning nfoSear DivertI ch DivertedNum Diverted MSISDN No Variable name Variable type Mandatory or optional Max length (char) 1 TelNum String mandatory 20 2 Uname String mandatory 20 3 AutStr String mandatory 20

SIAM API Specifications Page 28 of 42 Each record of this table will follow with this values : 1. Diverted MSISDN 2. Accepter MSISDN 3. Divert Date 4. Divert Type AccepterNum Accepter MSISDN Uname Username AutStr Password 16. Request Call Forward for one number (ApplyDivert) This function will be sent to forward a line on the other line or request the removal of forward. After requesting the operator, must declare the result in a row in accordance with the parameters mentioned in the output of the following table to Siam: Output result Input parameters Method name QryResult English meaning ApplyDivert DivertedNum Diverted MSISDN Each record of this table will follow with this values : 1. Response code 2. Response Description AccepterNum Accepter MSISDN TransId Transaction code DType Divert Type Uname Username AutStr Password If TransId =”1” (cancel Divert) may be just one field diverted MSISDN or Accepter MSISDN with value and other field send empty Allowed Value for TransId can be finding in below table: operation Value 0 Divert 1 Cancel Divert Allowed Value for DType can be finding in below table:

SIAM API Specifications Page 29 of 42 operation Value 0 All Calls 1 Missed Calls 2 Forward for when line is busy 3 Forward for when line is unavailable 17. Query, list of current subscriber in location (LocationCustomerList) This function with receiving location parameter should be providing list of numbers with are in this location Output result Input parameters Method name QryResult English meaning LocationCustomerList LacCellId Location Code Each record of this table will follow with this values : 1. MSISDN 2. IMEI AddrPart Location . Uname Username AutStr Password 18. Force on 2G for one MSISDN (Force2GNumber) This function with receiving MSISDN and ActType parameter should disable 3G and 4G for this number and force that on 2G network Output result Input parameters Method name QryResult English meaning Force2GNu mber TelNum MSISDN Each record of this table will follow with this values : ActType Activity or process Type

SIAM API Specifications Page 30 of 42 1. Response Code 2. Response Description Uname Username AutStr Password Allowed Value for ActType can be finding in below table: operation Value 0 Disable 3G,4G 1 Enable 3G,4G 19. Query, search for find APN owner (ApnOwnerSearch) This function with receiving APN name in input field and response APN owner, identity information Output result Input parameters Method name QryResult Param Meaning no VARIABLE FIELDS ApnOwnerSea ApnName Access point name rchEach record of this table will follow with this values: 1- Access point name 2- National Code Fixed Fields Uname User name

SIAM API Specifications Page 31 of 42 3- Name 4- Family 5- Father’s name 6- Number of birth certificate 7- Birth date 8- place of issue 9- Zip code 10- Postal address 11- Passport NO 12- SIM State (Active /Inactive) 23- SIM type (Postpaid/prepaid/Data) 13- Dealer Location 14- Activation date If customer is corporate fields number 5,7,8 and 10 will be sent Empty and Family = (حقوقی.( AutStr Password 20. Query list of prefix (GetPrefixList) Response for this function is same as below table Output result Input parameters Method name QryResult English meaning GetPrefixList Each record of this table will follow with this values: 1. Prefix 2. Type of area 3. First number of prefix 4. Last number of prefix 5. State(register\unregister) Uname Username AutStr Password

SIAM API Specifications Page 32 of 42 21. Change password Method (PassChange) This method by getting current SIAM API user name and pass + new pass will change old SIAM pass to new one. Valid values for response code are as below meaning value 0 Password changed successfully 1 Password not changed Output result Input parameters Method name QryResult English Meaning PassChange Uname Username 1. Response code 2. Response description AutStr password NAutStr Newpass

SIAM API Specifications Page 33 of 42 Input parameters type and format for this method are like below: Some sample for input parameters of PassChange method can be like below: “crauser1^&[email protected]^&[email protected]#1221”  DATA Method Description 1. Combine search of identity history method(CombinSearch) This method by receiving some or all input parameters will return result in format mentioned in below table: Output result Input parameters Method name QryResult English meaning MSISDN TelNum CombinSearch Each record of this table will follow with this values : 1- MSISDN 2- IP Address 3- Assigned IP Date and Time 4- Remove IP Date and Time 5- Service Bandwidth 6- Link Type 7- SIM activation date 8- National code 9- Name 10- Family 11- Father name 12- Number of birth certificate IP address IPAddr Name Fname Family Lname PNum Number of birth certificate PCode Zip code National Code NCode Passport NO IPNum Username Uname Password AutStr No Variable name Variable type Mandatory or optional Max length (char) 1 Uname String mandatory 20 2 AutStr String mandatory 20 3 NAutStr String mandatory 20

SIAM API Specifications Page 34 of 42 13- Birth Day 14- Zip code 15- Nationality 16- Passport number 17- Address\Postal Address 18- Company name (Corporate) 19- Company register number (Corporate) 20- Company finance code 21- Owner state If customer is corporate fields number 8 to 13 will be filled with corporate agent ‘s information and filed number 15,16 will be sent empty, otherwise filed number 18 to 20 will be sent empty 2. Search technical information and identity method(TechnicalSearch) This method by receiving one IP address return all available identity and technical information mentioned in below table Output result Input parameters Method QryResult name English meaning

SIAM API Specifications Page 35 of 42 TechnicalSearch Each record of this table will follow with this values: 1- MSISDN 2- IP Address 3- Bandwidth (allocated\in used) 4- Link Type 5- National code 6- Name 7- Family 8- Father name 9- Number of birth certificate 10- Birth Day 11- Zip code 12- Nationality 13- Passport number 14- Address\Postal Address 15- Registration Date 16- Service activation date If customer is corporate fields number 5 to 10 will be filled with corporate agent ‘s information and filed number 12,13 will be sent empty. IP address IPAddr Username Uname Password AutStr 3. Search by MAC address (MacSearch) This function returns one table of (MSISDN and IP address) list that Interact with the searched hardware address within the specified time period Output result Input parameters Method name QryResult English meaning arSeacM

SIAM API Specifications Page 36 of 42 Each record of this table will follow with this values: 1- Hardware address sent 2- From date 3- To date 4- MSISDN 5- IP address 6- Connection base (sim.wifi,wireless,ADSL,…) MacAddr Hardware Address From date FDate To date TDate Username Uname Password AutStr 4. List of update service plan (ListOfBPlan) This function returns one list of all promotion and discounts offered by the operator for the Customer specified by date period: Output result Input parameters Method name QryResult English meaning Each record of this table will follow with this ListOfBPlan values : 7- Plan ID 8- Plan Name 9- Offer comment 10- Effective period 11- plan state (Active\Inactive) From date FDate To date TDate Username Uname Password AutStr 5. Combine connection details query (GetIPDR) This method by receiving one or more parameter and date and time fields then return available IP connection details Output result Input parameters

SIAM API Specifications Page 37 of 42 QryResult English meaning Method name GetIPDR Each record of this table will follow with this values: 1- MSISDN 2- IP Address 3- Subscriber ID 4- Link Type 5- Session started date and time 6- Session timed out date and time 7- Source IP 8- Destination IP 9- Source port 10- Destination port 11- Upload volume 12- Download volume 13- Mac Address 14- Connection Protocol (Layer3) 15- Connection Protocol (Layer4) 16- Destination site address 17- Subscriber location MSISDN TelNum IP address IPAddr SUB ID Cid From date FDate To date TDate Username Uname Password AutStr 6. Request for Disable and Enable connection\ service (ApplySuspIp) This function will be used to disconnect or connect a data connection or service. If the operator receives one or a combination of the parameters in the input, the request type (disconnect / connect) and the determination of other parameters, the request (disconnect / connect or service) must be returned by returning the response in a row to the Siam

SIAM API Specifications Page 38 of 42 Output result Input parameters Method name QryResult English meaning GetIPDR Each record of this table will follow with this values : 1- Response code 2- Response description MSISDN TelNum IP address IPAddr SUB ID Cid From date SuspId Suspension type SuspType Agreement type SuspOrder Username Uname Password AutStr Allowed Value for SuspId can be finding in below table: Operation Value 0 Disconnect 1 Connect Allowed Value for SuspType can be finding in below table: Operation Value 0 Temporary termination of subscriber to release dynamic IP from line 1 Permanent Suspension/termination 2 suspension for 24 hour 3 suspension for 3 day 4 suspension for 1 week 5 suspension for 15 day Allowed Value for SuspOrder can be finding in below table: Operation Value

SIAM API Specifications Page 39 of 42 0 Data Session Kill 1 Data session kill and suspend the service for subscriber with IP 7. List of operator IP addresses (GetIpPool) This function will be used by the operator to receive and update the IP address list The input parameters of the function are just the username and password of the SIAM system and its response is also a table based on the information listed in the output parameters section of the function. Output result Input parameters Method name QryResult English meaning GetIpPool Each record of this table will follow with this values: 1. Start range 2. End range 3. Type(static/dynamic) 4. Ownership (rent/) 5. Assigned plane() Uname Username AutStr Password  Response code table NO Method name Description Response 1 ApplySusp The request has been successfully completed 0

SIAM API Specifications Page 40 of 42 This number has already been disconnected from your request 1 This number is currently disconnected Your request has also been applied to it 2 This number has already been connected from your request 3 This phone is currently connected 4 2 SuspSpecialSRV operation has been successfully completed 0 This service has already been disconnected from your request 1 This service is currently disconnected Your request has also been applied to it 2 This service has already been connected from your request 3 This service is currently connected 4 This service does not have the ability to disconnect and connect 5 3 ApplyDivert operation has been successfully completed 0 This line has already divert on the other line from your request 1 This line is already divert on the other line 2 This line already is not divert 3 This number does not have the ability to divert 4

SIAM API Specifications Page 41 of 42  Exception or error code and descriptions: There is no divert on the number that is announced 5 No any line on the divert number is divert 6 4 ApplySuspIp operation has been successfully completed 0 This service has already been disconnected from your request 1 This service is currently disconnected Your request has also been applied to it 2 This service has already been connected from your request 3 This service is currently connected 4 This service does not have the ability to disconnect and connect 5 5 PassChange Password change successfully 0 Could not change the password and the previous password is active 1 Could not change the password and the previous password is deactivated 2 Error Code Error Description Conceptual Description 0 ------ No exception and error mode

SIAM API Specifications Page 42 of 42 1 Other Errors and Exceptions that are not included in this table for the proprietary code 2 MNP This line port in/port out to other operator 3 DbError All data base errors 4 NomberNotInUse The number has not been used so far 5 InvalidNumber The number is outside the number range of this operator 6 SubDedicatedRang The number is within the range of mass lines assigned to the other operators 7 ServiceNotExisting There are currently no services according to the stated specifications 8 CommunicationNotEstablish There are currently no communications according to the stated specifications 9 ZoneIdNotDefined Telecom zone code not specified 10 MoreAnswerExisting The number of response records in the operator's database exceeds the specified limit for sending

Fetching more

Filters SVG