Sonsivri
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
April 19, 2024, 11:44:58 11:44


Login with username, password and session length


Pages: [1]
Print
Author Topic: Send SMS using mobile phone  (Read 15156 times)
0 Members and 1 Guest are viewing this topic.
Stan Holmes
Guest
« on: June 29, 2006, 06:55:01 06:55 »

Hi
I'm using a pic 16F876A to send a sms via  mobile phone. In pic basic you can use DTMF codes to send the number, but I can’t initiate the phone to dial. Any ideas how this can be achieved?
Stan
Logged
un2000
Newbie
*
Offline Offline

Posts: 8

Thank You
-Given: 0
-Receive: 1


« Reply #1 on: June 29, 2006, 07:50:16 07:50 »

You Dont Like Us Sms And At Commands For Mobile  Is Very Easy Y Secure
Us Dtmf Is Terrible!!
 
See The Proton Pluss Forums Of Churchill Enginerings
Logged
dazheng
Junior Member
**
Offline Offline

Posts: 58

Thank You
-Given: 42
-Receive: 15


« Reply #2 on: June 29, 2006, 03:32:53 15:32 »

Hi Stan Holmes, are you using gsm modem for you project? if yes this module communicate only on AT command not DTMF. if your using mobile phone like Nokia 6210 you attach it to DLR3 data cable,same using AT command. the connection are connect your mobile phone thru DLR3 data cable then attached it to PIC serial pins (Thru RS232 driver like Max232) then presto. the command for this ie.
 
HSerOut ["ATD",44,"1234567890",13,10]
 
number "1234567890" is the mobile pone to dial
 
I hope this simple tutorial may help.
Regards:cool:
dazheng
Logged
pl4tonas
Active Member
***
Offline Offline

Posts: 145

Thank You
-Given: 318
-Receive: 195



« Reply #3 on: June 29, 2006, 06:56:23 18:56 »

First of all you may try reading in the following links:
 
http://www.gsmfavorites.com/
 
http://www.traud.de/gsm/
 
http://smslink.sourceforge.net/pdu.html
 
http://www.dreamfabric.com/sms/   <----- this is the easyest to understand.
 
http://www.riccibitti.com/tinyplanet/tiny_article.htm   <---- this is also very nice.
 
And finally search the web for an AT commands for SMS messaging.  You need such a manual in order to learn how to control a GSM phone with AT commands.
 
Below is a small list of SMS related AT Commands:
 
SMS Text Mode
AT+CSMS     Select Message Service    
AT+CPMS     Preferred Message Storage    
AT+CMGF     Message Format    
AT+CSCA     Service Centre Address    
AT+CSMP     Set Text Mode Parameters    
AT+CSDH     Show Text Mode Parameters    
AT+CSCB     Select Cell Broadcast Message Types    
AT+CSAS     Save Settings    
AT+CRES     Restore Settings    
AT+CNMI     New Message Indications to TE
AT+CMGL     List Messages    
AT+CMGR     Read Message    
AT+CMGS     Send Message
AT+CMSS     Send Message from Storage    
AT+CMGW     Write Message to Memory    
AT+CMGD     Delete Message    
SMS PDU Mode    
AT+CMGL     List Messages    
AT+CMGR     Read Message    
AT+CMGS     Send Message    
AT+CMGW     Write Message to Memory
 
And this is a sample code in PICBASIC that uses PDU mode to send a message:
 
HSEROUT ["at+cmgs=33",cr] ' Instraction to Phone to send SMS in PDU mode
PAUSE 500 ' "Unrecognised Command" Message
HSEROUT ["0011000B915397398037F00000AA1455B7BC3C7E9FDDE979990C1ABEDBEDB09BEC02",26,cr,lf] ' PDU message of 33 bytes.
 
Hope I helped a little.
Regards
P.
 
[/size][/font]
Logged
nikhilele
Junior Member
**
Offline Offline

Posts: 83

Thank You
-Given: 2
-Receive: 22


WWW
« Reply #4 on: July 03, 2006, 07:31:30 07:31 »

many phone don't understand AT commands especially nokia phones for them u have to use MBUS or FBUS protocols
Logged
samomni
Newbie
*
Offline Offline

Posts: 7

Thank You
-Given: 5
-Receive: 2


« Reply #5 on: December 26, 2007, 04:26:29 04:26 »

