Страница 1 из 2

iax2 b type=friend

Добавлено: 02 авг 2014, 15:04
Чистый
Добрый день, есть два сервера на которых стоит Aster 11, между ними настроил iax, но вылезла не совсем понятная мне проблема, если iax настраивать так:
[rostov]
secret=$ecrEt
type=user
context=from-internal
host=192.168.95.30

[rostov]
host=192.168.95.30
username=rostov
secret=$ecrEt
type=peer
qualify=yes
context=from-internal
trunk=yes

то транк поднимается и все работает, а если вот так:
[rostov]
type=friend
quality=yes
auth=md5
trunk=yes
username=rostov
secret=ecrEt
host=192.168.95.30
context=from-internal
insecure=port,invite
disallow=all
allow=ulaw
allow=alaw
allow=g723
canreinvite=no


то нет, как бы разницы большой для меня нет, но все хотелось бы настраивать через friend.
ОС CentOS 6.5 Aster 11 собирается из исходников.
Спасибо.

Re: iax2 b type=friend

Добавлено: 02 авг 2014, 15:54
zzuz
Чего бы ему работать , если в одном месте secret=ecrEt , а другом secret=$ecrEt . Это для начала.

Re: iax2 b type=friend

Добавлено: 03 авг 2014, 00:15
Чистый
Да нет, это просто тут опечатка, понятно что такой косяк, со своей стороны я бы заметил. Проблема явно в чем то другом.

Re: iax2 b type=friend

Добавлено: 03 авг 2014, 09:20
virus_net
Чистый писал(а):то нет
нужно дать описание проблемы в тексте длинной более 5-ти букв и привести логи из консоли и/или дампы

Re: iax2 b type=friend

Добавлено: 03 авг 2014, 22:20
Чистый
Конечно, завтра буду на работе, выложу выхлоп консоли астера и распишу более подробно, да бы описать всю картину.

Re: iax2 b type=friend

Добавлено: 04 авг 2014, 13:32
Чистый
Вообщем имем два сервера srv1
asterisk : 11.07
OS: Ubuntu 12.04
IP: 192.168.11.30

srv2
asterisk: 11.11
OS: CentOS 6.5
IP: 192.168.13.30

настройки iax на srv1:

Код: Выделить всё

register => server1:$erveR1@192.168.13.30
[srv2]
type=friend
quality=yes
auth=md5
trunk=yes
username=server2
secret=$erveR2
host=192.168.13.30
context=internal
insecure=port,invite
disallow=all
allow=ulaw
allow=alaw
allow=g723
canreinvite=no

настройки iax на srv2

Код: Выделить всё

register => server2:$erveR2@192.168.11.30
[srv1]
type=friend
quality=yes
auth=md5
trunk=yes
username=server1
secret=$serveR1
host=192.168.11.30
context=internal
insecure=port,invite
disallow=all
allow=ulaw
allow=alaw
allow=g723
canreinvite=no

после перезагрузки настроек iax2 (iax2 relaod)
получаем на одном сервере:

Код: Выделить всё

Name/Username    Host                 Mask             Port          Status      Description                     
srv2/server2     192.168.13.30   (S)  255.255.255.255  4569 (T)      Unmonitored 
и на другом:

Код: Выделить всё

Name/Username    Host                 Mask             Port          Status      Description                     
srv1/server1     192.168.11.30   (S)  255.255.255.255  4569 (T)      Unmonitored 
при звонке с srv1 на srv2 при контектсе:

Код: Выделить всё

exten =>_22XX, 1, NoOp()
exten =>_22XX, n, Dial(IAX2/srv2/${EXTEN},60)
exten =>_22XX, n, Playback(invalid)
exten =>_22XX, n, Hangup()
получаем ошибку что канала нет, а оно и верно, ведь он не поднят.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:

