Arrow_left   Arrow_right
 
  #21

OPAL: Codec is not properly destroyed after disconnect

    • Created on: Tue, 03 Jun 2008 (over 3 years ago)
    • Reported by: joegen
    • Assigned to: joegen
    • Milestone: -
    • Status: Fixed
    • Priority: Normal (3)
    • Component: -
    Here is the original thread from the opensisptack mailing list

    I have also been able to replicate this issue. So far I've only seen it
    happen using G.729. The first call seems to go through, but every subsequent
    call attempt fails. I am going to try recompiling an older snapshot of the
    CVS source I have.

    H.Kropf - Have you found out anything new on this issue?


    Whit

    -----Original Message-----
    From: opensipstack-devel-bounces@lists.sourceforge.net
    [mailto:opensipstack-devel-bounces@lists.sourceforge.net] On Behalf Of
    Joegen E. Baclor
    Sent: Thursday, May 22, 2008 9:14 PM
    To: H.Kropf
    Cc: opensipstack-devel@lists.sourceforge.net
    Subject: Re: [OpenSIPStack] [SF] RTP fault

    Hi,

    Thanks for the logs. They were very helpful. It is evident that the
    previous call did not destroy the codec properly. I will try to
    replicate this on my system. Ilian is currently on leave so it might
    take a while for him to catch this thread. I have created a ticket for
    this: http://www.assembla.com/spaces/opensbc/tickets/20

    Joegen

    H.Kropf wrote:
    > > Hi
    > >
    > > Log (for pwlib - level 6) - in attachments
    > >
    > >
    > > Joegen E. Baclor wrote:
    >> >> Hmmn. Strange. Seems like the codec from the previous call has not
    >> >> been destroyed. Can you send me a maximum level log of two
    >> >> consecutive calls right after fresh startup of your SoftPhone?
    >> >>
    >> >> H.Kropf wrote:
    >> >>
    >>> >>> Hi
    >>> >>>
    >>> >>>
    >>>>> >>>>> can you put a break-point in OpalTranscoder::ConvertFrames() and
    >>>>> >>>>> figure out where exactly it fails?
    >>>>> >>>>>
    >>> >>> I can :)
    >>> >>>
    >>> >>>
    >>> >>> bool OpalMediaPatch::Sink::WriteFrame(RTP_DataFrame & sourceFrame)
    >>> >>> {
    >>> >>> ......
    >>> >>> if (!primaryCodec->ConvertFrames(sourceFrame, intermediateFrames))
    >>> >>> {
    >>> >>> PTRACE(1, "Patch\tMedia conversion (primary) failed");
    >>> >>> return false;
    >>> >>> }
    >>> >>> ......
    >>> >>> }
    >>> >>>
    >>> >>> BOOL OpalTranscoder::ConvertFrames(const RTP_DataFrame & input,
    >>> >>> RTP_DataFrameList & output)
    >>> >>> {
    >>> >>> .......
    >>> >>> return Convert(input, output[0]);
    >>> >>> }
    >>> >>>
    >>> >>> BOOL OpalFlexiTranscoder::Convert( const RTP_DataFrame & input,
    >>> >>> RTP_DataFrame & output)
    >>> >>> {
    >>> >>> return m_Transcoder->Convert( input, output );
    >>> >>> }
    >>> >>>
    >>> >>> BOOL OpalFramedTranscoder::Convert(const RTP_DataFrame & input,
    >>> >>> RTP_DataFrame & output)
    >>> >>> {
    >>> >>> ....
    >>> >>> while (inputLength > 0)
    >>> >>> {
    >>> >>> ......
    >>> >>> if (!ConvertFrame(inputPtr, consumed, outputPtr, created))
    >>> >>> return FALSE;
    >>> >>> .......
    >>> >>> }
    >>> >>> .......
    >>> >>> }
    >>> >>>
    >>> >>> BOOL OpalFramedTranscoder::ConvertFrame(const BYTE * inputPtr,
    >>> >>> PINDEX & /*consumed*/, BYTE * outputPtr, PINDEX & /*created*/)
    >>> >>> {
    >>> >>> return ConvertFrame(inputPtr, outputPtr);
    >>> >>> }
    >>> >>>
    >>> >>>
    >>> >>>
    >>> >>> BOOL Opal_PCM_G729::ConvertFrame(const BYTE * src, BYTE * dst)
    >>> >>> {
    >>> >>> if (voiceAgeEncoderInUse != this) return FALSE; //
    >>> >>> !!!!!!!!!!!! <<<=== this place
    >>> >>> ......
    >>> >>> }
    >>> >>>
    >>> >>>
    >>> >>>
    >>> >>>
    >>>> >>>> Hi,
    >>>> >>>>
    >>>> >>>> Are you a C++ developer? If so, can you put a break-point in
    >>>> >>>> OpalTranscoder::ConvertFrames() and figure out where exactly it fails?
    >>>> >>>>
    >>>> >>>> Joegen
    >>>> >>>>
    >>>> >>>> H.Kropf wrote:
    >>>> >>>>
    >>>>> >>>>> Hello
    >>>>> >>>>>
    >>>>> >>>>> After a last update of library from CVS (2008-05-20), my softphone
    >>>>> >>>>> (on OSS library) makes only one successful call after start. In
    >>>>> >>>>> next calls there is no voice. In PTRACE-log there are many such
    >>>>> >>>>> records
    >>>>> >>>>>
    >>>>> >>>>> Media Patch:1eb9410 PWL: [CID=0x0000] Patch Media conversion
    >>>>> >>>>> (primary) failed
    >>>>> >>>>> Media Patch:1eb9410 PWL: [CID=0x0000] Patch Media conversion
    >>>>> >>>>> (primary) failed
    >>>>> >>>>> Media Patch:1eb9410 PWL: [CID=0x0000] Patch Media conversion
    >>>>> >>>>> (primary) failed
    >>>>> >>>>> Media Patch:1eb9410 PWL: [CID=0x0000] Patch Media conversion
    >>>>> >>>>> (primary) failed
    >>>>> >>>>>
    >>>>> >>>>>
    >>>>> >>>>> In the previous version (CVS 2008-05-12) this problem did not exist
    >>>>> >>>>>
    >>>>> >>>>>
    -------------------------------------------------------------------------
  • Followers
     
    Ico-users joegen (Assigned To) 
     
    Attachments
    No attachments
    Associations
     
    Ticket No. Relation Summary Status Action
    #20 Child UA: Opal Call Session fails to destroy codec on disconnect Fixed  
    Activity
     
    User picture

          on Jun 07, 2008 @ 11:38PM UTC * By joegen

    Status changed from Accepted to Fixed
    Time Expenditure
    Loading