Wysyłanie SMS-ów z pamięci telefonu M35 w formacie PDU ? jak to zrobić?
jak SMS z pamięci. M35
From: "Marek" <m.szycko_at_nospam_bsk.vectranet.pl>
Subject: jak SMS z pamięci. M35
Date: Mon, 2 Sep 2002 15:53:42 +0200
Witam
Może ktoś wie jak wysłać SMS-a z pamieci telefonu w postaci PDU, nie
tekstowym
czy wystarczy przesłać:
AT+CMGF=0 ;format PDU
AT+CSMS=128
AT+CSCA="+48numer service-Center"
AT+CMSS=1 ;wysłanie SMS z pamięci z pod nr. 1
gdzie trzeba wpisać numer przeznaczenia SMS-a ?
Czy konieczne jest deklarowanie tego ponizej, aby wysłać SMS z pamięci
telefonu?
AT+CMGW=ilość wysyłanych bajtów
11000C91............
Za wszelkie info z góry dziękuje i pozdrawiam.
From: "QmX" <kumex_at_nospam_interia.pl>
Subject: Re: jak SMS z pamięci. M35
Date: Tue, 3 Sep 2002 07:53:01 +0200
Użytkownik "Marek" <m.szycko_at_nospam_bsk.vectranet.pl> napisał w wiadomości
news:akvqgr$h19$1_at_nospam_bialystok.bsk.vectranet.pl...
Może ktoś wie jak wysłać SMS-a z pamieci telefonu w postaci PDU, nie
tekstowym
Cała obsługa SMSów w x35 odbywa się na formacie PDU. Żaden Siemens x35 (x =
C lub S lub M) nie posiada obsługi czystego tekstu w SMSach. A tak poza
tym, to każdy SMS z każdego telefonu wychodzi do centrum SMSowego jako
pakiet PDU. Możliwość wpisywania czystego tekstu do pola tekstowego SMSa w
niektórych telefonach powstała tylko dla wygody obsługującego, a całe
kodowanie tekstu na PDU odwala oprogramowanie telefonu. Trzeba przyznać, że
algorytm tworzenia PDU do najprostrzych nie należy. Nie trudno go
zrozumieć, ale trudno napisać program w jakiejś sensownej postaci (tzn.,
żeby był krótki i szybki) - wiem, bo kiedyś robiłem procedurki kodowania i
dekodowania na '51, no i nieźle się nagimnastykowałem zanim wyszło mi coś
sensownego.
czy wystarczy przesłać:
AT+CMGF=0 ;format PDU
Zbędne, bo x35 nie posiadają trybu tekstowego i +cmgf domyślnie = 0.
AT+CSMS=128
Z tym, to ja bym nie kombinował, bo nie potrzeba. Zwłaszcza, że parametr
<service>, który tu ustawiasz na 128 (powinno zwrócić błąd) można ustawiać
na 0 lub 1 i nic więcej. Domyślnie jest 0 i tak należy zostawić.
AT+CSCA="+48numer service-Center"
To tak, o ile dany operator nie wpisał sam go na SIMie (często tak jest,
zwłaszcza w kartach abonamentowych). Jeśli jest, to nie trzeba tego numeru
ustawiać. Raz wpisany, będzie siedział na SIMie i telefon zawsze będzie z
niego korzystał.
AT+CMSS=1 ;wysłanie SMS z pamięci z pod nr. 1
gdzie trzeba wpisać numer przeznaczenia SMS-a ?
Jeśli tego SMSa kiedyś gdzieś wysłałeś, to pójdzie pod ten numer. Jeśli
chcesz go wysłać pod wskazany numer, to za Twoją np. jedynką dajesz
przecinek, a po nim numer docelowy.
Czy konieczne jest deklarowanie tego ponizej, aby wysłać SMS z pamięci
telefonu?
AT+CMGW=ilość wysyłanych bajtów
11000C91............
No, żeby jakiś Twój SMS był na SIMie, to musisz go tam zapisać. Robisz to
właśnie tą komendą. Inaczej na SIMie będą tylko SMSy odebrane i nie
wykasowane przez Ciebie. Format tej komendy wymaga podania liczby bajtów
całej ramki PDU. Niektóre modele miały tu jakiś błąd (tak miał M20).
Podawało się wtedy zawsze jakąś za dużą liczbę i było OK. Może w x35 też
tak pójdzie - nie próbowałem.
A tak na marginesie. Ściągnij sobie chłopie trochę opisów komend AT (dla
Siemensa x35, dla innych Siemensów lub nawet innych telefonów) no i
koniecznie zajrzyj na serwer ETSI - tam znajdziesz ustandaryzowane
opracowania, również dla komend AT. Opis komend AT z ETSI jest lepiej
opracowany, tzn. każda komenda jest dokładniej opisana w porównaniu np. do
dokumentów Siemensa. Z tych materiałów można się wszystkiego dowiedzieć i
nie trzeba pytać o składnię komend na grupie.
Pozdrawiam,
QmX.