2015-05-19 2 views
1

Прежде всего я уже взглянул на подобные вопросы, такие как:Звездочка NAT SIP 2.0 Неразрешенные 401 Weird сценарий

https://serverfault.com/questions/392979/asterisk-sip-2-0-401-unauthorized или https://serverfault.com/questions/574166/asterisk-401-unauthorized-when-trying-to-register-sip-clients

пока они не относятся к моей ситуации или решению не решайте мою проблему.

У меня есть одна звездочка 1.8 коробка, сидящая на сайт A. Сайт A имеет открытый статический IP-адрес и локальный класс c сеть 192.168.1.X, звездочка находится за NAT. Некоторые телефоны находятся в одной локальной сети, а другие находятся в сайте B. Сайт B имеет другой открытый статический IP-адрес и локальную сеть класса c 192.168.2.X. Итак, телефоны на сайте B находятся за пределами nat.

Странно, некоторые телефоны на сайте B могут зарегистрироваться, а другие нет. Наиболее интересным примером является один Grandstream GXP 2100. Этот телефон имеет 3 счета со следующими конфигурациями конфигурации:

[1000] 
deny=0.0.0.0/0.0.0.0 
secret=xxxxxx 
dtmfmode=rfc2833 
canreinvite=no 
context=from-internal 
host=dynamic 
trustrpid=yes 
sendrpid=no 
type=friend 
nat=yes 
port=5060 
qualify=3000 
qualifyfreq=60 
transport=udp 
encryption=no 
callgroup= 
pickupgroup= 
dial=SIP/1000 
[email protected] 
permit=0.0.0.0/0.0.0.0 
callerid=TONY - Lab Line 1 <1000> 
callcounter=yes 
faxdetect=no 
cc_monitor_policy=generic 

[3000] 
deny=0.0.0.0/0.0.0.0 
secret=xxxxxxx 
dtmfmode=rfc2833 
canreinvite=no 
context=from-internal 
host=dynamic 
trustrpid=yes 
sendrpid=no 
type=friend 
nat=yes 
port=5060 
qualify=3000 
qualifyfreq=60 
transport=udp 
encryption=no 
callgroup= 
pickupgroup= 
dial=SIP/3000 
[email protected] 


[9000] 
deny=0.0.0.0/0.0.0.0 
secret=xxxxxxxxxxx 
dtmfmode=rfc2833 
canreinvite=no 
context=from-internal 
host=dynamic 
trustrpid=yes 
sendrpid=no 
type=friend 
nat=yes 
port=5060 
qualify=3000 
qualifyfreq=60 
transport=udp 
encryption=no 
callgroup= 
pickupgroup= 
dial=SIP/9000 
[email protected] 

только 1000 и учитывающие 3000 могут регистрироваться, в то время как счета 9000 встречает следующее сообщение об ошибке:

<--- SIP read from UDP:95.254.61.X:5064 ---> 
REGISTER sip:95.231.94.6 SIP/2.0 
Via: SIP/2.0/UDP 192.168.2.190:5064;branch=z9hG4bK1380984150;rport 
From: <sip:[email protected]>;tag=1294836145 
To: <sip:[email protected]> 
Call-ID: [email protected] 
CSeq: 2672 REGISTER 
Contact: <sip:[email protected]:5064>;reg-id=3;+sip.instance="<urn:uuid:00000000-0000-1000-8000-000B8251202A>" 
X-Grandstream-PBX: true 
Max-Forwards: 70 
User-Agent: Grandstream GXP2100 1.0.5.23 
Supported: path 
Expires: 3600 
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE 
Content-Length: 0 

<-------------> 
--- (14 headers 0 lines) --- 
Sending to 95.254.61.X:5064 (NAT) 

<--- Transmitting (NAT) to 95.254.61.X:5064 ---> 
SIP/2.0 401 Unauthorized 
Via: SIP/2.0/UDP 192.168.2.190:5064;branch=z9hG4bK1380984150;received=95.254.61.248;rport=5064 
From: <sip:[email protected]>;tag=1294836145 
To: <sip:[email protected]>;tag=as54ceb003 
Call-ID: [email protected] 
CSeq: 2672 REGISTER 
Server: FPBX-2.10.1(1.8.21.0) 
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH 
Supported: replaces, timer 
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="47737672" 
Content-Length: 0 


<------------> 

Как вы думаете, что вызывает эту проблему? Заранее благодарю за вашу любезную поддержку и помощь!

ответ

1

Это нормален behavour звездочек

Звездочка ответа, как самовольные с НОВОЙ Нонс пакетом. После этого клиент снова получит ответ с md5sum, рассчитанным с помощью этого nonce.

Очень likly в вашем случае, если клиент не получает этот пакет для какой-либо причине (неправильный туземный настройка, брандмауэр и т.д.)

+0

О, спасибо! Могу ли я спросить вас, почему в строке «Via: SIP/2.0/UDP 192.168.2.190:5064» он отправляет внутренний ip и отправляет публичный ip «

+0

Через заголовки, используемые для лучшего обхода. Это нормально. – arheops

+0

Да, захватите телефонную сторону, чтобы узнать, есть ли у телефона A) получение ответа и B) отправка нового РЕГИСТРА с соответствующим заголовком авторизации. Протокол аутентификации указан здесь: http://tools.ietf.org/html/rfc3261#section-22.2 – korvus

Смежные вопросы