VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Вина кодеков, или проделки ната?

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

RomanL
Сообщения: 47
Зарегистрирован: 01 ноя 2012, 13:22

Вина кодеков, или проделки ната?

Сообщение RomanL »

Приветствую всех присутствующих!!
В общем ситуация такая - решил собрать следующую схему. В одном месте поднял астериск(назовём его астериск1), зарегал на него несколько локальных телефонов, соединил этот астер через опенвпн с астером(назовём его астериск2) на ВДСке в англии по средством IAX. На английском астере поднят транк до сип провайдера и диалплан чтобы с астера отечественного, звонки шли через астер импортный, да на сиппровайдер. Но суть не в этом. Попробовал подцепить сип телефон напрямую к британскому астеру и при попытке дозвона с астериск1 на этот самый телефон получаю, что в трубке астера1 КПВ идёт даже после поднятия трубки на телефоне астера2, а в трубке астера2 - тишина дрямучая. Везде использовал alaw,ulaw. Помогите сэкономить время - в какую сторону смотреть? Может такая ситуация быть из-за кодеков, или копать в сторону топологий?
В общем настройки IAX.conf семитричны
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[general]
autokill=yes
register => russia:welcome@192.168.0.12
disallow = all
allow = alaw,ulaw
rtcachefriends=yes
rtupdate=yes
qualify=yes

[england]
type=friend
host=dynamic
trunk=yes
secret=welcome
context=LocalOnly
настройки sip.conf астера2
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[general]
dtmfmode = rfc2833
disallow = all
allow = alaw,ulaw
allowguest = no
canreinvite = no
srvlookup=yes
insecure = invite
qualify=yes

[300]
type = friend
username = 300
nat = yes
secret = Password
host = dynamic
context = RemoteOnly
sip.conf астера1 я так понимаю не нужен, так как связь между ними идёт через iax. Подскажите куда посмотреть в первую очередь, заранее спасибо и прошу прощения, если это где-то были, а я так и не научился правильно пользоваться поиском.
RomanL
Сообщения: 47
Зарегистрирован: 01 ноя 2012, 13:22

Re: Вина кодеков, или проделки ната?

Сообщение RomanL »

PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
-- Executing [300@RemoteOnly:2] Dial("IAX2/russia-1146", "SIP/300,,Tt") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/300
-- IAX2/russia-1146 requested media update control 20, passing it to SIP/300-0000002f
-- IAX2/russia-1146 requested media update control 20, passing it to SIP/300-0000002f
-- IAX2/russia-1146 requested media update control 20, passing it to SIP/300-0000002f
-- SIP/300-0000002f is ringing
Tx-Frame Retry[000] -- OSeqno: 004 ISeqno: 006 Type: CONTROL Subclass: RINGING
Timestamp: 00894ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
Rx-Frame Retry[ No] -- OSeqno: 006 ISeqno: 005 Type: IAX Subclass: ACK
Timestamp: 00894ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
Rx-Frame Retry[ No] -- OSeqno: 006 ISeqno: 005 Type: CONTROL Subclass: SRCUPDT
Timestamp: 01237ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
Tx-Frame Retry[-01] -- OSeqno: 005 ISeqno: 007 Type: IAX Subclass: ACK
Timestamp: 01237ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
Rx-Frame Retry[ No] -- OSeqno: 007 ISeqno: 005 Type: CONTROL Subclass: SRCUPDT
Timestamp: 01240ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
Tx-Frame Retry[-01] -- OSeqno: 005 ISeqno: 008 Type: IAX Subclass: ACK
Timestamp: 01240ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
-- IAX2/moscow-1146 requested media update control 20, passing it to SIP/300-0000002f
-- IAX2/moscow-1146 requested media update control 20, passing it to SIP/300-0000002f
-- SIP/201-0000002f answered IAX2/russia-1146
Tx-Frame Retry[000] -- OSeqno: 005 ISeqno: 008 Type: CONTROL Subclass: SRCUPDT
Timestamp: 07309ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
Rx-Frame Retry[ No] -- OSeqno: 008 ISeqno: 006 Type: IAX Subclass: ACK
Timestamp: 07309ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
Rx-Frame Retry[ No] -- OSeqno: 008 ISeqno: 006 Type: IAX Subclass: LAGRQ
Timestamp: 10017ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
Tx-Frame Retry[000] -- OSeqno: 006 ISeqno: 009 Type: IAX Subclass: LAGRP
Timestamp: 10017ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
Rx-Frame Retry[ No] -- OSeqno: 009 ISeqno: 007 Type: IAX Subclass: ACK
Timestamp: 10017ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
Tx-Frame Retry[000] -- OSeqno: 007 ISeqno: 009 Type: IAX Subclass: LAGRQ
Timestamp: 10018ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00009ms SCall: 12845 DCall: 00000 [10.0.0.10:4569]
USERNAME : russia
REFRESH : 60

