ВидеоКонф(ВКС)  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

username mismatch, have <one>, digest has <two>

Проблемы и их решения Asterisk как такового

Модераторы: april22, Zavr2008

username mismatch, have <one>, digest has <two>

Сообщение shader » 21 июн 2017, 17:04

Бред какой-то...
Хочу на asterisk 13 зарегистрировать пользователя с username отличным от номера телефона.
номер - 113, username diacom.
В итоге получаю:
Код: выделить все
<--- SIP read from UDP:192.168.10.245:5070 --->
REGISTER sip:192.168.10.5:5080 SIP/2.0
Via: SIP/2.0/UDP 192.168.10.245:5070;branch=z9hG4bK639256993029711520;rport
From: 113 <sip:113@192.168.10.5:5080>;tag=254378274
To: 113 <sip:113@192.168.10.5:5080>
Call-ID: 20842835110212-20056257226014@192.168.10.245
CSeq: 1 REGISTER
Contact: <sip:113@192.168.10.245:5070>
Max-Forwards: 70
Expires: 60
User-Agent: Voip Phone 1.0
Content-Length: 0


<------------->
--- (11 headers 0 lines) ---
Sending to 192.168.10.245:5070 (no NAT)
Sending to 192.168.10.245:5070 (no NAT)

<--- Transmitting (NAT) to 192.168.10.245:5070 --->
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.10.245:5070;branch=z9hG4bK639256993029711520;received=192.168.10.245;rport=5070
From: 113 <sip:113@192.168.10.5:5080>;tag=254378274
To: 113 <sip:113@192.168.10.5:5080>;tag=as3b01ca56
Call-ID: 20842835110212-20056257226014@192.168.10.245
CSeq: 1 REGISTER
Server: Asterisk PBX 14.2.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
WWW-Authenticate: Digest algorithm=MD5, realm="vesta", nonce="273e9b2f"
Content-Length: 0


<------------>
Scheduling destruction of SIP dialog '20842835110212-20056257226014@192.168.10.245' in 32000 ms (Method: REGISTER)

<--- SIP read from UDP:192.168.10.245:5070 --->
REGISTER sip:192.168.10.5:5080 SIP/2.0
Via: SIP/2.0/UDP 192.168.10.245:5070;branch=z9hG4bK25502311732838831140;rport
From: 113 <sip:113@192.168.10.5:5080>;tag=254378274
To: 113 <sip:113@192.168.10.5:5080>
Call-ID: 20842835110212-20056257226014@192.168.10.245
CSeq: 2 REGISTER
Contact: <sip:113@192.168.10.245:5070>
Authorization: Digest username="diacom", realm="vesta", nonce="273e9b2f", uri="sip:192.168.10.5:5080", response="95adc8381eae5cb8e53bbfab0c4ab87d", algorithm=MD5
Max-Forwards: 70
Expires: 60
User-Agent: Voip Phone 1.0
Content-Length: 0


т. е. идёт нормальны процесс регистрации, а потом

Код: выделить все
<------------->
--- (12 headers 0 lines) ---
Sending to 192.168.10.245:5070 (no NAT)
[Jun 21 16:02:38] WARNING[20413]: chan_sip.c:17169 check_auth: username mismatch, have <113>, digest has <diacom>

<--- Transmitting (NAT) to 192.168.10.245:5070 --->
SIP/2.0 403 Forbidden
Via: SIP/2.0/UDP 192.168.10.245:5070;branch=z9hG4bK25502311732838831140;received=192.168.10.245;rport=5070
From: 113 <sip:113@192.168.10.5:5080>;tag=254378274
To: 113 <sip:113@192.168.10.5:5080>;tag=as3b01ca56
Call-ID: 20842835110212-20056257226014@192.168.10.245
CSeq: 2 REGISTER
Server: Asterisk PBX 14.2.1
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Content-Length: 0


<------------>
[Jun 21 16:02:38] NOTICE[20413]: chan_sip.c:28536 handle_request_register: Registration from '113 <sip:113@192.168.10.5:5080>' failed for '192.168.10.245:5070' - Username/auth name mismatch



Естественно, я указыват в настройках пира:
defaultuser = diacom
fromuser = diacom
username = diacom (ругается на depricated)
В общем, чтобы я не делал, всегда упираюсь в эту строку:
chan_sip.c:17169 check_auth: username mismatch, have <113>, digest has <diacom>
что не так? asterisk не умеет различать username от номера телефона?

при этом:
sip show peer 113


Код: выделить все
* Name       : 113
  Description  :
  Secret       : <Set>
...
  FromUser     : diacom
....
  Def. Username: diacom
....
shader
 
Сообщений: 117
Зарегистрирован: 09 авг 2013, 10:33

