SMS to SIM

Тема в разделе "WASM.ZEN", создана пользователем alex_startup, 10 авг 2009.

  1. alex_startup

    alex_startup New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2009
    Сообщения:
    13
    Доброго дня всем!
    Если кто знает, подскажите по каким правилам создать сообщение для загрузки в SIM. Перерыл кучу рекомендаций, но так и не могу понять главного.
     
  2. gazlan

    gazlan Member

    Публикаций:
    0
    Регистрация:
    22 май 2005
    Сообщения:
    414
    Перейти в PDU Mode, сформировать заголовок и тело сообщения (для нелатинских текстов использовать UCS2). Сохранить. PDUSpy в помощь.
     
  3. alex_startup

    alex_startup New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2009
    Сообщения:
    13
    Это понятно. Что должно содержать тело сообщения. Спецификация 23040 описывает только правила определения тела сообщения для текстовых сообщений, в данном случае должны быть служебные команды, но не могу понять какие именно. Если знаете, подскажие, где про них почитать.
     
  4. gazlan

    gazlan Member

    Публикаций:
    0
    Регистрация:
    22 май 2005
    Сообщения:
    414
    Я в свое время все сделал (отправка/прием SMS через GSM-терминал) по документации с сайта Siemens (M20, TC35). Но сейчас документации и примеров везде просто навалом. Или google опять в дауне? Тогда начните отсюда: h**p://softel.narod.ru, h**p://softel.narod.ru/mxterm.html
    У них же можно найти и несколько полезных программ.
    PDUSpy я вам уже советовал: h**p://w*w.nobbi.com/pduspy.html
    Вот еще по теме:
    New SMS Library at h**p://twit88.com/platform/projects/show/messagingtoolkit
     
  5. alex_startup

    alex_startup New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2009
    Сообщения:
    13
    Приём и отправку сообщений в режиме PDU я давно и успешно освоил. Меня интересует возможность получения данных с другого телефона посредством передачи ему короткого сообщения (возникла необходимость определить местоположение аппарата, точнсть подобного метода меня вполне устраивает, завязываться с серверами, предоставляющими подобные возможности не хочу). Иногда бывает проще именно таким образом узнать, где находится родственник, или автомобиль с "забытым" в нём телефоном.
     
  6. gazlan

    gazlan Member

    Публикаций:
    0
    Регистрация:
    22 май 2005
    Сообщения:
    414
    Этим не занимался.
     
  7. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Если речь идет про Java для SIM то, вероятно, поможет вот такой пример:

    Код (Text):
    1.     private void sendShortMessage (ProactiveHandler proHdlr) {
    2.  
    3.         // Initialize Send short message command with "SMS packing by the ME required" qualifier
    4.         proHdlr.init(PRO_CMD_SEND_SHORT_MESSAGE, (byte)0x01, DEV_ID_NETWORK);
    5.         // Append optional "Alpha identifier" to the Send short message command
    6.         proHdlr.appendTLV(TAG_ALPHA_IDENTIFIER, strings,
    7.                           (short)((MSG_SENDING_SMS * STRING_RECORD_LENGTH)+(short)1),
    8.                           (short)(strings[(short)(MSG_SENDING_SMS * STRING_RECORD_LENGTH)]));
    9.         // Define and append optional "Service center address" for the message (TON/NPI + number)
    10.         Util.arrayFillNonAtomic(tempBuffer, (short)0, (short)tempBuffer.length, (byte)0x00);
    11.         tempBuffer[0] =  (byte)0x91;
    12.         tempBuffer[1] =  (byte)0x21;
    13.         tempBuffer[2] =  (byte)0x43;
    14.         tempBuffer[3] =  (byte)0x65;
    15.         tempBuffer[4] =  (byte)0x87;
    16.         proHdlr.appendTLV(TAG_ADDRESS, tempBuffer, (short)0, (short)5);
    17.         // Define and append SMS TPDU
    18.         Util.arrayFillNonAtomic(tempBuffer, (short)0, (short)tempBuffer.length, (byte)0x00);
    19.         // TP-MTI
    20.         tempBuffer[0]  = (byte)0x01;
    21.         // TP-MR
    22.         tempBuffer[1]  = (byte)0x00;
    23.         // TP-DA length
    24.         tempBuffer[2]  = (byte)0x04;
    25.         // TP-DA
    26.         tempBuffer[3]  = (byte)0x91;
    27.         tempBuffer[4]  = (byte)0x34;
    28.         tempBuffer[5]  = (byte)0x12;
    29.         // TP-PID
    30.         tempBuffer[6]  = (byte)0x41;
    31.         // TP-DCS
    32.         tempBuffer[7]  = (byte)0xF2;
    33.         // TP-UDL
    34.         tempBuffer[8]  = (byte)0x05;
    35.         // TP-UD 'Hello' in 7-bit packed format
    36.         tempBuffer[9]  = (byte)0xC8;
    37.         tempBuffer[10] = (byte)0x32;
    38.         tempBuffer[11] = (byte)0x9B;
    39.         tempBuffer[12] = (byte)0xFD;
    40.         tempBuffer[13] = (byte)0x06;
    41.         proHdlr.appendTLV(TAG_SMS_TPDU, tempBuffer, (short)0, (short)14);
    42.         // Send the command to the mobile
    43.         proHdlr.send();
    44.         return;
    45.  
    46.     }
     
  8. alex_startup

    alex_startup New Member

    Публикаций:
    0
    Регистрация:
    10 авг 2009
    Сообщения:
    13
    Это только касаемо создания сообщения в режиме PDU. Мне нужна информация, что должно содержать тело сообщеня (UserData). Смутно догадываюсь, что это должны быть команды управления SIM, подобно использованию команд AT+CRSM и AT+CSIM для непосредственного управления SIM, но формат ...?