Hi
    I have designed a sms security system using sony erricsson t230i and work fine, I can give the code (using mikrobasic) if interested email me, ([email protected]   no spam please) I hope this can help.
Logged
vjani
Newbie
*
 Warned
Offline Offline

Posts: 7

Thank You
-Given: 0
-Receive: 1


« Reply #6 on: December 31, 2007, 07:23:20 07:23 »

I have read somewhere, that is possible to switch on and off Siemens C35 from software through serial interface. Anybody has any information?
Logged
miba
Newbie
*
Offline Offline

Posts: 11

Thank You
-Given: 312
-Receive: 5


« Reply #7 on: January 01, 2008, 09:27:08 21:27 »

It's only possible to switch the device off (AT^SMSO).
To switch it on an Ignition signal (a special pin colled "/IGT" on the MC35i) needs to be driven to ground level for at least 100ms.
The AT-Command Set: http://www.mikrocontroller.net/attachment/2132/s35i_c35i_m35i_atc_commandset_v01.pdf
Logged
leosedf
Junior Member
**
Offline Offline

Posts: 44

Thank You
-Given: 72
-Receive: 9


WWW
« Reply #8 on: January 06, 2008, 05:22:28 17:22 »

The best phones for AT commands are some old siemens like C35 and Ericsson T10-T20-T28 series phones. Easy to communicate and mod.
Logged
sinisa
Newbie
*
Offline Offline

Posts: 8

Thank You
-Given: 12
-Receive: 1


« Reply #9 on: January 10, 2008, 10:44:31 10:44 »

AT Command for Nokia and Siemens
http://rapidshare.de/files/38259702/2021.rar.html
Logged
zaliko
Guest
« Reply #10 on: January 12, 2008, 02:55:41 14:55 »

Hi,
To switch on Siemens C35 phone you have to send BFB command to the phone. Command is 5 hex numbers: 0x05 0x02 0x07 0x06 0x0C. USART speed must be at 57600 bps. In case of success answer is 0x05 0x01 0x04 0x06. After the phone will turn on. Then switch USART speed to 19600 bps and now you will be able send AT commands. But before send this BFB command you have to applay charger voltage to the phone.
Regards
Logged
rov1976
Junior Member
**
Offline Offline

Posts: 35

Thank You
-Given: 495
-Receive: 5


« Reply #11 on: January 12, 2008, 03:17:51 15:17 »

sir do you have AT commands for sony ericsson mobile phones...? best rgrds, rov1976
Logged
hamed
Newbie
*
Offline Offline

Posts: 9

Thank You
-Given: 7
-Receive: 15


« Reply #12 on: January 12, 2008, 03:31:17 15:31 »

hi
i want connected to W810 mobile with PIC (PIC Basic PRO Compiler)
please give me more detail
 Huh
Logged
samomni
Newbie
*
Offline Offline

Posts: 7

Thank You
-Given: 5
-Receive: 2


« Reply #13 on: April 07, 2008, 09:50:35 09:50 »

Sony erricsson T230 is easy to use it support AT+CMGF=1(text mode instead of PDU) which is easier to program.  Just make sure your microcontroller is powered from the connector of the cellphone or use a level converter because the serial connection is below ttl level (3.3V approximately ) just use a rs232 converter and back.

Posted on: April 07, 2008, 10:19:38 10:19 - Automerged

If there is anyone who needs an idea how to control a cellphone here is the code maybe some of you will find this quite long "MY APOLOGIES", I hope this can help even though the coding is not that good i've tested it using MikroPASCAL and a T230 cellphone.

program sms_switch;
uses irq_usart,char_lib,eeprom_lib;
const
     strln     : byte = 128;
     RtrnLf    : Array[3] Of char = (13,10,0);
var
     alrm_active      : boolean;
     cor,error,alrm   : byte;
     alrm_status      : byte;
     mphone           : string[12];
     port_switch      : string[5];
     mem              : string[3];
     TempBuff         : string[strln];
//-------------------------main interrupt---------------------------------------
procedure interrupt;
begin
     usart_interrupt;
end;
//------------------------------------------------------------------------------
procedure vdelay;
begin
     vdelay_ms(2000);