Tx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: CTOKEN
Timestamp: 00009ms SCall: 00001 DCall: 12845 [10.0.0.10:4569]
CALLTOKEN : 51 bytes

Rx-Frame Retry[ No] -- OSeqno: 009 ISeqno: 008 Type: IAX Subclass: LAGRP
Timestamp: 10018ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
Tx-Frame Retry[-01] -- OSeqno: 008 ISeqno: 010 Type: IAX Subclass: ACK
Timestamp: 10018ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 000 Type: IAX Subclass: REGREQ
Timestamp: 00092ms SCall: 12845 DCall: 00000 [10.0.0.10:4569]
USERNAME : russia
REFRESH : 60
CALLTOKEN : 51 bytes

Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 001 Type: IAX Subclass: REGAUTH
Timestamp: 00002ms SCall: 03521 DCall: 12845 [10.0.0.10:4569]
AUTHMETHODS : 3
CHALLENGE : \x33\x31\x31\x34\x39\x37\x31\x32\x31
USERNAME : russia

Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 001 Type: IAX Subclass: REGREQ
Timestamp: 00180ms SCall: 12845 DCall: 03521 [10.0.0.10:4569]
USERNAME : russia
REFRESH : 60
MD5 RESULT : 7d58e1331b67caa3160ae8709b2fc686

Tx-Frame Retry[000] -- OSeqno: 001 ISeqno: 002 Type: IAX Subclass: REGACK
Timestamp: 00095ms SCall: 03521 DCall: 12845 [10.0.0.10:4569]
USERNAME : russia
DATE TIME : 2013-05-16 18:16:34
REFRESH : 60
APPARENT ADDRES : IPV4 10.0.0.10:4569

Rx-Frame Retry[ No] -- OSeqno: 002 ISeqno: 002 Type: IAX Subclass: ACK
Timestamp: 00095ms SCall: 12845 DCall: 03521 [10.0.0.10:4569]
Rx-Frame Retry[ No] -- OSeqno: 010 ISeqno: 008 Type: IAX Subclass: LAGRQ
Timestamp: 20020ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
Tx-Frame Retry[000] -- OSeqno: 008 ISeqno: 011 Type: IAX Subclass: LAGRP
Timestamp: 20020ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
Rx-Frame Retry[ No] -- OSeqno: 011 ISeqno: 009 Type: IAX Subclass: ACK
Timestamp: 20020ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
Tx-Frame Retry[000] -- OSeqno: 009 ISeqno: 011 Type: IAX Subclass: LAGRQ
Timestamp: 20018ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
Rx-Frame Retry[ No] -- OSeqno: 011 ISeqno: 010 Type: IAX Subclass: LAGRP
Timestamp: 20018ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
Tx-Frame Retry[-01] -- OSeqno: 010 ISeqno: 012 Type: IAX Subclass: ACK
Timestamp: 20018ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
Rx-Frame Retry[ No] -- OSeqno: 012 ISeqno: 010 Type: IAX Subclass: PING
Timestamp: 21017ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
Tx-Frame Retry[000] -- OSeqno: 010 ISeqno: 013 Type: IAX Subclass: PONG
Timestamp: 21017ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
RR_JITTER : 0
RR_LOSS : 0
RR_PKTS : 1
RR_DELAY : 40
RR_DROPPED : 0
RR_OUTOFORDER : 0

Rx-Frame Retry[ No] -- OSeqno: 013 ISeqno: 011 Type: IAX Subclass: ACK
Timestamp: 21017ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
Tx-Frame Retry[000] -- OSeqno: 011 ISeqno: 013 Type: IAX Subclass: PING
Timestamp: 21019ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
Rx-Frame Retry[ No] -- OSeqno: 013 ISeqno: 012 Type: IAX Subclass: PONG
Timestamp: 21019ms SCall: 23953 DCall: 01146 [192.168.3.12:4569]
RR_JITTER : 0
RR_LOSS : 0
RR_PKTS : 1
RR_DELAY : 40
RR_DROPPED : 0
RR_OUTOFORDER : 0

Tx-Frame Retry[-01] -- OSeqno: 012 ISeqno: 014 Type: IAX Subclass: ACK
Timestamp: 21019ms SCall: 01146 DCall: 23953 [192.168.3.12:4569]
ded
Сообщения: 15627
Зарегистрирован: 26 авг 2010, 19:00

Re: Вина кодеков, или проделки ната?

Сообщение ded »

настройки IAX.conf у Вас вряд ли симметричны (старайтейсь всё-таки грамотно писать, ну спелл-чекер сильно поможет). Если один
[england]
type=friend
host=dynamic

то другой то должен быть статик.
host=1.2.3.4

Если в каждом сделать
iax2 show peers
то там не будут они видеть друг друга.

Вам книжку почитать, главу - как соединять Астериски по IAX2
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: Вина кодеков, или проделки ната?

Сообщение Aven »

IAX не нужен. Используйте SIP.
Решения телефонии на базе Asterisk || http://it-need.ru
ded
Сообщения: 15627
Зарегистрирован: 26 авг 2010, 19:00

Re: Вина кодеков, или проделки ната?

Сообщение ded »

SIP тоже не нужен. Используйте SCCP.
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: Вина кодеков, или проделки ната?

Сообщение Aven »

Это уже изврат. Есть SIP, он в любом случае будет использоваться, он предоставляет максимум функционала, удобен в отладке, есть куча документации по нему. Не нужно к нему никаких припарок в виде SCCP и IAX. Которые дублируют SIP.
Решения телефонии на базе Asterisk || http://it-need.ru
ded
Сообщения: 15627
Зарегистрирован: 26 авг 2010, 19:00

Re: Вина кодеков, или проделки ната?

Сообщение ded »

IAX2 - удобнее и проще. Но не все знают.
Я_гарантирую_это!
RomanL
Сообщения: 47
Зарегистрирован: 01 ноя 2012, 13:22

Re: Вина кодеков, или проделки ната?

Сообщение RomanL »

Спасибо большое за ответы! Так вот по книжке и делал начитавшись холиваров по связки астеров ;) Соеденены они, я так понимаю, корректно, так как если зарегать телефон на астер2(в англии), который будет помещён при помощи впна в одну подсеть, то между двумя астерами звонки бегают нормально, так же как и входящие/исходящие, сделанные с астера1 через сиптранк с провайдером на астере2, идут нормально. В дебагах я вообще не вижу проблем, идёт ансвер, потом хенгап, только вот после ансвера в дебаге КПВ продолжает идти у оригинатора. Считаете стоит попробовать по сипу их связать? Забыл сказать что соединение происходит через микротикОС и с той и стой стороны, но что маршрутизация, что нат, что фаервольные правила, всё настроено корректно, пробовал открывать всё и оставлять голую маршрутизацию-эффекта ноль соответственно. Хочу понять - с чем это чисто гипотетически может быть связано, что бы не тратить время и не копать в ложном направлении, а разобраться ой как хочется - сон нарушился. Заранее спасибо.

P.S. Если есть что-то по типу Гольдштейна и по IAXу - посоветуйте, пожалуйста. Хоть у меня и с Гольдштейном пока концы с концами не сходятся в голове, не упорядочил мешанину, но в ситуации хочется разобраться. Спасибо.
ded
Сообщения: 15627
Зарегистрирован: 26 авг 2010, 19:00

Re: Вина кодеков, или проделки ната?

Сообщение ded »

RomanL,
1) Сделайте
ded писал(а): iax2 show peers
на каждом. На какой ИП забинден канал IAX2 на них?
2) Покажите строку Dial(IAX2/england/ как Вы направляете звонки друг на друга.
3)
RomanL писал(а): В дебагах я вообще не вижу проблем, идёт ансвер, потом хенгап, только вот после ансвера в дебаге КПВ продолжает идти у оригинатора.
Лучше показать это, чем рассказывать.
4) mtr друг на друга?
5)
RomanL писал(а): что маршрутизация, что нат, что фаервольные правила, всё настроено корректно
Ну тогда у Вас всё работает корректно. В чём вопрос? после ансвера в дебаге КПВ продолжает идти у оригинатора? Значит не всё корректно. Если VPN, то какие в ж..ж.. проделки ната? Какой NАТ в VPN?
6) Не надо делать регистрацию, если у вас внутренние твёрдые ИП

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

