[Home]

Summary:ASTERISK-00472: [patch] OpenH323 bug on logical channel opening?
Reporter:Paul Cadach (pcadach)Labels:
Date Opened:2003-11-02 13:56:35.000-0600Date Closed:2004-09-25 02:49:15
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) openh323-1.12.2-startup.diff
Description:When call arrives from Cisco Call Manager (CCM), Asterisk says 'ast_rtp_read: Unable to connect' (or something like it). As I understand, connection scheme is:
User calls some type of PSTN gateway, which sends call handling information to CCM, which transfers it to Asterisk. Due to fast start disabled by CCM, it reports invalid remote RTP address (CCM's instead of PSTN gateway's). Last ACK from opening channel have valid RTP addresses but channel already opened by H245NegLogicalChannel::Open() (really by H245NegLogicalChannel::OpenWhileLocked())... :(((

****** ADDITIONAL INFORMATION ******

Patch for openh323 included - at least works for fast start enabled/disabled and for other clients than CCM (used OpenPhone under Win to test it). Just don't open channel which will be opened when channel->Start() called after received/sent ACK.
Comments:By: Paul Cadach (pcadach) 2003-11-02 14:22:04.000-0600

PS: oh323 channel driver works fine without this patch because it hooks on audio codec startup instead of ExternalRTP connection startup which handled wrong by openh323. May be Jeremy can find other solution instead of patching openh323?

One way I can see is to "clone" H323_ExternalRTPConnection class and hook OnReceivedAckPDU() to startup rtp instead of hooking H323Connection::OnStartLogicalChannel()...

edited on: 11-02-03 14:25

By: Paul Cadach (pcadach) 2003-12-01 03:54:05.000-0600

Ok, realized hooking of H323_ExternalRTPChannel::Start() to startup Asterisk's RTP. Works fine.

Cumulative patch will be available soon as replacement of existing in ticket ASTERISK-465.

This bug could be closed.

By: jerjer (jerjer) 2003-12-08 23:11:41.000-0600

closed per PCadach