[asterisk-bugs] [JIRA] (ASTERISK-25299) RTP port leaks with incoming OOH323 calls

Alexandr Dranchuk (JIRA) noreply at issues.asterisk.org
Mon Aug 3 23:06:33 CDT 2015


    [ https://issues.asterisk.org/jira/browse/ASTERISK-25299?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=227136#comment-227136 ] 

Alexandr Dranchuk commented on ASTERISK-25299:
----------------------------------------------

Hi Alexandr, just compared source code for 13.4.0 and 11.18.0 that I'm using, the BUG in 11.18.0 are fixed in 13.4.0
it's when we get call state OO_CALL_CLEARED but Logical Channels still open, and according the code they never closed since function not reached in 11.18.0

can you please update 11 branch?

It's in 13.4.0:

{code:title=ooCalls.c 13.4.0|borderStyle=solid}
int ooCleanCall(OOH323CallData *call)
{
   OOCTXT *pctxt;

   OOTRACEWARN4 ("Cleaning Call (%s, %s)- reason:%s\n", 
                 call->callType, call->callToken, 
                 ooGetReasonCodeText (call->callEndReason));

   /* First clean all the logical channels, if not already cleaned. */
   if(call->logicalChans)
      ooClearAllLogicalChannels(call);
{code}

but in 11.18.0
{code:title=ooCalls.c 11.18.0|borderStyle=solid}
int ooEndCall(OOH323CallData *call)
{
   OOTRACEDBGA4("In ooEndCall call state is - %s (%s, %s)\n", 
                 ooGetCallStateText(call->callState), call->callType, 
                 call->callToken);

   if(call->callState == OO_CALL_REMOVED) {
      OOTRACEINFO2("Call already removed %s\n",
                    call->callToken);
     return OO_OK;
   }

   if (call->callIdentifier.guid.numocts == 0) call->callState = OO_CALL_CLEARED;

   if(!call->pH225Channel || call->pH225Channel->sock ==0)
   {
      call->callState = OO_CALL_CLEARED;
   }

   if(call->callState == OO_CALL_CLEARED || call->callState == OO_CALL_CLEAR_RELEASESENT)
   {
      ooCleanCall(call); 
      call->callState = OO_CALL_REMOVED;
      return OO_OK;
   }

   if(call->logicalChans)
   {
      OOTRACEINFO3("Clearing all logical channels. (%s, %s)\n", call->callType,
                    call->callToken);
      ooClearAllLogicalChannels(call);
   }
{code}

> RTP port leaks with incoming OOH323 calls
> -----------------------------------------
>
>                 Key: ASTERISK-25299
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25299
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Addons/chan_ooh323
>    Affects Versions: 11.19.0
>         Environment: Debian 8.1  x86_64  
>            Reporter: Alexandr Dranchuk
>            Assignee: Alexander Anikin
>
> When we get incoming call thru OOH323 channel with "early media" enabled (MediaWaitForConnect=no;  faststart=yes; tunneling=yes)
> and during ringing call is canceled by caller, the RTP ports are not closed causing RTP port leaking. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list