звёздочка регистрация имя пользователя не совпадает

Вопрос или проблема

У меня возникли проблемы с регистрацией расширения, настроенного на Huawei HG8240H с сервером Asterisk.

Проблема, с которой я сталкиваюсь, заключается в том, что маршрутизатор пытается зарегистрироваться с именем пользователя, как username@domain, и Asterisk не аутентифицирует его.

Версия Asterisk – 13.17.2, я знаю, что это старая версия, но нам нужен chan_sip, и мы пытаемся избежать pjsip на данный момент, поскольку он интегрирован в систему со «старым» генератором конфигурации.

2024/11/25 11:31:24.203851 10.133.0.2:5070 -> 10.133.0.1:5060
REGISTER sip:example.com SIP/2.0
Via: SIP/2.0/UDP 10.133.0.2:5070;branch=z9hG4bKslppl010ki81pziij034s8kjn
Call-ID: [email protected]
From: <sip:[email protected]>;tag=m4p3zp4p
To: <sip:[email protected]>
CSeq: 2 REGISTER
Contact: <sip:[email protected]:5070;transport=udp>
Supported: 100rel,replaces,timer,privacy,in-dialog
Expires: 600
Accept: application/sdp
Authorization: Digest username="[email protected]",realm="asterisk",nonce="0eea25cd",uri="sip:example.com",response="80a8aa08cb37b9cd98f07c2bfb585610",algorithm=MD5
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,REGISTER,INFO,PRACK,SUBSCRIBE,NOTIFY,UPDATE,MESSAGE,REFER
Max-Forwards: 70
User-Agent: HUAWEI-EchoLife HG8240H/V3R015C10S130
Session-ID: 6a386963313133316369333473386b6a
Content-Length: 0

А вот лог Asterisk:

[2024-11-25T11:31:24.204385+0100] WARNING[4862]: chan_sip.c:17235 check_auth: несоответствие имени пользователя, имеем <extn-1000>, digest имеет <[email protected]>
[2024-11-25T11:31:24.204791+0100] NOTICE[4862]: chan_sip.c:28627 handle_request_register: Регистрация с '<sip:[email protected]>' не удалась для '10.133.0.2:5070' - Несоответствие имени пользователя/имени для аутентификации

И мой файл sip.conf:

[general]
context=default
dtmfmode=auto
relaxdtmf=yes
port=5060
bindaddr=0.0.0.0
tcpenable=no
nat=force_rport,comedia
srvlookup=yes
allow=!all,alaw
allowguest=no
alwaysauthreject=yes
prefixlanguage=yes
accept_outofcall_message=no
useragent=Test PBX
send_diversion=yes
videosupport=no
notifyringing=yes
notifyhold=yes
allowsubscribe=no
callcounter=no
tonezone=es
directmedia=no

[extn-1000]
defaultuser=extn-1000
context=local
secret=uRikmQvkvqxqyGor
dtmfmode=rfc2833
callerid=1000 <1000>
mailbox=1000@local
host=dynamic
type=friend
directmedia=yes
language=es
qualify=1000
qualifyfreq=30
accountcode=1000
call-limit=2

Редактировать: Если я устанавливаю “secret=” (пустой секрет) для расширения, оно регистрируется корректно, но таким образом это небезопасно, и я хотел бы этого избежать.

Ответ или решение

Вопрос: Несоответствие имени пользователя в Asterisk

Вы столкнулись с проблемой регистрации расширения на сервере Asterisk, который использует chan_sip. Проблема, судя по предоставленным данным, связана с тем, что роутер Huawei HG8240H пытается зарегистрироваться с именем пользователя в формате username@domain, в то время как сервер Asterisk ожидает определенное имя пользователя, настроенное в sip.conf. Рассмотрим шаги по решению данной проблемы.

1. Анализ логов Asterisk

Логи сервера показывают следующие ошибки:

  • Неверное имя пользователя:

    WARNING[4862]: chan_sip.c:17235 check_auth: username mismatch, have <extn-1000>, digest has <username@example.com>

    Это говорит о том, что Asterisk не может сопоставить переданное имя пользователя username@example.com с тем, что он ожидает, в данном случае с extn-1000.

  • Ошибка регистрации:

    NOTICE[4862]: chan_sip.c:28627 handle_request_register: Registration from '<sip:username@example.com>' failed for '10.133.0.2:5070' - Username/auth name mismatch

    Это также подтверждает, что имя пользователя в пакете регистрации не совпадает с тем, что настроено в конфигурации.

2. Исправление конфигурации

Для решения проблемы необходимо настроить роутер (Huawei HG8240H) так, чтобы он использовал правильное имя пользователя, которое соответствует конфигурации в Asterisk.

  • Проверьте настройки SIP на роутере: Убедитесь, что роутер настроен на использование правильного имени пользователя. Это имя должно соответствовать тому, что указано в sip.conf:

    [extn-1000]
    ...
    defaultuser=extn-1000
  • Использование правильного формата: Попробуйте задать имя пользователя в формате extn-1000 без домена. Если роутер поддерживает, настройте его для использования только extn-1000 вместо username@example.com.

3. Альтернативное решение

Если вы не можете изменить настройки роутера, можно рассмотреть возможность использования специального параметра в настройках Asterisk.

  • Параметр fromuser: Вместо того чтобы полагаться только на username, вы можете настроить параметр fromuser в конфигурации Asterisk для вашего расширения:
    [extn-1000]
    ...
    fromuser=extn-1000

4. Информация о безопасности

Вы упомянули, что при установке пустого secret= регистрация проходит корректно, однако это создаёт уязвимость. Подходите ответственно к безопасности, всегда используйте сильные пароли.

  • Генерация надежного пароля: Убедитесь, что пароль для расширения uRikmQvkvqxqyGor является достаточно сложным и длинным, чтобы защитить вашу систему.

  • Проверка шифрования: Если возможно, используйте шифрование для SIP-трафика, чтобы защитить ваши учетные данные.

Заключение

Проблема с несоответствием имени пользователя в Asterisk чаще всего связана с неправильными настройками на стороне клиента, в вашем случае — роутера Huawei. Обязательно убедитесь, что используете согласованные и безопасные параметры в конфигурациях. Проверяйте логи на наличие других возможных ошибок, и в случае необходимости консультуйтесь с документацией вашего оборудования.

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

Капча загружается...