Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Как запретить отправку REGISTER? [закрыт]

0

Коллеги,

Подключаюсь к провайдеру. Мне не дали логин с паролем, сказали только IP, настройки кодека и т.п. Сказали, чтобы я убрал строчку register из sip.conf. Ок. Вот моя конфигурация к провайдеру:

[beeline]
type=peer
trunkname=beeline
host=X.X.X.X
context=from-trunk
callbackextension=from-beeline
insecure=port,invite
disallow=all
allow = alaw
nat = no
directmedia = no
dtmfmode = rfc2833
qualify=yes

Тем не менее, при такой конфигурации и входящие и исходящие работают. Но я также вижу постоянно в консоли ошибку:

[May  5 10:44:47] NOTICE[19224]: chan_sip.c:15732 sip_reg_timeout:    -- Registration for '@X.X.X.X' timed out, trying again (Attempt #2)
    -- Got SIP response 503 "Service Unavailable" back from X.X.X.X:5060

Уже чего только не пробовал. Посоветуйте как быть? Как запретить отправку REGISTER? У меня asterisk-13.8.2, по заголовкам видно что у провайдера Cisco-SIPGateway/IOS-12.x. Перезагрузка Астера не помогает. Я так полагаю, что это проблема самого Asterisk 13, т.к. меня уверяют, что у всех такая же конфигурация работает на ура.

# grep -ir register /etc/asterisk
#

UPDATE: проблему решил сам. Как и ожидалось, заглянув в исходники, стало ясно почему он регистрируется. Все из-за callbackextension, если он есть, chan_sip будет отправлять REGISTER провайдеру с Contact: <sip:from-beeline@myip:5060> для обратной связи:

        if (!ast_strlen_zero(peer->callback)) { /* build string from peer info */
                char *reg_string;
                if (ast_asprintf(&reg_string, "%s?%s:%s@%s/%s", peer->name, peer->user
name, !ast_strlen_zero(peer->remotesecret) ? peer->remotesecret : peer->secret, peer->
tohost, peer->callback) >= 0) {
                        sip_register(reg_string, 0); /* XXX TODO: count in registry_co
unt */
                        ast_free(reg_string);
                }
        }

В принципе, на этом sip-trunk-е я обойдусь без него, поэтому убрав его и перезагрузив Asterisk регистрации прекратились. Проблема решена.

удалить переоткрыть спам изменить тег редактировать

спросил 2016-05-05 15:00:21 +0400

mike.forbs Gravatar mike.forbs
9 4 4

обновил 2016-05-05 17:44:31 +0400

Comments

Строчки register у меня нет, в глобальной конфигурации general в sip.conf, правда, есть вот это: registertimeout=60 registerattempts=0

mike.forbs ( 2016-05-05 15:13:50 +0400 )редактировать

Пробовал убирать эти опции - не помогло.

mike.forbs ( 2016-05-05 15:19:03 +0400 )редактировать

1 Ответ

0

исходящая регистрация выполняется ИСКЛЮЧИТЕЛЬНО в случае наличия строчки

register=> user:pass@ip

в вашем конфиге.

Соответсвенно можно рекомендовать то же, что и суппорт провайдера - найти строчку register

кстати, для циско надо еще и qualify=no поставить.

ссылка удалить спам редактировать

ответил 2016-05-05 15:04:00 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

Не исключительно. Еще callbackextension может стоять, он в realtime используется.

glukinho ( 2016-05-06 17:49:35 +0400 )редактировать

О, в этом дело и было ))

glukinho ( 2016-05-06 17:49:47 +0400 )редактировать

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2016-05-05 15:00:21 +0400

Просмотрен: 327 раз

Обновлен: May 05 '16

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.