end;
//--------------------------Modem Initialize------------------------------------
procedure wait_ok;
var wait : byte;
begin
     wait := 0;
     set_delimiter('OK');
     repeat
         begin
                if wait = 10 then break else inc(wait);
                delay_ms(1000);
         end;
     until message_received = true;

     if message_received = true then
        begin
             inc(cor);
             clear_rxbuf;
             lcd_out(2,10,'OK');
        end else
             begin
             inc(error);
             lcd_out(2,10,'ERROR');
             end;
end;
//------------------------------------------------------------------------------
function modem_init : boolean;
begin
  cor      := 0;
  error    := 0;
  repeat
        begin
             lcd_cmd(lcd_clear);
             lcd_out(1,1,'ATE=0');
             writeln('ATE=0');
             wait_ok;
             lcd_out(1,1,'AT   ');
             writeln('AT');
             wait_ok;
             lcd_out(1,1,'AT+CMGF');
             writeln('AT+CMGF=1');
             wait_ok;
             lcd_out(1,1,'AT+CNMI');
             writeln('AT+CNMI=2,1,0,0,0');
             wait_ok;
             lcd_out(1,1,'AT+CPMS');
             writeln('AT+CPMS="ME","ME","ME"');
             wait_ok;
        end;
  until ((cor >= 5) or (error = 15));
  if cor >=5 then result := true else result := false;
end;
//------------------------SMS Master Phone--------------------------------------
procedure text_mphone;
begin
     clear_rxbuf;
     delay_ms(100);
     usart_write_text('AT+CMGS=');
     usart_write(34);       // char "
     usart_write_text(mphone);
     usart_write(34);
     usart_write(13);
     usart_write(10);
end;
//----------------------------wait " > "----------------------------------------
function wait_3E : boolean;
var wait : byte;
begin
     wait := 0;
     set_delimiter('>');
     repeat
           begin
                if wait = 6 then break else inc(wait);
                delay_ms(1000);
           end;
     until message_received = true;
     if message_received = true then
        begin
             inc(cor);
             result := true;
        end else
             begin
                  inc(error);
                  result := false;
             end;
end;
//------------------------------------------------------------------------------
procedure SUCCESS;
begin
          lcd_cmd(lcd_clear);
          lcd_out(1,1,'Message Send  ');
          lcd_out(2,3,'SUCCESS!');
          smile(2,12);
          vdelay;
end;
//------------------------------------------------------------------------------
procedure FAILED;
begin
          lcd_cmd(lcd_clear);
          lcd_out(1,1,'Message Send  ');
          lcd_out(2,3,'FAILED!');
          frown(2,12);
          vdelay;
end;
//------------------------------------------------------------------------------
procedure text_message(var text_msg : string[20]);
begin
          text_mphone;
          error := 0;       //clear OK error
          if wait_3E = true then
          begin
            usart_write_text(text_msg);
            usart_write(26);
            delay_ms(100);
            usart_write(13);
            usart_write(10);
            clear_rxbuf;
            wait_ok;
          end else
            inc(error);
          if error > 0 then FAILED else SUCCESS;
end;
//--------------------Phone Set ------------------------------------------------
procedure set_phone;     // save phone number on eeprom
var ii,ix : byte;
begin                            // eg., SET NO *09165450917
     ix := 0;
     ii := strchr(TempBuff,'*');
     if ii <> $FF then        // asterisk has been found
        begin
           ii := ii+1;       //skip " , " char
           repeat
             begin
                    mphone[ix]:= TempBuff[ii];
                 if ((mphone[ix] = 0) OR (ix = 11)) then break;
                 inc(ix);
                 inc(ii);
             end;
           until false;
           mphone[ix] := 0;  // string terminated
        end;
  Eeprom_Write_Text($00, mphone);                //mphone --> master phone
  Eeprom_Read_Text($00, mphone);
  serial_init;
  text_message('Number Registered');
end;
//-----------------Check if there is a stored cellphone number in eeprom memory.
function check_mphone : boolean;
var
   ix,chk    : byte;
