Re: Asterisk 1.6 и FreeBSD 8.0
Вот пример лога:
ssh*CLI> h323 set debug
H.323 debug enabled
-- Executing [204@office:1] Dial("SIP/280-00000000", "H323/204@alcatel") in new stack
-- Requested transfer capability: 0x00 - SPEECH
-- Making call to 204@212.33.19.195:1720 without gatekeeper.
Using 212.33.19.196 for outbound call
ssh*CLI>== New H.323 Connection created.
ssh*CLI>-- root is calling host 204@212.33.19.195:1720
-- Call token is ip$localhost/24844
-- Call reference is 24844
-- DTMF Payload is [pt=101]
-- Called 204@alcatel
Setting capabilities to 0xc (ulaw|alaw)
Capabilities in preference order is (alaw|ulaw)
Allowed Codecs:
ssh*CLI> Table:
G.711-ALaw-64k <1>
G.711-uLaw-64k <2>
UserInput/hookflash <3>
UserInput/RFC2833 <4>
UserInput/dtmf <5>
Set:
0:LI>
0:
G.711-ALaw-64k <1>
G.711-uLaw-64k <2>
1:
UserInput/hookflash <3>
2:
UserInput/RFC2833 <4>
UserInput/dtmf <5>
ssh*CLI>-- Sending SETUP message
ssh*CLI>-- Transmitting RFC2833 on payload 101
ssh*CLI>=-= In OnAlerting for call 24844: sessionId=0
ssh*CLI>-- Ringing phone for " Sazonov"
- Progress Indicator: 0
-- H323/alcatel-1 is ringing
-- H323/alcatel-1 is ringing
Using 212.33.19.196 for outbound H.245 transport
Peer capability is G.711-ALaw-64k <6>
Found peer capability G.711-ALaw-64k <6>, Asterisk code is 8, frame size (in ms) is 20
Peer capability is G.711-uLaw-64k <7>
Found peer capability G.711-uLaw-64k <7>, Asterisk code is 4, frame size (in ms) is 20
Peer capability is UserInput/dtmf <10>
Peer capabilities = 0xc (ulaw|alaw), ordered list is (alaw|ulaw)
ssh*CLI>-- Started logical channel: sending G.711-ALaw-64k
ssh*CLI> -- channelsOpen = 1
ssh*CLI>=-= In OnConnectionEstablished for call 24844
ssh*CLI> -- Connection Established with " Sazonov"
-- H323/alcatel-1 answered SIP/280-00000000
ssh*CLI>MyH323_ExternalRTPChannel::OnReceivedAckPDU
ssh*CLI> -- remoteIpAddress: 212.33.19.195
-- remotePort: 32086
External RTP Session Starting
RTP channel id 1 parameters:
ssh*CLI> -- remoteIpAddress: 212.33.19.195
ssh*CLI> -- remotePort: 32086
-- ExternalIpAddress: 212.33.19.196
ssh*CLI> -- ExternalPort: 18388
ssh*CLI>-- Started logical channel: receiving G.711-ALaw-64k
ssh*CLI> -- channelsOpen = 2
External RTP Session Starting
ssh*CLI> RTP channel id 1 parameters:
-- remoteIpAddress: 212.33.19.195
ssh*CLI> -- remotePort: 32084
-- ExternalIpAddress: 212.33.19.196
ssh*CLI> -- ExternalPort: 18388
ssh*CLI> channelsOpen = 1
ssh*CLI>ExternalRTPChannel Destroyed
ssh*CLI>-- Closing logical channel...
ssh*CLI> channelsOpen = 0
ssh*CLI>ExternalRTPChannel Destroyed
ssh*CLI>-- ClearCall: Request to clear call with token ip$localhost/24844, cause EndedByRemoteUser
ssh*CLI>-- Sending RELEASE COMPLETE
ssh*CLI>-- ClearCall: Request to clear call with token ip$localhost/24844, cause EndedByTransportFail
-- Sazonov has cleared the call
ssh*CLI>== H.323 Connection deleted.
== Spawn extension (office, 204, 1) exited non-zero on 'SIP/280-00000000'
Really destroying SIP dialog 'A44DBC3EC9454FCBB350B16E901298D90xc0a8010d' Method: ACK
ssh*CLI>
В процессе соединения alcatel говорит астеру, что будет слушать RTP на порту 32086.Далее alcatel начинает оправлять RTP на порт астера 18388, но не с порта 32086, а с порта 32084, а сама слушает 32086.Астер, видя что alcatel шлёт с порта 32084, отвечает на этот же порт, хотя договорились, что будет слать на 32086.Вот такая хрень.
Нагуглили симетрик RTP. Копать в его сторону? Опции nat и canreinvite не из этой серии? Где что подкрутить, что бы астер слал голос на порт, о котором договорился в момент установки соединения, а не на тот, которым начала пользоваться алкатель?
|