Hello! On Monday 09 November 2009 07:53:41 Олег Ключкин wrote: > У меня статья по такой задаче есть: > http://www.os-rostov.ru/stati/server-sms-soobsenij
Не проще ли AT-командами управлять модемом? Ниже в качестве примера приведен кусок перлового кода для работы по голосовому каналу. Где-то и для рассылки смс скрипт валяется, делал чтобы подруге на телефон гороскоп присылат, скачивая его с какого-то сайта :-) так там все еще проще. Отправлять все же надежнее транслитом, ибо старые телефоны просто не поддерживают кириллицу ни в каком виде. Сталкивался с этим лет 5 назад, не факт, что таких телефонов "на руках" вовсе не осталось. #!/usr/bin/perl use Device::Modem; use DBI; $dbuser="mapedit"; $dbpwd=""; $dbname="map_navigation"; my $number = $ARGV[0]; chomp $number; $number =~ s/\+7/8/g; my $pwd = $ARGV[1]; chomp $pwd; $pwd = "incom: \r\n"; #my $unit_id = $ARGV[2]; my $unit_id = $number; my $port ||= '/dev/ttyS0'; my $baud ||= 9600; my $timeout = 10; my $modem = new Device::Modem ( port => $port ); if( $modem->connect( baudrate => $config{'baud'} || 9600 ) ) { print "ok connected.\n"; } else { die "cannot connect to $port serial port!: $!"; } print '- trying to dial [', $number, ']', "\n"; ($ok, $answer) = $modem->dial($number,30); if( $ok ) { print "Ok, number dialed\n"; } else { #print "No luck!\n"; die "No connect: $answer\n"; } # послать навигатору приглашение к обмену данными $modem->atsend( $pwd ); my $close = 0; my $file = ''; my $i=0; while( !$close ) { $answer = $modem->answer(), "\n"; if ($answer eq '+++' || $answer eq 'NO CARRIER' || $answer eq 'AT+CPAS' || $answer eq 'ATH') { print "hungup '$answer'\n"; $close = 1; } else { chomp $answer; $answer =~ s/\r//g; $answer =~ s/\n//g; print "[".$answer."]\n"; $file .= $answer; } # limit execution circles if (++$i>$timeout) { print "timeout (circles): $timeout\n"; $close = 1; } } # end data session $modem->attention(); # send 'attention' sequence (+++) $modem->hangup(); # returns modem answer $modem->disconnect(); Best regards, Alexey Pechnikov. http://pechnikov.tel/