mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-09 22:45:49 +00:00
Reworked chan_ooh323 channel module.
Many architectural and functional changes. Main changes are threading model chanes (many thread in ooh323 stack instead of one), modifications and improvements in signalling part, additional codecs support (726, speex), t38 mode support. This module tested and used in production environment. (closes issue #15285) Reported by: may213 Tested by: sles, c0w, OrNix Review: https://reviewboard.asterisk.org/r/324/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -14,6 +14,9 @@
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#include <asterisk.h>
|
||||
#include <asterisk/lock.h>
|
||||
|
||||
#include "ooCalls.h"
|
||||
#include "ooh323ep.h"
|
||||
|
||||
@@ -187,7 +190,7 @@ OOLogicalChannel * ooFindLogicalChannel(OOH323CallData *call, int sessionID,
|
||||
{
|
||||
OOTRACEDBGC3("ooFindLogicalChannel, checking channel: %d:%s\n",
|
||||
pChannel->sessionID, pChannel->dir);
|
||||
if(pChannel->sessionID == sessionID)
|
||||
if(pChannel->sessionID == sessionID || pChannel->sessionID == 0)
|
||||
{
|
||||
if(!strcmp(pChannel->dir, dir))
|
||||
{
|
||||
@@ -230,6 +233,27 @@ OOLogicalChannel* ooGetLogicalChannel
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* function is to get channel with particular direction */
|
||||
|
||||
OOLogicalChannel* ooGetTransmitLogicalChannel
|
||||
(OOH323CallData *call)
|
||||
{
|
||||
OOLogicalChannel * pChannel = NULL;
|
||||
pChannel = call->logicalChans;
|
||||
while(pChannel)
|
||||
{
|
||||
OOTRACEINFO6("Listing logical channel %d cap %d state %d for (%s, %s)\n",
|
||||
pChannel->channelNo, pChannel->chanCap->cap, pChannel->state,
|
||||
call->callType, call->callToken);
|
||||
if(!strcmp(pChannel->dir, "transmit") && pChannel->state != OO_LOGICALCHAN_IDLE &&
|
||||
pChannel->state != OO_LOGICALCHAN_PROPOSEDFS)
|
||||
return pChannel;
|
||||
else
|
||||
pChannel = pChannel->next;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int ooClearAllLogicalChannels(OOH323CallData *call)
|
||||
{
|
||||
OOLogicalChannel * temp = NULL, *prev = NULL;
|
||||
|
Reference in New Issue
Block a user