begin
     ix         := 0;
     chk        := 0;

   Eeprom_Read_Text($00, mphone);
   if ((mphone[0] = 0) or (mphone[0] = $FF))then
       begin
            mphone := 'Error';
            Eeprom_Write_Text($00, mphone);
       end;
                         //                             0 to 10
     while ix <> 10 do  // cellphone no. format eg.,  "09165450917" 11 digits
         begin
                       //char '0'                char '9'
           if ((mphone[ix] >= '0') and (mphone[ix] <= '9'))
           then
              begin
                    inc(chk);
                    inc(ix);
              end else
                  begin
                    lcd_cmd(lcd_clear);
                    lcd_out(1,1,mphone);
                    lcd_out(2,4,'Stored No.'); // Invalid Cell number;
                    vdelay;
                    break;
                  end;
         end;
     lcd_out(1,1,mphone);
     if chk = 10 then result := true else result := false;
     mphone[11] := 0;

end;
//--------------------------SEARCH STRING---------------------------------------
function search_string(var src : string[20]): boolean;
var
   indx,ctr1,indx_rd : byte;
   dest              : string[20];
begin                                // target string
     indx    := 0;
     indx_rd := 0;
     ctr1    := 0;
     while src[indx] <> 0 do
     begin
          dest[indx] := src[indx];
          inc(indx);
     end;                            // end target string

     while true do                   // search string
     begin
          if TempBuff[ctr1] = dest[indx_rd] then inc(indx_rd) else indx_rd :=0;
          inc(ctr1);
          if ((indx_rd = indx) or (ctr1 = RxBufsize)) then break;
     end;
     if indx_rd = indx then result := true else result := false;
end;
//-----------------------------CMTI---------------------------------------------
procedure CMTI;
var ii,ix    : byte;
begin
     ix := 0;
     ii := strchr(TempBuff,',');
     if ii <> $FF then
        begin
           ii := ii+1;    //skip " , " char
           while true do
             begin
                 mem[ix]:= TempBuff[ii];
                 if ((mem[ix] < '0') OR (mem[ix] > '9')) then break;
                 inc(ix);
                 inc(ii);
             end;
           mem[ix] := 0;
        end;
     memset(@TempBuff,0,strln);
     lcd_cmd(lcd_clear);
     lcd_out(1,1,'Read Memory     ');
     lcd_out(1,13,mem);
     usart_write_text('AT+CMGR=');
     writeln(mem);

end;
//------------------------------------------------------------------------------
procedure check_port;
var nn : byte;
begin //--------------------check POWER port status-----------------------------
  nn:=0;
  repeat              // active low circuit = logic 1 input means ap is off
     begin
       if porta.nn = 1 then port_switch[nn] := '0' else port_switch[nn] := '1';
       inc(nn);
     end;
  until nn = 4;
  port_switch[4]:= 0;   // make sure string is terminated
end;
//-----------------------PORT DISPLAY-------------------------------------------
procedure port_display;
begin
          check_port;
          lcd_cmd(lcd_clear);
          lcd_out(1,1,'PORT Status');
          lcd_out(2,1,'Switch = ');
          lcd_out(2,10,port_switch);
end;
//------------------------------------------------------------------------------
procedure port_status;
begin
  check_port;
  error := 0;       //clear OK error
  text_mphone;
  if wait_3E = true then
     begin
          usart_write_text('Status = ');
          usart_write_text(port_switch);
          usart_write(26);
          usart_write(13);
          clear_rxbuf;
          wait_ok;
     end else
          inc(error);
     if error > 0 then FAILED else SUCCESS;
     memset(@TempBuff,0,strln);
     set_delimiter(RtrnLf);    // make sure return the delimiter to ent (13,10,0)
     port_display;
end;
//----------------------------POWER---------------------------------------------
procedure POWER;                        //  example POWER ON*2  -- turn on port 3
var       aa,bb,cc   : byte;            //  POWER OFF*2 -- turn off port 3
            pos      : string[3];       //
begin   //----------------------------------------------------------------------
               cc := $FF;
               aa := 0;
               bb := strchr(TempBuff,'*');
            if bb <> $FF then
               begin
                    bb := bb+1;    //skip " * " char
                    repeat
                          begin
                               pos[aa]:= TempBuff[bb];
                               if ((pos[aa] = $0D) OR (aa = RxBufsize)) then break;
                               inc(aa);
                               inc(bb);
                          end;
                    until false;
                          pos[aa] := 0;
               end;
               cc := StrToword(pos);
        //----------------------------------------------------------------------
  if search_string('ON') = true then
     begin
          if ((cc > 4) or (port_switch[cc] = '1')) then nop
          else
              begin
                   lcd_cmd(lcd_clear);
                   lcd_out(1,1,'Power ON Port');
                   lcd_out(2,1,pos);
                   portc.cc :=  1;
                   //delay_ms(2000);
                   //portc.cc :=  0;
              end;
     end;
        //----------------------------------------------------------------------
  if search_string('OFF') = true then
     begin
          if ((cc > 4) or (port_switch[cc] = '0')) then nop
          else
              begin
                   lcd_cmd(lcd_clear);
                   lcd_out(1,1,'Power OFF Port');
                   lcd_out(2,1,pos);
                   portc.cc :=  0;
                   //delay_ms(2000);
                   //portc.cc :=  0;
              end;
     end;
