Showing posts with label BIP. Show all posts
Showing posts with label BIP. Show all posts

Friday, March 21, 2008

Setting up the number of Channel in BIP

<Instance Aid="A0000000185000000000000052414441" Index="1" ApplicationSpecificParameters="7110A0000000185201050000000040534357" EepromSize="0000" RamSize="0000" InstallToken="" Privilege="00">
<!--If you add another Instance, you should increase his Index number-->
<GSMParameter TextMaxLength="14" MaxNumberOfMenuEntries="01" PriorityLevel="FF" TimerMaxNumber="00" Menus="0000">
<!--You can customize the GSM parameters of this Instance here-->
<SIMR5Parameter MaximumChannels="02">
<!--2 Channel -->
</SIMR5Parameter>

</GSMParameter>
<UICCParameter>
<!--You can customize the UICC parameters of this Instance here-->
<UICCToolkitParameter>
<UICCR6ToolkitParameter MaximumNumberOfServices="00"/>
</UICCToolkitParameter>
<!--You can customize the UICC Access Application parameters of this Instance here-->
<UICCAccessApplicationParameter Index="1">
<UICCR6AccessApplicationParameter AccessDomainParameter="00" AccessDomainData=""/>
</UICCAccessApplicationParameter>
</UICCParameter>
</Instance>

Thursday, February 21, 2008

Terminal Response

  • OPEN CHANNEL <-- Channel Identifier
ProactiveResponseHandler ProRespHdlr; // get the system instance
ProRespHdlr = ProactiveResponseHandlerSystem.getTheHandler();
ChannelID = ProRespHdlr.getChannelIdentifier() ;
  • SEND DATA <-- Channel Data Length
  • CLOSE CHANNEL <-- OK
  • GET CHANNEL STATUS <-- Channel Status
  • RECEIVE DATA <-- Channel Data Length , Data
ProactiveResponseHandler ProRespHdlr; // get the system instance
ProRespHdlr = ProactiveResponseHandlerSystem.getTheHandler();
ProRespHdlr.findTLV(TAG_CHANNEL_DATA ,0);
sOffset= ProRespHdlr.copyChannelData(byte[] dstBuffer, short dstOffset, short dstLength) ;
ProRespHdlr.findTLV(TAG_CHANNEL_DATA_LENGTH ,0);
datalength=ProRespHdlr.getValueVyte((short)0x0000);

EVENT DOWNLOAD CHANNEL STATUS

  1. Channel Status*
    1. Channel Status Tag = '38'
    2. Length = '02'
    3. Channel Status
      1. bit 1 -3 : Channel Identifier 1- 7 , 0 --> No Channel Available
      2. BIP TCP Client
        • bit 4-7 : RFU
        • bit 8 : 0 -> Link not established/Packet data service not activated, 1 -> Opposite
      3. BIP TCP Server
        • bit 4-6 : RFU
        • bit 7-8 :
          • 00 = TCP in CLOSED state
          • 01 = TCP in LISTEN state
          • 10 = TCP in ESTABLISHED state
          • 11 = reserved
  1. Device identities*
    1. device identities tag = '82'
    2. Length = '02'
    3. Source Device identity = '82' --> Terminal
    4. Destination Device Identity ='81' --> UICC
  2. Event List*
    1. Event List Tag= '19'
    2. Length = '01'
    3. Event List : Channel Status = '0A'
  3. Bearer Description
    1. Bearer Description Tag = '35'
    2. Length
    3. Bearer Type = '02' (GSM/3GPP) --> GPRS
    4. Bearer Parameter
      1. Precedence Class ( Priority) = '00'
      2. Delay Class = '00'
      3. Reability Class = '03'
      4. Peak Throughput '00'
      5. Mean Throughput = '00'
      6. PDP IP = '02'
  4. Other Data Destination Address Tag = '3E'
    1. Length = '05'
    2. Type of Address = '21' (IPv4)
    3. Address ( 4 byte , XX.XX.XX.XX)
You don't need to remember the tag value if you use appendTLV function. All of the tag value are explained briefly in uicc.toolkit.ToolkitConstant library.

note :
* mark means mandatory
Only one event in Event list
Bearer Description is needed after OPEN Channel

Device Identities SCWS











CommandSourceDestination
Open ChannelUICCTerminal
Set Up Event ListUICCTerminal
Close ChannelUICCChannel x
Receive dataUICCChannel x
Send DataUICCChannel x
Get Channel StatusUICCTerminal
Event Download Data AvailableTerminalUICC
Event Download Channel StatusTerminalUICC

Command Coding SCWS

  • Open Channel ='40'
  • Set Up Even List = '05'
  • Close Channel = '41'
  • Receive data = '42'
  • Send data = '43'
  • Get Channel Status = '44'

