В общем есть транк IAX2 и внутренние пользователи конфиг таков:
[4381] iax пир для входящих
disallow=all
secret=ЧЧЧЧЧЧЧЧ
type=user
trunk=yes
context=from-trunk
allow=alaw
requirecalltoken=yes
[120000] iax пир для исходящих
disallow=all
host=11.22.11.22
username=4381
secret=ЧЧЧЧЧЧЧЧ
type=peer
trunk=yes
allow=alaw
requirecalltoken=yes
context=from-trunk-iax2-120000
[900] - внтренние пир
host=dynamic
type=friend
port=4569
qualify=yes
dial=IAX2/900
mailbox=900@device
permit=0.0.0.0/0.0.0.0
requirecalltoken=yes
callerid=902 <902>
setvar=REALCALLERIDNUM=902
deny=0.0.0.0/0.0.0.0
secret=85d36442cd4e382aff714adb5d3ab4e0
transfer=yes
context=from-internal
host=dynamic
type=friend
port=4569
qualify=yes
dial=IAX2/900
mailbox=900@device
permit=0.0.0.0/0.0.0.0
requirecalltoken=yes
callerid=900 <900>
setvar=REALCALLERIDNUM=900
Есть строка регистрации:
4381:ЧЧЧЧЧЧЧЧ@IPАдрес
пока небыл внутреннего пира всходящая и исходящая работали корректно.
При добавлении внутреннего пользователя появляется непонятная фигня:
в дебаге при входящем звонке:
AUTHMETHODS : 3
CHALLENGE : \x32\x30\x36\x31\x31\x35\x33\x31\x33
USERNAME : 900
т.е. авторизация идет получается по внутреннему номеру...
а когда я ставлю у внутреннего:
type=peer
то авторизация начинает работать нормально:
AUTHMETHODS : 3
CHALLENGE : \x31\x30\x30\x37\x30\x35\x35\x39\x32
USERNAME : 4381
кстаие если поставить type=user
то тож не автризует.
первый раз такое вижу. Раньше обединял астериски без проблем, теперь задача с регистрацией это сделать.
Дебаг с нормальной авторизацией если внутренний абонент тип peer:
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00011ms SCall: 16270 DCall: 00000 [IPАдрес:4569]
VERSION : 2
CALLED NUMBER : s
CODEC_PREFS : (alaw|ulaw|gsm)
CALLING NUMBER : 120000
CALLING PRESNTN : 0
CALLING TYPEOFN : 0
CALLING TRANSIT : 0
CALLING NAME : 120000
LANGUAGE : en
FORMAT : 8
FORMAT2 : alaw
CAPABILITY : 14
CAPABILITY2 : Unknown
ADSICPE : 2
DATE TIME : 2015-01-21 13:57:54
CALLTOKEN : 51 bytes
Tx-Frame Retry[-01] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00011ms SCall: 06410 DCall: 16270 [IPАдрес:4569]
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: AUTHREQ
Timestamp: 00012ms SCall: 06410 DCall: 16270 [IPАдрес:4569]
AUTHMETHODS : 3
CHALLENGE : \x31\x39\x34\x35\x33\x38\x34\x31\x38
USERNAME : 4381
Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: AUTHREP
Timestamp: 00012ms SCall: 16270 DCall: 06410 [IPАдрес:4569]
MD5 RESULT : 7e9e1b9c6a89c46a960741124696862a
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 002 Type: IAX Subclass: ACK
Timestamp: 00012ms SCall: 06410 DCall: 16270 [IPАдрес:4569]
-- Accepting AUTHENTICATED call from IPАдрес:
-- > requested format = alaw,
-- > requested prefs = (alaw|ulaw|gsm),
-- > actual format = alaw,
-- > host prefs = (alaw),
-- > priority = mine
Tx-Frame Retry[000] -- OSeqno: 001 ISeqno: 002 Type: IAX Subclass: ACCEPT
Timestamp: 00013ms SCall: 06410 DCall: 16270 [IPАдрес:4569]
FORMAT : 8
FORMAT2 : alaw
как видно при входящем USERNAME=4381 что есть правда,
а вот теперь когда дебаг с нормальной авторизацией если внутренний абонент тип friend или user:
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: NEW
Timestamp: 00008ms SCall: 14592 DCall: 00000 [IPАдрес:4569]
VERSION : 2
CALLED NUMBER : s
CODEC_PREFS : (alaw|ulaw|gsm)
CALLING NUMBER : 120000
CALLING PRESNTN : 0
CALLING TYPEOFN : 0
CALLING TRANSIT : 0
CALLING NAME : 120000
LANGUAGE : en
FORMAT : 8
FORMAT2 : alaw
CAPABILITY : 14
CAPABILITY2 : Unknown
ADSICPE : 2
DATE TIME : 2015-01-21 14:01:32
CALLTOKEN : 51 bytes
Tx-Frame Retry[-01] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: ACK
Timestamp: 00008ms SCall: 05975 DCall: 14592 [IPАдрес:4569]
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: AUTHREQ
Timestamp: 00009ms SCall: 05975 DCall: 14592 [IPАдрес:4569]
AUTHMETHODS : 3
CHALLENGE : \x32\x36\x38\x33\x37\x36\x39\x34\x31
USERNAME : 900
Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: AUTHREP
Timestamp: 00009ms SCall: 14592 DCall: 05975 [IPАдрес:4569]
MD5 RESULT : e4be43957ddc02a80c626b3d912cfbf9
Tx-Frame Retry[-01] -- OSeqno: 001 ISeqno: 002 Type: IAX Subclass: ACK
Timestamp: 00009ms SCall: 05975 DCall: 14592 [IPАдрес:4569]
Tx-Frame Retry[000] -- OSeqno: 001 ISeqno: 002 Type: IAX Subclass: REJECT
Timestamp: 01009ms SCall: 05975 DCall: 14592 [IPАдрес:4569]
CAUSE : No authority found
CAUSE CODE : 50
как видно при входящем USERNAME=900 что не правильно, почему при входящем астер не находит правильного пользователя?
Проблема решена: подредактировал секцию:
[4381] iax пир для входящих
disallow=all
type=user
trunk=yes
context=from-trunk
allow=alaw
requirecalltoken=yes
убрал secret
из того что я смог переварить о аутентификации в IAX2, я понял что это единственный выход, может быть это не правильно но теперь и внутренние абоненты и транк на другой астериск работает нормально.
Задан: 2015-01-15 18:31:11 +0400
Просмотрен: 2,857 раз
Обновлен: Jan 21 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Мне кажется или у 4381 отсутствует host=dynamic?
StuxForce ( 2015-01-15 18:52:57 +0400 )редактироватьвсе правильно, у него и не должно быть, этот пользователь для входящих.
romariosar ( 2015-01-15 19:58:08 +0400 )редактироватьТипичная проблема выяснения разницы между type=user и type=peer . Особенно по IAX2.
zzuz ( 2015-01-16 06:12:43 +0400 )редактироватьЧе тут выяснять, и так все понятно, вопрос почему авторизация не правильно идет, когда внутренний пир доступен для входящих?
romariosar ( 2015-01-16 10:13:03 +0400 )редактироватьникто не сталкивался чтоль?
romariosar ( 2015-01-21 14:59:16 +0400 )редактироватьТипичная проблема выяснения разницы между type=user и type=peer . Особенно по IAX2.
zzuz ( 2015-01-21 15:02:58 +0400 )редактироватьнапишите где я не прав.
romariosar ( 2015-01-21 15:22:31 +0400 )редактироватьво-первых у вас кучамала в секции [900] . во-вторых Tx-Frame Retry описывает исходящий пакет. В-третьих в вопросе не хватает информации о диаплане. кто куда звонит, зачем , почему?
zzuz ( 2015-01-21 15:34:56 +0400 )редактироватьтам freePBX, IAX транк на другой астериск, IAX транк для входяших 4381, для исходящих 12000. диалплан не отрабатывается при не пройденной авторизации.
romariosar ( 2015-01-21 16:35:03 +0400 )редактироватьмистика.
zzuz ( 2015-01-21 16:38:13 +0400 )редактироватьпомоему все описано понятно. нашел такуюже проблему http://forums.asterisk.org/viewtopic.php?f=1&t=88496, ответа нет.
romariosar ( 2015-01-21 16:46:20 +0400 )редактировать