SIMbae Call Control Design Description for Implementation of GSMA Network Access Control Version 1.3 For more information: info@abledevice.com www.abledevice.com Copyright © 2015 Able Device, Inc. All rights reserved. Table of Contents 1. Purpose ........................................................................................................................................................................... 3 2. SIMbae Overview ............................................................................................................................................................ 3 3. Network Friendly Operation ........................................................................................................................................... 4 4. Logic Description of Call Control ..................................................................................................................................... 5 5. Summary ......................................................................................................................................................................... 6 6. Contact Information ....................................................................................................................................................... 7 List of References 1. IoT Device Connection Efficiency Guidelines, Version 1.0, 13th October 2014; GSM Association Doc-CLP-.03 – M2M Device Guidelines CONFIDENTIAL Copyright © 2015 Able Device, Inc. All rights reserved. Page 2 1/15/2015 1. Purpose The purpose of this document is to detail the design of the network access control logic located within the Able Device SIMbae operating system. The GSMA IoT Device Connection Efficiency Guidelines (Reference 1) was used as a basis for the call control strategy. The guidelines explain the need for network access control and offer advice for achieving the control. The following shows the implementation of a network control strategy integrated within the SIMbae system. 2. SIMbae Overview SIMbae is a SIM operating code which provides the communications link between the SIM resident customer application code and the cellular module. This link provides a natural location for the network control strategy since the SIMbae system communicates with the module and can easily supervise the commands for call control of the module. The basic structure of SIMbae is shown in Figure 1. SIMbae communicates the commands from the customer application code to the cellular module. The ‘Call Control’ functional block (orange) is expanded to show the implementation of the call control code. Modem Program SIM Program Module Command Interpreter SIM Bus Customer Application SIMbae Service Poll SIM poll Clock set Request for poll timing interval SIMbae Initialization State Control for Customer App Change required? N Program I/O Lines Request for Program of I/O Lines I/O Control (input/Output Set) Application Logic- act on input states rec''vd from previous poll -determine if I/O change or read required Set Inputs for Sensors Set Output for Control Change required? N I/O Line Write SMS – Data Msg Request I/O Line Read Request Call Success Report Call Control - Access Control Strategy Device Application Requirement - DAR_XX -DAR7 Network Friendly Mode – NFM_XX -NFM back off timers -NFM schedule -On/off and reset to factory default Set Outputs, SMS, Data call Request SMS Request Data Call Access Status report (IP:xxx.sss.ss) Received I/O line state, SMS, Data I/O Input Receive Set I/O Status Register I/O Status Change Indication Error Control End Execution Figure 1.0: SIMbae Structure – Call Control Functional Block Contains the Network Friendly Control Process CONFIDENTIAL Copyright © 2015 Able Device, Inc. All rights reserved. Page 3 1/15/2015 Since the SIMbae Call Control resides in the SIM, access to the function is also available from an external host processor as indicated in Figure 1.1. For external processor control, the SIMbae system is accessed as in the SIMbae customer application resident example (above), however the Customer application is only a minimal control function which accesses the Call Control function when the external processor request authorization to place a call. SIMbae handles the interface to and from the module as normal to communicate to the external processor. SIMbae System with Only Network Access Control Function Customer application logic is contained in external host processor SIM Program Modem Program External Control Processor Processor Bus Module Command Interpreter SIM Bus Supervisory Call Logic (minimum system implementation) SIMbae Service Poll SIM poll Call Authorization REQUEST SIMbae Initialization Clock set Request for poll timing interval State Control for Customer App Change required? N I/O Control (input/Output Set) X Call Control - Access Control Strategy Call Request Authorization Call Success Report Call Request Authorization Device Application Requirement - DAR_XX -DAR_message timers -DAR delay timer -DAR message encryption keys -DAR on/off control, escalation critera, reset Call Success Report Request SMS Request Data Call Network Friendly Mode – NFM_XX -NFM back off timers -NFM schedule -On/off and reset to factory default Access Status report (IP:xxx.sss.ss) Received I/O line state, SMS, Data I/O Input Receive Set I/O Status Register Status Change Indication Error Control End Execution Figure 1.1: SIMbae Structure – Call Control Functional Block accessed by external processor application. 3. Network Friendly Operation The Network Friendly Operation involves controlling the call attempts to a predetermined schedule in order to reduce the nuisance retries due to failed calls and software errors. The control strategy shown in Table 1 is referenced to the GSMA guidelines using the NFM notation to refer to ‘Network Friendly Mode” and DAR to refer to “Device Application Requirement” as detailed in the GSMA requirements document. The control strategy shown in Table 1 is one example CONFIDENTIAL Copyright © 2015 Able Device, Inc. All rights reserved. Page 4 1/15/2015 implementation where selection of the different functions is indicated by the “Enable” entry in the control logic. The control table is securely held within the SIM and can only be accessed by a secure SIM program download which is originated by the network. This allows for all remote devices using the SIMbae operating system to receive the pretested control strategy. Additionally, the network can tailor the control strategy as needed by sending the remote device a SIM program download event using a secure OTA process with a modified “Enable” entry. An example call control schedule is shown in Table 1. GSMA req. Enable NFM_1 NFM_2 NFM_3 NFM_4 NFM_5 NFM_5.1 NFM_5.2 NFM_5.3 NFM_5.4 NFM_5.5 DAR_7 DAR_7.1 DAR_7.2 1 1 1 1 0 0 0 0 0 0 1 2 0 DAR_13 1 Control Description On/Off Report Control State to Requesting Application Back-Off Timer Enable Back-Off Timer Value - 60 seconds (default) Back-Off Timer Value - 120 seconds Back-Off Timer Value - 240 seconds Back-Off Timer Value - 480 seconds Back-Off Timer Value - 960 seconds Back-Off Timer Value - 1920 seconds Back-Off Timer Value - 3840 seconds Keep Alive Data Connect Keep Alive Timer 29 minutes (default) Keep Alive Timer -xxx minutes (selectable) Status Reporting to Network - xxx call events IP: xxx.xx.xxx.xx Table 1: Network Call Control Strategy Logic is added to the SIMbae Call Control Code to implement the table functions; thereby the network control cannot be modified by the customer application. Therefore, this operating structure offers immunity from the customer application code being changed by fraudulent internet hacks and flawed customer application code. 4. Logic Description of Call Control Simple logic is included in the SIMbae Call Control section to implement the call control strategy. Figure 2 shows example logic to execute the provisions of the Network Control Strategy in the schedule example shown in Table 1. The logic diagram shows that the call request is received from the customer application, and the call is allowed to proceed if the Network Call Control is disabled or if the backoff timer has expired and the call is executed as expected. The status of the call control as recommended by the GSMA guidelines is reported to the requesting application so the application can track the status of the call success (see GSMA NFM_6 requirement in Referece 1). For the DAR_7 requirement, the same logic is processed as the NFM back off timer, the DAR_7 requirement is able to select a different time (backoff timer) corresponding to the 29 minutes for the keep alive message to be sent. CONFIDENTIAL Copyright © 2015 Able Device, Inc. All rights reserved. Page 5 1/15/2015 For the DAR_13 requirement, the feature can be enabled/disabled by the network; this requires the cellular device to make a data call containing a report to be sent to the network for the purpose of collecting call success/failure statistics. The network's server IP address used to collect the statistics is stored in the SIMbae call control routine. The DAR_13 report’s enable/disable and IP address can be changed by an OTA program download changing the report times as needed. The call report contains the number of success/failure events, call times, length of calls, and other data the network needs to evaluate the device's utilization of the network. The statistics contained in the report can be used by the network to modify the NFM functions of the Call Control Strategy as needed. From Call Request NFM enabled? N Y From SIM poll Replace call pending with present call request N Backoff Timer Enabled? Y Backoff / DAR_7 Timer Expired? Y Success/Fail Process Call Send Data Call to Network Servier IP: xxx.xx.xxx.xx Report Pending Status, Time remaining, call success/fail (NFM_6) To Call Requester Network Management report time? (DAR_13) Y N END Figure 2: SIMbae Call Control Logic 5. Summary The design described here shows the simplicity of the control logic in SIMbae necessary for implementing a Network Control Strategy as outlined in the GSMA document. The control strategy contained herein is a subset of the many control functions offered by the GSMA document. The control functions shown in this document were selected for minimum control and can be expanded as needed. The SIM resident code and function table can be updated by secure OTA downloads in order to field update any changes and modifications. Also note that by having a common logic program for all remote devices and the code being resident on the SIM instead of merged within the developer’s code, the logic only needs to be pretested and verified once thus off-loading the developer of the customer application code from re-certifying the developer’s network control code at each development cycle or code change. CONFIDENTIAL Copyright © 2015 Able Device, Inc. All rights reserved. Page 6 1/15/2015 Having the network control code contained in the SIM makes the code secure and tamperproof. The SIM resident code also allows for immunity from erroneous operation as a result of instability or software errors in the customer’s application code. 6. Contact Information For additional information: Email: info@abledevice.com www.abledevice.com CONFIDENTIAL Copyright © 2015 Able Device, Inc. All rights reserved. Page 7 1/15/2015