Re: username mismatch, have <one>, digest has <two>

Сообщение ded » 21 июн 2017, 21:56

Параметры
FromUser : diacom служат для исходящих, а не для регистрации.
Если Вы сделаете пир вида
[diacom]
type=user
secret=mysecret
context=from-internal

то пакет Register от софтфона должен выглядеть как
From: diacom <sip:diacom@192.168.10.5:5080>;
и скорее всего он зарегистрируется.
И в extensions.conf
exten => 113,1,Dial(SIP/diacom)
то всё будет ровно так, как захотелось.
ded
 
Сообщений: 15819
Зарегистрирован: 26 авг 2010, 19:00

Re: username mismatch, have <one>, digest has <two>

Сообщение shader » 22 июн 2017, 10:00

Похоже, такая схема меня не спасёт. В общем, ситауция такая: есть старая циска:
IAD2400 Series.(24 поортовый voip шлюз) В настройках её useragent'a можно создать только одну регистрацию, указав username и password.
При этом, она шлёт пакеты регистрации именно так как я указал в первом посте: в качестве name используя номера телефонов, созданных на pts портах абонентов, а в качестве username (при digest аутентификации), ту самую настройку из sip-ua, или говоря по другому, в поле from всегда будет номера телефонов. Если asterisk не поддерживает раздельную регистрацию, значит нужно придумывать что-то другое... Пойду думать :)

==Add later===
В общем, разрулил, оставив транк без регистрации и некрасиво обойдя NAT.
shader
 
Сообщений: 117
Зарегистрирован: 09 авг 2013, 10:33

Re: username mismatch, have <one>, digest has <two>

Сообщение ded » 22 июн 2017, 10:26

Надо было регистрировать IAD24 не как транк (как Вы описывали), а указать на voip портах опцию register e164, и тогда бы каждый порт регистрировался своим внутренним номером. Но 24 регистрации с одного ИП адреса - логически некрасиво. Поэтому просто транк без регистрации - вполне себе нормальное решение. Прописать статический SIP пир IAD24 и отправлять вызовы на него
Dial(SIP/IAD24/${EXTEN}) типа - он сам разруливает в себе на какой порт идёт вызов. Что, собственно, Вы и сделали.
ded
 
Сообщений: 15819
Зарегистрирован: 26 авг 2010, 19:00

Re: username mismatch, have <one>, digest has <two>

Сообщение shader » 22 июн 2017, 10:45

а как реализовать то же самое, но если peer (в данном случае IAD) находится за NAT? Я так понимаю, только регистрация последней с qualify yes для поддержания соединения за NAT, верно?
shader
 
Сообщений: 117
Зарегистрирован: 09 авг 2013, 10:33

Re: username mismatch, have <one>, digest has <two>

Сообщение gosha » 22 июн 2017, 10:50

sip.conf

match_auth_username=yes
?
gosha
 
Сообщений: 371
Зарегистрирован: 06 сен 2010, 17:41

Re: username mismatch, have <one>, digest has <two>

Сообщение ded » 22 июн 2017, 10:55

shader писал(а):а как реализовать то же самое, но если peer (в данном случае IAD) находится за NAT? Я так понимаю, только регистрация последней с qualify yes для поддержания соединения за NAT, верно?

Можно и без регистрации. Сделать проброс сигнального порта и медиа портов. Но держать 24 телефона в другом подразделении за NAT идеологически неверно, лучше построить VPN и избавиться таким образом от NAT.
ded
 
Сообщений: 15819
Зарегистрирован: 26 авг 2010, 19:00

Re: username mismatch, have <one>, digest has <two>

Сообщение shader » 22 июн 2017, 11:00

gosha писал(а):sip.conf

match_auth_username=yes
?

пробовал конечно. Не помогает. Похоже, эта опция не для этого. и yes и no ставил. Перечитал весь sip.conf.example
shader
 
Сообщений: 117
Зарегистрирован: 09 авг 2013, 10:33

Re: username mismatch, have <one>, digest has <two>

Сообщение shader » 22 июн 2017, 11:01

ded писал(а):
shader писал(а):а как реализовать то же самое, но если peer (в данном случае IAD) находится за NAT? Я так понимаю, только регистрация последней с qualify yes для поддержания соединения за NAT, верно?

Можно и без регистрации. Сделать проброс сигнального порта и медиа портов. Но держать 24 телефона в другом подразделении за NAT идеологически неверно, лучше построить VPN и избавиться таким образом от NAT.

Я так и думал. Спасибо.
shader
 
Сообщений: 117
Зарегистрирован: 09 авг 2013, 10:33


Вернуться в Конфигурация и настройка Asterisk

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH