Как определить программно собственный телефонный номер SIM карты. Желательно на C++, но не принципиально. В SIM карте хранятся разные идентификаторы, но я там не нашёл абонентского номера. Номер сам по себе не нужен, просто проблема в том, что для отправки СМС требуется указать правильно исходящий номер, иначе смска не отправляется.
Здравствуйте, zorky, Вы писали:
Z>Как определить программно собственный телефонный номер SIM карты. Желательно на C++, но не принципиально. В SIM карте хранятся разные идентификаторы, но я там не нашёл абонентского номера. Номер сам по себе не нужен, просто проблема в том, что для отправки СМС требуется указать правильно исходящий номер, иначе смска не отправляется.
Какая платформа? Если WM, то при чем тут "указать исходящий номер" для успешной отправки??
Здравствуйте, zorky, Вы писали:
Z>Как определить программно собственный телефонный номер SIM карты. Желательно на C++, но не принципиально. В SIM карте хранятся разные идентификаторы, но я там не нашёл абонентского номера. Номер сам по себе не нужен, просто проблема в том, что
Никак
Z> для отправки СМС требуется указать правильно исходящий номер, иначе смска не отправляется.
http://msdn.microsoft.com/en-us/library/aa918608.aspx
Z>Как определить программно собственный телефонный номер SIM карты. Желательно на C++, но не принципиально. В SIM карте хранятся разные идентификаторы, но я там не нашёл абонентского номера. Номер сам по себе не нужен, просто проблема в том, что для отправки СМС требуется указать правильно исходящий номер, иначе смска не отправляется.
Здравствуйте, zorky, Вы писали:
Z>Как определить программно собственный телефонный номер SIM карты. Желательно на C++, но не принципиально. В SIM карте хранятся разные идентификаторы, но я там не нашёл абонентского номера. Номер сам по себе не нужен, просто проблема в том, что для отправки СМС требуется указать правильно исходящий номер, иначе смска не отправляется.
Его там может физически не быть.
Здравствуйте, zorky, Вы писали:
Z>Как определить программно собственный телефонный номер SIM карты. Желательно на C++, но не принципиально. В SIM карте хранятся разные идентификаторы, но я там не нашёл абонентского номера. Номер сам по себе не нужен, просто проблема в том, что для отправки СМС требуется указать правильно исходящий номер, иначе смска не отправляется.
Э.. Возможно существует специальная AT команда позволяющая это сделать. Сейчас к сожалению нет нужной доки под рукой, но для каждой модели телефона есть ещё расширенный набор AT команд.
Мне кажется что смотреть надо там.
Re[2]: Как определить собственный номер SIM карты.
Здравствуйте, nen777w, Вы писали:
N>Здравствуйте, zorky, Вы писали:
Z>>Как определить программно собственный телефонный номер SIM карты. Желательно на C++, но не принципиально. В SIM карте хранятся разные идентификаторы, но я там не нашёл абонентского номера. Номер сам по себе не нужен, просто проблема в том, что для отправки СМС требуется указать правильно исходящий номер, иначе смска не отправляется.
N>Э.. Возможно существует специальная AT команда позволяющая это сделать. Сейчас к сожалению нет нужной доки под рукой, но для каждой модели телефона есть ещё расширенный набор AT команд. N>Мне кажется что смотреть надо там.
Если на то пошло, то некоторые операторы поддерживают USSD запросы для получения этого номера. Но не все и USSD номера у них разные.
А вообще, есть 2 источника получения собственного номера — SIM карта и оператор связи.
С SIM карты его можно выковырять с помощью нативного апи. Если и есть позволяющая это сделать AT команда, то она также использует нативное API. Проблема в том, что операторы на SIM карту пишут этот номер не всегда. Тест Антона Михайлова показал, что только один из операторов нашей большой тройки делает это:
Если же пытаться получить свой номер через USSD — то на симбиан сделать это незаметно для пользователя не выйдет. Да и наши отечественные операторы такие сервисы вроде не предоставляют.
Есть еще один способ, надежный, но через одно место — самому себе смс послать и по ее доставке выковырять адрес отправителя.
В общем, нет нормального способа получить собственный номер.
А насчет того, что его необходимо указывать при отправке смс — это не так. Номер SMSC необходимо указывать, а не свой. Но обычно он на симке прописан.
Re: Как определить собственный номер SIM карты.
От:
Аноним
Дата:
15.04.10 09:29
Оценка:
Здравствуйте, zorky, Вы писали:
Z>Как определить программно собственный телефонный номер SIM карты. Желательно на C++, но не принципиально. В SIM карте хранятся разные идентификаторы, но я там не нашёл абонентского номера. Номер сам по себе не нужен, просто проблема в том, что для отправки СМС требуется указать правильно исходящий номер, иначе смска не отправляется.
Network service related commands:
Subscriber number AT+CNUM
Пример:
Пишу в модем команду
echo "AT+CNUM">/dev/ttyS0
Получаю:
cat /dev/ttyS0
+CNUM: "My telephone","+38096XXXXXXX",145
Не знаю все ли операторы поддерживают, но у меня отлично работает
Здравствуйте, zorky, Вы писали:
Z>Как определить программно собственный телефонный номер SIM карты. Желательно на C++, но не принципиально. В SIM карте хранятся разные идентификаторы, но я там не нашёл абонентского номера. Номер сам по себе не нужен, просто проблема в том, что для отправки СМС требуется указать правильно исходящий номер, иначе смска не отправляется.
Как правильно заметил Truf номер в СИМ карте пишут крайне редко. Мало кто из операторов привязывает ICCID карты к номеру на момент продакшена.
Если интересно — номер хранится в файле DF Telecom/EF MSISDN, путь 3F00/7F10/6F40 (3F00 — корень файловой системы). Файл опциональный, может не присутствовать на файловой системе СИМ.
Re[2]: Как определить собственный номер SIM карты.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, zorky, Вы писали:
Z>>Как определить программно собственный телефонный номер SIM карты. Желательно на C++, но не принципиально. В SIM карте хранятся разные идентификаторы, но я там не нашёл абонентского номера. Номер сам по себе не нужен, просто проблема в том, что для отправки СМС требуется указать правильно исходящий номер, иначе смска не отправляется.
А>Network service related commands: А>Subscriber number AT+CNUM
А>Пример: А>Пишу в модем команду А>echo "AT+CNUM">/dev/ttyS0
А>Получаю: А>cat /dev/ttyS0
А>+CNUM: "My telephone","+38096XXXXXXX",145
А>Не знаю все ли операторы поддерживают, но у меня отлично работает