#21
OPAL: Codec is not properly destroyed after disconnect
-
AttachmentsNo attachmentsAssociations
Ticket No. Relation Summary Status Action #20 Child UA: Opal Call Session fails to destroy codec on disconnect Fixed Time ExpenditureLoading

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 failed");
>>> >>> return false;
>>> >>> }
>>> >>> ……
>>> >>> }
>>> >>>
>>> >>> BOOL OpalTranscoder::ConvertFrames(const RTP_DataFrame & input,
>>> >>> RTP_DataFrameList & output)
>>> >>> {
>>> >>> …….
>>> >>> return Convert(input, output0);
>>> >>> }
>>> >>>
>>> >>> 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=0×0000] Patch Media conversion
>>>>> >>>>> (primary) failed
>>>>> >>>>> Media Patch:1eb9410 PWL: [CID=0×0000] Patch Media conversion
>>>>> >>>>> (primary) failed
>>>>> >>>>> Media Patch:1eb9410 PWL: [CID=0×0000] Patch Media conversion
>>>>> >>>>> (primary) failed
>>>>> >>>>> Media Patch:1eb9410 PWL: [CID=0×0000] Patch Media conversion
>>>>> >>>>> (primary) failed
>>>>> >>>>>
>>>>> >>>>>
>>>>> >>>>> In the previous version (CVS 2008-05-12) this problem did not exist
>>>>> >>>>>
>>>>> >>>>>
-———————————————————————————————————