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

Как запретить отправку 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

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

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

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