Home » Ошибки » Peer is not supposed to register

Peer is not supposed to register

Столкнулся с непонятной мне ошибкой asterisk, которая возникла ни с того ни с сего без каких-либо видимых изменений в настройках. Двухсторонняя связь серверов asterisk в определенный момент перестала работать.

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом "Administrator Linux. Professional" в OTUS. Курс не для новичков, для поступления нужно пройти . Цены 2020 года.

Есть два удаленных сервера astersik, связанных между собой vpn каналом на базе openvpn. Длительное время все нормально работало, настройки никто не менял, кроме добавления пользователей, как минимум пару лет. Работает и работает, необходимости в изменениях не было.

В один прекрасный момент один из серверов перестал регистрироваться на другом. В логах сервера, который отклонял регистрацию, было следующее:

[Oct 10 03:55:53] NOTICE[26576] chan_sip.c: Registration from '<sip:servnew@10.1.4.13>' failed for '108.68.220.194:54233' - Peer is not supposed to register
[Oct 10 03:55:54] ERROR[26576] chan_sip.c: Peer 'servnew' is trying to register, but not configured as host=dynamic

А тот, что пытался зарегистрироваться в лог сыпал сообщениями:

[2015-10-10 03:27:21] NOTICE[29264] chan_sip.c: -- Registration for 'servnew@10.1.4.13' timed out, trying again (Attempt #10)

Часть конфигурации сервера, который пытается зарегистрироваться:

register => servnew:1455Fxcdvg@10.1.4.13:51612/servxm

А это учетка на сервере приемнике:

[servnew]
type = friend
host = 10.1.3.205
username = servnew
secret = 1444Fxczvg
insecure = invite
trunk = yes
qualify = yes
context = old_serv
peercontext = old_serv

Связь между серверами стабильная, все в порядке, они друг друга видят. Судя по настройкам, ошибка очевидна и должна быть, так как в настройках учетной записи явно указан адрес сервера 10.1.3.205, ему нет необходимости регистрироваться. Однако, все именно с такими настройками и работало длительное время. Я специально это проверил, восстановив виртуалки и сравнив конфиги. Они не изменились с тех пор, но ошибка появилась только сейчас.

Так как я не очень глубоко знаком с astersik, работал только с простыми конфигурациями, то пришлось прилично повозиться, чтобы разобраться в ситуации. К тому же эти сервера настраивал не я, а несколько разных человек в разное время. Никакой документации не осталось, а конфигурации достаточно сложные. Я никак не мог понять, почему появилась ошибка, ведь видимых изменений не было.

Первым делом я решил изменить параметр учетной записи и поменять параметр host со старого на новый:

host = dynamic

По идее с этим параметром должна проходить регистрация. Но это почему-то не помогло. Сервер, который пытался зарегистрироваться, получал такую же ошибку, что и раньше о тайм ауте, а на приемнике вообще никаких упоминаний о событии не было. Я опять потратил много времени, но не смог понять, почему. Причем, регистрация в обратную сторону работает как раз с параметром dynamic и по тому же каналу связи. То есть настройки серверов получились идентичными, но один сервер авторизуется на другом, в другой в обратную сторону нет. Как я не пытался понять, почему так происходит, не получилось разобраться.

Решил проблему простым способом. На сервере приемнике поставил как и было:

host = 10.1.3.205

А на сервере, который пытался зарегистрироваться через

register => servnew:1455Fxcdvg@10.1.4.13:51612/servxm

отключил эту регистрацию. В итоге звонки стали нормально перенаправляться и все заработало как прежде. Очень хочется понять причину возникновений ошибки, и почему один сервер на другом нормально авторизуется с параметром dynamic, а в обратную сторону регистрация не проходит.

Онлайн курс по Kubernetes

Онлайн-курс по Kubernetes – для разработчиков, администраторов, технических лидеров, которые хотят изучить современную платформу для микросервисов Kubernetes. Самый полный русскоязычный курс по очень востребованным и хорошо оплачиваемым навыкам. Курс не для новичков – нужно пройти вступительный тест.

Если вы ответите "да" хотя бы на один вопрос, то это ваш курс:
  • устали тратить время на автоматизацию?
  • хотите единообразные окружения?;
  • хотите развиваться и использовать современные инструменты?
  • небезразлична надежность инфраструктуры?
  • приходится масштабировать инфраструктуру под растущие потребности бизнеса?
  • хотите освободить продуктовые команды от части задач администрирования и автоматизации и сфокусировать их на развитии продукта?
Сдавайте вступительный тест по и присоединяйтесь к новому набору!.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

One comment

  1. Сейчас вспомнил про эту заметку. Я разобрался, в чем была причина ошибки. На проблемном сервере было указано несколько локальных IP. Из-за этого иногда возникали ошибки разного рода.

Добавить комментарий

Ваш адрес email не будет опубликован.

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.