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

username и auth username - что-то изменилось?

0

Всем привет! Все помнят, что Asterisk не поддерживает раздельную аутентификацию, когда username отличается от auth username. Тема поднималась, например, тут. Но я бы хотел снова поднять эту тему.

Читаем http://www.voip-info.org/wiki/view/Asterisk+SIP+channels:

Incoming SIP Connections When Asterisk receives an incoming SIP call, the SIP Channel Module

  • first tries to find a [user] section matching the caller name (From: username),
  • then tries to find a [peer] section matching the caller's IP address.

If no matching user or peer is found, the call is sent to the context defined in the [general] section of sip.conf.sip.conf.

Читаем http://www.voip-info.org/wiki/view/Asterisk+SIP+user+vs+peer

The only benefit of type=user is when you want to match on username regardless of IP the calls originate from. If the peer is registering to you, you don't need it. If they are on a fixed IP, you don't need it. 'type=peer' is never matched on username for incoming calls, only matched on IP address/port number (unless you use insecure=port or higher).

Далее, чего нет в вики на voip-info, а есть только в sip.conf в примере:

;match_auth_username=yes        ; if available, match user entry using the                                                                                             
                                ; 'username' field from the authentication line                                                                                        
                                ; instead of the From: field.

match auth username - это уже ближе. Проделаем испытания:

[max]                                                                                                                                                                  
secret=supersecret                                                                                                                                                     
type=peer                                                                                                                                                              
host=dynamic                                                                                                                                                           
deny=0.0.0.0/0.0.0.0                                                                                                                                                   
permit=192.168.0.0/255.255.0.0                                                                                                                                         
context=from-max                                                                                                                                                       
defaultuser=maxauth

В Ekiga в поле user ставим max, в поле Authentication login - maxauth. Лог звонка - http://pastebin.ca/2075412

check_auth: username mismatch, have <max>, digest has <maxauth>

Как я ни перебирал разные параметры, не работает. Единственный способ разделить username от authusername - перейти от динамических регистраций к статическим:

[192.168.10.33]                                                                                                                                                        
secret=supersecret                                                                                                                                                     
type=peer                                                                                                                                                              
host=192.168.10.33                                                                                                                                                     
deny=0.0.0.0/0.0.0.0                                                                                                                                                   
permit=192.168.0.0/255.255.0.0                                                                                                                                         
context=from-max                                                                                                                                                       
defaultuser=maxauth                                                                                                                                                    
insecure=port

При этом, неважно, что указывать в username софтона, (поиск пира проходит по ip) главное, указать свой статический ip адрес в поле Authentication login.

Люди, кто-то раскурил тему или дохлый номер?

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

спросил 2011-06-06 10:56:48 +0400

litnimax Gravatar litnimax
1453 11 8 29
http://www.pbxware.ru/

Comments

A new option, match_auth_username in sip.conf changes the matching of incoming requests. If set, and the incoming request carries authentication info, the username to match in the users list is taken from the Digest header rather than from the From: field. This feature is considered experimental. - http://www.venturevoip.com/CHANGESlitnimax ( 2011-06-06 11:00:39 +0400 )редактировать

3 Ответа

0

fromuser=XXXX

пробывали?

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

ответил 2011-06-06 11:08:16 +0400

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

Comments

А при чем тут fromuser? Это же для исходящих от asterisk звонков. litnimax ( 2011-06-06 11:24:46 +0400 )редактировать
а фиг его знает. вы попробуйте на всякий. например он его может при генерации nonce втулить. meral ( 2011-06-06 15:03:05 +0400 )редактировать
1

Проблема по данному логу понятна, видима нужна модификация Астериск, чтобы он второй раз отвечал еще раз 401 вместо 403. Подробнее:

  1. Екига шлет REGISTER без Authorization
  2. Астериск отвечает 401, но так он не знает еще имя из поля Authorization, то для генерации атрибута nonce он использует имя max
  3. Екига шлет REGISTER с Autorization, использует имя maxauth
  4. Asterisk отвечает 403, так как ответ Екиги с его точки зрения некорректен
ссылка удалить спам редактировать

ответил 2011-06-06 12:59:58 +0400

igorg Gravatar igorg flag of Russian Federation
2244 3 7 40
http://igorg.ru/

Comments

Спасибо, Игорь. Если вдруг увидишь движения по этому вопросу - дай знать плз. litnimax ( 2011-06-06 13:13:59 +0400 )редактировать
0

На версии 1.6.2.18.2 все успешно работает! Только необходимо применить патч http://www.bertera.it/software/asterisk-stuff/asterisk-1.6.2.2-sip-peer-authuser-patch.diff и пересобрать + перегрузить!

Если все хорошо, то в описании пира добавиться параметр Auth User :

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

ответил 2012-09-13 13:52:57 +0400

link Gravatar link flag of Ukraine
1

Comments

Интересно, почему бы это не добавить в транк Asterisk'a :-(

litnimax ( 2012-09-13 17:56:35 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

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

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

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

Статистика

Задан: 2011-06-06 10:56:48 +0400

Просмотрен: 10,730 раз

Обновлен: Sep 13 '12

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