ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Alexandr R Ogurtzoff <iscander@mercuri.mk.ua>
To: community@altlinux.ru
Subject: Re: [Comm] callback
Date: Wed, 7 Jul 2004 15:33:26 +0300
Message-ID: <200407071533.26512.iscander@mercuri.mk.ua> (raw)
In-Reply-To: <40E94372.8090405@svitonline.com>

В сообщении от Понедельник 05 Июль 2004 15:02 Юрий Хорошков написал(a):
> Здравствуйте Community!
> Подскажите, пожалуйста, ссылки на доки по настройке callback.  На  atmsk
> раньше видел, а сейчас не могу найти.
Наверное погибло при переезде... Я так понимаю речь о клиенте?

Сейчас вроде бы новый kppp умеет callback.
Но на всякий случай вам копия моей прежней статьи на atmsk.ru вдруг 
пригодиться :-)
================================================================
Подключение к Интернет у провайдера  с 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
#
#Try to Connect Farlep 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 

===================================================================
-- 
С наилучшими пожеланиями
With best regards
Александр Огурцов
Alexandr Ogurtzoff


      reply	other threads:[~2004-07-07 12:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-05 12:02 Юрий Хорошков
2004-07-07 12:33 ` Alexandr R Ogurtzoff [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200407071533.26512.iscander@mercuri.mk.ua \
    --to=iscander@mercuri.mk.ua \
    --cc=community@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git