[Comm] callback как подключиться

Alexandr R. Ogurtzoff =?iso-8859-1?q?aogurtsov_=CE=C1_hostopia=2Ecom?=
Чт Янв 13 08:15:50 MSK 2005


On Wednesday 12 January 2005 15:32, max wrote:
> Здравствуйте, community.
> Подскажите пожалуйста как настроить и запустить callback для
> Dial-up. Прочитал howto но толком не понял.
> ifup ppp0 работает замечательно, хотелось бы аналогичного с
> callback.
 По идее callback "живёт" нынче уже в настройках kppp
1,5 года назад этого не было. Меня спасла настройка консольного дозвонщика. 
Инструкцию прилагаю, пробуйте,ногрантировать результат не могу очень уж 
многое в этом вопросе зависит от сервисов провайдера.


Подключение к Интернет у провайдера  с PAP авторизацией и поддержкой обратного 
дозвона CallBack по протоколу CBCP
Описаный ниже способ не претендует на оптимальность. Но обеспечивает 
соединение и работает.
Система Мастер 2.2 без обновлений.
  При первоначальной прозвонке к провайдеру pppd осуществляет соединение, 
производит PAP авторизацию и согласно протоколу CBCP передает телефонный 
номер по которому должна перезвонить удаленная система. После этого 
соединение разрывается. Наша система начиная с этого момента ждёт дозвона от 
узла провайдера, после осущесвления которого и осуществляется собственно 
соединение, поднятие IP адресов etc.
  Таким образом должны существовать два сценария поведения демона pppd (chat 
скрипта) при соединения в таких условиях. Один для исходящего, второй для 
входящего соединения. А вот тут и начинается самое интересное в дистрибутиве 
Альт демон pppd собран с поддержкой протокола обратного дозвона в том числе и 
CBCP,  в более ранних версиях дистрибутива пакет похоже назывался 
pppd-callback. Так вот второй скрипт - ответа на звонок создается 
автоматически(!) и находится в файле /etc/ppp/callback-client. Протокол 
обработки обратного звонка регистрируется в событиях netevent и дозвон от 
провайдера обрабатывается именно этим скриптом.
     ls -l /etc/ppp/callback-client
 -rwxr-xr-x    1 root     root          211 Apr 19 
19:40 /etc/ppp/callback-client
 cat /etc/ppp/callback-client
 #!/bin/sh
 # Script callback-client
 # Script parameters: delay time in seconds
 DELAY="$1"
 /usr/sbin/chat -v -t 2 "" \d+++\d\c OK ATH0 OK
 sleep $DELAY
 /usr/sbin/chat -v "" ATZ OK "" RING  ATA SAY "RING" CONNECT
Мной добавлено только RING  ATA SAY "RING" , хотелось видеть что прошел дозвон
Дальше создаём файл дозвона к провайдеру /etc/ppp/chat-cbcp
  ls -l /etc/ppp/chat-cbcp
 -rwxr-x---    1 root     uucp          586 May  6 14:50 /etc/ppp/chat-cbcp
С содержимым типа такого (!)не забудьте в строке ATDT указать номер своего 
провайдера
 cat  /etc/ppp/chat-cbcp
 #!/bin/sh
 #Request for CallbacK
 #
 /usr/sbin/chat -v                                    \
    TIMEOUT             7                       \
    ABORT               "\nERROR\r"             \
    ABORT               "\nNO DIALTONE\r"       \
    ABORT               "\nBUSY\r"              \
    ABORT               "\nNO ANSWER\r"         \
    ABORT               "\nNO CARRIER\r"        \
    ABORT               "\nLogin incorect\r"    \
    ''                  AT                      \
    SAY                 "Modem Initialization\n" \
    'OK-+++\c-OK'       'ATH0L2M2V1W2X4&c1E1q0' \
    SAY                 "Dialing to ISP\n"      \
    TIMEOUT              60                     \
    OK                  ATDT479700              \
    CONNECT             ''                      \
    SAY                 "Connected...\n"        \
    TIMEOUT 30                                  \
    ogin:               \c
exit 0
Пишем файл      /etc/ppp/options.cbcp
 ls -l /etc/ppp/options.cbcp
 -rw-r--r--    1 root     root          103 Apr 12 18:10 /etc/ppp/options.cbcp
cat  /etc/ppp/options.cbcp
noipdefault
persist
nodetach
connect '/etc/ppp/chat-cbcp'
user Ваш логин
remotename Имя провайдера
callback Номер дозвона к вам
 И наконец создаём скрипт который будет дозваниваться, он очень простой
 ls -l /etc/ppp/ppp-on-dialer
 -rwxr-x---    1 root     uucp          116 Apr 12 
18:11 /etc/ppp/ppp-on-dialer

 У меня модем на 33600 поэтому скорость порта я задирать не стал, если у вас 
модем на 56К, то можете вписать скорость порта 115200
cat  /etc/ppp/ppp-on-dialer
#!/bin/sh
#
#Trying  connect to ISP for  CallBack
/usr/sbin/pppd /dev/modem 57600 defaultroute file /etc/ppp/options.cbcp
 Убедитесь что в файле  /etc/ppp/pap-secrets
прописана строка вида
Ваш логин Имя_провайдера  Пароль_у_провайдера
права на файл
 ls -l /etc/ppp/pap-secrets
 -rw-------    1 root     root           26 Apr 11 17:42 /etc/ppp/pap-secrets

При коректно настроеной сети всё готово для соединения с провайдером. Да 
кстати не забудьте. что обратный дозвон у провайдера является отдельной 
услугой, проконсультируйтесь в службе тех.поддержки провайдера о 
предоставлении вам таковой.
 Второй вопрос о том как сделать этот дозвон доступным под пользовательским 
аккаунтом?  Дозваниваться могут пользователи из группы UUCP
 grep uucp /etc/group
uucp:x:14:uucp,iscander,ну и остальные через запятую
Права доступа к файлам следующие
ls -l /usr/sbin/pppd /dev/modem /dev/ttyS1
lrwxrwxrwx    1 root     root           10 Mar 22 11:40 /dev/modem 
-> /dev/ttyS1
crw-rw----    1 root     uucp       4,  65 May  7 12:14 /dev/ttyS1
-rws--x---    1 root     uucp       218904 Oct 24  2002 /usr/sbin/pppd
После этого на рабочем столе пользователя можно создать ссылку на 
файл /etc/ppp/ppp-on-dialer и запускать соединение одним щелчком. Для 
индикации работы ppp меня вполне устраивал апплет в gkrelm 

Эх, были времена :-) Сейчас живу на DSL - много приятнее.
Удачи.

-- 
Best regards
Alexandr R. Ogurtzoff
{
UNIX is user friendly, it's just picky about who its friends are
}



Подробная информация о списке рассылки community