end;

//------------------------------------------------------------------------------
procedure alarm_set;
begin
     lcd_cmd(lcd_clear);
     if search_string('OFF') = true then
     begin
          text_message('Alarm Disarmed!!!');
          portc.0     := 0;
          alrm_status := 0;
          alrm_active := false;
          lcd_out(1,1,'Alarm Disarmed!!!');
          vdelay;
     end;
     if search_string('ON') = true then
     begin
          alrm_active := true;
          text_message('Alarm ARMED!!!');
          lcd_out(1,1,'Alarm ARMED!!!');
          vdelay;
     end;
end;
//----------------------------CMGR----------------------------------------------
procedure CMGR;
begin

    if search_string('ALARM SET') = true then alarm_set;
    if search_string('POWER')     = true then
       begin
            POWER;
            port_status;
       end;
    if search_string('STATUS')    = true then port_status;
    if search_string('SET NO')    = true then set_phone;
    if search_string('CMGR')      = true then
       begin
            usart_write_text('AT+CMGD=');
            writeln(mem);
       end;
    port_display;
    clear_rxbuf;
    memset(@TempBuff,0,strln);
    set_delimiter(RtrnLf);
end;
//---------------------------ALARM----------------------------------------------
procedure ALARM;
begin
  usart_write_text('ATD');   // miss call
  usart_write_text(mphone);
  wait_ok;
  text_mphone;
  if wait_3E = true then
     begin
          usart_write_text('ALARM Triggered ');
          usart_write(26);
          usart_write(13);
          clear_rxbuf;
          wait_ok;
     end else
          inc(error);
     if error > 0 then FAILED else SUCCESS;
     portc.0 := 1;  //alarm ON
     lcd_cmd(lcd_clear);
     lcd_out(1,4,'WARNING!!!');
     lcd_out(2,1,'Alarm Triggered');
     vdelay;
     inc(alrm_status);
     set_delimiter(RtrnLf);
end;
//=======================MAIN ROUTINE===========================================
Begin
    adcon1 := %00000111;
    trisa  := %1111111;
    trisb  := %00000000;
    trisc  := %11000000;
    PORTA  := 0;
    PORTB  := 0;
    PORTC  := 0;
    port_switch := '0000'; // clear all POWER port status
    alrm_active := false;
    alrm_status := 0;
    lcd_Init(PORTB);   //Initialize LCD
    lcd_cmd(lcd_clear);
    lcd_out(1,1,'SMS ALARM and ');
    lcd_out(2,1,'Wireless Switch');
    vdelay;
    lcd_out(1,1,'System Starting');
    lcd_out(2,1,'Initializing SMS');
    vdelay;
    serial_init;

     if modem_init = true then            //Initialize cellphone-modem
        begin
                lcd_cmd(lcd_clear);
                lcd_out(1,1,'Modem OK');
                vdelay;
               if check_mphone = true then
               begin
                        serial_init;      //Re-initialize serial communications, off during eeprom r/w
                        text_message('System Ready');          // Send SMS System Ready
               end;
        end else
            begin
                lcd_cmd(lcd_clear);
                lcd_out(2,1,'Modem Error');
                vdelay;
                reset;
            end;

    port_display;
    serial_init;
    set_delimiter(RtrnLf);

    while true do
    begin
      if message_received = true
      then
          begin
               transfer_message(TempBuff);
               if search_string('CMTI') then
                   begin
                         set_delimiter('OK');
                         CMTI;
                    end;
               if search_string('CMGR') then CMGR;
          end;
      if ((porta.0 = 0) AND (alrm_active = true) AND (alrm_status < 3 )) then ALARM;
    end;
end.











Logged
Ret12_12
Junior Member
**
Offline Offline

