[prev in list] [next in list] [prev in thread] [next in thread] 

List:       asterisk-dev
Subject:    Re: [asterisk-dev] [Code Review] reworked chan_ooh323
From:       "Jeff Peeler" <jpeeler () digium ! com>
Date:       2009-10-29 17:10:28
Message-ID: 20091029171028.26050.57853 () hotblack ! digium ! internal
[Download RAW message or body]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/324/
-----------------------------------------------------------

(Updated 2009-10-29 12:10:28.791400)


Review request for Asterisk Developers.


Summary
-------

There is reworked chan_ooh323. 

Architecture changes are:
multi-thread instead of single-thread original version. One thread is for commands \
from asterisk call thread to h323 stack, one thread is for accepting endpoint \
connection and talking with gatekeeper, one thread per call is for call processing. \
separate memory context from one endpoint context to many contexts of one per call. \
mutexes for locking critical data are introduced.

Protocol changes are:
fast start response is generated based on our capability instead of return copy of \
remote FS OLC fast start response is generated one time per call
capability adaptation to remote side framing
improved gatekeeper support
non-standart codec (G726 and G726r32 from Cisco, AMB NB)  support
t.38 and mode changes (request mode/request mode ack) support

T.38 support, which implemented in two modes. Transparent mode is for non-t38 aware \
channels where translation from t38 packet to sound made by chan_ooh323 himself and \
faxgw mode which is t.38 pass-through and compatible with xFax applications and \
chan_sip.

and many small and cosmetic changes.


Diffs (updated)
-----

  /trunk/addons/Makefile 226527 
  /trunk/addons/chan_ooh323.h 226527 
  /trunk/addons/chan_ooh323.c 226527 
  /trunk/addons/ooh323c/src/context.c 226527 
  /trunk/addons/ooh323c/src/decode.c 226527 
  /trunk/addons/ooh323c/src/dlist.c 226527 
  /trunk/addons/ooh323c/src/encode.c 226527 
  /trunk/addons/ooh323c/src/errmgmt.c 226527 
  /trunk/addons/ooh323c/src/eventHandler.h 226527 
  /trunk/addons/ooh323c/src/eventHandler.c 226527 
  /trunk/addons/ooh323c/src/h323/H235-SECURITY-MESSAGESDec.c 226527 
  /trunk/addons/ooh323c/src/h323/H323-MESSAGESDec.c 226527 
  /trunk/addons/ooh323c/src/h323/MULTIMEDIA-SYSTEM-CONTROLDec.c 226527 
  /trunk/addons/ooh323c/src/memheap.h 226527 
  /trunk/addons/ooh323c/src/memheap.c 226527 
  /trunk/addons/ooh323c/src/ooCalls.h 226527 
  /trunk/addons/ooh323c/src/ooCalls.c 226527 
  /trunk/addons/ooh323c/src/ooCapability.h 226527 
  /trunk/addons/ooh323c/src/ooCapability.c 226527 
  /trunk/addons/ooh323c/src/ooCmdChannel.h 226527 
  /trunk/addons/ooh323c/src/ooCmdChannel.c 226527 
  /trunk/addons/ooh323c/src/ooCommon.h 226527 
  /trunk/addons/ooh323c/src/ooDateTime.h 226527 
  /trunk/addons/ooh323c/src/ooDateTime.c 226527 
  /trunk/addons/ooh323c/src/ooGkClient.h 226527 
  /trunk/addons/ooh323c/src/ooGkClient.c 226527 
  /trunk/addons/ooh323c/src/ooLogChan.h 226527 
  /trunk/addons/ooh323c/src/ooLogChan.c 226527 
  /trunk/addons/ooh323c/src/ooSocket.h 226527 
  /trunk/addons/ooh323c/src/ooSocket.c 226527 
  /trunk/addons/ooh323c/src/ooStackCmds.h 226527 
  /trunk/addons/ooh323c/src/ooStackCmds.c 226527 
  /trunk/addons/ooh323c/src/ooTimer.c 226527 
  /trunk/addons/ooh323c/src/ooUtils.c 226527 
  /trunk/addons/ooh323c/src/ooasn1.h 226527 
  /trunk/addons/ooh323c/src/oochannels.h 226527 
  /trunk/addons/ooh323c/src/oochannels.c 226527 
  /trunk/addons/ooh323c/src/ooh245.h 226527 
  /trunk/addons/ooh323c/src/ooh245.c 226527 
  /trunk/addons/ooh323c/src/ooh323.h 226527 
  /trunk/addons/ooh323c/src/ooh323.c 226527 
  /trunk/addons/ooh323c/src/ooh323ep.h 226527 
  /trunk/addons/ooh323c/src/ooh323ep.c 226527 
  /trunk/addons/ooh323c/src/ooports.c 226527 
  /trunk/addons/ooh323c/src/ooq931.h 226527 
  /trunk/addons/ooh323c/src/ooq931.c 226527 
  /trunk/addons/ooh323c/src/ootrace.h 226527 
  /trunk/addons/ooh323c/src/ootrace.c 226527 
  /trunk/addons/ooh323c/src/ootypes.h 226527 
  /trunk/addons/ooh323c/src/perutil.c 226527 
  /trunk/addons/ooh323c/src/printHandler.h 226527 
  /trunk/addons/ooh323c/src/printHandler.c 226527 
  /trunk/addons/ooh323c/src/rtctype.c 226527 
  /trunk/addons/ooh323cDriver.h 226527 
  /trunk/addons/ooh323cDriver.c 226527 

Diff: https://reviewboard.asterisk.org/r/324/diff


Testing
-------

Tested on heavily-loaded h323 transit server with call rate up to 8 per sec and up to \
200k per day. asterisk restarted only for changing module. No memory leaks.

T.38 tested in both mode. It work in transparent mode for sending and receiving \
faxes, work in faxgw mode with Send/ReceiveFax applications. Faxing with chan_sip is \
not tested because i don't have sip terminal with t.38 support.


Thanks,

may213


_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic