Помогите, пожалуйста разобраться с H323.
Ситуация такая: имеется Asterisk 1.6.2.20 и в нем H.323 version: 1.18.0.
* находитсяне за НАТом, а имеет два интерфейса для локалки и во внеху.
--------------------------------------
h323.conf
[general]
port = 1720
bindaddr=X.X.X.X(мой чесный ип)
disallow=all
allow=alaw
dtmfmode=rfc2833
faststart=no
h245tunneling=no
gatekeeper = DISABLE
AcceptAnonymous = yes
context=default
progress_setup = 8
progress_alert = 8
[prov]
type=peer
context=default
host=X.X.X.X(ip провайдера, который предоставляет H323 для исходящих вызовов)
port=1720
incominglimit=900
disallow=all
allow=g723
allow=alaw
dtmfmode=rfc2833
faststart=yes
h245Tunneling = yes
--------------------------------------
Так же есть 2 сип абонента, работают удаленно через x-lite
Когда абоненты звонят друг другу или другим абонентам через iax2 транк все
нормально звук ходит в обе стороны.
Когда любой из абонентов инициализирует вызов через H323 то голос есть но в
течении 21 секунды. Затем происходит разрыв соединения.
На фаерволе открыты в сторону провайдера порты tcp 1720(для h323) и udp
10000:30000 (для rtp)
Уже все перерыл, но ответа не могу найти. Помогите пожалуйста!
--------------------------------------
debug h323
Making call to 9969#89617733470@prov:1720 without gatekeeper.
Using мой_белый_ип for outbound call
== New H.323 Connection created.
-- root is calling host 9969#89617733470@prov:1720
-- Call token is ip$localhost/29864
-- Call reference is 29864
-- DTMF Payload is 0xa1427ac
-- Called 9969#89617733470@prov
Setting capabilities to 0x9 (g723|alaw)
Capabilities in preference order is (g723|alaw)
DTMF mode is 1
Allowed Codecs for ip$localhost/29864 (ip$мой_белый_ип:52053):
Table:
G.723.1A <1>
G.723.1 <2>
G.711-ALaw-64k <3>
UserInput/hookflash <4>
UserInput/RFC2833 <5>
Set:
0:
0:
G.723.1A <1>
G.723.1 <2>
G.711-ALaw-64k <3>
1:
UserInput/hookflash <4>
2:
UserInput/RFC2833 <5>
-- Sending SETUP message
-- Receiving RFC2833 on payload 101
-- Started logical channel: sending G.723.1
-- channelsOpen = 1
External RTP Session Starting
RTP channel id 1 parameters:
-- remoteIpAddress: prov
-- remotePort: 23672
-- ExternalIpAddress: мой_белый_ип
-- ExternalPort: 28038
-- Started logical channel: receiving G.723.1
-- channelsOpen = 2
External RTP Session Starting
RTP channel id 1 parameters:
-- remoteIpAddress: prov
-- remotePort: 23672
-- ExternalIpAddress: мой_белый_ип
-- ExternalPort: 28038
ExternalRTPChannel Destroyed
ExternalRTPChannel Destroyed
ExternalRTPChannel Destroyed
ExternalRTPChannel Destroyed
- Progress Indicator: 8
-- Received Facility message...
-- Receiving RFC2833 on payload 101
Peer capability is G.723.1A <7>
Found peer capability G.723.1A <7>, Asterisk code is 1, frame size (in ms) is 300
Peer capability is UserInput/basicString <16>
Peer capabilities = 0x1 (g723), ordered list is (g723)
-- Received Facility message...
-- Received Facility message...
-- Received Facility message...
=-= In OnAlerting for call 29864: sessionId=0
-- Ringing phone for "9969#89617733470"
- Progress Indicator: 8
-- H323/prov-7 is making progress passing it to SIP/1522-00000006
-- H323/prov-7 is making progress passing it to SIP/1522-00000006
-- H323/prov-7 is ringing
=-= In OnConnectionEstablished for call 29864
-- Connection Established with "AlterPSS"
-- H323/prov-7 answered SIP/1522-00000006
-- Received RELEASE COMPLETE message...
-- ClearCall: Request to clear call with token ip$localhost/29864, cause EndedByRemoteUser
-- Sending RELEASE COMPLETE
== Spawn extension (gw, 89617733470, 2) exited non-zero on 'SIP/1522-00000006'
-- ClearCall: Request to clear call with token ip$localhost/29864, cause EndedByTransportFail
channelsOpen = 1
channelsOpen = 0
ExternalRTPChannel Destroyed
ExternalRTPChannel Destroyed
-- AlterPSS has cleared the call
== H.323 Connection deleted.
--------------------------------------
Заранее Вам благодарен!
Если всегда 21 сек., возможно дело в NAT-e. например переполнении conntrack. или где0то в этом районе. сбрасывается "обратное" преобразование, входящие пакеты теряются, возникает ощущение сброса удалённой стороной.
В логе
-- Received RELEASE COMPLETE message...
Отбой с удаленной стороны. Пинайте провайдера.
Задан: 2012-01-09 05:22:28 +0400
Просмотрен: 845 раз
Обновлен: Dec 24 '14
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.