EVENT DOWNLOAD DATA AVAILABLE

  1. Event Download Tag* = '22'
  2. Device identities*
    1. device identities tag = '82'
    2. Length = '02'
    3. Source Device identity = '82' --> Terminal
    4. Destination Device Identity = '81' --> UICC
  3. Channel Status*
    1. Channel Status Tag = '38'
    2. Length = '02'
    3. Channel Status
      1. bit 1 -3 : Channel Identifier 1- 7 , 0 --> No Channel Available
      2. BIP TCP Client
        • bit 4-7 : RFU
        • bit 8 : 0 -> Link not established/Packet data service not activated, 1 -> Opposite
      3. BIP TCP Server
        • bit 4-6 : RFU
        • bit 7-8 :
          • 00 = TCP in CLOSED state
          • 01 = TCP in LISTEN state
          • 10 = TCP in ESTABLISHED state
          • 11 = reserved
  4. Channel Data Length*
    1. Channel Data Length Tag = '37'
    2. Length = '01'
    3. Channel data length
  5. Event List*
    1. Event List Tag= '19'
    2. Length = '01'
    3. Event List = '09' --> Data Available
You don't need to remember the tag value if you use appendTLV function. All of the tag value are explained briefly in uicc.toolkit.ToolkitConstant library.

note :
* mark means mandatory

Wednesday, February 20, 2008

SET UP EVENT LIST

Set Up Event List can be used for set new event, replace old event or remove an event.
The terminal will send TERMINAL RESPONSE(OK) if it has been removed or set the list of event. If Event list is null, it means the terminal to remove all events in the list.
  1. Command details*
    1. command details tag = '81'
    2. length = '03' (1 byte)
    3. command number 01 - FE (1 byte)
    4. Type of Command ='05' (SET UP EVENT LIST)
    5. Command Qualifier : RFU
  2. Device identities*
    1. device identities tag = '82'
    2. Length = '02'
    3. Source Device identity = '81' --> UICC
    4. Destination Device Identity ='82' --> Terminal
  3. Event List*
    1. Event List Tag= '19'
    2. Length = '01'
    3. Event List
      • Data Available = '09'
      • Channel Status = '0A'
You don't need to remember the tag value if you use appendTLV function. All of the tag value are explained briefly in uicc.toolkit.ToolkitConstant library.

note :
* mark means mandatory

GET CHANNEL STATUS

  1. Command details*
    1. command details tag = '81'
    2. length = '03' (1 byte)
    3. command number 01 - FE (1 byte)
    4. Type of Command ='44' (GET CHANNEL STATUS)
    5. Command Qualifier : RFU
  2. Device identities*
    1. device identities tag = '82'
    2. Length = '02'
    3. Source Device identity = '81' --> UICC
    4. Destination Device Identity = '82' --> Terminal

SEND DATA

The data can be sent immediately or store in a Tx buffer.
  1. Command details*
    1. command details tag = '81'
    2. length = '03' (1 byte)
    3. command number 01 - FE (1 byte)
    4. Type of Command ='43' (SEND DATA)
    5. Command Qualifier : RFU
  2. Device identities*
    1. device identities tag = '82'
    2. Length = '02'
    3. Source Device identity = '81' --> UICC
    4. Destination Device Identity = '21'-'27' --> channel ID (PRE_ID _CHANNEL_BASE='20')
  3. Channel Data
    1. Channel Data Length = '36'
    2. Length = '01'
    3. Channel data length
  4. Alpha Identifier
    1. Alpha identifier TAG = '05'
    2. Length = 0
    3. Alpha Identifier (TS 131 102)
  5. Icon Identifier
    1. Icon Identifier Tag
    2. Length = '02'
    3. Icon Qualifier
      1. bit 1, 0 = self explanatory, 1 = non self explanatory
      2. bit 2-8 =0 (RFU)
    4. Icon Identifier (TS 131 102)
  6. Text Attribute
    1. Text Attribute Tag = '50'
    2. Length
    3. Text formatting ( TS 123 040)
  7. Frame Identifier
    1. Frame Identifier Tag
    2. Length = '03'
    3. Identifier of Frame, the value is between '00' - '0F'
You don't need to remember the tag value if you use appendTLV function. All of the tag value are explained briefly in uicc.toolkit.ToolkitConstant library.

note :
* mark means mandatory

RECEIVE DATA

  1. Command details*
    1. command details tag = '81'
    2. length = '03' (1 byte)
    3. command number 01 - FE (1 byte)
    4. Type of Command ='42' (RECEIVE DATA)
    5. Command Qualifier : RFU
  2. Device identities*
    1. device identities tag = '82'
    2. Length = '02'
    3. Source Device identity = '81' --> UICC
    4. Destination Device Identity = '21'-'27' --> channel ID (PRE_ID _CHANNEL_BASE='20')
  3. Channel Data Length
    1. Channel Data Length Tag = '37'
    2. Length = '01'
    3. Channel data length
  4. Alpha Identifier
    1. Alpha identifier TAG = '05'
    2. Length = 0
    3. Alpha Identifier (TS 131 102)
  5. Icon Identifier
    1. Icon Identifier Tag
    2. Length = '02'
    3. Icon Qualifier
      1. bit 1, 0 = self explanatory, 1 = non self explanatory
      2. bit 2-8 =0 (RFU)
    4. Icon Identifier (TS 131 102)
  6. Text Attribute
    1. Text Attribute Tag = '50'
    2. Length
    3. Text formatting ( TS 123 040)
  7. Frame Identifier
    1. Frame Identifier Tag
    2. Length = '03'
    3. Identifier of Frame, the value is between '00' - '0F'
You don't need to remember the tag value if you use appendTLV function. All of the tag value are explained briefly in uicc.toolkit.ToolkitConstant library.

note :
* mark means mandatory