This discussion is archived
3 Replies Latest reply: Oct 1, 2012 12:39 AM by 963225 RSS

Terminal Profile length

864549 Newbie
Currently Being Moderated
Dear all

According to GSM 43.019, the sim.toolkit MEProfile class offers to possibility to copy the handset profile into a buffer:

public static short copy(short startOffset, byte[] dstBuffer, short dstOffset, short dstLength)

And based on the API, the list of facilities contains 134 items.

I've had a look on and it seems like the length can vary a lot depending on the handset. They get the profile by using a spy tool (which sits between SIM and ME). I would like to retrieve the profile by using an STK Applet (copy-method).

The question is: How can I find out the length of the handset profile, so what should be the size of "dstLength" ?
  • 1. Re: Terminal Profile length
    963225 Newbie
    Currently Being Moderated
    Dear oyfen,

    Unfortunately, you can not get the Terminal Profile length send by ME/terminal from the API.
    However, you can set dstLength as fixed 19 bytes (see 3GPP TS 11.14 chapter 5.2), and then calculate the length as the last non-zero bytes.
    If you get exception when using 19 (most likely because MEProfile buffer size is smaller), set it to lower until there is no exception.
    Hope that helps!

    Best regards,
  • 2. Re: Terminal Profile length
    964722 Newbie
    Currently Being Moderated
    Dear All,

    What if we need to send the send complete Terminal Profile (TP) data.

    Lets say, TP is FF 00 FF 00 FF 00 00, as per the suggestion, we can only send FF 00 FF 00 FF.

    If customer requirement is to send complete data, how could we do that?

  • 3. Re: Terminal Profile length
    963225 Newbie
    Currently Being Moderated
    Dear user 61719,

    TP: FF 00 FF 00 FF 00 00 and TP: FF 00 FF 00 FF both have the same meaning (non-existent byte equals zeroes bit = facilities not supported by ME)
    You shall discuss the requirement with the customer and choose between fixed length or consecutive non-zeroes.


  • Correct Answers - 10 points
  • Helpful Answers - 5 points