Код: Выделить всё

 Timestamp: 00016ms  SCall: 20666  DCall: 00000 [192.168.13.30:4569]
   VERSION         : 2
   CALLED NUMBER   : 2200
   CODEC_PREFS     : (ulaw|alaw|g723)
   CALLING NUMBER  : 1703
   CALLING PRESNTN : 0
   CALLING TYPEOFN : 0
   CALLING TRANSIT : 0
   CALLING NAME    : 
   LANGUAGE        : en
   USERNAME        : server2
   FORMAT          : 4
   FORMAT2         : ulaw
   CAPABILITY      : 13
   CAPABILITY2     : Unknown
   ADSICPE         : 2
   DATE TIME       : 2014-08-04  13:28:30

Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: CTOKEN 
   Timestamp: 00016ms  SCall: 00001  DCall: 20666 [192.168.13.30:4569]
   CALLTOKEN       : 51 bytes

Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: NEW    
   Timestamp: 00054ms  SCall: 20666  DCall: 00000 [192.168.13.30:4569]
   VERSION         : 2
   CALLED NUMBER   : 2200
   CODEC_PREFS     : (ulaw|alaw|g723)
   CALLING NUMBER  : 1703
   CALLING PRESNTN : 0
   CALLING TYPEOFN : 0
   CALLING TRANSIT : 0
   CALLING NAME    : 
   LANGUAGE        : en
   USERNAME        : server2
   FORMAT          : 4
   FORMAT2         : ulaw
   CAPABILITY      : 13
   CAPABILITY2     : Unknown
   ADSICPE         : 2
   DATE TIME       : 2014-08-04  13:28:30
   CALLTOKEN       : 51 bytes

Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: AUTHREQ
   Timestamp: 00001ms  SCall: 05544  DCall: 20666 [192.168.13.30:4569]
   AUTHMETHODS     : 3
   CHALLENGE       : \x37\x30\x34\x30\x33\x33\x34\x37\x35
   USERNAME        : server2

Tx-Frame Retry[000] -- OSeqno: 001 ISeqno: 001 Type: IAX     Subclass: AUTHREP
   Timestamp: 00093ms  SCall: 20666  DCall: 05544 [192.168.13.30:4569]
   MD5 RESULT      : 2c4feca3c8800f727f8221e11bdde963

Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 002 Type: IAX     Subclass: ACK    
   Timestamp: 00093ms  SCall: 05544  DCall: 20666 [192.168.13.30:4569]
Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 002 Type: IAX     Subclass: REJECT 
   Timestamp: 00039ms  SCall: 05544  DCall: 20666 [192.168.13.30:4569]
   CAUSE           : No authority found
   CAUSE CODE      : 50

Tx-Frame Retry[-01] -- OSeqno: 002 ISeqno: 002 Type: IAX     Subclass: ACK    
   Timestamp: 00039ms  SCall: 20666  DCall: 05544 [192.168.13.30:4569]
    -- Hungup 'IAX2/srv2-20666'
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [2200@office:3] Playback("SIP/1703-0000001f", "invalid") in new stack
    -- <SIP/1703-0000001f> Playing 'invalid.gsm' (language 'ru')
    -- Executing [2200@office:4] Hangup("SIP/1703-0000001f", "") in new stack
  == Spawn extension (office, 2200, 4) exited non-zero on 'SIP/1703-0000001f'
можно конечно попробовать добавить логин и пароль в экстеншен, но я не догоняю почему iax trunk пишет что Unmonitored, подскажите где я не прав.

Re: iax2 b type=friend

Добавлено: 04 авг 2014, 14:01
ded
Вы не читали книжку, а там всё уже написано. Нет сил по 155-му кругу пересказывать эту книжку, да и смысла нет. Придёт 156-й, и спросит: вот настраиваю, а не идёт. Что не так?

Дофига чего не так. То есть много. Если
host=192.168.13.30
то register = не нужен вообще.

Unmonitored, потому что не мониторится пакетами qualify, оно и не обязательно чеще всего, не влияет на прохождение вызова, звонок в IAX2 транке нужно аутентифицировать через username & password, да и не забывать про calltoken required..

В общем - опять пересказ книжки.

Re: iax2 b type=friend

Добавлено: 04 авг 2014, 15:21
Чистый
Ну register тогда и не влияен ни на что, т.е. что он есть что его нет, аутентификацию я так же делал через логин и пароль:
Dial(IAX2/server1:$erveR1@srv2/${EXTEN},60)
Но все равно звонок астер на сервере на который идет вызов отбрасывает.

ну и раз на то дело пошло, то дайте плиз литературу кототую почитать было бы хорошо. Спасибо.

Re: iax2 b type=friend

Добавлено: 04 авг 2014, 16:58
ded

Re: iax2 b type=friend

Добавлено: 04 авг 2014, 17:14
Чистый
Слушай в Дж. ван Меггелен, Ярд Смит и Лейф Маадсен «Астериск - будущее телефонии». 2-e издание, там я когда хотел купить ее в бумажном варианте описывается верси 1.4, сейчас актуальна 1.8 и 11 сильно там много устаревшей информации будет ? И все же хотелось бы разобратся чего астер по iax не пускает :)