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

Проблема с входящими по IAX2 [Решено]

0

В общем есть транк 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

romariosar Gravatar romariosar flag of Russian Federation
588 93 11 44
http://www.webunix.ru/

обновил 2015-01-21 17:35:59 +0400

Comments

Мне кажется или у 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 )редактировать

Будьте первым, кто ответит на этот вопрос!

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)!
[скрыть предварительный просмотр]

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

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

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

Статистика

Задан: 2015-01-15 18:31:11 +0400

Просмотрен: 2,869 раз

Обновлен: Jan 21 '15

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