Posts: 75

Thank You
-Given: 104
-Receive: 32


« Reply #14 on: April 07, 2008, 06:46:21 18:46 »

Hi,

I would like to ask you if you give 5v it will burn ? or its not working until you give 3V? and and if you also know how can we connect phone with a usb connector like P900 ?
Logged
pickit2
Moderator
Hero Member
*****
Offline Offline

Posts: 4647

Thank You
-Given: 826
-Receive: 4207


There is no evidence that I muted SoNsIvRi


« Reply #15 on: April 07, 2008, 08:31:59 20:31 »

Hi,
I would like to ask you if you give 5v it will burn ? or its not working until you give 3V? and and if you also know how can we connect phone with a usb connector like P900 ?
5V to phone will most likly kill the phone. in the post before your poster states
Quote
Just make sure your microcontroller is powered from the connector of the cellphone or use a level converter because the serial connection is below ttl level (3.3V approximately ) just use a rs232 converter and back.
to use usb you have to use a pc, as you phone is a slave.
Logged

Note: I stoped Muteing bad members OK I now put thier account in sleep mode
Ret12_12
Junior Member
**
Offline Offline

Posts: 75

Thank You
-Given: 104
-Receive: 32


« Reply #16 on: April 08, 2008, 09:27:55 21:27 »

5V to phone will most likly kill the phone. in the post before your poster states  to use usb you have to use a pc, as you phone is a slave.

I was afraid this so i must find another phone to try again ....

Do you have the protocol how to read and write a command with the usb ?
Logged
sohel
Senior Member
****
Offline Offline

Posts: 442

Thank You
-Given: 167
-Receive: 149



« Reply #17 on: April 09, 2008, 01:42:21 01:42 »

try it.
Logged
Ret12_12
Junior Member
**
Offline Offline

Posts: 75

Thank You
-Given: 104
-Receive: 32


« Reply #18 on: April 11, 2008, 05:06:53 17:06 »

Correct me if i am right, i thing the bellow line it will read the message from the position 4 ?

Send_AT_CMGR:
   SerOut2 rs232t,Baud,["AT+CMGR=4",13] 'Request first SMS
return
Logged
sohel
Senior Member
****
Offline Offline

Posts: 442

Thank You
-Given: 167
-Receive: 149



« Reply #19 on: April 11, 2008, 06:56:09 18:56 »

u can connect max232 to ur serial port with ur mobile  TX,RX pin and simulate with proteus, it will controle by proteus, and see what happend. i cant find any good result with pbp, then i convert it proton basics. it works fine for me. i am using GM22 Erricson. i am so busy now. dont mind. please Roll Eyes for ur infomation master sim will be ur handset and slave which attach ur controle card.

Posted on: April 11, 2008, 07:41:56 19:41 - Automerged

please disable delating message from last line, because i have spend much money for sending and reciving sms. for test .
Logged
Ret12_12
Junior Member
**
Offline Offline

Posts: 75

Thank You
-Given: 104
-Receive: 32


« Reply #20 on: April 12, 2008, 08:44:43 08:44 »

I will try and i will let you know the next days ( i must be found first the MAX232 in a local market )

Try to find free package for SMS it will help you're pocket
Logged
waicon
Active Member
***
Offline Offline

Posts: 134

Thank You
-Given: 57
-Receive: 79


I'm learning to Dream...not Relaxing...zzZ


« Reply #21 on: May 19, 2009, 05:36:09 17:36 »

... have to use MBUS or FBUS protocols ...
http://cid-43d920b8e0e97821.skydrive.live.com/self.aspx/Public/electronic/abhi%7C_FBUS.xls
have collected some info and made interface USB to serial, using hyper terminal , i can received version info from f-bas nokia , but  does anyone have more info on Fbas, like how to sent sms in f-bas, received sms in f-bus ?
Logged
Pages: [1]
Print
Jump to:  


DISCLAIMER
WE DONT HOST ANY ILLEGAL FILES ON THE SERVER
USE CONTACT US TO REPORT ILLEGAL FILES
ADMINISTRATORS CANNOT BE HELD RESPONSIBLE FOR USERS POSTS AND LINKS

... Copyright © 2003-2999 Sonsivri.to ...
Powered by SMF 1.1.18 | SMF © 2006-2009, Simple Machines LLC | HarzeM Dilber MC