[general]
autokill=yes
;register => russia:welcome@192.168.0.12
disallow = all
allow = alaw,ulaw
;rtcachefriends=yes
;rtupdate=yes
; qualify=yes не надо

[england]
type=friend
host=192.168.1.10
trunk=yes
username=russia
secret=welcome
context=LocalOnly

------- на другом : ---------------

[russia]
type=friend
host=192.168.0.12
trunk=yes
username=england
secret=welcome
context=LocalOnly
и покажите контекст
[LocalOnly]
RomanL
Сообщения: 47
Зарегистрирован: 01 ноя 2012, 13:22

Re: Вина кодеков, или проделки ната?

Сообщение RomanL »

Переделал. Решил всё заново сделать.

192.168.3.12 - Астериск1(Россия)
10.0.0.10(Микротик со стороны России(клиент), организующий соединение по впн подсетей 192.168.3.0(Россия) и 172.17.0.0(Англия))
10.0.0.1(Микротик со стороны Англии(сервер), организующий соединение по впн подсетей 192.168.3.0(Россия) и 172.17.0.0(Англия))
172.17.0.12 - Астериск2(Англия)

Вывод звонка на астериск2(Англия), при попытке набора с Астера1(Россия) на удалённо подключённый сип-телефон на астер2:
201-подключённый удалённо сип телефон
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
;Chexia
[201]
type = friend
username = 201
secret = Password
host = dynamic
nat = yes
context = RemoteOnly
Сам вывод:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
-- Accepting AUTHENTICATED call from 10.0.0.10:
> requested format = alaw,
> requested prefs = (alaw|ulaw),
> actual format = alaw,
> host prefs = (alaw|ulaw),
> priority = mine
-- Executing [201@RemoteAndWorld:1] Answer("IAX2/moscow-3081", "") in new stack
-- Executing [201@RemoteAndWorld:2] Dial("IAX2/moscow-3081", "SIP/201,,Tt") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/201
-- IAX2/moscow-3081 requested media update control 20, passing it to SIP/201-00000047
-- IAX2/moscow-3081 requested media update control 20, passing it to SIP/201-00000047
-- IAX2/moscow-3081 requested media update control 20, passing it to SIP/201-00000047
-- SIP/201-00000047 is ringing
-- IAX2/moscow-3081 requested media update control 20, passing it to SIP/201-00000047
-- IAX2/moscow-3081 requested media update control 20, passing it to SIP/201-00000047
-- SIP/201-00000047 is ringing
-- SIP/201-00000047 answered IAX2/moscow-3081
== Spawn extension (RemoteAndWorld, 201, 2) exited non-zero on 'IAX2/moscow-3081'
-- Hungup 'IAX2/moscow-3081'
Соответственно у оригинатора после ансвера гудки, на той стороне тишина

Context RemoteOnly на астериск2(Англия)
В контексте RemoteAndWorld include => RemoteOnly
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[RemoteOnly]
exten => _1XX,1,Answer()
exten => _1XX,2,Dial(IAX2/moscow/${EXTEN},,Tt)
exten => _1XX,3,Hangup()

exten => _2XX,1,Answer()
exten => _2XX,2,Dial(SIP/${EXTEN},,Tt)
exten => _2XX,3,Hangup()
Context LocalOnly астер1(Россия)
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[LocalOnly]
exten => _1XX,1,Answer()
exten => _1XX,2,Dial(SIP/${EXTEN},,Tt)
exten => _1XX,3,Hangup()

exten => _2XX,1,Answer()
exten => _2XX,2,Dial(IAX2/england/${EXTEN},,Tt)
exten => _2XX,3,Hangup()
iax.conf астер1(Россия)
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[general]
autokill=yes
disallow = all
allow = alaw,ulaw

[england]
type=friend
host=172.17.0.12
trunk=yes
username=moscow
secret=welcome
context=LocalOnly
iax.conf на астер2(Англия)
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
[general]
autokill=yes
disallow = all
allow = alaw,ulaw

[moscow]
type=friend
host=192.168.3.12
trunk=yes
username=england
secret=welcome
context=RemoteAndWorld
iax2 show peers астер1
Name/Username Host Mask Port Status
england/mosc 172.17.0.12 (S) 255.255.255.255 4569 (T) Unmonitored

iax2 show peers астер2
Name/Username Host Mask Port Status
moscow/england 192.168.3.12 (S) 255.255.255.255 4569 (T) Unmonitored

Так, вроде всё.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH